From 818418643e0cd95291443bb97fd36fc5d56a4388 Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Sat, 25 Feb 2012 17:23:37 +0000 Subject: [PATCH] * Rbuild, our build system, has served us well so far, but its usefulness has since been vastly overshadowed by its awfulness. It's time to fix it. svn path=/trunk/; revision=55855 --- reactos/CMakeLists.txt | 2 +- reactos/Makefile | 633 -- reactos/ReactOS-amd64.rbuild | 113 - reactos/ReactOS-arm.rbuild | 160 - reactos/ReactOS-generic.rbuild | 150 - reactos/ReactOS-i386.rbuild | 82 - reactos/ReactOS-ppc.rbuild | 25 - reactos/base/applications/applications.rbuild | 109 - reactos/base/applications/cacls/cacls.rbuild | 12 - reactos/base/applications/calc/calc.rbuild | 18 - .../base/applications/charmap/charmap.rbuild | 14 - .../applications/cmdutils/cmdutils.rbuild | 28 - .../cmdutils/dbgprint/dbgprint.rbuild | 5 - .../cmdutils/doskey/doskey.rbuild | 7 - .../applications/cmdutils/find/find.rbuild | 8 - .../cmdutils/hostname/hostname.rbuild | 7 - .../cmdutils/lodctr/lodctr.rbuild | 7 - .../applications/cmdutils/more/more.rbuild | 8 - .../base/applications/cmdutils/reg/reg.rbuild | 11 - .../applications/cmdutils/xcopy/xcopy.rbuild | 11 - .../base/applications/control/control.rbuild | 9 - .../base/applications/dxdiag/dxdiag.rbuild | 35 - .../applications/extrac32/extrac32.rbuild | 9 - .../base/applications/findstr/findstr.rbuild | 8 - .../applications/fontview/fontview.rbuild | 11 - reactos/base/applications/games/games.rbuild | 13 - .../games/solitaire/solitaire.rbuild | 12 - .../applications/games/spider/spider.rbuild | 11 - .../applications/games/winmine/winmine.rbuild | 13 - reactos/base/applications/hh/hh.rbuild | 9 - .../applications/iexplore/iexplore.rbuild | 10 - .../kbswitch/kbsdll/kbsdll.rbuild | 10 - .../applications/kbswitch/kbswitch.rbuild | 16 - .../base/applications/logoff/logoff.rbuild | 11 - .../base/applications/magnify/magnify.rbuild | 13 - reactos/base/applications/mmc/mmc.rbuild | 16 - .../base/applications/mplay32/mplay32.rbuild | 14 - .../applications/msconfig/msconfig.rbuild | 22 - .../mscutils/devmgmt/devmgmt.rbuild | 21 - .../applications/mscutils/directory.rbuild | 13 - .../mscutils/eventvwr/eventvwr.rbuild | 10 - .../mscutils/servman/servman.rbuild | 35 - .../base/applications/mspaint/mspaint.rbuild | 24 - reactos/base/applications/mstsc/mstsc.rbuild | 36 - .../base/applications/network/arp/arp.rbuild | 10 - .../applications/network/dwnl/dwnl.rbuild | 9 - .../applications/network/finger/finger.rbuild | 12 - .../base/applications/network/ftp/ftp.rbuild | 29 - .../network/ipconfig/ipconfig.rbuild | 10 - .../base/applications/network/net/net.rbuild | 12 - .../network/netstat/netstat.rbuild | 11 - .../base/applications/network/network.rbuild | 46 - .../network/nslookup/nslookup.rbuild | 12 - .../applications/network/ping/ping.rbuild | 9 - .../applications/network/route/route.rbuild | 9 - .../applications/network/telnet/telnet.rbuild | 30 - .../network/tracert/tracert.rbuild | 9 - .../applications/network/whois/whois.rbuild | 8 - .../network/wlanconf/wlanconf.rbuild | 9 - .../base/applications/notepad/notepad.rbuild | 17 - reactos/base/applications/rapps/rapps.rbuild | 41 - .../base/applications/regedit/clb/clb.rbuild | 13 - .../base/applications/regedit/regedit.rbuild | 37 - .../applications/regedt32/regedt32.rbuild | 9 - reactos/base/applications/sc/sc.rbuild | 16 - .../screensavers/3dtext/3dtext.rbuild | 17 - .../screensavers/logon/logon.rbuild | 13 - .../screensavers/screensavers.rbuild | 10 - .../applications/shutdown/shutdown.rbuild | 11 - .../applications/sndrec32/sndrec32.rbuild | 20 - .../applications/sndvol32/sndvol32.rbuild | 19 - .../base/applications/taskmgr/taskmgr.rbuild | 33 - .../applications/winhlp32/winhlp32.rbuild | 26 - .../base/applications/winver/winver.rbuild | 7 - .../base/applications/wordpad/wordpad.rbuild | 21 - reactos/base/applications/write/write.rbuild | 9 - reactos/base/base.rbuild | 19 - .../base/services/audiosrv/audiosrv.rbuild | 16 - .../base/services/eventlog/eventlog.rbuild | 18 - reactos/base/services/rpcss/rpcss.rbuild | 27 - reactos/base/services/services.rbuild | 37 - reactos/base/services/spoolsv/spoolsv.rbuild | 10 - reactos/base/services/svchost/svchost.rbuild | 8 - reactos/base/services/tcpsvcs/tcpsvcs.rbuild | 17 - reactos/base/services/telnetd/telnetd.rbuild | 15 - reactos/base/services/tftpd/tftpd.rbuild | 11 - reactos/base/services/thmsvc/thmsvc.rbuild | 11 - .../base/services/umpnpmgr/umpnpmgr.rbuild | 16 - reactos/base/services/wlansvc/wlansvc.rbuild | 14 - reactos/base/setup/reactos/reactos.rbuild | 13 - reactos/base/setup/setup.rbuild | 19 - reactos/base/setup/setup/setup.rbuild | 8 - reactos/base/setup/usetup/usetup.rbuild | 44 - reactos/base/setup/vmwinst/vmwinst.rbuild | 16 - reactos/base/setup/welcome/welcome.rbuild | 10 - reactos/base/shell/cmd/cmd.rbuild | 77 - .../base/shell/explorer-new/explorer.rbuild | 28 - reactos/base/shell/explorer/explorer.rbuild | 71 - .../explorer/notifyhook/notifyhook.rbuild | 10 - reactos/base/shell/shell.rbuild | 13 - reactos/base/system/autochk/autochk.rbuild | 9 - reactos/base/system/bootok/bootok.rbuild | 8 - reactos/base/system/diskpart/diskpart.rbuild | 46 - reactos/base/system/expand/expand.rbuild | 11 - reactos/base/system/format/format.rbuild | 10 - reactos/base/system/logonui/logonui.rbuild | 12 - reactos/base/system/lsass/lsass.rbuild | 11 - reactos/base/system/msiexec/msiexec.rbuild | 17 - reactos/base/system/regsvr32/regsvr32.rbuild | 10 - reactos/base/system/rundll32/rundll32.rbuild | 8 - reactos/base/system/runonce/runonce.rbuild | 9 - reactos/base/system/services/services.rbuild | 21 - reactos/base/system/smss2/smss2.rbuild | 23 - reactos/base/system/subst/subst.rbuild | 10 - reactos/base/system/system.rbuild | 49 - reactos/base/system/userinit/userinit.rbuild | 14 - reactos/base/system/winlogon/winlogon.rbuild | 19 - reactos/baseaddress.rbuild | 266 - reactos/boot/armllb/armllb.rbuild | 80 - reactos/boot/boot.rbuild | 15 - reactos/boot/bootdata/bootcd/bootcd.rbuild | 15 - .../bootcdregtest/bootcdregtest.rbuild | 6 - reactos/boot/bootdata/bootdata.rbuild | 28 - reactos/boot/bootdata/livecd/livecd.rbuild | 14 - .../livecdregtest/livecdregtest.rbuild | 5 - reactos/boot/freeldr/bootsect/bootsect.rbuild | 28 - reactos/boot/freeldr/fdebug/fdebug.rbuild | 11 - reactos/boot/freeldr/freeldr.rbuild | 47 - reactos/boot/freeldr/freeldr/freeldr.rbuild | 57 - .../boot/freeldr/freeldr/freeldr_arch.rbuild | 99 - .../boot/freeldr/freeldr/freeldr_base.rbuild | 91 - .../freeldr/freeldr/freeldr_base64k.rbuild | 32 - .../boot/freeldr/freeldr/freeldr_main.rbuild | 8 - .../freeldr/freeldr/freeldr_startup.rbuild | 25 - reactos/boot/freeldr/freeldr/setupldr.rbuild | 24 - .../boot/freeldr/freeldr/setupldr_main.rbuild | 15 - .../freeldr/install/installfreeldr.rbuild | 7 - reactos/cmake/gcc.cmake | 16 +- reactos/config-amd64.template.rbuild | 92 - reactos/config-arm.template.rbuild | 103 - reactos/config-ppc.template.rbuild | 73 - reactos/config.template.rbuild | 107 - reactos/dll/3rdparty/3rdparty.rbuild | 25 - reactos/dll/3rdparty/dxtn/dxtn.rbuild | 8 - reactos/dll/3rdparty/libjpeg/libjpeg.rbuild | 58 - reactos/dll/3rdparty/libpng/libpng.rbuild | 27 - reactos/dll/3rdparty/libtiff/libtiff.rbuild | 53 - reactos/dll/3rdparty/libxslt/libxslt.rbuild | 37 - reactos/dll/3rdparty/mesa32/mesa32.rbuild | 298 - reactos/dll/cpl/access/access.rbuild | 18 - reactos/dll/cpl/appwiz/appwiz.rbuild | 16 - reactos/dll/cpl/console/console.rbuild | 14 - reactos/dll/cpl/cpl.rbuild | 61 - reactos/dll/cpl/desk/desk.rbuild | 37 - reactos/dll/cpl/hdwwiz/hdwwiz.rbuild | 16 - reactos/dll/cpl/inetcpl/inetcpl.rbuild | 23 - reactos/dll/cpl/input/input.rbuild | 17 - reactos/dll/cpl/intl/intl.rbuild | 25 - reactos/dll/cpl/joy/joy.rbuild | 14 - reactos/dll/cpl/liccpa/liccpa.rbuild | 14 - reactos/dll/cpl/main/main.rbuild | 18 - reactos/dll/cpl/mmsys/mmsys.rbuild | 22 - reactos/dll/cpl/ncpa/ncpa.rbuild | 12 - reactos/dll/cpl/odbccp32/odbccp32.rbuild | 10 - reactos/dll/cpl/powercfg/powercfg.rbuild | 19 - reactos/dll/cpl/sysdm/sysdm.rbuild | 28 - reactos/dll/cpl/telephon/telephon.rbuild | 14 - reactos/dll/cpl/timedate/timedate.rbuild | 21 - reactos/dll/cpl/usrmgr/usrmgr.rbuild | 22 - reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild | 14 - reactos/dll/directx/amstream/amstream.rbuild | 19 - reactos/dll/directx/bdaplgin/bdaplgin.rbuild | 33 - reactos/dll/directx/d3d8/d3d8.rbuild | 7 - reactos/dll/directx/d3d8thk/d3d8thk.rbuild | 7 - reactos/dll/directx/d3d9/d3d9.rbuild | 33 - reactos/dll/directx/ddraw/ddraw.rbuild | 73 - reactos/dll/directx/devenum/devenum.rbuild | 27 - reactos/dll/directx/dinput/dinput.rbuild | 27 - reactos/dll/directx/dinput8/dinput8.rbuild | 21 - reactos/dll/directx/directx.rbuild | 62 - reactos/dll/directx/dmusic/dmusic.rbuild | 30 - reactos/dll/directx/dplay/dplay.rbuild | 18 - reactos/dll/directx/dplayx/dplayx.rbuild | 27 - reactos/dll/directx/dsound/dsound.rbuild | 30 - .../dll/directx/dsound_new/dsound_new.rbuild | 31 - reactos/dll/directx/dxdiagn/dxdiagn.rbuild | 22 - reactos/dll/directx/ksproxy/ksproxy.rbuild | 42 - reactos/dll/directx/ksuser/ksuser.rbuild | 10 - reactos/dll/directx/msdmo/msdmo.rbuild | 16 - reactos/dll/directx/msdvbnp/msdvbnp.rbuild | 34 - reactos/dll/directx/msvidctl/msvidctl.rbuild | 30 - reactos/dll/directx/qedit/qedit.rbuild | 20 - reactos/dll/directx/quartz/quartz.rbuild | 65 - reactos/dll/directx/wine/d3d8/d3d8.rbuild | 33 - reactos/dll/directx/wine/d3d9/d3d9.rbuild | 35 - .../dll/directx/wine/d3dx9_24/d3dx9_24.rbuild | 19 - .../dll/directx/wine/d3dx9_25/d3dx9_25.rbuild | 19 - .../dll/directx/wine/d3dx9_26/d3dx9_26.rbuild | 19 - .../dll/directx/wine/d3dx9_27/d3dx9_27.rbuild | 19 - .../dll/directx/wine/d3dx9_28/d3dx9_28.rbuild | 19 - .../dll/directx/wine/d3dx9_29/d3dx9_29.rbuild | 19 - .../dll/directx/wine/d3dx9_30/d3dx9_30.rbuild | 19 - .../dll/directx/wine/d3dx9_31/d3dx9_31.rbuild | 19 - .../dll/directx/wine/d3dx9_32/d3dx9_32.rbuild | 19 - .../dll/directx/wine/d3dx9_33/d3dx9_33.rbuild | 19 - .../dll/directx/wine/d3dx9_34/d3dx9_34.rbuild | 19 - .../dll/directx/wine/d3dx9_35/d3dx9_35.rbuild | 19 - .../dll/directx/wine/d3dx9_36/d3dx9_36.rbuild | 29 - .../dll/directx/wine/d3dx9_37/d3dx9_37.rbuild | 19 - .../dll/directx/wine/d3dx9_38/d3dx9_38.rbuild | 19 - .../dll/directx/wine/d3dx9_39/d3dx9_39.rbuild | 19 - .../dll/directx/wine/d3dx9_40/d3dx9_40.rbuild | 19 - .../dll/directx/wine/d3dx9_41/d3dx9_41.rbuild | 19 - .../dll/directx/wine/d3dx9_42/d3dx9_42.rbuild | 19 - reactos/dll/directx/wine/ddraw/ddraw.rbuild | 40 - reactos/dll/directx/wine/wine.rbuild | 73 - .../dll/directx/wine/wined3d/wined3d.rbuild | 53 - reactos/dll/dll.rbuild | 26 - reactos/dll/keyboard/kbda1/kbda1.rbuild | 8 - reactos/dll/keyboard/kbda2/kbda2.rbuild | 8 - reactos/dll/keyboard/kbda3/kbda3.rbuild | 8 - reactos/dll/keyboard/kbdal/kbdal.rbuild | 8 - reactos/dll/keyboard/kbdarme/kbdarme.rbuild | 8 - reactos/dll/keyboard/kbdarmw/kbdarmw.rbuild | 8 - reactos/dll/keyboard/kbdaze/kbdaze.rbuild | 8 - reactos/dll/keyboard/kbdazel/kbdazel.rbuild | 8 - reactos/dll/keyboard/kbdbe/kbdbe.rbuild | 8 - reactos/dll/keyboard/kbdbga/kbdbga.rbuild | 8 - reactos/dll/keyboard/kbdbgm/kbdbgm.rbuild | 8 - reactos/dll/keyboard/kbdbgt/kbdbgt.rbuild | 8 - reactos/dll/keyboard/kbdblr/kbdblr.rbuild | 8 - reactos/dll/keyboard/kbdbr/kbdbr.rbuild | 8 - reactos/dll/keyboard/kbdbur/kbdbur.rbuild | 8 - reactos/dll/keyboard/kbdcan/kbdcan.rbuild | 8 - reactos/dll/keyboard/kbdcr/kbdcr.rbuild | 8 - reactos/dll/keyboard/kbdcz/kbdcz.rbuild | 8 - reactos/dll/keyboard/kbdcz1/kbdcz1.rbuild | 8 - reactos/dll/keyboard/kbdda/kbdda.rbuild | 8 - reactos/dll/keyboard/kbddv/kbddv.rbuild | 8 - reactos/dll/keyboard/kbdes/kbdes.rbuild | 8 - reactos/dll/keyboard/kbdest/kbdest.rbuild | 8 - reactos/dll/keyboard/kbdfc/kbdfc.rbuild | 8 - reactos/dll/keyboard/kbdfi/kbdfi.rbuild | 8 - reactos/dll/keyboard/kbdfr/kbdfr.rbuild | 8 - reactos/dll/keyboard/kbdgeo/kbdgeo.rbuild | 8 - reactos/dll/keyboard/kbdgerg/kbdgerg.rbuild | 8 - reactos/dll/keyboard/kbdgneo/kbdgneo.rbuild | 8 - reactos/dll/keyboard/kbdgr/kbdgr.rbuild | 8 - reactos/dll/keyboard/kbdgrist/kbdgrist.rbuild | 8 - reactos/dll/keyboard/kbdhe/kbdhe.rbuild | 8 - reactos/dll/keyboard/kbdheb/kbdheb.rbuild | 8 - reactos/dll/keyboard/kbdhu/kbdhu.rbuild | 8 - reactos/dll/keyboard/kbdic/kbdic.rbuild | 8 - reactos/dll/keyboard/kbdinasa/kbdinasa.rbuild | 8 - reactos/dll/keyboard/kbdinben/kbdinben.rbuild | 8 - reactos/dll/keyboard/kbdindev/kbdindev.rbuild | 8 - reactos/dll/keyboard/kbdinguj/kbdinguj.rbuild | 8 - reactos/dll/keyboard/kbdinmal/kbdinmal.rbuild | 8 - reactos/dll/keyboard/kbdir/kbdir.rbuild | 8 - reactos/dll/keyboard/kbdit/kbdit.rbuild | 8 - reactos/dll/keyboard/kbdja/kbdja.rbuild | 8 - reactos/dll/keyboard/kbdkaz/kbdkaz.rbuild | 8 - reactos/dll/keyboard/kbdko/kbdko.rbuild | 8 - reactos/dll/keyboard/kbdla/kbdla.rbuild | 8 - reactos/dll/keyboard/kbdlt1/kbdlt1.rbuild | 8 - reactos/dll/keyboard/kbdlv/kbdlv.rbuild | 8 - reactos/dll/keyboard/kbdmac/kbdmac.rbuild | 8 - reactos/dll/keyboard/kbdne/kbdne.rbuild | 8 - reactos/dll/keyboard/kbdno/kbdno.rbuild | 8 - reactos/dll/keyboard/kbdpl/kbdpl.rbuild | 7 - reactos/dll/keyboard/kbdpl1/kbdpl1.rbuild | 8 - reactos/dll/keyboard/kbdpo/kbdpo.rbuild | 8 - reactos/dll/keyboard/kbdro/kbdro.rbuild | 8 - reactos/dll/keyboard/kbdru/kbdru.rbuild | 8 - reactos/dll/keyboard/kbdru1/kbdru1.rbuild | 8 - reactos/dll/keyboard/kbdsg/kbdsg.rbuild | 8 - reactos/dll/keyboard/kbdsk/kbdsk.rbuild | 8 - reactos/dll/keyboard/kbdsk1/kbdsk1.rbuild | 8 - reactos/dll/keyboard/kbdsw/kbdsw.rbuild | 8 - reactos/dll/keyboard/kbdtat/kbdtat.rbuild | 8 - reactos/dll/keyboard/kbdth0/kbdth0.rbuild | 8 - reactos/dll/keyboard/kbdth1/kbdth1.rbuild | 8 - reactos/dll/keyboard/kbdth2/kbdth2.rbuild | 8 - reactos/dll/keyboard/kbdth3/kbdth3.rbuild | 8 - reactos/dll/keyboard/kbdtuf/kbdtuf.rbuild | 8 - reactos/dll/keyboard/kbdtuq/kbdtuq.rbuild | 8 - reactos/dll/keyboard/kbduk/kbduk.rbuild | 8 - reactos/dll/keyboard/kbdur/kbdur.rbuild | 8 - reactos/dll/keyboard/kbdurs/kbdurs.rbuild | 8 - reactos/dll/keyboard/kbdus/kbdus.rbuild | 8 - reactos/dll/keyboard/kbdusa/kbdusa.rbuild | 8 - reactos/dll/keyboard/kbdusl/kbdusl.rbuild | 8 - reactos/dll/keyboard/kbdusr/kbdusr.rbuild | 8 - reactos/dll/keyboard/kbdusx/kbdusx.rbuild | 8 - reactos/dll/keyboard/kbduzb/kbduzb.rbuild | 8 - reactos/dll/keyboard/kbdvntc/kbdvntc.rbuild | 8 - reactos/dll/keyboard/kbdycc/kbdycc.rbuild | 8 - reactos/dll/keyboard/kbdycl/kbdycl.rbuild | 8 - reactos/dll/keyboard/keyboard.rbuild | 244 - reactos/dll/nls/idndl/idndl.rbuild | 11 - reactos/dll/nls/nls.rbuild | 10 - reactos/dll/nls/normaliz/normaliz.rbuild | 6 - reactos/dll/ntdll/def/ntdll.pspec | 1436 ---- reactos/dll/ntdll/ntdll.rbuild | 63 - reactos/dll/shellext/deskadp/deskadp.rbuild | 14 - reactos/dll/shellext/deskmon/deskmon.rbuild | 14 - reactos/dll/shellext/devcpux/devcpux.rbuild | 11 - reactos/dll/shellext/fontext/fontext.rbuild | 17 - reactos/dll/shellext/shellext.rbuild | 19 - reactos/dll/shellext/slayer/slayer.rbuild | 13 - reactos/dll/win32/acledit/acledit.rbuild | 14 - reactos/dll/win32/aclui/aclui.rbuild | 20 - reactos/dll/win32/activeds/activeds.rbuild | 11 - reactos/dll/win32/actxprxy/actxprxy.rbuild | 37 - reactos/dll/win32/advapi32/advapi32.rbuild | 63 - reactos/dll/win32/advpack/advpack.rbuild | 20 - reactos/dll/win32/atl/atl.rbuild | 30 - reactos/dll/win32/authz/authz.rbuild | 11 - reactos/dll/win32/avicap32/avicap32.rbuild | 15 - reactos/dll/win32/avifil32/avifil32.rbuild | 33 - reactos/dll/win32/batt/batt.rbuild | 8 - reactos/dll/win32/bcrypt/bcrypt.rbuild | 9 - reactos/dll/win32/beepmidi/beepmidi.rbuild | 8 - reactos/dll/win32/browseui/browseui.rbuild | 49 - reactos/dll/win32/cabinet/cabinet.rbuild | 21 - reactos/dll/win32/cards/cards.rbuild | 12 - reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild | 6 - reactos/dll/win32/clusapi/clusapi.rbuild | 11 - reactos/dll/win32/comcat/comcat.rbuild | 18 - reactos/dll/win32/comctl32/comctl32.rbuild | 62 - reactos/dll/win32/comdlg32/comdlg32.rbuild | 32 - reactos/dll/win32/compstui/compstui.rbuild | 13 - reactos/dll/win32/credui/credui.rbuild | 17 - reactos/dll/win32/crtdll/crtdll.rbuild | 21 - reactos/dll/win32/crypt32/crypt32.rbuild | 45 - reactos/dll/win32/cryptdlg/cryptdlg.rbuild | 18 - reactos/dll/win32/cryptdll/cryptdll.rbuild | 13 - reactos/dll/win32/cryptnet/cryptnet.rbuild | 16 - reactos/dll/win32/cryptui/cryptui.rbuild | 26 - reactos/dll/win32/dbghelp/dbghelp.rbuild | 51 - reactos/dll/win32/dciman32/dciman32.rbuild | 13 - reactos/dll/win32/devmgr/devmgr.rbuild | 16 - reactos/dll/win32/dhcpcsvc/dhcpcsvc.rbuild | 33 - reactos/dll/win32/dnsapi/dnsapi.rbuild | 23 - reactos/dll/win32/dwmapi/dwmapi.rbuild | 14 - reactos/dll/win32/faultrep/faultrep.rbuild | 9 - reactos/dll/win32/fmifs/fmifs.rbuild | 15 - reactos/dll/win32/fusion/fusion.rbuild | 19 - reactos/dll/win32/gdi32/gdi32.rbuild | 53 - reactos/dll/win32/gdiplus/gdiplus.rbuild | 36 - reactos/dll/win32/getuname/getuname.rbuild | 9 - reactos/dll/win32/glu32/glu32.rbuild | 116 - .../dll/win32/hhctrl.ocx/hhctrl.ocx.rbuild | 35 - reactos/dll/win32/hid/hid.rbuild | 9 - reactos/dll/win32/hlink/hlink.rbuild | 24 - reactos/dll/win32/hnetcfg/hnetcfg.rbuild | 19 - reactos/dll/win32/httpapi/httpapi.rbuild | 9 - reactos/dll/win32/iccvid/iccvid.rbuild | 13 - reactos/dll/win32/icmp/icmp.rbuild | 10 - .../win32/imaadp32.acm/imaadp32.acm.rbuild | 11 - reactos/dll/win32/imagehlp/imagehlp.rbuild | 14 - reactos/dll/win32/imm32/imm32.rbuild | 19 - reactos/dll/win32/inetcomm/inetcomm.rbuild | 28 - reactos/dll/win32/inetmib1/inetmib1.rbuild | 15 - reactos/dll/win32/initpki/initpki.rbuild | 10 - reactos/dll/win32/inseng/inseng.rbuild | 15 - reactos/dll/win32/iologmsg/iologmsg.rbuild | 6 - reactos/dll/win32/iphlpapi/iphlpapi.rbuild | 23 - reactos/dll/win32/itircl/itircl.rbuild | 10 - reactos/dll/win32/itss/itss.rbuild | 23 - reactos/dll/win32/jscript/jscript.rbuild | 45 - reactos/dll/win32/kernel32/kernel32.pspec | 989 --- reactos/dll/win32/kernel32/kernel32.rbuild | 106 - reactos/dll/win32/loadperf/loadperf.rbuild | 13 - reactos/dll/win32/localspl/localspl.rbuild | 16 - reactos/dll/win32/localui/localui.rbuild | 17 - reactos/dll/win32/lpk/lpk.rbuild | 13 - reactos/dll/win32/lsasrv/lsasrv.rbuild | 20 - reactos/dll/win32/lz32/lz32.rbuild | 11 - reactos/dll/win32/mapi32/mapi32.rbuild | 24 - reactos/dll/win32/mciavi32/mciavi32.rbuild | 18 - reactos/dll/win32/mcicda/mcicda.rbuild | 11 - reactos/dll/win32/mciqtz32/mciqtz32.rbuild | 16 - reactos/dll/win32/mciseq/mciseq.rbuild | 11 - reactos/dll/win32/mciwave/mciwave.rbuild | 12 - reactos/dll/win32/mlang/mlang.rbuild | 23 - reactos/dll/win32/mmdrv/mmdrv.rbuild | 15 - reactos/dll/win32/modemui/modemui.rbuild | 12 - reactos/dll/win32/mpr/mpr.rbuild | 22 - reactos/dll/win32/mprapi/mprapi.rbuild | 8 - .../msacm32/msacm32.drv/msacm32.drv.rbuild | 12 - reactos/dll/win32/msacm32/msacm32.rbuild | 24 - .../dll/win32/msadp32.acm/msadp32.acm.rbuild | 11 - reactos/dll/win32/msafd/msafd.rbuild | 17 - reactos/dll/win32/mscat32/mscat32.rbuild | 13 - reactos/dll/win32/mscms/mscms.rbuild | 16 - reactos/dll/win32/mscoree/mscoree.rbuild | 21 - reactos/dll/win32/msctf/msctf.rbuild | 30 - reactos/dll/win32/msftedit/msftedit.rbuild | 12 - .../dll/win32/msg711.acm/msg711.acm.rbuild | 11 - reactos/dll/win32/msgina/msgina.rbuild | 18 - .../dll/win32/msgsm32.acm/msgsm32.acm.rbuild | 10 - .../dll/win32/mshtml.tlb/mshtml.tlb.rbuild | 15 - reactos/dll/win32/mshtml/mshtml.rbuild | 96 - reactos/dll/win32/msi/msi.rbuild | 89 - reactos/dll/win32/msimg32/msimg32.rbuild | 12 - reactos/dll/win32/msimtf/msimtf.rbuild | 15 - reactos/dll/win32/msisip/msisip.rbuild | 12 - .../dll/win32/msisys.ocx/msisys.ocx.rbuild | 11 - reactos/dll/win32/msnet32/msnet32.rbuild | 9 - reactos/dll/win32/msports/msports.rbuild | 16 - reactos/dll/win32/msrle32/msrle32.rbuild | 12 - reactos/dll/win32/mssign32/mssign32.rbuild | 10 - reactos/dll/win32/mssip32/mssip32.rbuild | 10 - reactos/dll/win32/mstask/mstask.rbuild | 28 - reactos/dll/win32/msvcrt/msvcrt.rbuild | 26 - reactos/dll/win32/msvcrt20/msvcrt20.rbuild | 24 - reactos/dll/win32/msvcrt40/msvcrt40.rbuild | 21 - reactos/dll/win32/msvfw32/msvfw32.rbuild | 23 - reactos/dll/win32/msvidc32/msvidc32.rbuild | 11 - reactos/dll/win32/mswsock/mswsock.rbuild | 9 - reactos/dll/win32/msxml3/msxml3.rbuild | 66 - reactos/dll/win32/nddeapi/nddeapi.rbuild | 9 - reactos/dll/win32/netapi32/netapi32.rbuild | 27 - reactos/dll/win32/netcfgx/netcfgx.rbuild | 24 - reactos/dll/win32/netevent/netevent.rbuild | 6 - reactos/dll/win32/netid/netid.rbuild | 12 - reactos/dll/win32/netshell/netshell.rbuild | 28 - reactos/dll/win32/newdev/newdev.rbuild | 17 - reactos/dll/win32/ntdsapi/ntdsapi.rbuild | 10 - reactos/dll/win32/ntlanman/ntlanman.rbuild | 11 - reactos/dll/win32/ntmarta/ntmarta.rbuild | 12 - reactos/dll/win32/ntprint/ntprint.rbuild | 13 - reactos/dll/win32/objsel/objsel.rbuild | 22 - reactos/dll/win32/odbc32/odbc32.rbuild | 13 - reactos/dll/win32/odbccp32/odbccp32.rbuild | 15 - reactos/dll/win32/ole32/ole32.rbuild | 85 - reactos/dll/win32/oleacc/oleacc.rbuild | 16 - reactos/dll/win32/oleaut32/oleaut32.rbuild | 65 - reactos/dll/win32/olecli32/olecli32.rbuild | 13 - reactos/dll/win32/oledlg/oledlg.rbuild | 20 - reactos/dll/win32/olepro32/olepro32.rbuild | 14 - reactos/dll/win32/olesvr32/olesvr32.rbuild | 13 - reactos/dll/win32/olethk32/olethk32.rbuild | 10 - reactos/dll/win32/opengl32/opengl32.rbuild | 13 - reactos/dll/win32/pdh/pdh.rbuild | 10 - reactos/dll/win32/pidgen/pidgen.rbuild | 10 - reactos/dll/win32/powrprof/powrprof.rbuild | 13 - reactos/dll/win32/printui/printui.rbuild | 11 - reactos/dll/win32/psapi/psapi.rbuild | 12 - reactos/dll/win32/pstorec/pstorec.rbuild | 19 - reactos/dll/win32/qmgr/qmgr.rbuild | 35 - reactos/dll/win32/qmgrprxy/qmgrprxy.rbuild | 27 - reactos/dll/win32/query/query.rbuild | 12 - reactos/dll/win32/rasadhlp/rasadhlp.rbuild | 13 - reactos/dll/win32/rasapi32/rasapi32.rbuild | 13 - reactos/dll/win32/rasdlg/rasdlg.rbuild | 9 - reactos/dll/win32/rasman/rasman.rbuild | 9 - reactos/dll/win32/resutils/resutils.rbuild | 9 - reactos/dll/win32/riched20/riched20.rbuild | 41 - reactos/dll/win32/riched32/riched32.rbuild | 16 - reactos/dll/win32/rpcrt4/rpcrt4.rbuild | 51 - reactos/dll/win32/rsabase/rsabase.rbuild | 15 - reactos/dll/win32/rsaenh/rsaenh.rbuild | 28 - reactos/dll/win32/samlib/samlib.rbuild | 10 - reactos/dll/win32/samsrv/samsrv.rbuild | 9 - reactos/dll/win32/sccbase/sccbase.rbuild | 10 - reactos/dll/win32/schannel/schannel.rbuild | 15 - reactos/dll/win32/secur32/secur32.rbuild | 15 - reactos/dll/win32/security/security.rbuild | 8 - reactos/dll/win32/sensapi/sensapi.rbuild | 11 - reactos/dll/win32/serialui/serialui.rbuild | 8 - reactos/dll/win32/setupapi/setupapi.rbuild | 44 - reactos/dll/win32/sfc/sfc.rbuild | 6 - reactos/dll/win32/sfc_os/sfc_os.rbuild | 6 - reactos/dll/win32/shdoclc/shdoclc.rbuild | 9 - reactos/dll/win32/shdocvw/shdocvw.rbuild | 50 - reactos/dll/win32/shell32/shell32.rbuild | 96 - reactos/dll/win32/shfolder/shfolder.rbuild | 14 - reactos/dll/win32/shimgvw/shimgvw.rbuild | 12 - reactos/dll/win32/shlwapi/shlwapi.rbuild | 43 - reactos/dll/win32/slbcsp/slbcsp.rbuild | 10 - reactos/dll/win32/smdll/smdll.rbuild | 10 - reactos/dll/win32/sndblst/sndblst.rbuild | 17 - reactos/dll/win32/snmpapi/snmpapi.rbuild | 11 - reactos/dll/win32/softpub/softpub.rbuild | 10 - reactos/dll/win32/spoolss/spoolss.rbuild | 15 - reactos/dll/win32/srclient/srclient.rbuild | 8 - reactos/dll/win32/stdole2.tlb/stdole2.rbuild | 17 - .../dll/win32/stdole32.tlb/stdole32.rbuild | 19 - reactos/dll/win32/sti/sti.rbuild | 36 - reactos/dll/win32/sxs/sxs.rbuild | 14 - reactos/dll/win32/syssetup/syssetup.rbuild | 24 - reactos/dll/win32/t2embed/t2embed.rbuild | 14 - reactos/dll/win32/tapi32/tapi32.rbuild | 17 - reactos/dll/win32/tapiui/tapiui.rbuild | 4 - reactos/dll/win32/traffic/traffic.rbuild | 9 - reactos/dll/win32/twain_32/twain_32.rbuild | 13 - reactos/dll/win32/uext2/uext2.rbuild | 8 - reactos/dll/win32/ufat/ufat.rbuild | 8 - reactos/dll/win32/ufatx/ufatx.rbuild | 7 - reactos/dll/win32/unicows/unicows.rbuild | 18 - reactos/dll/win32/untfs/untfs.rbuild | 8 - reactos/dll/win32/updspapi/updspapi.rbuild | 10 - reactos/dll/win32/url/url.rbuild | 11 - reactos/dll/win32/urlmon/urlmon.rbuild | 57 - reactos/dll/win32/user32/user32.pspec | 787 --- reactos/dll/win32/user32/user32.rbuild | 77 - reactos/dll/win32/userenv/userenv.rbuild | 19 - reactos/dll/win32/usp10/usp10.rbuild | 26 - reactos/dll/win32/uxtheme/uxtheme.rbuild | 30 - reactos/dll/win32/vdmdbg/vdmdbg.rbuild | 7 - reactos/dll/win32/version/version.rbuild | 17 - reactos/dll/win32/wdmaud.drv/wdmaud.rbuild | 27 - reactos/dll/win32/wer/wer.rbuild | 11 - reactos/dll/win32/win32.rbuild | 688 -- .../win32/windowscodecs/windowscodecs.rbuild | 40 - .../dll/win32/winemp3.acm/winemp3.acm.rbuild | 14 - reactos/dll/win32/winfax/winfax.rbuild | 7 - reactos/dll/win32/wing32/wing32.rbuild | 11 - reactos/dll/win32/winhttp/winhttp.rbuild | 25 - reactos/dll/win32/wininet/wininet.rbuild | 41 - .../dll/win32/winmm/midimap/midimap.rbuild | 13 - reactos/dll/win32/winmm/winmm.rbuild | 28 - reactos/dll/win32/winspool/winspool.rbuild | 11 - reactos/dll/win32/winsta/winsta.rbuild | 15 - reactos/dll/win32/wintrust/wintrust.rbuild | 21 - reactos/dll/win32/wlanapi/wlanapi.rbuild | 11 - reactos/dll/win32/wldap32/wldap32.rbuild | 34 - reactos/dll/win32/wmi/wmi.rbuild | 9 - reactos/dll/win32/ws2_32/ws2_32.rbuild | 29 - reactos/dll/win32/ws2_32_new/ws2_32.rbuild | 55 - reactos/dll/win32/ws2help/ws2help.rbuild | 15 - reactos/dll/win32/wshirda/wshirda.rbuild | 8 - reactos/dll/win32/wshtcpip/wshtcpip.rbuild | 12 - reactos/dll/win32/wsock32/wsock32.rbuild | 8 - reactos/dll/win32/wtsapi32/wtsapi32.rbuild | 14 - reactos/dll/win32/wuapi/wuapi.rbuild | 20 - reactos/dll/win32/xinput1_1/xinput1_1.rbuild | 8 - reactos/dll/win32/xinput1_2/xinput1_2.rbuild | 8 - reactos/dll/win32/xinput1_3/xinput1_3.rbuild | 9 - .../dll/win32/xinput9_1_0/xinput9_1_0.rbuild | 8 - reactos/dll/win32/xmllite/xmllite.rbuild | 9 - reactos/drivers/base/beep/beep.rbuild | 8 - reactos/drivers/base/bootvid/bootvid.rbuild | 24 - reactos/drivers/base/directory.rbuild | 26 - reactos/drivers/base/kdcom/kdcom.rbuild | 24 - reactos/drivers/base/kddll/kddll.rbuild | 25 - reactos/drivers/base/nmidebug/nmidebug.rbuild | 10 - reactos/drivers/base/null/null.rbuild | 10 - reactos/drivers/battery/battc/battc.rbuild | 11 - reactos/drivers/battery/directory.rbuild | 7 - reactos/drivers/bluetooth/directory.rbuild | 7 - .../drivers/bluetooth/fbtusb/fbtusb.rbuild | 15 - reactos/drivers/bus/acpi/acpi.rbuild | 45 - reactos/drivers/bus/acpi/acpica/acpica.rbuild | 152 - reactos/drivers/bus/acpi/cmbatt/cmbatt.rbuild | 15 - .../drivers/bus/acpi/compbatt/compbatt.rbuild | 13 - reactos/drivers/bus/directory.rbuild | 19 - reactos/drivers/bus/isapnp/isapnp.rbuild | 13 - reactos/drivers/bus/pci/pci.rbuild | 12 - reactos/drivers/bus/pcix/pcix.rbuild | 51 - reactos/drivers/bus/pcmcia/pcmcia.rbuild | 12 - reactos/drivers/directx/directory.rbuild | 13 - reactos/drivers/directx/dxapi/dxapi.rbuild | 13 - reactos/drivers/directx/dxg/dxg.rbuild | 14 - reactos/drivers/directx/dxgthk/dxgthk.rbuild | 10 - reactos/drivers/drivers.rbuild | 67 - reactos/drivers/filesystems/cdfs/cdfs.rbuild | 23 - reactos/drivers/filesystems/directory.rbuild | 28 - reactos/drivers/filesystems/ext2/ext2.rbuild | 33 - .../drivers/filesystems/fastfat/vfatfs.rbuild | 31 - .../filesystems/fastfat_new/fastfat.rbuild | 31 - .../drivers/filesystems/fs_rec/fs_rec.rbuild | 15 - reactos/drivers/filesystems/msfs/msfs.rbuild | 14 - reactos/drivers/filesystems/mup/mup.rbuild | 10 - reactos/drivers/filesystems/npfs/npfs.rbuild | 17 - reactos/drivers/filesystems/ntfs/ntfs.rbuild | 25 - reactos/drivers/filters/directory.rbuild | 7 - .../drivers/filters/mountmgr/mountmgr.rbuild | 20 - reactos/drivers/hid/directory.rbuild | 19 - reactos/drivers/hid/hidclass/hidclass.rbuild | 13 - reactos/drivers/hid/hidparse/hidparse.rbuild | 13 - reactos/drivers/hid/hidusb/hidusb.rbuild | 11 - reactos/drivers/hid/kbdhid/kbdhid.rbuild | 12 - reactos/drivers/hid/mouhid/mouhid.rbuild | 11 - reactos/drivers/input/directory.rbuild | 16 - .../drivers/input/i8042prt/i8042prt.rbuild | 18 - .../drivers/input/kbdclass/kbdclass.rbuild | 12 - .../drivers/input/mouclass/mouclass.rbuild | 12 - .../drivers/input/sermouse/sermouse.rbuild | 15 - reactos/drivers/ksfilter/directory.rbuild | 11 - reactos/drivers/ksfilter/ks/ks.rbuild | 37 - reactos/drivers/ksfilter/swenum/swenum.rbuild | 8 - .../drivers/multimedia/audio/directory.rbuild | 20 - .../multimedia/audio/mpu401_nt4/mpu401.rbuild | 17 - .../audio/sb16_nt4.old/sb16_nt4.rbuild | 11 - .../audio/sndblst.old/sndblst.rbuild | 14 - .../audio/sndblst_sys/sndblst.rbuild | 9 - .../multimedia/audio/sound/sound.rbuild | 14 - .../drivers/multimedia/bdasup/bdasup.rbuild | 10 - reactos/drivers/multimedia/directory.rbuild | 10 - reactos/drivers/network/acd/rasacd.rbuild | 14 - reactos/drivers/network/afd/afd.rbuild | 28 - reactos/drivers/network/dd/directory.rbuild | 10 - .../drivers/network/dd/ne2000/ne2000.rbuild | 16 - reactos/drivers/network/dd/pcnet/pcnet.rbuild | 16 - reactos/drivers/network/directory.rbuild | 22 - reactos/drivers/network/ndis/ndis.rbuild | 40 - .../drivers/network/ndisuio/ndisuio.rbuild | 19 - reactos/drivers/network/tcpip/tcpip.rbuild | 38 - reactos/drivers/network/tdi/tdi.rbuild | 25 - reactos/drivers/parallel/directory.rbuild | 7 - .../drivers/parallel/parallel/parallel.rbuild | 9 - reactos/drivers/sac/directory.rbuild | 7 - reactos/drivers/sac/driver/sacdrv.rbuild | 29 - reactos/drivers/serial/directory.rbuild | 10 - reactos/drivers/serial/serenum/serenum.rbuild | 13 - reactos/drivers/serial/serial/serial.rbuild | 20 - reactos/drivers/setup/blue/blue.rbuild | 12 - reactos/drivers/setup/directory.rbuild | 7 - .../drivers/storage/class/cdrom/cdrom.rbuild | 14 - .../storage/class/cdrom_new/cdrom_new.rbuild | 20 - .../storage/class/class2/class2.rbuild | 12 - .../drivers/storage/class/directory.rbuild | 19 - .../drivers/storage/class/disk/disk.rbuild | 12 - .../storage/class/ramdisk/ramdisk.rbuild | 9 - .../drivers/storage/classpnp/classpnp.rbuild | 38 - reactos/drivers/storage/directory.rbuild | 22 - reactos/drivers/storage/fdc/directory.rbuild | 7 - reactos/drivers/storage/fdc/fdc/fdc.rbuild | 12 - reactos/drivers/storage/floppy/floppy.rbuild | 16 - .../drivers/storage/ide/atapi/atapi.rbuild | 10 - reactos/drivers/storage/ide/directory.rbuild | 16 - .../drivers/storage/ide/pciide/pciide.rbuild | 9 - .../storage/ide/pciidex/pciidex.rbuild | 14 - .../drivers/storage/ide/uniata/uniata.rbuild | 29 - .../storage/port/buslogic/buslogic.rbuild | 9 - reactos/drivers/storage/port/directory.rbuild | 7 - .../drivers/storage/scsiport/scsiport.pspec | 51 - .../drivers/storage/scsiport/scsiport.rbuild | 14 - reactos/drivers/usb/directory.rbuild | 25 - reactos/drivers/usb/usbccgp/usbccgp.rbuild | 19 - reactos/drivers/usb/usbd/usbd.rbuild | 10 - reactos/drivers/usb/usbehci/usbehci.rbuild | 22 - reactos/drivers/usb/usbhub/usbhub.rbuild | 16 - reactos/drivers/usb/usbohci/usbohci.rbuild | 23 - reactos/drivers/usb/usbstor/usbstor.rbuild | 20 - reactos/drivers/usb/usbuhci/usbuhci.rbuild | 23 - reactos/drivers/video/directory.rbuild | 16 - .../drivers/video/displays/directory.rbuild | 16 - .../video/displays/framebuf/framebuf.rbuild | 14 - .../displays/framebuf_new/framebuf_new.rbuild | 21 - .../displays/framebufacc/framebufacc.rbuild | 13 - .../drivers/video/displays/vga/vgaddi.rbuild | 25 - .../video/displays/vga_new/vga_new.rbuild | 20 - reactos/drivers/video/font/bmfd/bmfd.rbuild | 10 - reactos/drivers/video/font/directory.rbuild | 11 - reactos/drivers/video/font/ftfd/ftfd.rbuild | 14 - .../drivers/video/miniport/directory.rbuild | 19 - .../drivers/video/miniport/vbe/vbemp.rbuild | 10 - .../drivers/video/miniport/vga/vgamp.rbuild | 10 - .../drivers/video/miniport/vga_new/vga.rbuild | 18 - .../video/miniport/vmx_svga/vmx_svga.rbuild | 9 - .../video/miniport/xboxvmp/xboxvmp.rbuild | 9 - .../drivers/video/videoprt/videoprt.rbuild | 26 - .../backpln/audio_test/audio_test.rbuild | 13 - .../wdm/audio/backpln/directory.rbuild | 10 - .../wdm/audio/backpln/portcls/portcls.rbuild | 66 - reactos/drivers/wdm/audio/directory.rbuild | 22 - .../audio/drivers/CMIDriver/cmidriver.rbuild | 24 - .../wdm/audio/drivers/directory.rbuild | 13 - .../wdm/audio/drivers/mpu401/mpu401.rbuild | 14 - .../wdm/audio/drivers/sb16/sb16.rbuild | 11 - .../drivers/wdm/audio/drm/directory.rbuild | 7 - .../drivers/wdm/audio/drm/drmk/drmk.rbuild | 16 - .../wdm/audio/filters/directory.rbuild | 10 - .../wdm/audio/filters/kmixer/kmixer.rbuild | 15 - .../audio/filters/splitter/splitter.rbuild | 9 - .../drivers/wdm/audio/legacy/directory.rbuild | 10 - .../wdm/audio/legacy/stream/stream.rbuild | 17 - .../wdm/audio/legacy/wdmaud/wdmaud.rbuild | 21 - .../wdm/audio/sysaudio/sysaudio.rbuild | 17 - reactos/drivers/wdm/wdm.rbuild | 7 - reactos/drivers/wmi/wmilib.rbuild | 9 - reactos/hal/hal.pspec | 106 - reactos/hal/hal.rbuild | 27 - reactos/hal/halarm/directory.rbuild | 18 - reactos/hal/halarm/hal.rbuild | 18 - reactos/hal/halarm/hal_generic.rbuild | 33 - reactos/hal/halarm/omap3/halup.rbuild | 16 - reactos/hal/halarm/versa/halup.rbuild | 16 - reactos/hal/halppc/directory.rbuild | 10 - reactos/hal/halppc/generic/generic.rbuild | 29 - reactos/hal/halppc/up/halup.rbuild | 13 - reactos/hal/halx86/directory.rbuild | 25 - reactos/hal/halx86/hal.rbuild | 21 - reactos/hal/halx86/hal_generic.rbuild | 34 - reactos/hal/halx86/hal_generic_acpi.rbuild | 26 - reactos/hal/halx86/hal_generic_mp.rbuild | 23 - reactos/hal/halx86/hal_generic_pcat.rbuild | 28 - reactos/hal/halx86/hal_generic_up.rbuild | 17 - reactos/hal/halx86/hal_mini.rbuild | 44 - reactos/hal/halx86/halacpi.rbuild | 22 - reactos/hal/halx86/halamd64.rbuild | 33 - reactos/hal/halx86/halmps.rbuild | 25 - reactos/hal/halx86/halxbox.rbuild | 23 - reactos/include/directory.rbuild | 13 - reactos/include/dxsdk/dxsdk.rbuild | 20 - reactos/include/psdk/psdk.rbuild | 94 - reactos/include/reactos/asm.h | 215 - reactos/include/reactos/asm.inc | 297 - reactos/include/reactos/idl/idl.rbuild | 36 - reactos/include/reactos/mc/mc.rbuild | 31 - reactos/include/reactos/reactos.rbuild | 13 - reactos/include/reactos/version.h | 32 - .../include/reactos/wine/wineheaders.rbuild | 5 - reactos/lib/3rdparty/3rdparty.rbuild | 43 - reactos/lib/3rdparty/adns/adns.rbuild | 22 - reactos/lib/3rdparty/bzip2/bzip2.rbuild | 14 - reactos/lib/3rdparty/cardlib/cardlib.rbuild | 19 - reactos/lib/3rdparty/expat/expat.rbuild | 13 - reactos/lib/3rdparty/freetype/freetype.rbuild | 94 - reactos/lib/3rdparty/fullfat/fullfat.rbuild | 21 - .../lib/3rdparty/libmpg123/libmpg123.rbuild | 42 - .../libsamplerate/libsamplerate.rbuild | 9 - reactos/lib/3rdparty/libwine/libwine.rbuild | 19 - reactos/lib/3rdparty/libxml2/libxml2.rbuild | 64 - reactos/lib/3rdparty/mingw/mingw.rbuild | 73 - reactos/lib/3rdparty/zlib/zlib.rbuild | 42 - reactos/lib/atl/atl.rbuild | 10 - reactos/lib/cmlib/cmlib.rbuild | 35 - reactos/lib/cportlib/cportlib.rbuild | 8 - reactos/lib/debugsup/debugsup.rbuild | 10 - reactos/lib/dnslib/dnslib.rbuild | 25 - reactos/lib/drivers/chew/chew.rbuild | 7 - reactos/lib/drivers/csq/csq.rbuild | 6 - reactos/lib/drivers/directory.rbuild | 22 - .../lib/drivers/hidparser/hidparser.rbuild | 11 - reactos/lib/drivers/ip/ip.rbuild | 46 - reactos/lib/drivers/lwip/lwip.rbuild | 65 - .../lib/drivers/sound/legacy/legacy.rbuild | 10 - .../drivers/sound/mmebuddy/mmebuddy.rbuild | 34 - .../lib/drivers/sound/mment4/mment4.rbuild | 10 - .../lib/drivers/sound/mmixer/mmixer.rbuild | 14 - .../lib/drivers/sound/shared/shared.rbuild | 9 - reactos/lib/drivers/sound/sound.rbuild | 25 - .../sound/soundblaster/soundblaster.rbuild | 14 - .../drivers/sound/uartmidi/uartmidi.rbuild | 9 - reactos/lib/epsapi/epsapi.rbuild | 10 - reactos/lib/fslib/directory.rbuild | 16 - reactos/lib/fslib/ext2lib/ext2lib.rbuild | 14 - reactos/lib/fslib/ntfslib/ntfslib.rbuild | 6 - reactos/lib/fslib/vfatlib/vfatlib.rbuild | 20 - reactos/lib/fslib/vfatxlib/vfatxlib.rbuild | 8 - reactos/lib/inflib/inflib.mak | 71 - reactos/lib/inflib/inflib.rbuild | 30 - reactos/lib/lib.mak | 7 - reactos/lib/lib.rbuild | 64 - reactos/lib/lsalib/lsalib.rbuild | 7 - reactos/lib/newinflib/inflib.mak | 76 - reactos/lib/newinflib/inflib.rbuild | 30 - reactos/lib/ppcmmu/ppcmmu.mak | 37 - reactos/lib/ppcmmu/ppcmmu.rbuild | 9 - reactos/lib/pseh/pseh.rbuild | 25 - reactos/lib/recyclebin/recyclebin.rbuild | 10 - reactos/lib/rossym/rossym.rbuild | 15 - reactos/lib/rtl/rtl.rbuild | 108 - reactos/lib/sdk/crt/crt.rbuild | 585 -- reactos/lib/sdk/crt/libcntpr.rbuild | 248 - reactos/lib/sdk/delayimp/delayimp.rbuild | 7 - reactos/lib/sdk/dxguid/dxguid.rbuild | 5 - reactos/lib/sdk/ioevent/ioevent.rbuild | 5 - reactos/lib/sdk/nt/nt.rbuild | 5 - reactos/lib/sdk/scrnsave/scrnsave.rbuild | 7 - reactos/lib/sdk/sdk.rbuild | 32 - reactos/lib/sdk/strmiids/strmiids.rbuild | 5 - reactos/lib/sdk/uuid/uuid.rbuild | 5 - reactos/lib/sdk/wdmguid/wdmguid.rbuild | 5 - reactos/lib/smlib/smlib.rbuild | 12 - reactos/lib/tdilib/tdilib.rbuild | 9 - reactos/media/drivers/drivers.rbuild | 7 - reactos/media/drivers/etc/etc.rbuild | 12 - reactos/media/fonts/fonts.rbuild | 36 - reactos/media/inf/inf.rbuild | 37 - reactos/media/media.rbuild | 22 - reactos/media/nls/nls.rbuild | 68 - reactos/media/sounds/sounds.rbuild | 7 - reactos/media/vgafonts/vgafonts.rbuild | 13 - reactos/modules/directory.rbuild | 25 - reactos/modules/empty.rbuild | 3 - reactos/ntoskrnl/ntkrnlmp.rbuild | 9 - reactos/ntoskrnl/ntoskrnl-generic.rbuild | 585 -- reactos/ntoskrnl/ntoskrnl.pspec | 1644 ----- reactos/ntoskrnl/ntoskrnl.rbuild | 11 - reactos/proxy.mak | 21 - reactos/rosbuild.bat | 117 - reactos/subsystems/ntvdm/ntvdm.rbuild | 11 - reactos/subsystems/subsystems.rbuild | 12 - reactos/subsystems/win/basesrv/basesrv.rbuild | 13 - reactos/subsystems/win/directory.rbuild | 10 - reactos/subsystems/win/winsrv/winsrv.rbuild | 15 - .../win32/csrss/csrsrv/csrsrv.rbuild | 25 - reactos/subsystems/win32/csrss/csrss.rbuild | 21 - .../win32/csrss/win32csr/win32csr.rbuild | 34 - reactos/subsystems/win32/win32.rbuild | 10 - reactos/subsystems/win32/win32k/win32k.pspec | 229 - reactos/subsystems/win32/win32k/win32k.rbuild | 213 - reactos/tools/CMakeLists.txt | 1 - reactos/tools/bin2c.mak | 36 - reactos/tools/buildno/buildno.cpp | 421 -- reactos/tools/buildno/buildno.mak | 57 - reactos/tools/buildno/pch.h | 44 - reactos/tools/cabman/cabman.rbuild | 11 - reactos/tools/cdmake/cdmake.rbuild | 6 - reactos/tools/gendib/gendib.mak | 57 - reactos/tools/geninc/geninc.rbuild | 10 - reactos/tools/hpp/hpp.rbuild | 6 - reactos/tools/kbdtool/kbdtool.rbuild | 8 - reactos/tools/log2lines/log2lines.mak | 99 - reactos/tools/mkhive/mkhive.rbuild | 19 - reactos/tools/mkshelllink/mkshelllink.rbuild | 5 - reactos/tools/nandflash/nandflash.rbuild | 5 - reactos/tools/ofw_interface/ofw_interface.mak | 63 - reactos/tools/pefixup.mak | 36 - reactos/tools/pipetools/pipetools.mak | 47 - reactos/tools/rbuild/automaticdependency.cpp | 560 -- reactos/tools/rbuild/autoregister.cpp | 88 - reactos/tools/rbuild/backend/backend.cpp | 126 - reactos/tools/rbuild/backend/backend.h | 77 - .../backend/dependencymap/dependencymap.cpp | 204 - .../backend/dependencymap/dependencymap.h | 64 - .../rbuild/backend/mingw/compilers/gcc.mak | 158 - .../rbuild/backend/mingw/compilers/msc.mak | 101 - .../tools/rbuild/backend/mingw/linkers/ld.mak | 90 - .../rbuild/backend/mingw/linkers/mslink.mak | 1 - reactos/tools/rbuild/backend/mingw/mingw.cpp | 1377 ---- reactos/tools/rbuild/backend/mingw/mingw.h | 149 - .../rbuild/backend/mingw/modulehandler.cpp | 3185 --------- .../rbuild/backend/mingw/modulehandler.h | 378 - .../backend/mingw/mstools_detection.cpp | 2295 ------ .../rbuild/backend/mingw/pch_detection.h | 17 - .../rbuild/backend/mingw/pipe_detection.c | 23 - .../rbuild/backend/mingw/proxymakefile.cpp | 127 - reactos/tools/rbuild/backend/mingw/rule.cpp | 157 - reactos/tools/rbuild/backend/mingw/rule.h | 47 - reactos/tools/rbuild/backend/mingw/rules.mak | 364 - .../tools/rbuild/backend/msbuild/msbuild.cpp | 270 - .../tools/rbuild/backend/msbuild/msbuild.h | 68 - reactos/tools/rbuild/backend/msvc/genguid.cpp | 95 - reactos/tools/rbuild/backend/msvc/msvc.cpp | 568 -- reactos/tools/rbuild/backend/msvc/msvc.h | 282 - .../tools/rbuild/backend/msvc/msvcmaker.cpp | 872 --- .../tools/rbuild/backend/msvc/projmaker.cpp | 330 - .../tools/rbuild/backend/msvc/propsmaker.cpp | 195 - .../backend/msvc/rules/reactos.defaults.props | 27 - .../rbuild/backend/msvc/rules/reactos.targets | 6 - .../backend/msvc/rules/s_as_mscpp.props | 21 - .../backend/msvc/rules/s_as_mscpp.rules | 44 - .../backend/msvc/rules/s_as_mscpp.targets | 84 - .../rbuild/backend/msvc/rules/s_as_mscpp.xml | 145 - .../rbuild/backend/msvc/rules/spec.props | 38 - .../rbuild/backend/msvc/rules/spec.rules | 57 - .../rbuild/backend/msvc/rules/spec.targets | 159 - .../tools/rbuild/backend/msvc/rules/spec.xml | 274 - .../tools/rbuild/backend/msvc/slnmaker.cpp | 137 - .../tools/rbuild/backend/msvc/vcprojmaker.cpp | 674 -- .../rbuild/backend/msvc/vcxprojmaker.cpp | 282 - .../rbuild/backend/msvc/vspropsmaker.cpp | 268 - .../backend/versionreport/versionreport.cpp | 126 - .../backend/versionreport/versionreport.h | 65 - reactos/tools/rbuild/bootstrap.cpp | 122 - reactos/tools/rbuild/cdfile.cpp | 65 - reactos/tools/rbuild/compilationunit.cpp | 137 - .../rbuild/compilationunitsupportcode.cpp | 97 - reactos/tools/rbuild/compilerdirective.cpp | 145 - reactos/tools/rbuild/compilerflag.cpp | 67 - reactos/tools/rbuild/configuration.cpp | 42 - reactos/tools/rbuild/define.cpp | 97 - reactos/tools/rbuild/directory.cpp | 249 - reactos/tools/rbuild/doc/rbuild.dbk | 1809 ----- reactos/tools/rbuild/doc/rbuild.txt | 538 -- reactos/tools/rbuild/empty.def | 1 - reactos/tools/rbuild/exception.cpp | 184 - reactos/tools/rbuild/exception.h | 146 - reactos/tools/rbuild/filesupportcode.cpp | 90 - reactos/tools/rbuild/global.cpp | 70 - reactos/tools/rbuild/include.cpp | 137 - reactos/tools/rbuild/installfile.cpp | 68 - reactos/tools/rbuild/linkerflag.cpp | 64 - reactos/tools/rbuild/linkerscript.cpp | 38 - reactos/tools/rbuild/makefile | 3 - reactos/tools/rbuild/module.cpp | 1981 ------ reactos/tools/rbuild/pch.h | 81 - reactos/tools/rbuild/project.cpp | 549 -- reactos/tools/rbuild/project.dtd | 155 - reactos/tools/rbuild/rbuild.cpp | 422 -- reactos/tools/rbuild/rbuild.dsp | 360 - reactos/tools/rbuild/rbuild.dsw | 29 - reactos/tools/rbuild/rbuild.h | 1100 --- reactos/tools/rbuild/rbuild.mak | 560 -- reactos/tools/rbuild/rbuild.sln | 19 - reactos/tools/rbuild/rbuild.vcproj | 1286 ---- reactos/tools/rbuild/stubbedcomponent.cpp | 118 - reactos/tools/rbuild/syssetupgenerator.cpp | 117 - reactos/tools/rbuild/test.h | 162 - reactos/tools/rbuild/tests/alltests.cpp | 215 - reactos/tools/rbuild/tests/cdfiletest.cpp | 40 - .../rbuild/tests/compilationunittest.cpp | 49 - .../tests/data/automaticdependency.rbuild | 16 - .../data/automaticdependency_include.rbuild | 17 - reactos/tools/rbuild/tests/data/cdfile.rbuild | 9 - .../rbuild/tests/data/compilationunit.rbuild | 13 - reactos/tools/rbuild/tests/data/define.rbuild | 10 - reactos/tools/rbuild/tests/data/if.rbuild | 14 - .../tools/rbuild/tests/data/include.rbuild | 15 - reactos/tools/rbuild/tests/data/invoke.rbuild | 14 - .../tools/rbuild/tests/data/linkerflag.rbuild | 8 - reactos/tools/rbuild/tests/data/module.rbuild | 18 - .../tools/rbuild/tests/data/project.rbuild | 12 - reactos/tools/rbuild/tests/data/sourcefile1.c | 13 - .../data/sourcefile1/sourcefile1_header3.h | 1 - .../data/sourcefile1/sourcefile_includenext.h | 1 - .../rbuild/tests/data/sourcefile1_header1.h | 1 - .../rbuild/tests/data/sourcefile1_header2.h | 3 - .../rbuild/tests/data/sourcefile1_recurse.h | 2 - .../rbuild/tests/data/sourcefile_include.c | 2 - .../rbuild/tests/data/sourcefile_include.h | 1 - .../tests/data/sourcefile_includenext.h | 1 - reactos/tools/rbuild/tests/data/symbol.rbuild | 10 - reactos/tools/rbuild/tests/definetest.cpp | 39 - reactos/tools/rbuild/tests/functiontest.cpp | 28 - reactos/tools/rbuild/tests/iftest.cpp | 68 - reactos/tools/rbuild/tests/includetest.cpp | 42 - reactos/tools/rbuild/tests/invoketest.cpp | 37 - reactos/tools/rbuild/tests/linkerflagtest.cpp | 37 - reactos/tools/rbuild/tests/moduletest.cpp | 55 - reactos/tools/rbuild/tests/projecttest.cpp | 28 - reactos/tools/rbuild/tests/sourcefiletest.cpp | 91 - reactos/tools/rbuild/tests/symboltest.cpp | 43 - reactos/tools/rbuild/testsupportcode.cpp | 413 -- reactos/tools/rbuild/xmlnode.cpp | 38 - reactos/tools/rbuild_helper/argv_parser.h | 159 - .../rbuild_helper/null_output_iterator.h | 51 - reactos/tools/rbuild_helper/rbuild_helper.cpp | 549 -- .../tools/rbuild_helper/rbuild_helper.rbuild | 7 - .../tools/rbuild_helper/stringz_iterator.h | 130 - reactos/tools/rgenstat/rgenstat.rbuild | 6 - reactos/tools/rsym/raddr2line.mak | 41 - reactos/tools/rsym/rsym.mak | 64 - .../tools/sysgen/FileSystemTreeView/App.ico | Bin 1078 -> 0 bytes .../sysgen/FileSystemTreeView/AssemblyInfo.cs | 58 - .../sysgen/FileSystemTreeView/Backup/App.ico | Bin 1078 -> 0 bytes .../FileSystemTreeView/Backup/AssemblyInfo.cs | 58 - .../Backup/FileSystemTreeView.cs | 201 - .../Backup/FileSystemTreeView.csproj | 143 - .../Backup/FileSystemTreeView.csproj.user | 48 - .../Backup/FileSystemTreeView.resx | 42 - .../sysgen/FileSystemTreeView/Backup/Form1.cs | 178 - .../FileSystemTreeView/Backup/Form1.resx | 193 - .../FileSystemTreeView/Backup/ShellIcon.cs | 79 - .../Backup/icons/folder.ico | Bin 1406 -> 0 bytes .../FileSystemTreeView/FileSystemTreeView.cs | 202 - .../FileSystemTreeView.csproj | 124 - .../FileSystemTreeView.csproj.user | 58 - .../FileSystemTreeView.resx | 42 - .../FileSystemTreeView/FileSystemTreeView.suo | Bin 2560 -> 0 bytes .../tools/sysgen/FileSystemTreeView/Form1.cs | 178 - .../sysgen/FileSystemTreeView/Form1.resx | 193 - .../sysgen/FileSystemTreeView/ShellIcon.cs | 79 - .../sysgen/FileSystemTreeView/UpgradeLog.XML | 19 - .../_UpgradeReport_Files/UpgradeReport.css | 207 - .../_UpgradeReport_Files/UpgradeReport.xslt | 232 - .../UpgradeReport_Minus.gif | Bin 69 -> 0 bytes .../UpgradeReport_Plus.gif | Bin 71 -> 0 bytes .../bin/Debug/DirectoryTreeView.exe | Bin 32768 -> 0 bytes .../bin/Debug/DirectoryTreeView.pdb | Bin 28160 -> 0 bytes .../bin/Debug/DirectoryTreeView.vshost.exe | Bin 5632 -> 0 bytes .../FileSystemTreeView/icons/folder.ico | Bin 1406 -> 0 bytes .../Controls/CatalogTriStateTreeView.cs | 220 - .../Controls/ModuleFiltersListView.cs | 91 - .../RosBuilder/Controls/NewItemListView.cs | 114 - .../RosBuilder/Controls/PlatformTreeView.cs | 306 - .../RosBuilder/Controls/ProjectTreeView.cs | 161 - .../Controls/RegistryEditor.Designer.cs | 118 - .../RosBuilder/Controls/RegistryEditor.cs | 18 - .../RosBuilder/Controls/RegistryEditor.resx | 120 - .../tools/sysgen/RosBuilder/Form1.Designer.cs | 38 - reactos/tools/sysgen/RosBuilder/Form1.cs | 18 - reactos/tools/sysgen/RosBuilder/Form1.resx | 120 - .../Inspectors/PlatformInspector.cs | 155 - .../sysgen/RosBuilder/MainForm.Designer.cs | 654 -- reactos/tools/sysgen/RosBuilder/MainForm.cs | 362 - reactos/tools/sysgen/RosBuilder/MainForm.resx | 353 - .../tools/sysgen/RosBuilder/ModuleFilter.cs | 295 - .../sysgen/RosBuilder/NewItemForm.Designer.cs | 135 - .../tools/sysgen/RosBuilder/NewItemForm.cs | 28 - .../tools/sysgen/RosBuilder/NewItemForm.resx | 120 - .../RosBuilder/PlatformCatalogReader.cs | 206 - .../sysgen/RosBuilder/PlatformController.cs | 86 - reactos/tools/sysgen/RosBuilder/Program.cs | 109 - .../sysgen/RosBuilder/Project/Project.cs | 267 - .../RosBuilder/Project/ProjectReader.cs | 319 - .../RosBuilder/Project/ProjectWriter.cs | 170 - .../sysgen/RosBuilder/ProjectController.cs | 222 - .../RosBuilder/Properties/AssemblyInfo.cs | 33 - .../Properties/Resources.Designer.cs | 63 - .../RosBuilder/Properties/Resources.resx | 117 - .../Properties/Settings.Designer.cs | 26 - .../RosBuilder/Properties/Settings.settings | 7 - .../sysgen/RosBuilder/SysGen.Designer.csproj | 148 - .../RosBuilder/SysGen.Designer.csproj.user | 5 - .../sysgen/RosBuilder/Util/FileAssociation.cs | 244 - .../sysgen/RosFramework/Base/RBuildElement.cs | 311 - .../Collections/RBuildAPIStatusCollection.cs | 53 - .../Collections/RBuildAuthorCollection.cs | 20 - .../RBuildBuildFamilyCollection.cs | 20 - .../RBuildContributorCollection.cs | 20 - .../RBuildDebugChannelCollection.cs | 35 - .../Collections/RBuildDefineCollection.cs | 25 - .../RBuildExportedFunctionsCollection.cs | 10 - .../Collections/RBuildFamilyCollection.cs | 10 - .../Collections/RBuildFileCollection.cs | 17 - .../Collections/RBuildFolderCollection.cs | 17 - .../RBuildIncludeFolderCollection.cs | 10 - .../RBuildInstallFolderCollection.cs | 28 - .../Collections/RBuildLanguageCollection.cs | 20 - .../RBuildLocalizationFileCollection.cs | 25 - .../Collections/RBuildModuleCollection.cs | 82 - .../Collections/RBuildModuleInfoCollection.cs | 20 - .../RBuildPlatformFileCollection.cs | 17 - .../Collections/RBuildPropertyCollection.cs | 108 - .../Collections/RBuildSourceFileCollection.cs | 60 - .../Interfaces/IRBuildInstallable.cs | 13 - .../Interfaces/IRBuildModulesContainer.cs | 10 - .../RosFramework/Interfaces/IRBuildNamed.cs | 10 - .../Interfaces/IRBuildSourceFilesContainer.cs | 10 - .../tools/sysgen/RosFramework/Misc/Utility.cs | 17 - .../NotImplementedYet/RBuildModuleGroup.cs | 23 - .../NotImplementedYet/RBuildPatch.cs | 24 - .../RosFramework/Obsolete/PlatformCatalog.cs | 92 - .../RosFramework/Obsolete/RosArchitecture.cs | 43 - .../RosFramework/Obsolete/RosOSImage.cs | 209 - .../RosFramework/Obsolete/RosPlatform.cs | 78 - .../RosFramework/Obsolete/SoftwareCatalog.cs | 80 - .../RosFramework/Properties/AssemblyInfo.cs | 35 - .../sysgen/RosFramework/RBuildAPIInfo.cs | 37 - .../tools/sysgen/RosFramework/RBuildAuthor.cs | 38 - .../sysgen/RosFramework/RBuildAutoRegister.cs | 106 - .../RosFramework/RBuildBootstrapFile.cs | 52 - .../sysgen/RosFramework/RBuildBuildFamily.cs | 25 - .../tools/sysgen/RosFramework/RBuildCDFile.cs | 14 - .../sysgen/RosFramework/RBuildCDFileBase.cs | 11 - .../RosFramework/RBuildCompilationUnit.cs | 24 - .../sysgen/RosFramework/RBuildContributor.cs | 93 - .../sysgen/RosFramework/RBuildDebugChannel.cs | 74 - .../RosFramework/RBuildExportFunction.cs | 47 - .../tools/sysgen/RosFramework/RBuildFamily.cs | 18 - .../tools/sysgen/RosFramework/RBuildFile.cs | 441 -- .../RosFramework/RBuildImportLibrary.cs | 38 - .../RosFramework/RBuildInfInstallerFile.cs | 18 - .../sysgen/RosFramework/RBuildInstallFile.cs | 38 - .../RosFramework/RBuildInstallFolder.cs | 30 - .../sysgen/RosFramework/RBuildLanguage.cs | 48 - .../RosFramework/RBuildLocalizationFile.cs | 34 - .../sysgen/RosFramework/RBuildMetadata.cs | 18 - .../tools/sysgen/RosFramework/RBuildModule.cs | 1215 ---- .../sysgen/RosFramework/RBuildModuleGroup.cs | 24 - .../sysgen/RosFramework/RBuildModuleInfo.cs | 60 - .../sysgen/RosFramework/RBuildPlatform.cs | 133 - .../sysgen/RosFramework/RBuildPlatformFile.cs | 84 - .../sysgen/RosFramework/RBuildProject.cs | 163 - .../sysgen/RosFramework/RBuildProperty.cs | 104 - .../sysgen/RosFramework/RBuildRegistryKey.cs | 67 - .../tools/sysgen/RosFramework/RBuildSetup.cs | 52 - .../sysgen/RosFramework/RBuildSetupFile.cs | 52 - .../sysgen/RosFramework/RBuildSolution.cs | 21 - .../tools/sysgen/RosFramework/RBuildTarget.cs | 274 - .../RosFramework/RBuildUnAttendSetup.cs | 102 - .../SysGen.RBuild.Framework.csproj | 117 - .../SysGen.RBuild.Framework.csproj.user | 5 - .../tools/sysgen/SYSGen/Backends/Backend.cs | 10 - .../SYSGen/Backends/Catalog/CatalogBackend.cs | 12 - .../SYSGen/Backends/Mingw/MingwBackend.cs | 12 - reactos/tools/sysgen/SYSGen/Program.cs | 13 - .../sysgen/SYSGen/Properties/AssemblyInfo.cs | 33 - reactos/tools/sysgen/SYSGen/SYSGen.csproj | 56 - .../Attributes/BuildElementArrayAttribute.cs | 33 - .../Attributes/BuildElementAttribute.cs | 50 - .../Attributes/ElementNameAttribute.cs | 45 - .../Attributes/FunctionAttribute.cs | 60 - .../Attributes/FunctionSetAttribute.cs | 90 - .../Attributes/TaskAttributeAttribute.cs | 43 - .../Attributes/TaskFileSetAttribute.cs | 33 - .../Attributes/TaskNameAttribute.cs | 46 - .../Attributes/TaskOptionSetAttribute.cs | 32 - .../Attributes/TaskPropertyAttribute.cs | 66 - .../Attributes/TaskValueAttribute.cs | 19 - .../Validators/Base/ValidatorAttribute.cs | 16 - .../Validators/BooleanValidatorAttribute.cs | 21 - .../Validators/Int32ValidatorAttribute.cs | 54 - .../Validators/StringValidatorAttribute.cs | 35 - .../Validators/UriValidatorAttribute.cs | 26 - .../APIDocumentation/APIDocumentation.cs | 395 -- .../Backends/Base/Backend.cs | 81 - .../Backends/Base/CompilerBaseBacked.cs | 160 - .../Backends/Base/HtmlDocumenterBaseBacked.cs | 97 - .../BaseAddress/BaseAddressReportBackend.cs | 127 - .../Backends/BuildLogReport/BuildLogReport.cs | 109 - .../Backends/Catalog/CatalogBackend.cs | 69 - .../Backends/Html/HtmlBackend.cs | 2743 ------- .../Backends/MSVisualStudio/MSVisualStudio.cs | 45 - .../MSVisualStudio/VisualStudio/Solution.cs | 703 -- .../Backends/Mingw/CompilableFile.cs | 621 -- .../Backends/Mingw/MingwBackend.cs | 504 -- .../Mingw/MingwRBuildElementHandler.cs | 923 --- .../Backends/Mingw/Misc/MakefileWriter.cs | 99 - .../Base/MingwRBuildModuleHandler.cs | 10 - .../MingwBootLoaderModuleHandler.cs | 35 - .../MingwBootSectorModuleHandler.cs | 33 - .../MingwBuildToolModuleHandler.cs | 43 - .../MingwCabinetModuleHandler.cs | 39 - .../MingwEmbeddedTypeLibModuleHandler.cs | 42 - .../MingwHostStaticLibraryModuleHandler.cs | 17 - .../MingwIdlHeaderModuleHandler.cs | 43 - .../MingwKernelModeDLLModuleHandler.cs | 69 - .../MingwKernelModeDriverModuleHandler.cs | 59 - .../MingwKernelModuleHandler.cs | 68 - .../MingwMessageHeaderModuleHandler.cs | 50 - .../MingwNativeCUIModuleHandler.cs | 44 - .../MingwNativeDLLModuleHandler.cs | 49 - .../MingwObjectLibraryModuleHandler.cs | 58 - .../MingwPackageModuleHandler.cs | 39 - .../MingwRBuildProjectHandler.cs | 37 - .../MingwRpcClientHeaderModuleHandler.cs | 42 - .../MingwRpcProxyModuleHandler.cs | 42 - .../MingwRpcServerHeaderModuleHandler.cs | 49 - .../MingwStaticLibraryModuleHandler.cs | 61 - .../MingwWin32CUIModuleHandler.cs | 45 - .../MingwWin32DLLModuleHandler.cs | 64 - .../MingwWin32GUIModuleHandler.cs | 54 - .../MingwWin32OCXModuleHandler.cs | 54 - .../Base/MingwRBuildTargetHandler.cs | 307 - .../ProjectTreeReport/ProjectTreeReport.cs | 66 - .../Backends/RBuildDB/RBuildDBBackend.cs | 102 - .../Backends/RGenStats/RGenStatBackend.cs | 110 - .../Backends/WarningReport/WarningReport.cs | 82 - .../Collections/BackendCollection.cs | 22 - .../Collections/DefineCollection.cs | 23 - .../Collections/FileHandlerCollection.cs | 24 - .../Collections/LogListenerCollection.cs | 14 - .../Collections/TaskBuilderCollection.cs | 33 - .../Collections/TaskCollection.cs | 10 - .../Elements/Base/Element.cs | 306 - .../Exceptions/BuildException.cs | 101 - .../Exceptions/ValidationException.cs | 62 - .../Base/AutoGeneratedCFileWriter.cs | 30 - .../Base/AutoGeneratedFileWriter.cs | 39 - .../Base/AutoGeneratedInfFileWriter.cs | 54 - .../FileWriters/BuildNumberFileWriter.cs | 45 - .../FileWriters/CompilationUnitFileWriter.cs | 42 - .../FileWriters/DefinitionFileWriter.cs | 21 - .../FileWriters/DffFileWriter.cs | 139 - .../FileWriters/HeaderCreditsFileWriter.cs | 36 - .../FileWriters/HeaderRosCfgFileWriter.cs | 26 - .../SysSetupComponentSetupFileWriter.cs | 84 - .../FileWriters/SysSetupFileWriter.cs | 92 - .../FileWriters/TxtCreditsFileWriter.cs | 52 - .../FileWriters/TxtSetupFileWriter.cs | 137 - .../FileWriters/TxtSetupHiveFileWriter.cs | 59 - .../FileWriters/UnAttendSetupFileWriter.cs | 46 - .../Handlers/SysSetupFileHandler.cs | 138 - .../Interfaces/IBuildStatusMailReporter.cs | 10 - .../Interfaces/IDirectory.cs | 16 - .../SysGen.BuildEngine/Interfaces/IElement.cs | 21 - .../Interfaces/IFileHandler.cs | 35 - .../Interfaces/IRBuildInstallable.cs | 13 - .../Interfaces/ISysGenObject.cs | 21 - .../SysGen.BuildEngine/Interfaces/ITask.cs | 18 - .../Interfaces/ITaskContainer.cs | 12 - .../sysgen/SysGen.BuildEngine/Location.cs | 89 - .../sysgen/SysGen.BuildEngine/LocationMap.cs | 211 - .../sysgen/SysGen.BuildEngine/Log/Log.cs | 215 - .../Log/Loggers/ConsoleLogger.cs | 22 - .../Log/Loggers/StringLogger.cs | 36 - .../Log/Loggers/XmlLogger.cs | 193 - .../SysGen.BuildEngine/Plugins/TaskBuilder.cs | 72 - .../SysGen.BuildEngine/Plugins/TaskFactory.cs | 136 - .../Properties/AssemblyInfo.cs | 15 - .../SysGen.Framework.csproj | 381 - .../SysGen.Framework.csproj.user | 19 - .../SysGen.BuildEngine/SysGenConversion.cs | 26 - .../SysGenDependencyTracker.cs | 118 - .../sysgen/SysGen.BuildEngine/SysGenEngine.cs | 825 --- .../SysGen.BuildEngine/SysGenPathResolver.cs | 36 - .../SysGen.BuildEngine/Tasks/Base/Task.cs | 257 - .../Tasks/Base/TaskContainer.cs | 29 - .../Tasks/BuiltIn/Build/XIFallbackTask.cs | 11 - .../Tasks/BuiltIn/Build/XIIncludeTask.cs | 148 - .../Tasks/BuiltIn/Logic/IfNotTask.cs | 49 - .../Tasks/BuiltIn/Logic/IfTask.cs | 134 - .../Tasks/RBuild/AutoFilesTask.cs | 63 - .../Tasks/RBuild/AutoInstallFilesTask.cs | 15 - .../Tasks/RBuild/AutoManifest.cs | 15 - .../Tasks/RBuild/AutoRegisterTask.cs | 33 - .../Tasks/RBuild/AutoResource.cs | 15 - .../Tasks/RBuild/Base/AuthorBaseTask.cs | 26 - .../Tasks/RBuild/Base/AutoFilesTask.cs | 19 - .../Tasks/RBuild/Base/CDFileBaseTask.cs | 42 - .../Tasks/RBuild/Base/FileBaseTask.cs | 47 - .../RBuild/Base/FileSystemInfoBaseTask.cs | 119 - .../Tasks/RBuild/Base/FolderBaseTask.cs | 15 - .../Tasks/RBuild/Base/PlatformFileBaseTask.cs | 37 - .../Tasks/RBuild/Base/PropertyBaseTask.cs | 38 - .../RBuild/Base/RbuildElementBaseTask.cs | 16 - .../Tasks/RBuild/Base/ValueBaseTask.cs | 16 - .../Tasks/RBuild/BaseAdressTask.cs | 17 - .../Tasks/RBuild/BootSector.cs | 44 - .../Tasks/RBuild/BootstrapFileTask.cs | 40 - .../Tasks/RBuild/BootstrapTask.cs | 52 - .../Tasks/RBuild/BuildFamilyTask.cs | 27 - .../Tasks/RBuild/CDFileTask.cs | 20 - .../Tasks/RBuild/CompilationUnitTask.cs | 58 - .../Tasks/RBuild/CompilerFlagTask.cs | 14 - .../Tasks/RBuild/ComponentTask.cs | 12 - .../Tasks/RBuild/ContributorTask.cs | 42 - .../Tasks/RBuild/DebugChannelTask.cs | 54 - .../Tasks/RBuild/DefineTask.cs | 45 - .../Tasks/RBuild/DependencyTask.cs | 27 - .../Tasks/RBuild/DeveloperTask.cs | 16 - .../Tasks/RBuild/DirectoryTask.cs | 59 - .../Tasks/RBuild/FamilyTask.cs | 28 - .../Tasks/RBuild/FileTask.cs | 50 - .../Tasks/RBuild/GroupTask.cs | 13 - .../Tasks/RBuild/ImportLibraryTask.cs | 50 - .../Tasks/RBuild/IncludeTask.cs | 42 - .../Tasks/RBuild/InstalFolder.cs | 31 - .../Tasks/RBuild/InstallComponent.cs | 39 - .../Tasks/RBuild/InstallFileTask.cs | 31 - .../Tasks/RBuild/InstallWallPaperFileTask.cs | 16 - .../Tasks/RBuild/LanguageTask.cs | 24 - .../Tasks/RBuild/LibraryTask.cs | 51 - .../Tasks/RBuild/LinkerFlagTask.cs | 14 - .../Tasks/RBuild/LinkerScriptTask.cs | 36 - .../Tasks/RBuild/LocalizationTask.cs | 41 - .../Tasks/RBuild/MantainterTask.cs | 16 - .../Tasks/RBuild/MetadataTask.cs | 27 - .../Tasks/RBuild/ModuleStateTask.cs | 34 - .../Tasks/RBuild/ModuleTask.cs | 589 -- .../Tasks/RBuild/Modules/BuildTool.cs | 17 - .../Tasks/RBuild/Modules/Cabinet.cs | 17 - .../Tasks/RBuild/Modules/Kernel.cs | 17 - .../Tasks/RBuild/Modules/KernelModeDLL.cs | 17 - .../Tasks/RBuild/Modules/KernelModeDriver.cs | 17 - .../Tasks/RBuild/Modules/NativeCUI.cs | 17 - .../Tasks/RBuild/Modules/NativeDLL.cs | 17 - .../Tasks/RBuild/Modules/ObjectLibrary.cs | 17 - .../Tasks/RBuild/Modules/Package.cs | 17 - .../Tasks/RBuild/Modules/StaticLibrary.cs | 17 - .../Tasks/RBuild/Modules/Win32CUI.cs | 17 - .../Tasks/RBuild/Modules/Win32Dll.cs | 17 - .../Tasks/RBuild/Modules/Win32GUI.cs | 17 - .../Tasks/RBuild/Modules/Win32OCX.cs | 17 - .../Tasks/RBuild/Modules/Win32SCR.cs | 17 - .../Tasks/RBuild/OverrideModuleTask.cs | 52 - .../Tasks/RBuild/PCHTask.cs | 43 - .../RBuild/Platform/PlatformAutorunTask.cs | 21 - .../Platform/PlatformDebugChannelTask.cs | 66 - .../Platform/PlatformDescriptionTask.cs | 16 - .../RBuild/Platform/PlatformLanguageTask.cs | 25 - .../RBuild/Platform/PlatformModuleTask.cs | 25 - .../Tasks/RBuild/Platform/PlatformNameTask.cs | 16 - .../Platform/PlatformScreenSaverTask.cs | 28 - .../RBuild/Platform/PlatformShellTask.cs | 29 - .../RBuild/Platform/PlatformWallpaperTask.cs | 37 - .../Tasks/RBuild/ProjectTask.cs | 70 - .../Tasks/RBuild/PropertyTask.cs | 24 - .../Tasks/RBuild/RBuildTask.cs | 10 - .../Tasks/RBuild/ReDefineTask.cs | 16 - .../Tasks/RBuild/RequiresTask.cs | 27 - .../Tasks/RBuild/SetupTask.cs | 45 - .../Tasks/RBuild/TargetTask.cs | 18 - .../Tasks/RBuild/WallPaperTask.cs | 26 - reactos/tools/sysgen/SysGen.Make/Program.cs | 42 - .../SysGen.Make/Properties/AssemblyInfo.cs | 33 - .../sysgen/SysGen.Make/SysGen.Make.csproj | 58 - .../SysGen.Make/SysGen.Make.csproj.user | 6 - .../tools/sysgen/SysGen.Make/SysGen.Make.sln | 20 - .../tools/sysgen/SysGen.Make/SysGen.Make.suo | Bin 182272 -> 0 bytes .../sysgen/SysGen.Make/SysGen.Make/Program.cs | 13 - .../SysGen.Make/Properties/AssemblyInfo.cs | 33 - .../SysGen.Make/SysGen.Make.csproj | 47 - .../Collections/CommandCollection.cs | 10 - .../Commands/Base/Command.cs | 16 - .../Commands/WhoIsCommand.cs | 11 - .../Properties/AssemblyInfo.cs | 33 - .../SysGen.RBuild.IRCBot.csproj | 64 - .../tools/sysgen/SysGen.RBuild.IRCBot/cIRC.cs | 72 - reactos/tools/sysgen/SysGen.sln | 66 - .../sysgen/TriStateTreeView/AssemblyInfo.cs | 55 - .../sysgen/TriStateTreeView/LICENSING.txt | 41 - .../TriStateTreeView/License_CPLv05.txt | 86 - .../sysgen/TriStateTreeView/License_GPLv2.txt | 342 - .../TriStateTreeView/License_LGPLv21.txt | 506 -- .../tools/sysgen/TriStateTreeView/SysGen.sln | 75 - .../tools/sysgen/TriStateTreeView/SysGen.suo | Bin 207872 -> 0 bytes .../TriStateTreeView/TriStateTreeView.cs | 458 -- .../TriStateTreeView/TriStateTreeView.csproj | 116 - .../TriStateTreeView/TriStateTreeView.resx | 166 - .../TriStateTreeViewDemo/App.ico | Bin 1078 -> 0 bytes .../TriStateTreeViewDemo/Backup/App.ico | Bin 1078 -> 0 bytes .../TriStateTreeViewDemo/Backup/Form1.cs | 117 - .../TriStateTreeViewDemo/Backup/Form1.resx | 139 - .../Backup/TriStateTreeViewDemo.csproj | 119 - .../Backup1/AssemblyInfo.cs | 55 - .../Backup1/TriStateTreeView.cs | 458 -- .../Backup1/TriStateTreeView.csproj | 120 - .../Backup1/TriStateTreeView.resx | 166 - .../Controls/FileSystemTriStateTreeView.cs | 158 - .../TriStateTreeViewDemo/Form1.cs | 213 - .../TriStateTreeViewDemo/Form1.resx | 120 - .../TriStateTreeViewDemo/RBuildModule.cs | 61 - .../TriStateTreeViewDemo/RCWriter.cs | 50 - .../TriStateTreeViewDemo.csproj | 124 - .../TriStateTreeViewDemo.csproj.user | 5 - .../TriStateTreeViewDemo.suo | Bin 2560 -> 0 bytes .../TriStateTreeViewDemo/UpgradeLog.XML | 14 - .../TriStateTreeViewDemo/UpgradeLog2.XML | 14 - .../_UpgradeReport_Files/UpgradeReport.css | 207 - .../_UpgradeReport_Files/UpgradeReport.xslt | 232 - .../UpgradeReport_Minus.gif | Bin 69 -> 0 bytes .../UpgradeReport_Plus.gif | Bin 71 -> 0 bytes .../TriStateTreeViewTests/NUnit/.gitignore | 0 .../TriStateTreeViewTests.cs | 258 - .../TriStateTreeViewTests.csproj | 110 - reactos/tools/sysgen/style.css | 105 - reactos/tools/tools.mak | 54 - reactos/tools/tools.rbuild | 52 - reactos/tools/unicode/unicode.rbuild | 74 - reactos/tools/utf16le/utf16le.rbuild | 5 - reactos/tools/widl/widl.rbuild | 25 - reactos/tools/winebuild/Makefile.in | 39 - reactos/tools/winebuild/build.h | 329 - reactos/tools/winebuild/import.c | 1306 ---- reactos/tools/winebuild/main.c | 685 -- reactos/tools/winebuild/mkstemps.c | 139 - reactos/tools/winebuild/parser.c | 1048 --- reactos/tools/winebuild/relay.c | 1182 ---- reactos/tools/winebuild/res16.c | 334 - reactos/tools/winebuild/res32.c | 666 -- reactos/tools/winebuild/ros_diff.patch | 388 - reactos/tools/winebuild/spec16.c | 1047 --- reactos/tools/winebuild/spec32.c | 989 --- reactos/tools/winebuild/utils.c | 995 --- reactos/tools/winebuild/winebuild.man.in | 491 -- reactos/tools/winebuild/winebuild.rbuild | 14 - reactos/tools/wmc/CHANGES | 5 - reactos/tools/wmc/CMakeLists.txt | 12 - reactos/tools/wmc/lang.c | 205 - reactos/tools/wmc/lang.h | 39 - reactos/tools/wmc/mcl.c | 747 -- reactos/tools/wmc/mcy.tab.c | 2435 ------- reactos/tools/wmc/mcy.tab.h | 97 - reactos/tools/wmc/mcy.y | 680 -- reactos/tools/wmc/utils.c | 259 - reactos/tools/wmc/utils.h | 52 - reactos/tools/wmc/wmc.c | 305 - reactos/tools/wmc/wmc.h | 75 - reactos/tools/wmc/wmc.rbuild | 11 - reactos/tools/wmc/wmctypes.h | 122 - reactos/tools/wmc/write.c | 617 -- reactos/tools/wmc/write.h | 27 - reactos/tools/wpp/wpp.rbuild | 8 - reactos/tools/wrc/CHANGES | 336 - reactos/tools/wrc/CMakeLists.txt | 18 - reactos/tools/wrc/dumpres.c | 924 --- reactos/tools/wrc/dumpres.h | 30 - reactos/tools/wrc/genres.c | 1888 ----- reactos/tools/wrc/genres.h | 36 - reactos/tools/wrc/lex.yy.c | 2970 -------- reactos/tools/wrc/newstruc.c | 1272 ---- reactos/tools/wrc/newstruc.h | 73 - reactos/tools/wrc/parser.h | 39 - reactos/tools/wrc/parser.l | 679 -- reactos/tools/wrc/parser.tab.c | 6275 ----------------- reactos/tools/wrc/parser.tab.h | 187 - reactos/tools/wrc/parser.y | 2961 -------- reactos/tools/wrc/po.c | 1016 --- reactos/tools/wrc/port/mkstemps.c | 139 - reactos/tools/wrc/readres.c | 391 - reactos/tools/wrc/readres.h | 28 - reactos/tools/wrc/translation.c | 1041 --- reactos/tools/wrc/utils.c | 556 -- reactos/tools/wrc/utils.h | 53 - reactos/tools/wrc/wrc.c | 597 -- reactos/tools/wrc/wrc.doc | 174 - reactos/tools/wrc/wrc.h | 76 - reactos/tools/wrc/wrc.rbuild | 20 - reactos/tools/wrc/wrcrostypes.h | 147 - reactos/tools/wrc/wrctypes.h | 619 -- reactos/tools/wrc/writeres.c | 105 - 1401 files changed, 3 insertions(+), 128554 deletions(-) delete mode 100644 reactos/Makefile delete mode 100644 reactos/ReactOS-amd64.rbuild delete mode 100644 reactos/ReactOS-arm.rbuild delete mode 100644 reactos/ReactOS-generic.rbuild delete mode 100644 reactos/ReactOS-i386.rbuild delete mode 100644 reactos/ReactOS-ppc.rbuild delete mode 100644 reactos/base/applications/applications.rbuild delete mode 100644 reactos/base/applications/cacls/cacls.rbuild delete mode 100644 reactos/base/applications/calc/calc.rbuild delete mode 100644 reactos/base/applications/charmap/charmap.rbuild delete mode 100644 reactos/base/applications/cmdutils/cmdutils.rbuild delete mode 100644 reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild delete mode 100644 reactos/base/applications/cmdutils/doskey/doskey.rbuild delete mode 100644 reactos/base/applications/cmdutils/find/find.rbuild delete mode 100644 reactos/base/applications/cmdutils/hostname/hostname.rbuild delete mode 100644 reactos/base/applications/cmdutils/lodctr/lodctr.rbuild delete mode 100644 reactos/base/applications/cmdutils/more/more.rbuild delete mode 100644 reactos/base/applications/cmdutils/reg/reg.rbuild delete mode 100644 reactos/base/applications/cmdutils/xcopy/xcopy.rbuild delete mode 100644 reactos/base/applications/control/control.rbuild delete mode 100644 reactos/base/applications/dxdiag/dxdiag.rbuild delete mode 100644 reactos/base/applications/extrac32/extrac32.rbuild delete mode 100644 reactos/base/applications/findstr/findstr.rbuild delete mode 100644 reactos/base/applications/fontview/fontview.rbuild delete mode 100644 reactos/base/applications/games/games.rbuild delete mode 100644 reactos/base/applications/games/solitaire/solitaire.rbuild delete mode 100644 reactos/base/applications/games/spider/spider.rbuild delete mode 100644 reactos/base/applications/games/winmine/winmine.rbuild delete mode 100644 reactos/base/applications/hh/hh.rbuild delete mode 100644 reactos/base/applications/iexplore/iexplore.rbuild delete mode 100644 reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild delete mode 100644 reactos/base/applications/kbswitch/kbswitch.rbuild delete mode 100644 reactos/base/applications/logoff/logoff.rbuild delete mode 100644 reactos/base/applications/magnify/magnify.rbuild delete mode 100644 reactos/base/applications/mmc/mmc.rbuild delete mode 100644 reactos/base/applications/mplay32/mplay32.rbuild delete mode 100644 reactos/base/applications/msconfig/msconfig.rbuild delete mode 100644 reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild delete mode 100644 reactos/base/applications/mscutils/directory.rbuild delete mode 100644 reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild delete mode 100644 reactos/base/applications/mscutils/servman/servman.rbuild delete mode 100644 reactos/base/applications/mspaint/mspaint.rbuild delete mode 100644 reactos/base/applications/mstsc/mstsc.rbuild delete mode 100644 reactos/base/applications/network/arp/arp.rbuild delete mode 100644 reactos/base/applications/network/dwnl/dwnl.rbuild delete mode 100644 reactos/base/applications/network/finger/finger.rbuild delete mode 100644 reactos/base/applications/network/ftp/ftp.rbuild delete mode 100644 reactos/base/applications/network/ipconfig/ipconfig.rbuild delete mode 100644 reactos/base/applications/network/net/net.rbuild delete mode 100644 reactos/base/applications/network/netstat/netstat.rbuild delete mode 100644 reactos/base/applications/network/network.rbuild delete mode 100644 reactos/base/applications/network/nslookup/nslookup.rbuild delete mode 100644 reactos/base/applications/network/ping/ping.rbuild delete mode 100644 reactos/base/applications/network/route/route.rbuild delete mode 100644 reactos/base/applications/network/telnet/telnet.rbuild delete mode 100644 reactos/base/applications/network/tracert/tracert.rbuild delete mode 100644 reactos/base/applications/network/whois/whois.rbuild delete mode 100644 reactos/base/applications/network/wlanconf/wlanconf.rbuild delete mode 100644 reactos/base/applications/notepad/notepad.rbuild delete mode 100644 reactos/base/applications/rapps/rapps.rbuild delete mode 100644 reactos/base/applications/regedit/clb/clb.rbuild delete mode 100644 reactos/base/applications/regedit/regedit.rbuild delete mode 100644 reactos/base/applications/regedt32/regedt32.rbuild delete mode 100644 reactos/base/applications/sc/sc.rbuild delete mode 100644 reactos/base/applications/screensavers/3dtext/3dtext.rbuild delete mode 100644 reactos/base/applications/screensavers/logon/logon.rbuild delete mode 100644 reactos/base/applications/screensavers/screensavers.rbuild delete mode 100644 reactos/base/applications/shutdown/shutdown.rbuild delete mode 100644 reactos/base/applications/sndrec32/sndrec32.rbuild delete mode 100644 reactos/base/applications/sndvol32/sndvol32.rbuild delete mode 100644 reactos/base/applications/taskmgr/taskmgr.rbuild delete mode 100644 reactos/base/applications/winhlp32/winhlp32.rbuild delete mode 100644 reactos/base/applications/winver/winver.rbuild delete mode 100644 reactos/base/applications/wordpad/wordpad.rbuild delete mode 100644 reactos/base/applications/write/write.rbuild delete mode 100644 reactos/base/base.rbuild delete mode 100644 reactos/base/services/audiosrv/audiosrv.rbuild delete mode 100644 reactos/base/services/eventlog/eventlog.rbuild delete mode 100644 reactos/base/services/rpcss/rpcss.rbuild delete mode 100644 reactos/base/services/services.rbuild delete mode 100644 reactos/base/services/spoolsv/spoolsv.rbuild delete mode 100644 reactos/base/services/svchost/svchost.rbuild delete mode 100644 reactos/base/services/tcpsvcs/tcpsvcs.rbuild delete mode 100644 reactos/base/services/telnetd/telnetd.rbuild delete mode 100644 reactos/base/services/tftpd/tftpd.rbuild delete mode 100644 reactos/base/services/thmsvc/thmsvc.rbuild delete mode 100644 reactos/base/services/umpnpmgr/umpnpmgr.rbuild delete mode 100644 reactos/base/services/wlansvc/wlansvc.rbuild delete mode 100644 reactos/base/setup/reactos/reactos.rbuild delete mode 100644 reactos/base/setup/setup.rbuild delete mode 100644 reactos/base/setup/setup/setup.rbuild delete mode 100644 reactos/base/setup/usetup/usetup.rbuild delete mode 100644 reactos/base/setup/vmwinst/vmwinst.rbuild delete mode 100644 reactos/base/setup/welcome/welcome.rbuild delete mode 100644 reactos/base/shell/cmd/cmd.rbuild delete mode 100644 reactos/base/shell/explorer-new/explorer.rbuild delete mode 100644 reactos/base/shell/explorer/explorer.rbuild delete mode 100644 reactos/base/shell/explorer/notifyhook/notifyhook.rbuild delete mode 100644 reactos/base/shell/shell.rbuild delete mode 100644 reactos/base/system/autochk/autochk.rbuild delete mode 100644 reactos/base/system/bootok/bootok.rbuild delete mode 100644 reactos/base/system/diskpart/diskpart.rbuild delete mode 100644 reactos/base/system/expand/expand.rbuild delete mode 100644 reactos/base/system/format/format.rbuild delete mode 100644 reactos/base/system/logonui/logonui.rbuild delete mode 100644 reactos/base/system/lsass/lsass.rbuild delete mode 100644 reactos/base/system/msiexec/msiexec.rbuild delete mode 100644 reactos/base/system/regsvr32/regsvr32.rbuild delete mode 100644 reactos/base/system/rundll32/rundll32.rbuild delete mode 100644 reactos/base/system/runonce/runonce.rbuild delete mode 100644 reactos/base/system/services/services.rbuild delete mode 100644 reactos/base/system/smss2/smss2.rbuild delete mode 100644 reactos/base/system/subst/subst.rbuild delete mode 100644 reactos/base/system/system.rbuild delete mode 100644 reactos/base/system/userinit/userinit.rbuild delete mode 100644 reactos/base/system/winlogon/winlogon.rbuild delete mode 100644 reactos/baseaddress.rbuild delete mode 100644 reactos/boot/armllb/armllb.rbuild delete mode 100644 reactos/boot/boot.rbuild delete mode 100644 reactos/boot/bootdata/bootcd/bootcd.rbuild delete mode 100644 reactos/boot/bootdata/bootcdregtest/bootcdregtest.rbuild delete mode 100644 reactos/boot/bootdata/bootdata.rbuild delete mode 100644 reactos/boot/bootdata/livecd/livecd.rbuild delete mode 100644 reactos/boot/bootdata/livecdregtest/livecdregtest.rbuild delete mode 100644 reactos/boot/freeldr/bootsect/bootsect.rbuild delete mode 100644 reactos/boot/freeldr/fdebug/fdebug.rbuild delete mode 100644 reactos/boot/freeldr/freeldr.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/freeldr.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/freeldr_arch.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/freeldr_base.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/freeldr_base64k.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/freeldr_main.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/freeldr_startup.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/setupldr.rbuild delete mode 100644 reactos/boot/freeldr/freeldr/setupldr_main.rbuild delete mode 100644 reactos/boot/freeldr/install/installfreeldr.rbuild delete mode 100644 reactos/config-amd64.template.rbuild delete mode 100644 reactos/config-arm.template.rbuild delete mode 100644 reactos/config-ppc.template.rbuild delete mode 100644 reactos/config.template.rbuild delete mode 100644 reactos/dll/3rdparty/3rdparty.rbuild delete mode 100644 reactos/dll/3rdparty/dxtn/dxtn.rbuild delete mode 100644 reactos/dll/3rdparty/libjpeg/libjpeg.rbuild delete mode 100644 reactos/dll/3rdparty/libpng/libpng.rbuild delete mode 100644 reactos/dll/3rdparty/libtiff/libtiff.rbuild delete mode 100644 reactos/dll/3rdparty/libxslt/libxslt.rbuild delete mode 100644 reactos/dll/3rdparty/mesa32/mesa32.rbuild delete mode 100644 reactos/dll/cpl/access/access.rbuild delete mode 100644 reactos/dll/cpl/appwiz/appwiz.rbuild delete mode 100644 reactos/dll/cpl/console/console.rbuild delete mode 100644 reactos/dll/cpl/cpl.rbuild delete mode 100644 reactos/dll/cpl/desk/desk.rbuild delete mode 100644 reactos/dll/cpl/hdwwiz/hdwwiz.rbuild delete mode 100644 reactos/dll/cpl/inetcpl/inetcpl.rbuild delete mode 100644 reactos/dll/cpl/input/input.rbuild delete mode 100644 reactos/dll/cpl/intl/intl.rbuild delete mode 100644 reactos/dll/cpl/joy/joy.rbuild delete mode 100644 reactos/dll/cpl/liccpa/liccpa.rbuild delete mode 100644 reactos/dll/cpl/main/main.rbuild delete mode 100644 reactos/dll/cpl/mmsys/mmsys.rbuild delete mode 100644 reactos/dll/cpl/ncpa/ncpa.rbuild delete mode 100644 reactos/dll/cpl/odbccp32/odbccp32.rbuild delete mode 100644 reactos/dll/cpl/powercfg/powercfg.rbuild delete mode 100644 reactos/dll/cpl/sysdm/sysdm.rbuild delete mode 100644 reactos/dll/cpl/telephon/telephon.rbuild delete mode 100644 reactos/dll/cpl/timedate/timedate.rbuild delete mode 100644 reactos/dll/cpl/usrmgr/usrmgr.rbuild delete mode 100644 reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild delete mode 100644 reactos/dll/directx/amstream/amstream.rbuild delete mode 100644 reactos/dll/directx/bdaplgin/bdaplgin.rbuild delete mode 100644 reactos/dll/directx/d3d8/d3d8.rbuild delete mode 100644 reactos/dll/directx/d3d8thk/d3d8thk.rbuild delete mode 100644 reactos/dll/directx/d3d9/d3d9.rbuild delete mode 100644 reactos/dll/directx/ddraw/ddraw.rbuild delete mode 100644 reactos/dll/directx/devenum/devenum.rbuild delete mode 100644 reactos/dll/directx/dinput/dinput.rbuild delete mode 100644 reactos/dll/directx/dinput8/dinput8.rbuild delete mode 100644 reactos/dll/directx/directx.rbuild delete mode 100644 reactos/dll/directx/dmusic/dmusic.rbuild delete mode 100644 reactos/dll/directx/dplay/dplay.rbuild delete mode 100644 reactos/dll/directx/dplayx/dplayx.rbuild delete mode 100644 reactos/dll/directx/dsound/dsound.rbuild delete mode 100644 reactos/dll/directx/dsound_new/dsound_new.rbuild delete mode 100644 reactos/dll/directx/dxdiagn/dxdiagn.rbuild delete mode 100644 reactos/dll/directx/ksproxy/ksproxy.rbuild delete mode 100644 reactos/dll/directx/ksuser/ksuser.rbuild delete mode 100644 reactos/dll/directx/msdmo/msdmo.rbuild delete mode 100644 reactos/dll/directx/msdvbnp/msdvbnp.rbuild delete mode 100644 reactos/dll/directx/msvidctl/msvidctl.rbuild delete mode 100644 reactos/dll/directx/qedit/qedit.rbuild delete mode 100644 reactos/dll/directx/quartz/quartz.rbuild delete mode 100644 reactos/dll/directx/wine/d3d8/d3d8.rbuild delete mode 100644 reactos/dll/directx/wine/d3d9/d3d9.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_24/d3dx9_24.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_25/d3dx9_25.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_26/d3dx9_26.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_27/d3dx9_27.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_28/d3dx9_28.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_29/d3dx9_29.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_30/d3dx9_30.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_31/d3dx9_31.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_32/d3dx9_32.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_33/d3dx9_33.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_34/d3dx9_34.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_35/d3dx9_35.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_36/d3dx9_36.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_37/d3dx9_37.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_38/d3dx9_38.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_39/d3dx9_39.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_40/d3dx9_40.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_41/d3dx9_41.rbuild delete mode 100644 reactos/dll/directx/wine/d3dx9_42/d3dx9_42.rbuild delete mode 100644 reactos/dll/directx/wine/ddraw/ddraw.rbuild delete mode 100644 reactos/dll/directx/wine/wine.rbuild delete mode 100644 reactos/dll/directx/wine/wined3d/wined3d.rbuild delete mode 100644 reactos/dll/dll.rbuild delete mode 100644 reactos/dll/keyboard/kbda1/kbda1.rbuild delete mode 100644 reactos/dll/keyboard/kbda2/kbda2.rbuild delete mode 100644 reactos/dll/keyboard/kbda3/kbda3.rbuild delete mode 100644 reactos/dll/keyboard/kbdal/kbdal.rbuild delete mode 100644 reactos/dll/keyboard/kbdarme/kbdarme.rbuild delete mode 100644 reactos/dll/keyboard/kbdarmw/kbdarmw.rbuild delete mode 100644 reactos/dll/keyboard/kbdaze/kbdaze.rbuild delete mode 100644 reactos/dll/keyboard/kbdazel/kbdazel.rbuild delete mode 100644 reactos/dll/keyboard/kbdbe/kbdbe.rbuild delete mode 100644 reactos/dll/keyboard/kbdbga/kbdbga.rbuild delete mode 100644 reactos/dll/keyboard/kbdbgm/kbdbgm.rbuild delete mode 100644 reactos/dll/keyboard/kbdbgt/kbdbgt.rbuild delete mode 100644 reactos/dll/keyboard/kbdblr/kbdblr.rbuild delete mode 100644 reactos/dll/keyboard/kbdbr/kbdbr.rbuild delete mode 100644 reactos/dll/keyboard/kbdbur/kbdbur.rbuild delete mode 100644 reactos/dll/keyboard/kbdcan/kbdcan.rbuild delete mode 100644 reactos/dll/keyboard/kbdcr/kbdcr.rbuild delete mode 100644 reactos/dll/keyboard/kbdcz/kbdcz.rbuild delete mode 100644 reactos/dll/keyboard/kbdcz1/kbdcz1.rbuild delete mode 100644 reactos/dll/keyboard/kbdda/kbdda.rbuild delete mode 100644 reactos/dll/keyboard/kbddv/kbddv.rbuild delete mode 100644 reactos/dll/keyboard/kbdes/kbdes.rbuild delete mode 100644 reactos/dll/keyboard/kbdest/kbdest.rbuild delete mode 100644 reactos/dll/keyboard/kbdfc/kbdfc.rbuild delete mode 100644 reactos/dll/keyboard/kbdfi/kbdfi.rbuild delete mode 100644 reactos/dll/keyboard/kbdfr/kbdfr.rbuild delete mode 100644 reactos/dll/keyboard/kbdgeo/kbdgeo.rbuild delete mode 100644 reactos/dll/keyboard/kbdgerg/kbdgerg.rbuild delete mode 100644 reactos/dll/keyboard/kbdgneo/kbdgneo.rbuild delete mode 100644 reactos/dll/keyboard/kbdgr/kbdgr.rbuild delete mode 100644 reactos/dll/keyboard/kbdgrist/kbdgrist.rbuild delete mode 100644 reactos/dll/keyboard/kbdhe/kbdhe.rbuild delete mode 100644 reactos/dll/keyboard/kbdheb/kbdheb.rbuild delete mode 100644 reactos/dll/keyboard/kbdhu/kbdhu.rbuild delete mode 100644 reactos/dll/keyboard/kbdic/kbdic.rbuild delete mode 100644 reactos/dll/keyboard/kbdinasa/kbdinasa.rbuild delete mode 100644 reactos/dll/keyboard/kbdinben/kbdinben.rbuild delete mode 100644 reactos/dll/keyboard/kbdindev/kbdindev.rbuild delete mode 100644 reactos/dll/keyboard/kbdinguj/kbdinguj.rbuild delete mode 100644 reactos/dll/keyboard/kbdinmal/kbdinmal.rbuild delete mode 100644 reactos/dll/keyboard/kbdir/kbdir.rbuild delete mode 100644 reactos/dll/keyboard/kbdit/kbdit.rbuild delete mode 100644 reactos/dll/keyboard/kbdja/kbdja.rbuild delete mode 100644 reactos/dll/keyboard/kbdkaz/kbdkaz.rbuild delete mode 100644 reactos/dll/keyboard/kbdko/kbdko.rbuild delete mode 100644 reactos/dll/keyboard/kbdla/kbdla.rbuild delete mode 100644 reactos/dll/keyboard/kbdlt1/kbdlt1.rbuild delete mode 100644 reactos/dll/keyboard/kbdlv/kbdlv.rbuild delete mode 100644 reactos/dll/keyboard/kbdmac/kbdmac.rbuild delete mode 100644 reactos/dll/keyboard/kbdne/kbdne.rbuild delete mode 100644 reactos/dll/keyboard/kbdno/kbdno.rbuild delete mode 100644 reactos/dll/keyboard/kbdpl/kbdpl.rbuild delete mode 100644 reactos/dll/keyboard/kbdpl1/kbdpl1.rbuild delete mode 100644 reactos/dll/keyboard/kbdpo/kbdpo.rbuild delete mode 100644 reactos/dll/keyboard/kbdro/kbdro.rbuild delete mode 100644 reactos/dll/keyboard/kbdru/kbdru.rbuild delete mode 100644 reactos/dll/keyboard/kbdru1/kbdru1.rbuild delete mode 100644 reactos/dll/keyboard/kbdsg/kbdsg.rbuild delete mode 100644 reactos/dll/keyboard/kbdsk/kbdsk.rbuild delete mode 100644 reactos/dll/keyboard/kbdsk1/kbdsk1.rbuild delete mode 100644 reactos/dll/keyboard/kbdsw/kbdsw.rbuild delete mode 100644 reactos/dll/keyboard/kbdtat/kbdtat.rbuild delete mode 100644 reactos/dll/keyboard/kbdth0/kbdth0.rbuild delete mode 100644 reactos/dll/keyboard/kbdth1/kbdth1.rbuild delete mode 100644 reactos/dll/keyboard/kbdth2/kbdth2.rbuild delete mode 100644 reactos/dll/keyboard/kbdth3/kbdth3.rbuild delete mode 100644 reactos/dll/keyboard/kbdtuf/kbdtuf.rbuild delete mode 100644 reactos/dll/keyboard/kbdtuq/kbdtuq.rbuild delete mode 100644 reactos/dll/keyboard/kbduk/kbduk.rbuild delete mode 100644 reactos/dll/keyboard/kbdur/kbdur.rbuild delete mode 100644 reactos/dll/keyboard/kbdurs/kbdurs.rbuild delete mode 100644 reactos/dll/keyboard/kbdus/kbdus.rbuild delete mode 100644 reactos/dll/keyboard/kbdusa/kbdusa.rbuild delete mode 100644 reactos/dll/keyboard/kbdusl/kbdusl.rbuild delete mode 100644 reactos/dll/keyboard/kbdusr/kbdusr.rbuild delete mode 100644 reactos/dll/keyboard/kbdusx/kbdusx.rbuild delete mode 100644 reactos/dll/keyboard/kbduzb/kbduzb.rbuild delete mode 100644 reactos/dll/keyboard/kbdvntc/kbdvntc.rbuild delete mode 100644 reactos/dll/keyboard/kbdycc/kbdycc.rbuild delete mode 100644 reactos/dll/keyboard/kbdycl/kbdycl.rbuild delete mode 100644 reactos/dll/keyboard/keyboard.rbuild delete mode 100644 reactos/dll/nls/idndl/idndl.rbuild delete mode 100644 reactos/dll/nls/nls.rbuild delete mode 100644 reactos/dll/nls/normaliz/normaliz.rbuild delete mode 100644 reactos/dll/ntdll/def/ntdll.pspec delete mode 100644 reactos/dll/ntdll/ntdll.rbuild delete mode 100644 reactos/dll/shellext/deskadp/deskadp.rbuild delete mode 100644 reactos/dll/shellext/deskmon/deskmon.rbuild delete mode 100644 reactos/dll/shellext/devcpux/devcpux.rbuild delete mode 100644 reactos/dll/shellext/fontext/fontext.rbuild delete mode 100644 reactos/dll/shellext/shellext.rbuild delete mode 100644 reactos/dll/shellext/slayer/slayer.rbuild delete mode 100644 reactos/dll/win32/acledit/acledit.rbuild delete mode 100644 reactos/dll/win32/aclui/aclui.rbuild delete mode 100644 reactos/dll/win32/activeds/activeds.rbuild delete mode 100644 reactos/dll/win32/actxprxy/actxprxy.rbuild delete mode 100644 reactos/dll/win32/advapi32/advapi32.rbuild delete mode 100644 reactos/dll/win32/advpack/advpack.rbuild delete mode 100644 reactos/dll/win32/atl/atl.rbuild delete mode 100644 reactos/dll/win32/authz/authz.rbuild delete mode 100644 reactos/dll/win32/avicap32/avicap32.rbuild delete mode 100644 reactos/dll/win32/avifil32/avifil32.rbuild delete mode 100644 reactos/dll/win32/batt/batt.rbuild delete mode 100644 reactos/dll/win32/bcrypt/bcrypt.rbuild delete mode 100644 reactos/dll/win32/beepmidi/beepmidi.rbuild delete mode 100644 reactos/dll/win32/browseui/browseui.rbuild delete mode 100644 reactos/dll/win32/cabinet/cabinet.rbuild delete mode 100644 reactos/dll/win32/cards/cards.rbuild delete mode 100644 reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild delete mode 100644 reactos/dll/win32/clusapi/clusapi.rbuild delete mode 100644 reactos/dll/win32/comcat/comcat.rbuild delete mode 100644 reactos/dll/win32/comctl32/comctl32.rbuild delete mode 100644 reactos/dll/win32/comdlg32/comdlg32.rbuild delete mode 100644 reactos/dll/win32/compstui/compstui.rbuild delete mode 100644 reactos/dll/win32/credui/credui.rbuild delete mode 100644 reactos/dll/win32/crtdll/crtdll.rbuild delete mode 100644 reactos/dll/win32/crypt32/crypt32.rbuild delete mode 100644 reactos/dll/win32/cryptdlg/cryptdlg.rbuild delete mode 100644 reactos/dll/win32/cryptdll/cryptdll.rbuild delete mode 100644 reactos/dll/win32/cryptnet/cryptnet.rbuild delete mode 100644 reactos/dll/win32/cryptui/cryptui.rbuild delete mode 100644 reactos/dll/win32/dbghelp/dbghelp.rbuild delete mode 100644 reactos/dll/win32/dciman32/dciman32.rbuild delete mode 100644 reactos/dll/win32/devmgr/devmgr.rbuild delete mode 100644 reactos/dll/win32/dhcpcsvc/dhcpcsvc.rbuild delete mode 100644 reactos/dll/win32/dnsapi/dnsapi.rbuild delete mode 100644 reactos/dll/win32/dwmapi/dwmapi.rbuild delete mode 100644 reactos/dll/win32/faultrep/faultrep.rbuild delete mode 100644 reactos/dll/win32/fmifs/fmifs.rbuild delete mode 100644 reactos/dll/win32/fusion/fusion.rbuild delete mode 100644 reactos/dll/win32/gdi32/gdi32.rbuild delete mode 100644 reactos/dll/win32/gdiplus/gdiplus.rbuild delete mode 100644 reactos/dll/win32/getuname/getuname.rbuild delete mode 100644 reactos/dll/win32/glu32/glu32.rbuild delete mode 100644 reactos/dll/win32/hhctrl.ocx/hhctrl.ocx.rbuild delete mode 100644 reactos/dll/win32/hid/hid.rbuild delete mode 100644 reactos/dll/win32/hlink/hlink.rbuild delete mode 100644 reactos/dll/win32/hnetcfg/hnetcfg.rbuild delete mode 100644 reactos/dll/win32/httpapi/httpapi.rbuild delete mode 100644 reactos/dll/win32/iccvid/iccvid.rbuild delete mode 100644 reactos/dll/win32/icmp/icmp.rbuild delete mode 100644 reactos/dll/win32/imaadp32.acm/imaadp32.acm.rbuild delete mode 100644 reactos/dll/win32/imagehlp/imagehlp.rbuild delete mode 100644 reactos/dll/win32/imm32/imm32.rbuild delete mode 100644 reactos/dll/win32/inetcomm/inetcomm.rbuild delete mode 100644 reactos/dll/win32/inetmib1/inetmib1.rbuild delete mode 100644 reactos/dll/win32/initpki/initpki.rbuild delete mode 100644 reactos/dll/win32/inseng/inseng.rbuild delete mode 100644 reactos/dll/win32/iologmsg/iologmsg.rbuild delete mode 100644 reactos/dll/win32/iphlpapi/iphlpapi.rbuild delete mode 100644 reactos/dll/win32/itircl/itircl.rbuild delete mode 100644 reactos/dll/win32/itss/itss.rbuild delete mode 100644 reactos/dll/win32/jscript/jscript.rbuild delete mode 100644 reactos/dll/win32/kernel32/kernel32.pspec delete mode 100644 reactos/dll/win32/kernel32/kernel32.rbuild delete mode 100644 reactos/dll/win32/loadperf/loadperf.rbuild delete mode 100644 reactos/dll/win32/localspl/localspl.rbuild delete mode 100644 reactos/dll/win32/localui/localui.rbuild delete mode 100644 reactos/dll/win32/lpk/lpk.rbuild delete mode 100644 reactos/dll/win32/lsasrv/lsasrv.rbuild delete mode 100644 reactos/dll/win32/lz32/lz32.rbuild delete mode 100644 reactos/dll/win32/mapi32/mapi32.rbuild delete mode 100644 reactos/dll/win32/mciavi32/mciavi32.rbuild delete mode 100644 reactos/dll/win32/mcicda/mcicda.rbuild delete mode 100644 reactos/dll/win32/mciqtz32/mciqtz32.rbuild delete mode 100644 reactos/dll/win32/mciseq/mciseq.rbuild delete mode 100644 reactos/dll/win32/mciwave/mciwave.rbuild delete mode 100644 reactos/dll/win32/mlang/mlang.rbuild delete mode 100644 reactos/dll/win32/mmdrv/mmdrv.rbuild delete mode 100644 reactos/dll/win32/modemui/modemui.rbuild delete mode 100644 reactos/dll/win32/mpr/mpr.rbuild delete mode 100644 reactos/dll/win32/mprapi/mprapi.rbuild delete mode 100644 reactos/dll/win32/msacm32/msacm32.drv/msacm32.drv.rbuild delete mode 100644 reactos/dll/win32/msacm32/msacm32.rbuild delete mode 100644 reactos/dll/win32/msadp32.acm/msadp32.acm.rbuild delete mode 100644 reactos/dll/win32/msafd/msafd.rbuild delete mode 100644 reactos/dll/win32/mscat32/mscat32.rbuild delete mode 100644 reactos/dll/win32/mscms/mscms.rbuild delete mode 100644 reactos/dll/win32/mscoree/mscoree.rbuild delete mode 100644 reactos/dll/win32/msctf/msctf.rbuild delete mode 100644 reactos/dll/win32/msftedit/msftedit.rbuild delete mode 100644 reactos/dll/win32/msg711.acm/msg711.acm.rbuild delete mode 100644 reactos/dll/win32/msgina/msgina.rbuild delete mode 100644 reactos/dll/win32/msgsm32.acm/msgsm32.acm.rbuild delete mode 100644 reactos/dll/win32/mshtml.tlb/mshtml.tlb.rbuild delete mode 100644 reactos/dll/win32/mshtml/mshtml.rbuild delete mode 100644 reactos/dll/win32/msi/msi.rbuild delete mode 100644 reactos/dll/win32/msimg32/msimg32.rbuild delete mode 100644 reactos/dll/win32/msimtf/msimtf.rbuild delete mode 100644 reactos/dll/win32/msisip/msisip.rbuild delete mode 100644 reactos/dll/win32/msisys.ocx/msisys.ocx.rbuild delete mode 100644 reactos/dll/win32/msnet32/msnet32.rbuild delete mode 100644 reactos/dll/win32/msports/msports.rbuild delete mode 100644 reactos/dll/win32/msrle32/msrle32.rbuild delete mode 100644 reactos/dll/win32/mssign32/mssign32.rbuild delete mode 100644 reactos/dll/win32/mssip32/mssip32.rbuild delete mode 100644 reactos/dll/win32/mstask/mstask.rbuild delete mode 100644 reactos/dll/win32/msvcrt/msvcrt.rbuild delete mode 100644 reactos/dll/win32/msvcrt20/msvcrt20.rbuild delete mode 100644 reactos/dll/win32/msvcrt40/msvcrt40.rbuild delete mode 100644 reactos/dll/win32/msvfw32/msvfw32.rbuild delete mode 100644 reactos/dll/win32/msvidc32/msvidc32.rbuild delete mode 100644 reactos/dll/win32/mswsock/mswsock.rbuild delete mode 100644 reactos/dll/win32/msxml3/msxml3.rbuild delete mode 100644 reactos/dll/win32/nddeapi/nddeapi.rbuild delete mode 100644 reactos/dll/win32/netapi32/netapi32.rbuild delete mode 100644 reactos/dll/win32/netcfgx/netcfgx.rbuild delete mode 100644 reactos/dll/win32/netevent/netevent.rbuild delete mode 100644 reactos/dll/win32/netid/netid.rbuild delete mode 100644 reactos/dll/win32/netshell/netshell.rbuild delete mode 100644 reactos/dll/win32/newdev/newdev.rbuild delete mode 100644 reactos/dll/win32/ntdsapi/ntdsapi.rbuild delete mode 100644 reactos/dll/win32/ntlanman/ntlanman.rbuild delete mode 100644 reactos/dll/win32/ntmarta/ntmarta.rbuild delete mode 100644 reactos/dll/win32/ntprint/ntprint.rbuild delete mode 100644 reactos/dll/win32/objsel/objsel.rbuild delete mode 100644 reactos/dll/win32/odbc32/odbc32.rbuild delete mode 100644 reactos/dll/win32/odbccp32/odbccp32.rbuild delete mode 100644 reactos/dll/win32/ole32/ole32.rbuild delete mode 100644 reactos/dll/win32/oleacc/oleacc.rbuild delete mode 100644 reactos/dll/win32/oleaut32/oleaut32.rbuild delete mode 100644 reactos/dll/win32/olecli32/olecli32.rbuild delete mode 100644 reactos/dll/win32/oledlg/oledlg.rbuild delete mode 100644 reactos/dll/win32/olepro32/olepro32.rbuild delete mode 100644 reactos/dll/win32/olesvr32/olesvr32.rbuild delete mode 100644 reactos/dll/win32/olethk32/olethk32.rbuild delete mode 100644 reactos/dll/win32/opengl32/opengl32.rbuild delete mode 100644 reactos/dll/win32/pdh/pdh.rbuild delete mode 100644 reactos/dll/win32/pidgen/pidgen.rbuild delete mode 100644 reactos/dll/win32/powrprof/powrprof.rbuild delete mode 100644 reactos/dll/win32/printui/printui.rbuild delete mode 100644 reactos/dll/win32/psapi/psapi.rbuild delete mode 100644 reactos/dll/win32/pstorec/pstorec.rbuild delete mode 100644 reactos/dll/win32/qmgr/qmgr.rbuild delete mode 100644 reactos/dll/win32/qmgrprxy/qmgrprxy.rbuild delete mode 100644 reactos/dll/win32/query/query.rbuild delete mode 100644 reactos/dll/win32/rasadhlp/rasadhlp.rbuild delete mode 100644 reactos/dll/win32/rasapi32/rasapi32.rbuild delete mode 100644 reactos/dll/win32/rasdlg/rasdlg.rbuild delete mode 100644 reactos/dll/win32/rasman/rasman.rbuild delete mode 100644 reactos/dll/win32/resutils/resutils.rbuild delete mode 100644 reactos/dll/win32/riched20/riched20.rbuild delete mode 100644 reactos/dll/win32/riched32/riched32.rbuild delete mode 100644 reactos/dll/win32/rpcrt4/rpcrt4.rbuild delete mode 100644 reactos/dll/win32/rsabase/rsabase.rbuild delete mode 100644 reactos/dll/win32/rsaenh/rsaenh.rbuild delete mode 100644 reactos/dll/win32/samlib/samlib.rbuild delete mode 100644 reactos/dll/win32/samsrv/samsrv.rbuild delete mode 100644 reactos/dll/win32/sccbase/sccbase.rbuild delete mode 100644 reactos/dll/win32/schannel/schannel.rbuild delete mode 100644 reactos/dll/win32/secur32/secur32.rbuild delete mode 100644 reactos/dll/win32/security/security.rbuild delete mode 100644 reactos/dll/win32/sensapi/sensapi.rbuild delete mode 100644 reactos/dll/win32/serialui/serialui.rbuild delete mode 100644 reactos/dll/win32/setupapi/setupapi.rbuild delete mode 100644 reactos/dll/win32/sfc/sfc.rbuild delete mode 100644 reactos/dll/win32/sfc_os/sfc_os.rbuild delete mode 100644 reactos/dll/win32/shdoclc/shdoclc.rbuild delete mode 100644 reactos/dll/win32/shdocvw/shdocvw.rbuild delete mode 100644 reactos/dll/win32/shell32/shell32.rbuild delete mode 100644 reactos/dll/win32/shfolder/shfolder.rbuild delete mode 100644 reactos/dll/win32/shimgvw/shimgvw.rbuild delete mode 100644 reactos/dll/win32/shlwapi/shlwapi.rbuild delete mode 100644 reactos/dll/win32/slbcsp/slbcsp.rbuild delete mode 100644 reactos/dll/win32/smdll/smdll.rbuild delete mode 100644 reactos/dll/win32/sndblst/sndblst.rbuild delete mode 100644 reactos/dll/win32/snmpapi/snmpapi.rbuild delete mode 100644 reactos/dll/win32/softpub/softpub.rbuild delete mode 100644 reactos/dll/win32/spoolss/spoolss.rbuild delete mode 100644 reactos/dll/win32/srclient/srclient.rbuild delete mode 100644 reactos/dll/win32/stdole2.tlb/stdole2.rbuild delete mode 100644 reactos/dll/win32/stdole32.tlb/stdole32.rbuild delete mode 100644 reactos/dll/win32/sti/sti.rbuild delete mode 100644 reactos/dll/win32/sxs/sxs.rbuild delete mode 100644 reactos/dll/win32/syssetup/syssetup.rbuild delete mode 100644 reactos/dll/win32/t2embed/t2embed.rbuild delete mode 100644 reactos/dll/win32/tapi32/tapi32.rbuild delete mode 100644 reactos/dll/win32/tapiui/tapiui.rbuild delete mode 100644 reactos/dll/win32/traffic/traffic.rbuild delete mode 100644 reactos/dll/win32/twain_32/twain_32.rbuild delete mode 100644 reactos/dll/win32/uext2/uext2.rbuild delete mode 100644 reactos/dll/win32/ufat/ufat.rbuild delete mode 100644 reactos/dll/win32/ufatx/ufatx.rbuild delete mode 100644 reactos/dll/win32/unicows/unicows.rbuild delete mode 100644 reactos/dll/win32/untfs/untfs.rbuild delete mode 100644 reactos/dll/win32/updspapi/updspapi.rbuild delete mode 100644 reactos/dll/win32/url/url.rbuild delete mode 100644 reactos/dll/win32/urlmon/urlmon.rbuild delete mode 100644 reactos/dll/win32/user32/user32.pspec delete mode 100644 reactos/dll/win32/user32/user32.rbuild delete mode 100644 reactos/dll/win32/userenv/userenv.rbuild delete mode 100644 reactos/dll/win32/usp10/usp10.rbuild delete mode 100644 reactos/dll/win32/uxtheme/uxtheme.rbuild delete mode 100644 reactos/dll/win32/vdmdbg/vdmdbg.rbuild delete mode 100644 reactos/dll/win32/version/version.rbuild delete mode 100644 reactos/dll/win32/wdmaud.drv/wdmaud.rbuild delete mode 100644 reactos/dll/win32/wer/wer.rbuild delete mode 100644 reactos/dll/win32/win32.rbuild delete mode 100644 reactos/dll/win32/windowscodecs/windowscodecs.rbuild delete mode 100644 reactos/dll/win32/winemp3.acm/winemp3.acm.rbuild delete mode 100644 reactos/dll/win32/winfax/winfax.rbuild delete mode 100644 reactos/dll/win32/wing32/wing32.rbuild delete mode 100644 reactos/dll/win32/winhttp/winhttp.rbuild delete mode 100644 reactos/dll/win32/wininet/wininet.rbuild delete mode 100644 reactos/dll/win32/winmm/midimap/midimap.rbuild delete mode 100644 reactos/dll/win32/winmm/winmm.rbuild delete mode 100644 reactos/dll/win32/winspool/winspool.rbuild delete mode 100644 reactos/dll/win32/winsta/winsta.rbuild delete mode 100644 reactos/dll/win32/wintrust/wintrust.rbuild delete mode 100644 reactos/dll/win32/wlanapi/wlanapi.rbuild delete mode 100644 reactos/dll/win32/wldap32/wldap32.rbuild delete mode 100644 reactos/dll/win32/wmi/wmi.rbuild delete mode 100644 reactos/dll/win32/ws2_32/ws2_32.rbuild delete mode 100644 reactos/dll/win32/ws2_32_new/ws2_32.rbuild delete mode 100644 reactos/dll/win32/ws2help/ws2help.rbuild delete mode 100644 reactos/dll/win32/wshirda/wshirda.rbuild delete mode 100644 reactos/dll/win32/wshtcpip/wshtcpip.rbuild delete mode 100644 reactos/dll/win32/wsock32/wsock32.rbuild delete mode 100644 reactos/dll/win32/wtsapi32/wtsapi32.rbuild delete mode 100644 reactos/dll/win32/wuapi/wuapi.rbuild delete mode 100644 reactos/dll/win32/xinput1_1/xinput1_1.rbuild delete mode 100644 reactos/dll/win32/xinput1_2/xinput1_2.rbuild delete mode 100644 reactos/dll/win32/xinput1_3/xinput1_3.rbuild delete mode 100644 reactos/dll/win32/xinput9_1_0/xinput9_1_0.rbuild delete mode 100644 reactos/dll/win32/xmllite/xmllite.rbuild delete mode 100644 reactos/drivers/base/beep/beep.rbuild delete mode 100644 reactos/drivers/base/bootvid/bootvid.rbuild delete mode 100644 reactos/drivers/base/directory.rbuild delete mode 100644 reactos/drivers/base/kdcom/kdcom.rbuild delete mode 100644 reactos/drivers/base/kddll/kddll.rbuild delete mode 100644 reactos/drivers/base/nmidebug/nmidebug.rbuild delete mode 100644 reactos/drivers/base/null/null.rbuild delete mode 100644 reactos/drivers/battery/battc/battc.rbuild delete mode 100644 reactos/drivers/battery/directory.rbuild delete mode 100644 reactos/drivers/bluetooth/directory.rbuild delete mode 100644 reactos/drivers/bluetooth/fbtusb/fbtusb.rbuild delete mode 100644 reactos/drivers/bus/acpi/acpi.rbuild delete mode 100644 reactos/drivers/bus/acpi/acpica/acpica.rbuild delete mode 100644 reactos/drivers/bus/acpi/cmbatt/cmbatt.rbuild delete mode 100644 reactos/drivers/bus/acpi/compbatt/compbatt.rbuild delete mode 100644 reactos/drivers/bus/directory.rbuild delete mode 100644 reactos/drivers/bus/isapnp/isapnp.rbuild delete mode 100644 reactos/drivers/bus/pci/pci.rbuild delete mode 100644 reactos/drivers/bus/pcix/pcix.rbuild delete mode 100644 reactos/drivers/bus/pcmcia/pcmcia.rbuild delete mode 100644 reactos/drivers/directx/directory.rbuild delete mode 100644 reactos/drivers/directx/dxapi/dxapi.rbuild delete mode 100644 reactos/drivers/directx/dxg/dxg.rbuild delete mode 100644 reactos/drivers/directx/dxgthk/dxgthk.rbuild delete mode 100644 reactos/drivers/drivers.rbuild delete mode 100644 reactos/drivers/filesystems/cdfs/cdfs.rbuild delete mode 100644 reactos/drivers/filesystems/directory.rbuild delete mode 100644 reactos/drivers/filesystems/ext2/ext2.rbuild delete mode 100644 reactos/drivers/filesystems/fastfat/vfatfs.rbuild delete mode 100644 reactos/drivers/filesystems/fastfat_new/fastfat.rbuild delete mode 100644 reactos/drivers/filesystems/fs_rec/fs_rec.rbuild delete mode 100644 reactos/drivers/filesystems/msfs/msfs.rbuild delete mode 100644 reactos/drivers/filesystems/mup/mup.rbuild delete mode 100644 reactos/drivers/filesystems/npfs/npfs.rbuild delete mode 100644 reactos/drivers/filesystems/ntfs/ntfs.rbuild delete mode 100644 reactos/drivers/filters/directory.rbuild delete mode 100644 reactos/drivers/filters/mountmgr/mountmgr.rbuild delete mode 100644 reactos/drivers/hid/directory.rbuild delete mode 100644 reactos/drivers/hid/hidclass/hidclass.rbuild delete mode 100644 reactos/drivers/hid/hidparse/hidparse.rbuild delete mode 100644 reactos/drivers/hid/hidusb/hidusb.rbuild delete mode 100644 reactos/drivers/hid/kbdhid/kbdhid.rbuild delete mode 100644 reactos/drivers/hid/mouhid/mouhid.rbuild delete mode 100644 reactos/drivers/input/directory.rbuild delete mode 100644 reactos/drivers/input/i8042prt/i8042prt.rbuild delete mode 100644 reactos/drivers/input/kbdclass/kbdclass.rbuild delete mode 100644 reactos/drivers/input/mouclass/mouclass.rbuild delete mode 100644 reactos/drivers/input/sermouse/sermouse.rbuild delete mode 100644 reactos/drivers/ksfilter/directory.rbuild delete mode 100644 reactos/drivers/ksfilter/ks/ks.rbuild delete mode 100644 reactos/drivers/ksfilter/swenum/swenum.rbuild delete mode 100644 reactos/drivers/multimedia/audio/directory.rbuild delete mode 100644 reactos/drivers/multimedia/audio/mpu401_nt4/mpu401.rbuild delete mode 100644 reactos/drivers/multimedia/audio/sb16_nt4.old/sb16_nt4.rbuild delete mode 100644 reactos/drivers/multimedia/audio/sndblst.old/sndblst.rbuild delete mode 100644 reactos/drivers/multimedia/audio/sndblst_sys/sndblst.rbuild delete mode 100644 reactos/drivers/multimedia/audio/sound/sound.rbuild delete mode 100644 reactos/drivers/multimedia/bdasup/bdasup.rbuild delete mode 100644 reactos/drivers/multimedia/directory.rbuild delete mode 100644 reactos/drivers/network/acd/rasacd.rbuild delete mode 100644 reactos/drivers/network/afd/afd.rbuild delete mode 100644 reactos/drivers/network/dd/directory.rbuild delete mode 100644 reactos/drivers/network/dd/ne2000/ne2000.rbuild delete mode 100644 reactos/drivers/network/dd/pcnet/pcnet.rbuild delete mode 100644 reactos/drivers/network/directory.rbuild delete mode 100644 reactos/drivers/network/ndis/ndis.rbuild delete mode 100644 reactos/drivers/network/ndisuio/ndisuio.rbuild delete mode 100644 reactos/drivers/network/tcpip/tcpip.rbuild delete mode 100644 reactos/drivers/network/tdi/tdi.rbuild delete mode 100644 reactos/drivers/parallel/directory.rbuild delete mode 100644 reactos/drivers/parallel/parallel/parallel.rbuild delete mode 100644 reactos/drivers/sac/directory.rbuild delete mode 100644 reactos/drivers/sac/driver/sacdrv.rbuild delete mode 100644 reactos/drivers/serial/directory.rbuild delete mode 100644 reactos/drivers/serial/serenum/serenum.rbuild delete mode 100644 reactos/drivers/serial/serial/serial.rbuild delete mode 100644 reactos/drivers/setup/blue/blue.rbuild delete mode 100644 reactos/drivers/setup/directory.rbuild delete mode 100644 reactos/drivers/storage/class/cdrom/cdrom.rbuild delete mode 100644 reactos/drivers/storage/class/cdrom_new/cdrom_new.rbuild delete mode 100644 reactos/drivers/storage/class/class2/class2.rbuild delete mode 100644 reactos/drivers/storage/class/directory.rbuild delete mode 100644 reactos/drivers/storage/class/disk/disk.rbuild delete mode 100644 reactos/drivers/storage/class/ramdisk/ramdisk.rbuild delete mode 100644 reactos/drivers/storage/classpnp/classpnp.rbuild delete mode 100644 reactos/drivers/storage/directory.rbuild delete mode 100644 reactos/drivers/storage/fdc/directory.rbuild delete mode 100644 reactos/drivers/storage/fdc/fdc/fdc.rbuild delete mode 100644 reactos/drivers/storage/floppy/floppy.rbuild delete mode 100644 reactos/drivers/storage/ide/atapi/atapi.rbuild delete mode 100644 reactos/drivers/storage/ide/directory.rbuild delete mode 100644 reactos/drivers/storage/ide/pciide/pciide.rbuild delete mode 100644 reactos/drivers/storage/ide/pciidex/pciidex.rbuild delete mode 100644 reactos/drivers/storage/ide/uniata/uniata.rbuild delete mode 100644 reactos/drivers/storage/port/buslogic/buslogic.rbuild delete mode 100644 reactos/drivers/storage/port/directory.rbuild delete mode 100644 reactos/drivers/storage/scsiport/scsiport.pspec delete mode 100644 reactos/drivers/storage/scsiport/scsiport.rbuild delete mode 100644 reactos/drivers/usb/directory.rbuild delete mode 100644 reactos/drivers/usb/usbccgp/usbccgp.rbuild delete mode 100644 reactos/drivers/usb/usbd/usbd.rbuild delete mode 100644 reactos/drivers/usb/usbehci/usbehci.rbuild delete mode 100644 reactos/drivers/usb/usbhub/usbhub.rbuild delete mode 100644 reactos/drivers/usb/usbohci/usbohci.rbuild delete mode 100644 reactos/drivers/usb/usbstor/usbstor.rbuild delete mode 100644 reactos/drivers/usb/usbuhci/usbuhci.rbuild delete mode 100644 reactos/drivers/video/directory.rbuild delete mode 100644 reactos/drivers/video/displays/directory.rbuild delete mode 100644 reactos/drivers/video/displays/framebuf/framebuf.rbuild delete mode 100644 reactos/drivers/video/displays/framebuf_new/framebuf_new.rbuild delete mode 100644 reactos/drivers/video/displays/framebufacc/framebufacc.rbuild delete mode 100644 reactos/drivers/video/displays/vga/vgaddi.rbuild delete mode 100644 reactos/drivers/video/displays/vga_new/vga_new.rbuild delete mode 100644 reactos/drivers/video/font/bmfd/bmfd.rbuild delete mode 100644 reactos/drivers/video/font/directory.rbuild delete mode 100644 reactos/drivers/video/font/ftfd/ftfd.rbuild delete mode 100644 reactos/drivers/video/miniport/directory.rbuild delete mode 100644 reactos/drivers/video/miniport/vbe/vbemp.rbuild delete mode 100644 reactos/drivers/video/miniport/vga/vgamp.rbuild delete mode 100644 reactos/drivers/video/miniport/vga_new/vga.rbuild delete mode 100644 reactos/drivers/video/miniport/vmx_svga/vmx_svga.rbuild delete mode 100644 reactos/drivers/video/miniport/xboxvmp/xboxvmp.rbuild delete mode 100644 reactos/drivers/video/videoprt/videoprt.rbuild delete mode 100644 reactos/drivers/wdm/audio/backpln/audio_test/audio_test.rbuild delete mode 100644 reactos/drivers/wdm/audio/backpln/directory.rbuild delete mode 100644 reactos/drivers/wdm/audio/backpln/portcls/portcls.rbuild delete mode 100644 reactos/drivers/wdm/audio/directory.rbuild delete mode 100644 reactos/drivers/wdm/audio/drivers/CMIDriver/cmidriver.rbuild delete mode 100644 reactos/drivers/wdm/audio/drivers/directory.rbuild delete mode 100644 reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild delete mode 100644 reactos/drivers/wdm/audio/drivers/sb16/sb16.rbuild delete mode 100644 reactos/drivers/wdm/audio/drm/directory.rbuild delete mode 100644 reactos/drivers/wdm/audio/drm/drmk/drmk.rbuild delete mode 100644 reactos/drivers/wdm/audio/filters/directory.rbuild delete mode 100644 reactos/drivers/wdm/audio/filters/kmixer/kmixer.rbuild delete mode 100644 reactos/drivers/wdm/audio/filters/splitter/splitter.rbuild delete mode 100644 reactos/drivers/wdm/audio/legacy/directory.rbuild delete mode 100644 reactos/drivers/wdm/audio/legacy/stream/stream.rbuild delete mode 100644 reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.rbuild delete mode 100644 reactos/drivers/wdm/audio/sysaudio/sysaudio.rbuild delete mode 100644 reactos/drivers/wdm/wdm.rbuild delete mode 100644 reactos/drivers/wmi/wmilib.rbuild delete mode 100644 reactos/hal/hal.pspec delete mode 100644 reactos/hal/hal.rbuild delete mode 100644 reactos/hal/halarm/directory.rbuild delete mode 100644 reactos/hal/halarm/hal.rbuild delete mode 100644 reactos/hal/halarm/hal_generic.rbuild delete mode 100644 reactos/hal/halarm/omap3/halup.rbuild delete mode 100644 reactos/hal/halarm/versa/halup.rbuild delete mode 100644 reactos/hal/halppc/directory.rbuild delete mode 100644 reactos/hal/halppc/generic/generic.rbuild delete mode 100644 reactos/hal/halppc/up/halup.rbuild delete mode 100644 reactos/hal/halx86/directory.rbuild delete mode 100644 reactos/hal/halx86/hal.rbuild delete mode 100644 reactos/hal/halx86/hal_generic.rbuild delete mode 100644 reactos/hal/halx86/hal_generic_acpi.rbuild delete mode 100644 reactos/hal/halx86/hal_generic_mp.rbuild delete mode 100644 reactos/hal/halx86/hal_generic_pcat.rbuild delete mode 100644 reactos/hal/halx86/hal_generic_up.rbuild delete mode 100644 reactos/hal/halx86/hal_mini.rbuild delete mode 100644 reactos/hal/halx86/halacpi.rbuild delete mode 100644 reactos/hal/halx86/halamd64.rbuild delete mode 100644 reactos/hal/halx86/halmps.rbuild delete mode 100644 reactos/hal/halx86/halxbox.rbuild delete mode 100644 reactos/include/directory.rbuild delete mode 100644 reactos/include/dxsdk/dxsdk.rbuild delete mode 100644 reactos/include/psdk/psdk.rbuild delete mode 100644 reactos/include/reactos/asm.h delete mode 100644 reactos/include/reactos/asm.inc delete mode 100644 reactos/include/reactos/idl/idl.rbuild delete mode 100644 reactos/include/reactos/mc/mc.rbuild delete mode 100644 reactos/include/reactos/reactos.rbuild delete mode 100644 reactos/include/reactos/version.h delete mode 100644 reactos/include/reactos/wine/wineheaders.rbuild delete mode 100644 reactos/lib/3rdparty/3rdparty.rbuild delete mode 100644 reactos/lib/3rdparty/adns/adns.rbuild delete mode 100644 reactos/lib/3rdparty/bzip2/bzip2.rbuild delete mode 100644 reactos/lib/3rdparty/cardlib/cardlib.rbuild delete mode 100644 reactos/lib/3rdparty/expat/expat.rbuild delete mode 100644 reactos/lib/3rdparty/freetype/freetype.rbuild delete mode 100644 reactos/lib/3rdparty/fullfat/fullfat.rbuild delete mode 100644 reactos/lib/3rdparty/libmpg123/libmpg123.rbuild delete mode 100644 reactos/lib/3rdparty/libsamplerate/libsamplerate.rbuild delete mode 100644 reactos/lib/3rdparty/libwine/libwine.rbuild delete mode 100644 reactos/lib/3rdparty/libxml2/libxml2.rbuild delete mode 100644 reactos/lib/3rdparty/mingw/mingw.rbuild delete mode 100644 reactos/lib/3rdparty/zlib/zlib.rbuild delete mode 100644 reactos/lib/atl/atl.rbuild delete mode 100644 reactos/lib/cmlib/cmlib.rbuild delete mode 100644 reactos/lib/cportlib/cportlib.rbuild delete mode 100644 reactos/lib/debugsup/debugsup.rbuild delete mode 100644 reactos/lib/dnslib/dnslib.rbuild delete mode 100644 reactos/lib/drivers/chew/chew.rbuild delete mode 100644 reactos/lib/drivers/csq/csq.rbuild delete mode 100644 reactos/lib/drivers/directory.rbuild delete mode 100644 reactos/lib/drivers/hidparser/hidparser.rbuild delete mode 100644 reactos/lib/drivers/ip/ip.rbuild delete mode 100755 reactos/lib/drivers/lwip/lwip.rbuild delete mode 100644 reactos/lib/drivers/sound/legacy/legacy.rbuild delete mode 100644 reactos/lib/drivers/sound/mmebuddy/mmebuddy.rbuild delete mode 100644 reactos/lib/drivers/sound/mment4/mment4.rbuild delete mode 100644 reactos/lib/drivers/sound/mmixer/mmixer.rbuild delete mode 100644 reactos/lib/drivers/sound/shared/shared.rbuild delete mode 100644 reactos/lib/drivers/sound/sound.rbuild delete mode 100644 reactos/lib/drivers/sound/soundblaster/soundblaster.rbuild delete mode 100644 reactos/lib/drivers/sound/uartmidi/uartmidi.rbuild delete mode 100644 reactos/lib/epsapi/epsapi.rbuild delete mode 100644 reactos/lib/fslib/directory.rbuild delete mode 100644 reactos/lib/fslib/ext2lib/ext2lib.rbuild delete mode 100644 reactos/lib/fslib/ntfslib/ntfslib.rbuild delete mode 100644 reactos/lib/fslib/vfatlib/vfatlib.rbuild delete mode 100644 reactos/lib/fslib/vfatxlib/vfatxlib.rbuild delete mode 100644 reactos/lib/inflib/inflib.mak delete mode 100644 reactos/lib/inflib/inflib.rbuild delete mode 100644 reactos/lib/lib.mak delete mode 100644 reactos/lib/lib.rbuild delete mode 100644 reactos/lib/lsalib/lsalib.rbuild delete mode 100644 reactos/lib/newinflib/inflib.mak delete mode 100644 reactos/lib/newinflib/inflib.rbuild delete mode 100644 reactos/lib/ppcmmu/ppcmmu.mak delete mode 100644 reactos/lib/ppcmmu/ppcmmu.rbuild delete mode 100644 reactos/lib/pseh/pseh.rbuild delete mode 100644 reactos/lib/recyclebin/recyclebin.rbuild delete mode 100644 reactos/lib/rossym/rossym.rbuild delete mode 100644 reactos/lib/rtl/rtl.rbuild delete mode 100644 reactos/lib/sdk/crt/crt.rbuild delete mode 100644 reactos/lib/sdk/crt/libcntpr.rbuild delete mode 100644 reactos/lib/sdk/delayimp/delayimp.rbuild delete mode 100644 reactos/lib/sdk/dxguid/dxguid.rbuild delete mode 100644 reactos/lib/sdk/ioevent/ioevent.rbuild delete mode 100644 reactos/lib/sdk/nt/nt.rbuild delete mode 100644 reactos/lib/sdk/scrnsave/scrnsave.rbuild delete mode 100644 reactos/lib/sdk/sdk.rbuild delete mode 100644 reactos/lib/sdk/strmiids/strmiids.rbuild delete mode 100644 reactos/lib/sdk/uuid/uuid.rbuild delete mode 100644 reactos/lib/sdk/wdmguid/wdmguid.rbuild delete mode 100644 reactos/lib/smlib/smlib.rbuild delete mode 100644 reactos/lib/tdilib/tdilib.rbuild delete mode 100644 reactos/media/drivers/drivers.rbuild delete mode 100644 reactos/media/drivers/etc/etc.rbuild delete mode 100644 reactos/media/fonts/fonts.rbuild delete mode 100644 reactos/media/inf/inf.rbuild delete mode 100644 reactos/media/media.rbuild delete mode 100644 reactos/media/nls/nls.rbuild delete mode 100644 reactos/media/sounds/sounds.rbuild delete mode 100644 reactos/media/vgafonts/vgafonts.rbuild delete mode 100644 reactos/modules/directory.rbuild delete mode 100644 reactos/modules/empty.rbuild delete mode 100644 reactos/ntoskrnl/ntkrnlmp.rbuild delete mode 100644 reactos/ntoskrnl/ntoskrnl-generic.rbuild delete mode 100644 reactos/ntoskrnl/ntoskrnl.pspec delete mode 100644 reactos/ntoskrnl/ntoskrnl.rbuild delete mode 100644 reactos/proxy.mak delete mode 100644 reactos/rosbuild.bat delete mode 100644 reactos/subsystems/ntvdm/ntvdm.rbuild delete mode 100644 reactos/subsystems/subsystems.rbuild delete mode 100644 reactos/subsystems/win/basesrv/basesrv.rbuild delete mode 100644 reactos/subsystems/win/directory.rbuild delete mode 100644 reactos/subsystems/win/winsrv/winsrv.rbuild delete mode 100644 reactos/subsystems/win32/csrss/csrsrv/csrsrv.rbuild delete mode 100644 reactos/subsystems/win32/csrss/csrss.rbuild delete mode 100644 reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild delete mode 100644 reactos/subsystems/win32/win32.rbuild delete mode 100644 reactos/subsystems/win32/win32k/win32k.pspec delete mode 100644 reactos/subsystems/win32/win32k/win32k.rbuild delete mode 100644 reactos/tools/bin2c.mak delete mode 100644 reactos/tools/buildno/buildno.cpp delete mode 100644 reactos/tools/buildno/buildno.mak delete mode 100644 reactos/tools/buildno/pch.h delete mode 100644 reactos/tools/cabman/cabman.rbuild delete mode 100644 reactos/tools/cdmake/cdmake.rbuild delete mode 100644 reactos/tools/gendib/gendib.mak delete mode 100644 reactos/tools/geninc/geninc.rbuild delete mode 100644 reactos/tools/hpp/hpp.rbuild delete mode 100644 reactos/tools/kbdtool/kbdtool.rbuild delete mode 100644 reactos/tools/log2lines/log2lines.mak delete mode 100644 reactos/tools/mkhive/mkhive.rbuild delete mode 100644 reactos/tools/mkshelllink/mkshelllink.rbuild delete mode 100644 reactos/tools/nandflash/nandflash.rbuild delete mode 100644 reactos/tools/ofw_interface/ofw_interface.mak delete mode 100644 reactos/tools/pefixup.mak delete mode 100644 reactos/tools/pipetools/pipetools.mak delete mode 100644 reactos/tools/rbuild/automaticdependency.cpp delete mode 100644 reactos/tools/rbuild/autoregister.cpp delete mode 100644 reactos/tools/rbuild/backend/backend.cpp delete mode 100644 reactos/tools/rbuild/backend/backend.h delete mode 100644 reactos/tools/rbuild/backend/dependencymap/dependencymap.cpp delete mode 100644 reactos/tools/rbuild/backend/dependencymap/dependencymap.h delete mode 100644 reactos/tools/rbuild/backend/mingw/compilers/gcc.mak delete mode 100644 reactos/tools/rbuild/backend/mingw/compilers/msc.mak delete mode 100644 reactos/tools/rbuild/backend/mingw/linkers/ld.mak delete mode 100644 reactos/tools/rbuild/backend/mingw/linkers/mslink.mak delete mode 100644 reactos/tools/rbuild/backend/mingw/mingw.cpp delete mode 100644 reactos/tools/rbuild/backend/mingw/mingw.h delete mode 100644 reactos/tools/rbuild/backend/mingw/modulehandler.cpp delete mode 100644 reactos/tools/rbuild/backend/mingw/modulehandler.h delete mode 100644 reactos/tools/rbuild/backend/mingw/mstools_detection.cpp delete mode 100644 reactos/tools/rbuild/backend/mingw/pch_detection.h delete mode 100644 reactos/tools/rbuild/backend/mingw/pipe_detection.c delete mode 100644 reactos/tools/rbuild/backend/mingw/proxymakefile.cpp delete mode 100644 reactos/tools/rbuild/backend/mingw/rule.cpp delete mode 100644 reactos/tools/rbuild/backend/mingw/rule.h delete mode 100644 reactos/tools/rbuild/backend/mingw/rules.mak delete mode 100644 reactos/tools/rbuild/backend/msbuild/msbuild.cpp delete mode 100644 reactos/tools/rbuild/backend/msbuild/msbuild.h delete mode 100644 reactos/tools/rbuild/backend/msvc/genguid.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/msvc.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/msvc.h delete mode 100644 reactos/tools/rbuild/backend/msvc/msvcmaker.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/projmaker.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/propsmaker.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/reactos.defaults.props delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/reactos.targets delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.props delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.rules delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.targets delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.xml delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/spec.props delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/spec.rules delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/spec.targets delete mode 100644 reactos/tools/rbuild/backend/msvc/rules/spec.xml delete mode 100644 reactos/tools/rbuild/backend/msvc/slnmaker.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/vcxprojmaker.cpp delete mode 100644 reactos/tools/rbuild/backend/msvc/vspropsmaker.cpp delete mode 100644 reactos/tools/rbuild/backend/versionreport/versionreport.cpp delete mode 100644 reactos/tools/rbuild/backend/versionreport/versionreport.h delete mode 100644 reactos/tools/rbuild/bootstrap.cpp delete mode 100644 reactos/tools/rbuild/cdfile.cpp delete mode 100644 reactos/tools/rbuild/compilationunit.cpp delete mode 100644 reactos/tools/rbuild/compilationunitsupportcode.cpp delete mode 100644 reactos/tools/rbuild/compilerdirective.cpp delete mode 100644 reactos/tools/rbuild/compilerflag.cpp delete mode 100644 reactos/tools/rbuild/configuration.cpp delete mode 100644 reactos/tools/rbuild/define.cpp delete mode 100644 reactos/tools/rbuild/directory.cpp delete mode 100644 reactos/tools/rbuild/doc/rbuild.dbk delete mode 100644 reactos/tools/rbuild/doc/rbuild.txt delete mode 100644 reactos/tools/rbuild/empty.def delete mode 100644 reactos/tools/rbuild/exception.cpp delete mode 100644 reactos/tools/rbuild/exception.h delete mode 100644 reactos/tools/rbuild/filesupportcode.cpp delete mode 100644 reactos/tools/rbuild/global.cpp delete mode 100644 reactos/tools/rbuild/include.cpp delete mode 100644 reactos/tools/rbuild/installfile.cpp delete mode 100644 reactos/tools/rbuild/linkerflag.cpp delete mode 100644 reactos/tools/rbuild/linkerscript.cpp delete mode 100644 reactos/tools/rbuild/makefile delete mode 100644 reactos/tools/rbuild/module.cpp delete mode 100644 reactos/tools/rbuild/pch.h delete mode 100644 reactos/tools/rbuild/project.cpp delete mode 100644 reactos/tools/rbuild/project.dtd delete mode 100644 reactos/tools/rbuild/rbuild.cpp delete mode 100644 reactos/tools/rbuild/rbuild.dsp delete mode 100644 reactos/tools/rbuild/rbuild.dsw delete mode 100644 reactos/tools/rbuild/rbuild.h delete mode 100644 reactos/tools/rbuild/rbuild.mak delete mode 100644 reactos/tools/rbuild/rbuild.sln delete mode 100644 reactos/tools/rbuild/rbuild.vcproj delete mode 100644 reactos/tools/rbuild/stubbedcomponent.cpp delete mode 100644 reactos/tools/rbuild/syssetupgenerator.cpp delete mode 100644 reactos/tools/rbuild/test.h delete mode 100644 reactos/tools/rbuild/tests/alltests.cpp delete mode 100644 reactos/tools/rbuild/tests/cdfiletest.cpp delete mode 100644 reactos/tools/rbuild/tests/compilationunittest.cpp delete mode 100644 reactos/tools/rbuild/tests/data/automaticdependency.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/automaticdependency_include.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/cdfile.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/compilationunit.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/define.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/if.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/include.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/invoke.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/linkerflag.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/module.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/project.rbuild delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile1.c delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile1/sourcefile1_header3.h delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile1/sourcefile_includenext.h delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile1_header1.h delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile1_header2.h delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile1_recurse.h delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile_include.c delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile_include.h delete mode 100644 reactos/tools/rbuild/tests/data/sourcefile_includenext.h delete mode 100644 reactos/tools/rbuild/tests/data/symbol.rbuild delete mode 100644 reactos/tools/rbuild/tests/definetest.cpp delete mode 100644 reactos/tools/rbuild/tests/functiontest.cpp delete mode 100644 reactos/tools/rbuild/tests/iftest.cpp delete mode 100644 reactos/tools/rbuild/tests/includetest.cpp delete mode 100644 reactos/tools/rbuild/tests/invoketest.cpp delete mode 100644 reactos/tools/rbuild/tests/linkerflagtest.cpp delete mode 100644 reactos/tools/rbuild/tests/moduletest.cpp delete mode 100644 reactos/tools/rbuild/tests/projecttest.cpp delete mode 100644 reactos/tools/rbuild/tests/sourcefiletest.cpp delete mode 100644 reactos/tools/rbuild/tests/symboltest.cpp delete mode 100644 reactos/tools/rbuild/testsupportcode.cpp delete mode 100644 reactos/tools/rbuild/xmlnode.cpp delete mode 100644 reactos/tools/rbuild_helper/argv_parser.h delete mode 100644 reactos/tools/rbuild_helper/null_output_iterator.h delete mode 100644 reactos/tools/rbuild_helper/rbuild_helper.cpp delete mode 100644 reactos/tools/rbuild_helper/rbuild_helper.rbuild delete mode 100644 reactos/tools/rbuild_helper/stringz_iterator.h delete mode 100644 reactos/tools/rgenstat/rgenstat.rbuild delete mode 100644 reactos/tools/rsym/raddr2line.mak delete mode 100644 reactos/tools/rsym/rsym.mak delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/App.ico delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/App.ico delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj.user delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.resx delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.resx delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/ShellIcon.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Backup/icons/folder.ico delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj.user delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.resx delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.suo delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Form1.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/Form1.resx delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/ShellIcon.cs delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/UpgradeLog.XML delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.css delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.xslt delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport_Minus.gif delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport_Plus.gif delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/bin/Debug/DirectoryTreeView.exe delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/bin/Debug/DirectoryTreeView.pdb delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/bin/Debug/DirectoryTreeView.vshost.exe delete mode 100644 reactos/tools/sysgen/FileSystemTreeView/icons/folder.ico delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/CatalogTriStateTreeView.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/ModuleFiltersListView.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/NewItemListView.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/PlatformTreeView.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/ProjectTreeView.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.Designer.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.resx delete mode 100644 reactos/tools/sysgen/RosBuilder/Form1.Designer.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Form1.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Form1.resx delete mode 100644 reactos/tools/sysgen/RosBuilder/Inspectors/PlatformInspector.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/MainForm.Designer.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/MainForm.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/MainForm.resx delete mode 100644 reactos/tools/sysgen/RosBuilder/ModuleFilter.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/NewItemForm.Designer.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/NewItemForm.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/NewItemForm.resx delete mode 100644 reactos/tools/sysgen/RosBuilder/PlatformCatalogReader.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/PlatformController.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Program.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Project/Project.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Project/ProjectReader.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Project/ProjectWriter.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/ProjectController.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Properties/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Properties/Resources.Designer.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Properties/Resources.resx delete mode 100644 reactos/tools/sysgen/RosBuilder/Properties/Settings.Designer.cs delete mode 100644 reactos/tools/sysgen/RosBuilder/Properties/Settings.settings delete mode 100644 reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj delete mode 100644 reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj.user delete mode 100644 reactos/tools/sysgen/RosBuilder/Util/FileAssociation.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Base/RBuildElement.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildAPIStatusCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildAuthorCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildBuildFamilyCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildContributorCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildDebugChannelCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildDefineCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildExportedFunctionsCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildFamilyCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildFileCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildFolderCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildIncludeFolderCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildInstallFolderCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildLanguageCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildLocalizationFileCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildModuleCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildModuleInfoCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildPlatformFileCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildPropertyCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Collections/RBuildSourceFileCollection.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Interfaces/IRBuildInstallable.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Interfaces/IRBuildModulesContainer.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Interfaces/IRBuildNamed.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Interfaces/IRBuildSourceFilesContainer.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Misc/Utility.cs delete mode 100644 reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildModuleGroup.cs delete mode 100644 reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildPatch.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Obsolete/PlatformCatalog.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Obsolete/RosArchitecture.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Obsolete/RosOSImage.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Obsolete/RosPlatform.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Obsolete/SoftwareCatalog.cs delete mode 100644 reactos/tools/sysgen/RosFramework/Properties/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildAPIInfo.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildAuthor.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildAutoRegister.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildBootstrapFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildBuildFamily.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildCDFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildCDFileBase.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildCompilationUnit.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildContributor.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildDebugChannel.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildExportFunction.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildFamily.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildImportLibrary.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildInfInstallerFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildInstallFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildInstallFolder.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildLanguage.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildLocalizationFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildMetadata.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildModule.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildModuleGroup.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildModuleInfo.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildPlatform.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildPlatformFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildProject.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildProperty.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildRegistryKey.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildSetup.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildSetupFile.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildSolution.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildTarget.cs delete mode 100644 reactos/tools/sysgen/RosFramework/RBuildUnAttendSetup.cs delete mode 100644 reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj delete mode 100644 reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj.user delete mode 100644 reactos/tools/sysgen/SYSGen/Backends/Backend.cs delete mode 100644 reactos/tools/sysgen/SYSGen/Backends/Catalog/CatalogBackend.cs delete mode 100644 reactos/tools/sysgen/SYSGen/Backends/Mingw/MingwBackend.cs delete mode 100644 reactos/tools/sysgen/SYSGen/Program.cs delete mode 100644 reactos/tools/sysgen/SYSGen/Properties/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/SYSGen/SYSGen.csproj delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementArrayAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/ElementNameAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionSetAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskAttributeAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskFileSetAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskNameAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskOptionSetAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskPropertyAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskValueAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Base/ValidatorAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/BooleanValidatorAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Int32ValidatorAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/StringValidatorAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/UriValidatorAttribute.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/APIDocumentation/APIDocumentation.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/Backend.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/CompilerBaseBacked.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/HtmlDocumenterBaseBacked.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/BaseAddress/BaseAddressReportBackend.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/BuildLogReport/BuildLogReport.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Catalog/CatalogBackend.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Html/HtmlBackend.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/MSVisualStudio.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/VisualStudio/Solution.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/CompilableFile.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwBackend.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwRBuildElementHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/Misc/MakefileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/Base/MingwRBuildModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootLoaderModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootSectorModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBuildToolModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwCabinetModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwEmbeddedTypeLibModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwHostStaticLibraryModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwIdlHeaderModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDLLModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDriverModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwMessageHeaderModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeCUIModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeDLLModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwObjectLibraryModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwPackageModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRBuildProjectHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcClientHeaderModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcProxyModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcServerHeaderModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwStaticLibraryModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32CUIModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32DLLModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32GUIModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32OCXModuleHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/TargetsHandlers/Base/MingwRBuildTargetHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/ProjectTreeReport/ProjectTreeReport.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/RBuildDB/RBuildDBBackend.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/RGenStats/RGenStatBackend.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Backends/WarningReport/WarningReport.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Collections/BackendCollection.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Collections/DefineCollection.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Collections/FileHandlerCollection.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Collections/LogListenerCollection.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskBuilderCollection.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskCollection.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Elements/Base/Element.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/BuildException.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/ValidationException.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedCFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedInfFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/BuildNumberFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/CompilationUnitFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DefinitionFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DffFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderCreditsFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderRosCfgFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupComponentSetupFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtCreditsFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupHiveFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/UnAttendSetupFileWriter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Handlers/SysSetupFileHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IBuildStatusMailReporter.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IDirectory.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IElement.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IFileHandler.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IRBuildInstallable.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ISysGenObject.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITaskContainer.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Location.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/LocationMap.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Log/Log.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/ConsoleLogger.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/StringLogger.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/XmlLogger.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskBuilder.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskFactory.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Properties/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj.user delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/SysGenConversion.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/SysGenDependencyTracker.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/SysGenEngine.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/SysGenPathResolver.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/Task.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/TaskContainer.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIFallbackTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIIncludeTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfNotTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoFilesTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoInstallFilesTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoManifest.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoRegisterTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoResource.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AuthorBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AutoFilesTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/CDFileBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileSystemInfoBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FolderBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PlatformFileBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PropertyBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/RbuildElementBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/ValueBaseTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BaseAdressTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootSector.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapFileTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BuildFamilyTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CDFileTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilationUnitTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilerFlagTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ComponentTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ContributorTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DebugChannelTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DefineTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DependencyTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DeveloperTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DirectoryTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FamilyTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FileTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/GroupTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ImportLibraryTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/IncludeTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstalFolder.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallComponent.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallFileTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallWallPaperFileTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LanguageTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LibraryTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerFlagTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerScriptTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LocalizationTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MantainterTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MetadataTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleStateTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/BuildTool.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Cabinet.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Kernel.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDLL.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDriver.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeCUI.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeDLL.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/ObjectLibrary.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Package.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/StaticLibrary.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32CUI.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32Dll.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32GUI.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32OCX.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32SCR.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/OverrideModuleTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PCHTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformAutorunTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDebugChannelTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDescriptionTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformLanguageTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformModuleTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformNameTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformScreenSaverTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformShellTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformWallpaperTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ProjectTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PropertyTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RBuildTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ReDefineTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RequiresTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/SetupTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/TargetTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/WallPaperTask.cs delete mode 100644 reactos/tools/sysgen/SysGen.Make/Program.cs delete mode 100644 reactos/tools/sysgen/SysGen.Make/Properties/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj delete mode 100644 reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj.user delete mode 100644 reactos/tools/sysgen/SysGen.Make/SysGen.Make.sln delete mode 100644 reactos/tools/sysgen/SysGen.Make/SysGen.Make.suo delete mode 100644 reactos/tools/sysgen/SysGen.Make/SysGen.Make/Program.cs delete mode 100644 reactos/tools/sysgen/SysGen.Make/SysGen.Make/Properties/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/SysGen.Make/SysGen.Make/SysGen.Make.csproj delete mode 100644 reactos/tools/sysgen/SysGen.RBuild.IRCBot/Collections/CommandCollection.cs delete mode 100644 reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/Base/Command.cs delete mode 100644 reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/WhoIsCommand.cs delete mode 100644 reactos/tools/sysgen/SysGen.RBuild.IRCBot/Properties/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/SysGen.RBuild.IRCBot/SysGen.RBuild.IRCBot.csproj delete mode 100644 reactos/tools/sysgen/SysGen.RBuild.IRCBot/cIRC.cs delete mode 100644 reactos/tools/sysgen/SysGen.sln delete mode 100644 reactos/tools/sysgen/TriStateTreeView/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/LICENSING.txt delete mode 100644 reactos/tools/sysgen/TriStateTreeView/License_CPLv05.txt delete mode 100644 reactos/tools/sysgen/TriStateTreeView/License_GPLv2.txt delete mode 100644 reactos/tools/sysgen/TriStateTreeView/License_LGPLv21.txt delete mode 100644 reactos/tools/sysgen/TriStateTreeView/SysGen.sln delete mode 100644 reactos/tools/sysgen/TriStateTreeView/SysGen.suo delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.csproj delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.resx delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/App.ico delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/App.ico delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.resx delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/TriStateTreeViewDemo.csproj delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/AssemblyInfo.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.csproj delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.resx delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Controls/FileSystemTriStateTreeView.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.resx delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RBuildModule.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RCWriter.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj.user delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.suo delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/UpgradeLog.XML delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/UpgradeLog2.XML delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.css delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.xslt delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport_Minus.gif delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport_Plus.gif delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/NUnit/.gitignore delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.cs delete mode 100644 reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.csproj delete mode 100644 reactos/tools/sysgen/style.css delete mode 100644 reactos/tools/tools.mak delete mode 100644 reactos/tools/tools.rbuild delete mode 100644 reactos/tools/unicode/unicode.rbuild delete mode 100644 reactos/tools/utf16le/utf16le.rbuild delete mode 100644 reactos/tools/widl/widl.rbuild delete mode 100644 reactos/tools/winebuild/Makefile.in delete mode 100644 reactos/tools/winebuild/build.h delete mode 100644 reactos/tools/winebuild/import.c delete mode 100644 reactos/tools/winebuild/main.c delete mode 100644 reactos/tools/winebuild/mkstemps.c delete mode 100644 reactos/tools/winebuild/parser.c delete mode 100644 reactos/tools/winebuild/relay.c delete mode 100644 reactos/tools/winebuild/res16.c delete mode 100644 reactos/tools/winebuild/res32.c delete mode 100644 reactos/tools/winebuild/ros_diff.patch delete mode 100644 reactos/tools/winebuild/spec16.c delete mode 100644 reactos/tools/winebuild/spec32.c delete mode 100644 reactos/tools/winebuild/utils.c delete mode 100644 reactos/tools/winebuild/winebuild.man.in delete mode 100644 reactos/tools/winebuild/winebuild.rbuild delete mode 100644 reactos/tools/wmc/CHANGES delete mode 100644 reactos/tools/wmc/CMakeLists.txt delete mode 100644 reactos/tools/wmc/lang.c delete mode 100644 reactos/tools/wmc/lang.h delete mode 100644 reactos/tools/wmc/mcl.c delete mode 100644 reactos/tools/wmc/mcy.tab.c delete mode 100644 reactos/tools/wmc/mcy.tab.h delete mode 100644 reactos/tools/wmc/mcy.y delete mode 100644 reactos/tools/wmc/utils.c delete mode 100644 reactos/tools/wmc/utils.h delete mode 100644 reactos/tools/wmc/wmc.c delete mode 100644 reactos/tools/wmc/wmc.h delete mode 100644 reactos/tools/wmc/wmc.rbuild delete mode 100644 reactos/tools/wmc/wmctypes.h delete mode 100644 reactos/tools/wmc/write.c delete mode 100644 reactos/tools/wmc/write.h delete mode 100644 reactos/tools/wpp/wpp.rbuild delete mode 100644 reactos/tools/wrc/CHANGES delete mode 100644 reactos/tools/wrc/CMakeLists.txt delete mode 100644 reactos/tools/wrc/dumpres.c delete mode 100644 reactos/tools/wrc/dumpres.h delete mode 100644 reactos/tools/wrc/genres.c delete mode 100644 reactos/tools/wrc/genres.h delete mode 100644 reactos/tools/wrc/lex.yy.c delete mode 100644 reactos/tools/wrc/newstruc.c delete mode 100644 reactos/tools/wrc/newstruc.h delete mode 100644 reactos/tools/wrc/parser.h delete mode 100644 reactos/tools/wrc/parser.l delete mode 100644 reactos/tools/wrc/parser.tab.c delete mode 100644 reactos/tools/wrc/parser.tab.h delete mode 100644 reactos/tools/wrc/parser.y delete mode 100644 reactos/tools/wrc/po.c delete mode 100644 reactos/tools/wrc/port/mkstemps.c delete mode 100644 reactos/tools/wrc/readres.c delete mode 100644 reactos/tools/wrc/readres.h delete mode 100644 reactos/tools/wrc/translation.c delete mode 100644 reactos/tools/wrc/utils.c delete mode 100644 reactos/tools/wrc/utils.h delete mode 100644 reactos/tools/wrc/wrc.c delete mode 100644 reactos/tools/wrc/wrc.doc delete mode 100644 reactos/tools/wrc/wrc.h delete mode 100644 reactos/tools/wrc/wrc.rbuild delete mode 100644 reactos/tools/wrc/wrcrostypes.h delete mode 100644 reactos/tools/wrc/wrctypes.h delete mode 100644 reactos/tools/wrc/writeres.c diff --git a/reactos/CMakeLists.txt b/reactos/CMakeLists.txt index b0b4d89648e..0c6790f0fb8 100644 --- a/reactos/CMakeLists.txt +++ b/reactos/CMakeLists.txt @@ -61,7 +61,7 @@ if(NOT CMAKE_CROSSCOMPILING) add_subdirectory(lib) if(NOT MSVC) - export(TARGETS widl wrc gendib cabman cdmake mkhive obj2bin spec2def geninc rsym mkshelllink FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) + export(TARGETS widl gendib cabman cdmake mkhive obj2bin spec2def geninc rsym mkshelllink FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) else() export(TARGETS gendib cabman cdmake mkhive obj2bin spec2def geninc mkshelllink FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake NAMESPACE native- ) endif() diff --git a/reactos/Makefile b/reactos/Makefile deleted file mode 100644 index cf320c428f6..00000000000 --- a/reactos/Makefile +++ /dev/null @@ -1,633 +0,0 @@ -# Well-known targets: -# -# all (default target) -# This target builds all of ReactOS. -# -# module -# These targets builds a single module. Replace module with the name of -# the module you want to build. -# -# bootcd -# This target builds an ISO (ReactOS.iso) from which ReactOS can be booted -# and installed. -# -# livecd -# This target builds an ISO (ReactOS-Live.iso) from which ReactOS can be -# booted, but not installed. -# -# install -# This target installs all of ReactOS to a location specified by the -# ROS_INSTALL environment variable. -# -# module_install -# These targets installs a single module to a location specified by the -# ROS_INSTALL environment variable. Replace module with the name of the -# module you want to install. -# -# clean -# This target cleans (deletes) all files that are generated when building -# ReactOS. -# -# module_clean -# These targets cleans (deletes) files that are generated when building a -# single module. Replace module with the name of the module you want to -# clean. -# -# depends -# This target does a complete dependency check of the ReactOS codebase. -# This can require several minutes to complete. If you only need to check -# dependencies for a single or few modules then you can use the -# module_depends targets instead. This target can also repair a damaged or -# missing makefile-${ROS_ARCH}.auto if needed. -# -# module_depends -# These targets do a dependency check of individual modules. Replace module -# with the name of the module for which you want to check dependencies. -# This is faster than the depends target which does a complete dependency -# check of the ReactOS codebase. -# -# bootcdregtest -# This target builds an ISO (ReactOS-RegTest.ISO) which is used for unattended -# regression testing. -# -# -# Accepted environment variables: -# -# ROS_ARCH -# This variable specifies the name of the architecture to build ReactOS for. -# The variable defaults to i386. -# -# ROS_PREFIX -# This variable specifies the prefix of the MinGW installation. On Windows -# a prefix is usually not needed, but on linux it is usually "mingw32". If -# not present and no executable named "gcc" can be found, then the prefix is -# assumed to be "mingw32". If your gcc is named i386-mingw32-gcc then set -# ROS_PREFIX to i386-mingw32. Don't include the dash (-) before gcc. -# -# ROS_INTERMEDIATE -# This variable controls where to put intermediate files. Intermediate -# files are generated files that are needed to generate the final -# output files. Examples of intermediate files include *.o, *.a, and -# *.coff. N.B. Don't put a path separator at the end. The variable -# defaults to .\obj-{ROS_ARCH}. -# -# ROS_OUTPUT -# This variable controls where to put output files. Output files are -# generated files that makes up the result of the build process. -# Examples of output files include *.exe, *.dll, and *.sys. N.B. Don't -# put a path separator at the end. The variable defaults to .\output-{ROS_ARCH}. -# -# ROS_CDOUTPUT -# This variable controls the name of the ReactOS directory on cdrom. -# The variable defaults to reactos. -# Warning: setting this value may lead to a not bootable/installable cdrom. -# -# ROS_TEMPORARY -# This variable controls where to put temporary files. Temporary files -# are (usually small) generated files that are needed to generate the -# intermediate or final output files. Examples of temporary files include -# *.rci (preprocessed .rc files for wrc), *.tmp, and *.exp. N.B. Don't put -# a path separator at the end. The variable defaults to {ROS_INTERMEDIATE} -# directory. -# -# ROS_INSTALL -# This variable controls where to install output files to when using -# 'make install'. N.B. Don't put a path separator at the end. The variable -# defaults to .\{ROS_CDOUTPUT}. -# -# ROS_BUILDMAP -# This variable controls if map files are to be generated for executable -# output files. Map files have the extension .map. The value can be either -# full (to build map files with assembly code), yes (to build map files -# without source code) or no (to not build any map files). The variable -# defaults to no. -# -# ROS_BUILDNOSTRIP -# This variable controls if non-symbol-stripped versions are to be built -# of executable output files. Non-symbol-stripped executable output files -# have .nostrip added to the filename just before the extension. The value -# can be either yes (to build non-symbol-stripped versions of executable -# output files) or no (to not build non-symbol-stripped versions of -# executable output files). The variable defaults to no. -# -# ROS_LEAN_AND_MEAN -# This variable controls if all binaries should be stripped out of useless -# data added by GCC/LD as well as of RSYM symbol data. Output binary size -# will go from 80 to 40MB, memory usage from 58 to 38MB and the install CD -# from 18 to 13MB. The variable defaults to no. -# -# ROS_GENERATE_RSYM -# This variable controls generation of RSYM symbol data. The value can be -# either yes (to generate symbol data) or no. The variable defaults to yes. -# -# ROS_RBUILDFLAGS -# Pass parameters to rbuild. -# -v Be verbose. -# -c Clean as you go. Delete generated files as soon as they are not needed anymore. -# -dd Disable automatic dependencies. -# -da Enable automatic dependencies. -# -df Enable full dependencies. -# -dm{module} Check only automatic dependencies for this module. -# -hd Disable precompiled headers. -# -mi Let make handle creation of install directories. Rbuild will not generate the directories. -# -ps Generate proxy makefiles in source tree instead of the output tree. -# -ud Disable compilation units. -# -r Input XML -# -# ROS_AUTOMAKE -# Alternate name of makefile-${ROS_ARCH}.auto -# -# ROS_BUILDENGINE -# The Build engine to be used. The variable defaults to rbuild (RBUILD_TARGET) -# - -# check for versions of make that don't have features we need... -# the function "eval" is only available in 3.80+, which happens to be the minimum -# version that has the features we use... -# THIS CHECK IS BORROWED FROM THE "GMSL" PROJECT, AND IS COVERED BY THE GPL LICENSE -# YOU CAN FIND OUT MORE ABOUT GMSL - A VERY COOL PROJECT - AT: -# http://gmsl.sourceforge.net/ - -__gmsl_have_eval := -__gmsl_ignore := $(eval __gmsl_have_eval := T) - -ifndef __gmsl_have_eval -$(error ReactOS's makefiles use GNU Make 3.80+ features, you have $(MAKE_VERSION), you MUST UPGRADE in order to build ReactOS - Sorry) -endif -# END of code borrowed from GMSL ( http://gmsl.sourceforge.net/ ) - -define NL - - -endef - -.PHONY: all -.PHONY: clean -.PHONY: world -.PHONY: universe - -ifneq ($(ROS_ARCH),) - ARCH := $(ROS_ARCH) -else - ARCH := i386 -endif - -ifeq ($(ROS_AUTOMAKE),) - ROS_AUTOMAKE=makefile-$(ARCH).auto -endif - -all: $(ROS_AUTOMAKE) - - -.SUFFIXES: - -ifeq ($(HOST),) -ifeq ($(word 1,$(shell gcc -dumpmachine)),mingw32) -ifeq ($(findstring msys,$(shell sh --version 2>nul)),msys) -export OSTYPE = msys -HOST=mingw32-linux -HOST_CFLAGS+=-fshort-wchar -HOST_CPPFLAGS+=-fshort-wchar -else -HOST=mingw32-windows -endif -else -HOST=mingw32-linux -HOST_CFLAGS+=-fshort-wchar -HOST_CPPFLAGS+=-fshort-wchar -endif -endif - -# Default to half-verbose mode -ifeq ($(VERBOSE),no) - Q = @ - HALFVERBOSEECHO = no - BUILDNO_QUIET = -q -else -ifeq ($(VERBOSE),full) - Q = - HALFVERBOSEECHO = no - BUILDNO_QUIET = -else - Q = @ - HALFVERBOSEECHO = yes - BUILDNO_QUIET = -q -endif -endif -ifeq ($(HOST),mingw32-linux) - QUOTE = " -else - QUOTE = -endif -ifeq ($(HALFVERBOSEECHO),yes) - ECHO_CP =@echo $(QUOTE)[COPY] $@$(QUOTE) - ECHO_MKDIR =@echo $(QUOTE)[MKDIR] $@$(QUOTE) - ECHO_BUILDNO =@echo $(QUOTE)[BUILDNO] $@$(QUOTE) - ECHO_INVOKE =@echo $(QUOTE)[INVOKE] $<$(QUOTE) - ECHO_PCH =@echo $(QUOTE)[PCH] $@$(QUOTE) - ECHO_CPP =@echo $(QUOTE)[CPP] $@$(QUOTE) - ECHO_CC =@echo $(QUOTE)[CC] $<$(QUOTE) - ECHO_HOSTCC =@echo $(QUOTE)[HOST-CC] $<$(QUOTE) - ECHO_CL =@echo $(QUOTE)[CL] $<$(QUOTE) - ECHO_AS =@echo $(QUOTE)[AS] $<$(QUOTE) - ECHO_NASM =@echo $(QUOTE)[NASM] $<$(QUOTE) - ECHO_AR =@echo $(QUOTE)[AR] $@$(QUOTE) - ECHO_HOSTAR =@echo $(QUOTE)[HOST-AR] $@$(QUOTE) - ECHO_WINEBLD =@echo $(QUOTE)[WINEBLD] $@$(QUOTE) - ECHO_WRC =@echo $(QUOTE)[WRC] $@$(QUOTE) - ECHO_RC =@echo $(QUOTE)[RC] $@$(QUOTE) - ECHO_CVTRES =@echo $(QUOTE)[CVTRES] $@$(QUOTE) - ECHO_WIDL =@echo $(QUOTE)[WIDL] $@$(QUOTE) - ECHO_BIN2RES =@echo $(QUOTE)[BIN2RES] $<$(QUOTE) - ECHO_IMPLIB =@echo $(QUOTE)[IMPLIB] $@$(QUOTE) - ECHO_LD =@echo $(QUOTE)[LD] $@$(QUOTE) - ECHO_HOSTLD =@echo $(QUOTE)[HOST-LD] $@$(QUOTE) - ECHO_LINK =@echo $(QUOTE)[LINK] $@$(QUOTE) - ECHO_NM =@echo $(QUOTE)[NM] $@$(QUOTE) - ECHO_OBJDUMP =@echo $(QUOTE)[OBJDUMP] $@$(QUOTE) - ECHO_RBUILD =@echo $(QUOTE)[RBUILD] $@$(QUOTE) - ECHO_RSYM =@echo $(QUOTE)[RSYM] $@$(QUOTE) - ECHO_PEFIXUP =@echo $(QUOTE)[PEFIXUP] $@$(QUOTE) - ECHO_WMC =@echo $(QUOTE)[WMC] $@$(QUOTE) - ECHO_NCI =@echo $(QUOTE)[NCI] $@$(QUOTE) - ECHO_CABMAN =@echo $(QUOTE)[CABMAN] $<$(QUOTE) - ECHO_CDMAKE =@echo $(QUOTE)[CDMAKE] $@$(QUOTE) - ECHO_MKHIVE =@echo $(QUOTE)[MKHIVE] $@$(QUOTE) - ECHO_REGTESTS=@echo $(QUOTE)[REGTESTS] $@$(QUOTE) - ECHO_TEST =@echo $(QUOTE)[TEST] $@$(QUOTE) - ECHO_GENDIB =@echo $(QUOTE)[GENDIB] $@$(QUOTE) - ECHO_STRIP =@echo $(QUOTE)[STRIP] $@$(QUOTE) - ECHO_RGENSTAT=@echo $(QUOTE)[RGENSTAT] $@$(QUOTE) - ECHO_DEPENDS =@echo $(QUOTE)[DEPENDS] $<$(QUOTE) - ECHO_RSP =@echo $(QUOTE)[RSP] $@$(QUOTE) -else - ECHO_CP = - ECHO_MKDIR = - ECHO_BUILDNO = - ECHO_INVOKE = - ECHO_PCH = - ECHO_CPP = - ECHO_CC = - ECHO_HOSTCC = - ECHO_AS = - ECHO_NASM = - ECHO_AR = - ECHO_HOSTAR = - ECHO_WINEBLD = - ECHO_WRC = - ECHO_RC = - ECHO_CVTRES = - ECHO_WIDL = - ECHO_BIN2RES = - ECHO_IMPLIB = - ECHO_LD = - ECHO_HOSTLD = - ECHO_NM = - ECHO_OBJDUMP = - ECHO_RBUILD = - ECHO_RSYM = - ECHO_WMC = - ECHO_NCI = - ECHO_CABMAN = - ECHO_CDMAKE = - ECHO_MKHIVE = - ECHO_REGTESTS= - ECHO_TEST = - ECHO_GENDIB = - ECHO_STRIP = - ECHO_RGENSTAT= - ECHO_DEPENDS = - ECHO_RSP = -endif - -# Set host compiler/linker -ifeq ($(HOST_CC),) - HOST_CC = gcc -endif -ifeq ($(HOST_CPP),) - HOST_CPP = g++ -endif -host_gcc = $(Q)$(HOST_CC) -host_gpp = $(Q)$(HOST_CPP) -host_ld = $(Q)ld -host_ar = $(Q)ar -host_objcopy = $(Q)objcopy - -# Set target compiler/linker -ifneq ($(ROS_PREFIX),) - PREFIX_ := $(ROS_PREFIX)- -else - ifeq ($(HOST),mingw32-linux) - PREFIX_ := mingw32- - else - PREFIX_ := - endif -endif -ifeq ($(TARGET_CC),) - TARGET_CC = $(PREFIX_)gcc -endif -ifeq ($(TARGET_CPP),) - TARGET_CPP = $(PREFIX_)g++ -endif -gcc = $(Q)$(TARGET_CC) -gpp = $(Q)$(TARGET_CPP) -gas = $(Q)$(TARGET_CC) -x assembler-with-cpp -ld = $(Q)$(PREFIX_)ld -nm = $(Q)$(PREFIX_)nm -objdump = $(Q)$(PREFIX_)objdump -ar = $(Q)$(PREFIX_)ar -objcopy = $(Q)$(PREFIX_)objcopy -dlltool = $(Q)$(PREFIX_)dlltool -strip = $(Q)$(PREFIX_)strip -windres = $(Q)$(PREFIX_)windres - -# Set utilities -ifeq ($(OSTYPE),msys) - HOST=mingw32-linux -endif -ifeq ($(HOST),mingw32-linux) - ifeq ($(OSTYPE),msys) - export EXEPOSTFIX = .exe - else - export EXEPOSTFIX = - endif - export SEP = / - mkdir = -$(Q)mkdir -p - checkpoint = $(Q)touch - rm = $(Q)rm -f - cp = $(Q)cp - NUL = /dev/null -else # mingw32-windows - export EXEPOSTFIX = .exe - ROS_EMPTY = - export SEP = \$(ROS_EMPTY) - mkdir = -$(Q)mkdir - checkpoint = $(Q)copy /y NUL - rm = $(Q)del /f /q - cp = $(Q)copy /y - NUL = NUL -endif - -ifneq ($(ROS_INTERMEDIATE),) - INTERMEDIATE := $(ROS_INTERMEDIATE) -else - INTERMEDIATE := obj-$(ARCH) -endif -INTERMEDIATE_ := $(INTERMEDIATE)$(SEP) - -ifneq ($(ROS_OUTPUT),) - OUTPUT := $(ROS_OUTPUT) -else - OUTPUT := output-$(ARCH) -endif -OUTPUT_ := $(OUTPUT)$(SEP) - -ifneq ($(ROS_CDOUTPUT),) - CDOUTPUT := $(ROS_CDOUTPUT) -else - CDOUTPUT := reactos -endif -CDOUTPUT_ := $(CDOUTPUT)$(SEP) - -ifneq ($(ROS_TEMPORARY),) - TEMPORARY := $(ROS_TEMPORARY) -else - TEMPORARY := $(INTERMEDIATE) -endif -TEMPORARY_ := $(TEMPORARY)$(SEP) - -ifneq ($(ROS_INSTALL),) - INSTALL := $(ROS_INSTALL) -else - INSTALL := $(CDOUTPUT) -endif -INSTALL_ := $(INSTALL)$(SEP) - -RBUILD_FLAGS := -rReactOS-$(ARCH).rbuild -DARCH=$(ARCH) - -$(INTERMEDIATE): - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(OUTPUT): - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -ifneq ($(TEMPORARY),$(INTERMEDIATE)) -ifneq ($(TEMPORARY),$(OUTPUT)) -$(TEMPORARY): - $(ECHO_MKDIR) - ${mkdir} $@ -endif -endif - -BUILDNO_H = $(INTERMEDIATE_)include$(SEP)reactos$(SEP)buildno.h - -include lib/lib.mak -include tools/tools.mak --include $(ROS_AUTOMAKE) - -PREAUTO := \ - $(BIN2C_TARGET) \ - $(BIN2RES_TARGET) \ - $(BUILDNO_H) \ - $(GENDIB_DIB_FILES) \ - $(NCI_SERVICE_FILES) - -ifeq ($(ARCH),powerpc) -PREAUTO += $(OFW_INTERFACE_SERVICE_FILES) $(PPCMMU_TARGETS) -endif - -ifeq ($(ROS_BUILDENGINE),) -ROS_BUILDENGINE=$(RBUILD_TARGET) -endif - -$(ROS_AUTOMAKE): $(ROS_BUILDENGINE) $(XMLBUILDFILES) | $(PREAUTO) - ${mkdir} $(OUTPUT_)media$(SEP)inf 2>$(NUL) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw - -world: all bootcd livecd - -universe: - $(MAKE) KDBG=1 DBG=1 \ - ROS_AUTOMAKE=makefile-$(ARCH)-kd.auto \ - ROS_INSTALL=reactos-$(ARCH)-kd \ - ROS_INTERMEDIATE=obj-$(ARCH)-kd \ - ROS_OUTPUT=output-$(ARCH)-kd \ - world - $(MAKE) KDBG=0 DBG=1 \ - ROS_AUTOMAKE=makefile-$(ARCH)-d.auto \ - ROS_INSTALL=reactos-$(ARCH)-d \ - ROS_INTERMEDIATE=obj-$(ARCH)-d \ - ROS_OUTPUT=output-$(ARCH)-d \ - world - $(MAKE) KDBG=0 DBG=0 \ - ROS_AUTOMAKE=makefile-$(ARCH)-r.auto \ - ROS_INSTALL=reactos-$(ARCH)-r \ - ROS_INTERMEDIATE=obj-$(ARCH)-r \ - ROS_OUTPUT=output-$(ARCH)-r \ - world - -.PHONY: rgenstat -rgenstat: $(RGENSTAT_TARGET) - $(ECHO_RGENSTAT) - $(Q)$(RGENSTAT_TARGET) apistatus.lst apistatus.xml - -.PHONY: msbuild -msbuild: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msbuild - -.PHONY: msbuild_clean -msbuild_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msbuild - -.PHONY: depmap -depmap: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) depmap - -.PHONY: vreport -vreport:$(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) vreport - -.PHONY: msvc -msvc: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) msvc - -.PHONY: msvc6 -msvc6: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs6.00 -voversionconfiguration msvc - -.PHONY: msvc7 -msvc7: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -voversionconfiguration msvc - -.PHONY: msvc71 -msvc71: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -voversionconfiguration msvc - -.PHONY: msvc8 -msvc8: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -voversionconfiguration msvc - -.PHONY: msvc9 -msvc9: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs9.00 -voversionconfiguration msvc - -.PHONY: msvc10 -msvc10: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs10.00 -voversionconfiguration msvc - -.PHONY: msvc6_clean -msvc6_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc - -.PHONY: msvc7_clean -msvc7_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc - -.PHONY: msvc71_clean -msvc71_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc - -.PHONY: msvc8_clean -msvc8_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.00 -voversionconfiguration msvc - -.PHONY: msvc9_clean -msvc9_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs9.00 -voversionconfiguration msvc - -.PHONY: msvc10_clean -msvc10_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs10.00 -voversionconfiguration msvc - -.PHONY: msvc_clean -msvc_clean: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c msvc - -.PHONY: msvc_clean_all -msvc_clean_all: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs6.00 -voversionconfiguration msvc - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.00 -voversionconfiguration msvc - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs7.10 -voversionconfiguration msvc - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -c -vs8.10 -voversionconfiguration msvc - -.PHONY: msvc7_install_debug -msvc7_install_debug: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcdebug -voversionconfiguration msvc - -.PHONY: msvc7_install_release -msvc7_install_release: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcrelease -voversionconfiguration msvc - -.PHONY: msvc7_install_speed -msvc7_install_speed: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.00 -vcspeed -voversionconfiguration msvc - -.PHONY: msvc71_install_debug -msvc71_install_debug: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcdebug -voversionconfiguration msvc - -.PHONY: msvc71_install_release -msvc71_install_release: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcrelease -voversionconfiguration msvc - - -.PHONY: msvc71_install_speed -msvc71_install_speed: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs7.10 -vcspeed -voversionconfiguration msvc - -.PHONY: msvc8_install_debug -msvc8_install_debug: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcdebug -voversionconfiguration msvc - -.PHONY: msvc8_install_release -msvc8_install_release: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcrelease -voversionconfiguration msvc - -.PHONY: msvc8_install_speed -msvc8_install_speed: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) -vs8.00 -vcspeed -voversionconfiguration msvc - -.PHONY: makefile_auto_clean -makefile_auto_clean: - -@$(rm) $(ROS_AUTOMAKE) $(PREAUTO) 2>$(NUL) - -.PHONY: clean -clean: makefile_auto_clean - -.PHONY: depends -depends: $(ROS_BUILDENGINE) - $(ECHO_RBUILD) - $(Q)$(ROS_BUILDENGINE) $(RBUILD_FLAGS) $(ROS_RBUILDFLAGS) mingw diff --git a/reactos/ReactOS-amd64.rbuild b/reactos/ReactOS-amd64.rbuild deleted file mode 100644 index aed1245aba4..00000000000 --- a/reactos/ReactOS-amd64.rbuild +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ftracer - -momit-leaf-frame-pointer - - -fms-extensions - -mpreferred-stack-boundary=4 - -m64 --win64 - - - -U_X86_ - -UWIN32 - -Wno-format - - - - -disable-stdcall-fixup - -file-alignment=0x1000 - -section-alignment=0x1000 - --unique=.eh_frame - -static - --exclude-all-symbols - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/ReactOS-arm.rbuild b/reactos/ReactOS-arm.rbuild deleted file mode 100644 index 22da8090ddb..00000000000 --- a/reactos/ReactOS-arm.rbuild +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - include/reactos/arm - - - - - - - - -ftracer - - -fms-extensions - -Wno-attributes - -U_UNICODE - -UUNICODE - - - - - - - --strip-debug - -static - -file-alignment=0x1000 - -section-alignment=0x1000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/ReactOS-generic.rbuild b/reactos/ReactOS-generic.rbuild deleted file mode 100644 index 7b6d23a19a2..00000000000 --- a/reactos/ReactOS-generic.rbuild +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - - - - 1 - - - - - 0 - - - - 1 - - - - - - - - 0x400 - 0x600 - 0x400 - 0x400 - 0x400 - - - - 0x500 - 0x600 - 0x500 - 0x500 - 0x500 - - - - 0x501 - 0x600 - 0x501 - 0x501 - 0x501 - - - - 0x502 - 0x600 - 0x502 - 0x502 - 0x502 - - - - 0x600 - 0x600 - 0x600 - 0x600 - 0x600 - - - . - include - include - include/psdk - include/psdk - include/dxsdk - include/dxsdk - include/crt - include/crt/mingw32 - include/crt/msc - include/ddk - include/GL - include/ndk - include/reactos - include/reactos - include/reactos/mc - include/reactos/libs - - include/host - - - -Wall - -Wno-char-subscripts - -Wno-non-virtual-dtor - - - - __inline - 1 - /Zl - /Zi - /W1 - - - - - -Os - - - -Os - - - -O1 - - - -O2 - - - -O3 - - - -fno-strict-aliasing - -Wpointer-arith - -Wno-multichar - -Wno-error=uninitialized - - - - - - /O1 - - - /O2 - - - /Ox /GS- - /Ot - - - /Ox /GS- - /Os - - - /Ox /GS- - /Os - /Ob2 - /GF - /Gy - - - /GS- - - - diff --git a/reactos/ReactOS-i386.rbuild b/reactos/ReactOS-i386.rbuild deleted file mode 100644 index 0cf26e14c75..00000000000 --- a/reactos/ReactOS-i386.rbuild +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - -ftracer - -momit-leaf-frame-pointer - - -fms-extensions - -mpreferred-stack-boundary=2 - -m32 --win32 - -gstabs+ - -fno-set-stack-executable - -fno-optimize-sibling-calls - -fno-omit-frame-pointer - -gstabs+ - - - - -disable-stdcall-fixup - -file-alignment=0x1000 - -section-alignment=0x1000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/ReactOS-ppc.rbuild b/reactos/ReactOS-ppc.rbuild deleted file mode 100644 index 1dd201e05b3..00000000000 --- a/reactos/ReactOS-ppc.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - -fshort-wchar - -fsigned-char - -mfull-toc - -meabi - -O2 - -Wno-strict-aliasing - -gstabs+ - -gstabs+ - diff --git a/reactos/base/applications/applications.rbuild b/reactos/base/applications/applications.rbuild deleted file mode 100644 index 8255a9c61ad..00000000000 --- a/reactos/base/applications/applications.rbuild +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/applications/cacls/cacls.rbuild b/reactos/base/applications/cacls/cacls.rbuild deleted file mode 100644 index 96b8fbee462..00000000000 --- a/reactos/base/applications/cacls/cacls.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - advapi32 - ntdll - user32 - shell32 - cacls.c - cacls.rc - precomp.h - diff --git a/reactos/base/applications/calc/calc.rbuild b/reactos/base/applications/calc/calc.rbuild deleted file mode 100644 index 4cbc7869e3e..00000000000 --- a/reactos/base/applications/calc/calc.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - . - 1 - msvcrt - advapi32 - gdi32 - user32 - about.c - convert.c - function.c - rpn.c - utl.c - winmain.c - resource.rc - calc.h - diff --git a/reactos/base/applications/charmap/charmap.rbuild b/reactos/base/applications/charmap/charmap.rbuild deleted file mode 100644 index bdea2fd7f1f..00000000000 --- a/reactos/base/applications/charmap/charmap.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - gdi32 - user32 - comctl32 - about.c - charmap.c - lrgcell.c - map.c - charmap.rc - precomp.h - diff --git a/reactos/base/applications/cmdutils/cmdutils.rbuild b/reactos/base/applications/cmdutils/cmdutils.rbuild deleted file mode 100644 index 23f964db9c1..00000000000 --- a/reactos/base/applications/cmdutils/cmdutils.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild b/reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild deleted file mode 100644 index 7fae9cfe87a..00000000000 --- a/reactos/base/applications/cmdutils/dbgprint/dbgprint.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - dbgprint.c - diff --git a/reactos/base/applications/cmdutils/doskey/doskey.rbuild b/reactos/base/applications/cmdutils/doskey/doskey.rbuild deleted file mode 100644 index f38eb3009d7..00000000000 --- a/reactos/base/applications/cmdutils/doskey/doskey.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - user32 - doskey.c - doskey.rc - diff --git a/reactos/base/applications/cmdutils/find/find.rbuild b/reactos/base/applications/cmdutils/find/find.rbuild deleted file mode 100644 index 84a700aa724..00000000000 --- a/reactos/base/applications/cmdutils/find/find.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - user32 - find.c - find.rc - rsrc.rc - diff --git a/reactos/base/applications/cmdutils/hostname/hostname.rbuild b/reactos/base/applications/cmdutils/hostname/hostname.rbuild deleted file mode 100644 index 76a3f4084d7..00000000000 --- a/reactos/base/applications/cmdutils/hostname/hostname.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - hostname.c - hostname.rc - - diff --git a/reactos/base/applications/cmdutils/lodctr/lodctr.rbuild b/reactos/base/applications/cmdutils/lodctr/lodctr.rbuild deleted file mode 100644 index ea5e7cf1198..00000000000 --- a/reactos/base/applications/cmdutils/lodctr/lodctr.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - loadperf - wine - lodctr_main.c - diff --git a/reactos/base/applications/cmdutils/more/more.rbuild b/reactos/base/applications/cmdutils/more/more.rbuild deleted file mode 100644 index c94585a53ba..00000000000 --- a/reactos/base/applications/cmdutils/more/more.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - ntdll - user32 - more.c - more.rc - diff --git a/reactos/base/applications/cmdutils/reg/reg.rbuild b/reactos/base/applications/cmdutils/reg/reg.rbuild deleted file mode 100644 index ac33ef4fd0b..00000000000 --- a/reactos/base/applications/cmdutils/reg/reg.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - 0x600 - wine - advapi32 - user32 - reg.c - rsrc.rc - diff --git a/reactos/base/applications/cmdutils/xcopy/xcopy.rbuild b/reactos/base/applications/cmdutils/xcopy/xcopy.rbuild deleted file mode 100644 index 437fa46bf63..00000000000 --- a/reactos/base/applications/cmdutils/xcopy/xcopy.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - wine - shell32 - user32 - xcopy.c - rsrc.rc - - diff --git a/reactos/base/applications/control/control.rbuild b/reactos/base/applications/control/control.rbuild deleted file mode 100644 index 2fe410ec9c7..00000000000 --- a/reactos/base/applications/control/control.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - advapi32 - shell32 - control.c - control.rc - diff --git a/reactos/base/applications/dxdiag/dxdiag.rbuild b/reactos/base/applications/dxdiag/dxdiag.rbuild deleted file mode 100644 index 1da09c53cdd..00000000000 --- a/reactos/base/applications/dxdiag/dxdiag.rbuild +++ /dev/null @@ -1,35 +0,0 @@ - - - - . - user32 - advapi32 - comctl32 - shell32 - version - dinput8 - setupapi - dxguid - dsound - ddraw - version - gdi32 - winmm - wintrust - d3d9 - system.c - display.c - sound.c - music.c - input.c - network.c - help.c - dxdiag.c - dxdiag.rc - ddtest.c - d3dtest.c - d3dtest7.c - d3dtest8.c - d3dtest9.c - precomp.h - diff --git a/reactos/base/applications/extrac32/extrac32.rbuild b/reactos/base/applications/extrac32/extrac32.rbuild deleted file mode 100644 index 24532ddfd3d..00000000000 --- a/reactos/base/applications/extrac32/extrac32.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - . - wine - shell32 - setupapi - shlwapi - user32 - extrac32.c - diff --git a/reactos/base/applications/findstr/findstr.rbuild b/reactos/base/applications/findstr/findstr.rbuild deleted file mode 100644 index 64306e39df8..00000000000 --- a/reactos/base/applications/findstr/findstr.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - user32 - findstr.c - findstr.rc - rsrc.rc - diff --git a/reactos/base/applications/fontview/fontview.rbuild b/reactos/base/applications/fontview/fontview.rbuild deleted file mode 100644 index f5cad36f1a9..00000000000 --- a/reactos/base/applications/fontview/fontview.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - gdi32 - user32 - shell32 - fontview.c - display.c - fontview.rc - diff --git a/reactos/base/applications/games/games.rbuild b/reactos/base/applications/games/games.rbuild deleted file mode 100644 index 53c751369f3..00000000000 --- a/reactos/base/applications/games/games.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/base/applications/games/solitaire/solitaire.rbuild b/reactos/base/applications/games/solitaire/solitaire.rbuild deleted file mode 100644 index 98ea8fbb0cc..00000000000 --- a/reactos/base/applications/games/solitaire/solitaire.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - . - cardlib - solcreate.cpp - solgame.cpp - solitaire.cpp - rsrc.rc - solitaire.h - diff --git a/reactos/base/applications/games/spider/spider.rbuild b/reactos/base/applications/games/spider/spider.rbuild deleted file mode 100644 index 52b86c72e34..00000000000 --- a/reactos/base/applications/games/spider/spider.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - . - cardlib - spigame.cpp - spider.cpp - rsrc.rc - spider.h - diff --git a/reactos/base/applications/games/winmine/winmine.rbuild b/reactos/base/applications/games/winmine/winmine.rbuild deleted file mode 100644 index 97abb45666d..00000000000 --- a/reactos/base/applications/games/winmine/winmine.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - . - wine - gdi32 - user32 - advapi32 - shell32 - main.c - dialog.c - rsrc.rc - diff --git a/reactos/base/applications/hh/hh.rbuild b/reactos/base/applications/hh/hh.rbuild deleted file mode 100644 index c81f6680097..00000000000 --- a/reactos/base/applications/hh/hh.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - user32 - gdi32 - main.c - hh.rc - diff --git a/reactos/base/applications/iexplore/iexplore.rbuild b/reactos/base/applications/iexplore/iexplore.rbuild deleted file mode 100644 index 5fa8e6a0c14..00000000000 --- a/reactos/base/applications/iexplore/iexplore.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - user32 - gdi32 - shdocvw - main.c - iexplore.rc - diff --git a/reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild b/reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild deleted file mode 100644 index f459343e6c3..00000000000 --- a/reactos/base/applications/kbswitch/kbsdll/kbsdll.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - user32 - comctl32 - kbsdll.c - kbsdll.rc - diff --git a/reactos/base/applications/kbswitch/kbswitch.rbuild b/reactos/base/applications/kbswitch/kbswitch.rbuild deleted file mode 100644 index 11ea960adae..00000000000 --- a/reactos/base/applications/kbswitch/kbswitch.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - . - advapi32 - user32 - shell32 - gdi32 - kbswitch.c - kbswitch.rc - - - - - diff --git a/reactos/base/applications/logoff/logoff.rbuild b/reactos/base/applications/logoff/logoff.rbuild deleted file mode 100644 index d53f79499e4..00000000000 --- a/reactos/base/applications/logoff/logoff.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - advapi32 - user32 - misc.c - logoff.c - logoff.rc - precomp.h - diff --git a/reactos/base/applications/magnify/magnify.rbuild b/reactos/base/applications/magnify/magnify.rbuild deleted file mode 100644 index bf08bc862a3..00000000000 --- a/reactos/base/applications/magnify/magnify.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - . - user32 - gdi32 - advapi32 - shell32 - magnifier.c - settings.c - magnify.rc - magnifier.h - diff --git a/reactos/base/applications/mmc/mmc.rbuild b/reactos/base/applications/mmc/mmc.rbuild deleted file mode 100644 index 8976acd569e..00000000000 --- a/reactos/base/applications/mmc/mmc.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - . - user32 - gdi32 - comdlg32 - advapi32 - shell32 - comctl32 - console.c - misc.c - mmc.c - mmc.rc - precomp.h - diff --git a/reactos/base/applications/mplay32/mplay32.rbuild b/reactos/base/applications/mplay32/mplay32.rbuild deleted file mode 100644 index 77003d90898..00000000000 --- a/reactos/base/applications/mplay32/mplay32.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - advapi32 - comctl32 - comdlg32 - user32 - gdi32 - winmm - shell32 - mplay32.c - mplay32.rc - diff --git a/reactos/base/applications/msconfig/msconfig.rbuild b/reactos/base/applications/msconfig/msconfig.rbuild deleted file mode 100644 index 958125f2d0f..00000000000 --- a/reactos/base/applications/msconfig/msconfig.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - . - user32 - advapi32 - version - comctl32 - shell32 - shlwapi - - toolspage.c - srvpage.c - systempage.c - startuppage.c - freeldrpage.c - generalpage.c - msconfig.c - - msconfig.rc - precomp.h - diff --git a/reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild b/reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild deleted file mode 100644 index a5f6844f06a..00000000000 --- a/reactos/base/applications/mscutils/devmgmt/devmgmt.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - -. - ntdll - setupapi - gdi32 - user32 - comctl32 - advapi32 - devmgr - - about.c - devmgmt.c - enumdevices.c - mainwnd.c - misc.c - - devmgmt.rc - precomp.h - diff --git a/reactos/base/applications/mscutils/directory.rbuild b/reactos/base/applications/mscutils/directory.rbuild deleted file mode 100644 index 454397af7cc..00000000000 --- a/reactos/base/applications/mscutils/directory.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild b/reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild deleted file mode 100644 index cb23e1f3eef..00000000000 --- a/reactos/base/applications/mscutils/eventvwr/eventvwr.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - user32 - comctl32 - advapi32 - eventvwr.c - eventvwr.rc - diff --git a/reactos/base/applications/mscutils/servman/servman.rbuild b/reactos/base/applications/mscutils/servman/servman.rbuild deleted file mode 100644 index 1d4951f89c7..00000000000 --- a/reactos/base/applications/mscutils/servman/servman.rbuild +++ /dev/null @@ -1,35 +0,0 @@ - - - - . - user32 - gdi32 - advapi32 - version - comctl32 - shell32 - comdlg32 - - about.c - control.c - create.c - delete.c - dependencies_tv1.c - dependencies_tv2.c - export.c - listview.c - mainwnd.c - misc.c - progress.c - propsheet.c - propsheet_depends.c - propsheet_general.c - query.c - servman.c - start.c - stop.c - stop_dependencies.c - - servman.rc - precomp.h - diff --git a/reactos/base/applications/mspaint/mspaint.rbuild b/reactos/base/applications/mspaint/mspaint.rbuild deleted file mode 100644 index 7f1c410c66c..00000000000 --- a/reactos/base/applications/mspaint/mspaint.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - . - comdlg32 - shell32 - user32 - gdi32 - advapi32 - comctl32 - dialogs.c - dib.c - drawing.c - history.c - main.c - mouse.c - palette.c - registry.c - selection.c - sizebox.c - toolsettings.c - winproc.c - rsrc.rc - diff --git a/reactos/base/applications/mstsc/mstsc.rbuild b/reactos/base/applications/mstsc/mstsc.rbuild deleted file mode 100644 index c8ed8e3e571..00000000000 --- a/reactos/base/applications/mstsc/mstsc.rbuild +++ /dev/null @@ -1,36 +0,0 @@ - - - - . - user32 - gdi32 - comctl32 - ws2_32 - advapi32 - shell32 - ole32 - comdlg32 - - bitmap.c - bsops.c - cache.c - channels.c - connectdialog.c - iso.c - licence.c - mcs.c - mppc.c - orders.c - pstcache.c - rdp5.c - rdp.c - secure.c - settings.c - ssl_calls.c - tcp.c - uimain.c - win32.c - - rdc.rc - precomp.h - diff --git a/reactos/base/applications/network/arp/arp.rbuild b/reactos/base/applications/network/arp/arp.rbuild deleted file mode 100644 index ed2e096b15d..00000000000 --- a/reactos/base/applications/network/arp/arp.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - iphlpapi - ws2_32 - shlwapi - arp.c - arp.rc - diff --git a/reactos/base/applications/network/dwnl/dwnl.rbuild b/reactos/base/applications/network/dwnl/dwnl.rbuild deleted file mode 100644 index 36c30c0459c..00000000000 --- a/reactos/base/applications/network/dwnl/dwnl.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - urlmon - wininet - uuid - dwnl.c - diff --git a/reactos/base/applications/network/finger/finger.rbuild b/reactos/base/applications/network/finger/finger.rbuild deleted file mode 100644 index fd25abc54d0..00000000000 --- a/reactos/base/applications/network/finger/finger.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - - ws2_32 - finger.c - err.c - getopt.c - net.c - finger.rc - diff --git a/reactos/base/applications/network/ftp/ftp.rbuild b/reactos/base/applications/network/ftp/ftp.rbuild deleted file mode 100644 index 60f7ea5c659..00000000000 --- a/reactos/base/applications/network/ftp/ftp.rbuild +++ /dev/null @@ -1,29 +0,0 @@ - - - - . - - - - _chdir - _getcwd - _mktemp - _unlink - _close - _fileno - _read - _write - _lseek - - ws2_32 - iphlpapi - oldnames - cmds.c - cmdtab.c - domacro.c - fake.c - ftp.c - main.c - ruserpass.c - ftp.rc - diff --git a/reactos/base/applications/network/ipconfig/ipconfig.rbuild b/reactos/base/applications/network/ipconfig/ipconfig.rbuild deleted file mode 100644 index 454bd37f5c7..00000000000 --- a/reactos/base/applications/network/ipconfig/ipconfig.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - user32 - iphlpapi - advapi32 - ipconfig.c - ipconfig.rc - diff --git a/reactos/base/applications/network/net/net.rbuild b/reactos/base/applications/network/net/net.rbuild deleted file mode 100644 index 889e3a67571..00000000000 --- a/reactos/base/applications/network/net/net.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - - ws2_32 - main.c - cmdstart.c - cmdStop.c - help.c - process.c - diff --git a/reactos/base/applications/network/netstat/netstat.rbuild b/reactos/base/applications/network/netstat/netstat.rbuild deleted file mode 100644 index b7d4c4c973c..00000000000 --- a/reactos/base/applications/network/netstat/netstat.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - user32 - ws2_32 - snmpapi - iphlpapi - netstat.c - netstat.rc - diff --git a/reactos/base/applications/network/network.rbuild b/reactos/base/applications/network/network.rbuild deleted file mode 100644 index 13b9a537328..00000000000 --- a/reactos/base/applications/network/network.rbuild +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/applications/network/nslookup/nslookup.rbuild b/reactos/base/applications/network/nslookup/nslookup.rbuild deleted file mode 100644 index e483d4ab5f3..00000000000 --- a/reactos/base/applications/network/nslookup/nslookup.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - user32 - ws2_32 - snmpapi - iphlpapi - nslookup.c - utility.c - nslookup.rc - diff --git a/reactos/base/applications/network/ping/ping.rbuild b/reactos/base/applications/network/ping/ping.rbuild deleted file mode 100644 index 72dacc18479..00000000000 --- a/reactos/base/applications/network/ping/ping.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - - ws2_32 - ping.c - ping.rc - diff --git a/reactos/base/applications/network/route/route.rbuild b/reactos/base/applications/network/route/route.rbuild deleted file mode 100644 index eea7b8d76a3..00000000000 --- a/reactos/base/applications/network/route/route.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - ws2_32 - iphlpapi - route.c - route.rc - diff --git a/reactos/base/applications/network/telnet/telnet.rbuild b/reactos/base/applications/network/telnet/telnet.rbuild deleted file mode 100644 index 92e63337318..00000000000 --- a/reactos/base/applications/network/telnet/telnet.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - . - ws2_32 - user32 - - - ansiprsr.cpp - keytrans.cpp - tcharmap.cpp - tconsole.cpp - tkeydef.cpp - tkeymap.cpp - tmapldr.cpp - tmouse.cpp - tnclass.cpp - tnclip.cpp - tncon.cpp - tnconfig.cpp - tnerror.cpp - tnetwork.cpp - tnmain.cpp - tnmisc.cpp - tscript.cpp - tscroll.cpp - ttelhndl.cpp - - telnet.rc - diff --git a/reactos/base/applications/network/tracert/tracert.rbuild b/reactos/base/applications/network/tracert/tracert.rbuild deleted file mode 100644 index f2f9a33b813..00000000000 --- a/reactos/base/applications/network/tracert/tracert.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - - ws2_32 - tracert.c - tracert.rc - diff --git a/reactos/base/applications/network/whois/whois.rbuild b/reactos/base/applications/network/whois/whois.rbuild deleted file mode 100644 index f208aa2d97c..00000000000 --- a/reactos/base/applications/network/whois/whois.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - . - ws2_32 - whois.c - whois.rc - diff --git a/reactos/base/applications/network/wlanconf/wlanconf.rbuild b/reactos/base/applications/network/wlanconf/wlanconf.rbuild deleted file mode 100644 index 9658c2826eb..00000000000 --- a/reactos/base/applications/network/wlanconf/wlanconf.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - include/reactos/drivers/ndisuio - iphlpapi - wlanconf.c - wlanconf.rc - diff --git a/reactos/base/applications/notepad/notepad.rbuild b/reactos/base/applications/notepad/notepad.rbuild deleted file mode 100644 index 8a89a7e8e76..00000000000 --- a/reactos/base/applications/notepad/notepad.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - . - user32 - gdi32 - comdlg32 - comctl32 - advapi32 - shell32 - dialog.c - main.c - text.c - settings.c - rsrc.rc - notepad.h - diff --git a/reactos/base/applications/rapps/rapps.rbuild b/reactos/base/applications/rapps/rapps.rbuild deleted file mode 100644 index bc83f3aade9..00000000000 --- a/reactos/base/applications/rapps/rapps.rbuild +++ /dev/null @@ -1,41 +0,0 @@ - - - - - include/reactos - . - . - - advapi32 - comctl32 - gdi32 - urlmon - user32 - uuid - shell32 - shlwapi - ntdll - - rappsmsg - - aboutdlg.c - available.c - installdlg.c - installed.c - listview.c - loaddlg.c - misc.c - parser.c - richedit.c - settingsdlg.c - splitter.c - statusbar.c - toolbar.c - treeview.c - winmain.c - rapps.rc - - - rappsmsg.mc - - diff --git a/reactos/base/applications/regedit/clb/clb.rbuild b/reactos/base/applications/regedit/clb/clb.rbuild deleted file mode 100644 index aad50816d78..00000000000 --- a/reactos/base/applications/regedit/clb/clb.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - ntdll - user32 - gdi32 - comctl32 - clb.c - clb.rc - precomp.h - diff --git a/reactos/base/applications/regedit/regedit.rbuild b/reactos/base/applications/regedit/regedit.rbuild deleted file mode 100644 index 786ee44d6cf..00000000000 --- a/reactos/base/applications/regedit/regedit.rbuild +++ /dev/null @@ -1,37 +0,0 @@ - - - - - . - - - uuid - user32 - gdi32 - advapi32 - ole32 - shell32 - comctl32 - comdlg32 - shlwapi - uuid - about.c - childwnd.c - edit.c - find.c - framewnd.c - hexedit.c - listview.c - main.c - error.c - regedit.c - regproc.c - security.c - treeview.c - regedit.rc - regedit.h - - - - - diff --git a/reactos/base/applications/regedt32/regedt32.rbuild b/reactos/base/applications/regedt32/regedt32.rbuild deleted file mode 100644 index 6b0b03773e9..00000000000 --- a/reactos/base/applications/regedt32/regedt32.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - shell32 - shlwapi - regedt32.c - resource.rc - diff --git a/reactos/base/applications/sc/sc.rbuild b/reactos/base/applications/sc/sc.rbuild deleted file mode 100644 index 4bef374d021..00000000000 --- a/reactos/base/applications/sc/sc.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - advapi32 - control.c - create.c - delete.c - print.c - query.c - sc.c - start.c - usage.c - sc.rc - sc.h - diff --git a/reactos/base/applications/screensavers/3dtext/3dtext.rbuild b/reactos/base/applications/screensavers/3dtext/3dtext.rbuild deleted file mode 100644 index 1a1e115b763..00000000000 --- a/reactos/base/applications/screensavers/3dtext/3dtext.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - scrnsave - chkstk - user32 - gdi32 - opengl32 - glu32 - advapi32 - - 3dtext.c - settings.c - rsrc.rc - - - diff --git a/reactos/base/applications/screensavers/logon/logon.rbuild b/reactos/base/applications/screensavers/logon/logon.rbuild deleted file mode 100644 index 562c62de9b1..00000000000 --- a/reactos/base/applications/screensavers/logon/logon.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - . - scrnsave - user32 - gdi32 - - - - logon.c - logon.rc - diff --git a/reactos/base/applications/screensavers/screensavers.rbuild b/reactos/base/applications/screensavers/screensavers.rbuild deleted file mode 100644 index ed3d070a2a3..00000000000 --- a/reactos/base/applications/screensavers/screensavers.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/base/applications/shutdown/shutdown.rbuild b/reactos/base/applications/shutdown/shutdown.rbuild deleted file mode 100644 index 6260c0055ab..00000000000 --- a/reactos/base/applications/shutdown/shutdown.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - advapi32 - user32 - misc.c - shutdown.c - shutdown.rc - precomp.h - diff --git a/reactos/base/applications/sndrec32/sndrec32.rbuild b/reactos/base/applications/sndrec32/sndrec32.rbuild deleted file mode 100644 index f101a14ba3a..00000000000 --- a/reactos/base/applications/sndrec32/sndrec32.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - . - winmm - user32 - msacm32 - comctl32 - comdlg32 - gdi32 - audio_format.cpp - audio_membuffer.cpp - audio_producer.cpp - audio_receiver.cpp - audio_resampler_acm.cpp - audio_wavein.cpp - audio_waveout.cpp - sndrec32.cpp - rsrc.rc - diff --git a/reactos/base/applications/sndvol32/sndvol32.rbuild b/reactos/base/applications/sndvol32/sndvol32.rbuild deleted file mode 100644 index 38d5d9e0f5a..00000000000 --- a/reactos/base/applications/sndvol32/sndvol32.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - include/wine - . - ntdll - user32 - advapi32 - gdi32 - comctl32 - shell32 - winmm - sndvol32.h - dialog.c - misc.c - mixer.c - sndvol32.c - sndvol32.rc - diff --git a/reactos/base/applications/taskmgr/taskmgr.rbuild b/reactos/base/applications/taskmgr/taskmgr.rbuild deleted file mode 100644 index 8db44813d26..00000000000 --- a/reactos/base/applications/taskmgr/taskmgr.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - . - ntdll - advapi32 - user32 - gdi32 - shell32 - comctl32 - precomp.h - - about.c - affinity.c - applpage.c - column.c - dbgchnl.c - debug.c - endproc.c - graph.c - optnmenu.c - perfdata.c - perfpage.c - priority.c - procpage.c - proclist.c - run.c - trayicon.c - taskmgr.c - graphctl.c - - taskmgr.rc - diff --git a/reactos/base/applications/winhlp32/winhlp32.rbuild b/reactos/base/applications/winhlp32/winhlp32.rbuild deleted file mode 100644 index fd3234ec387..00000000000 --- a/reactos/base/applications/winhlp32/winhlp32.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - - . - include/reactos/wine - - - - - _fileno - _isatty - - wine - user32 - gdi32 - shell32 - comctl32 - comdlg32 - callback.c - hlpfile.c - macro.c - string.c - winhelp.c - lex.yy.c - rsrc.rc - diff --git a/reactos/base/applications/winver/winver.rbuild b/reactos/base/applications/winver/winver.rbuild deleted file mode 100644 index 4f24a7166bd..00000000000 --- a/reactos/base/applications/winver/winver.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - . - shell32 - winver.c - diff --git a/reactos/base/applications/wordpad/wordpad.rbuild b/reactos/base/applications/wordpad/wordpad.rbuild deleted file mode 100644 index 069fb119a0b..00000000000 --- a/reactos/base/applications/wordpad/wordpad.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - . - include/reactos/wine - - wine - comdlg32 - uuid - ole32 - shell32 - user32 - gdi32 - advapi32 - comctl32 - olecallback.c - print.c - registry.c - wordpad.c - rsrc.rc - diff --git a/reactos/base/applications/write/write.rbuild b/reactos/base/applications/write/write.rbuild deleted file mode 100644 index 92f85eee3ef..00000000000 --- a/reactos/base/applications/write/write.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - user32 - gdi32 - write.c - rsrc.rc - diff --git a/reactos/base/base.rbuild b/reactos/base/base.rbuild deleted file mode 100644 index 63cf67e1bd9..00000000000 --- a/reactos/base/base.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/services/audiosrv/audiosrv.rbuild b/reactos/base/services/audiosrv/audiosrv.rbuild deleted file mode 100644 index 4bbe4a03941..00000000000 --- a/reactos/base/services/audiosrv/audiosrv.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - . - advapi32 - user32 - setupapi - main.c - pnp_list_manager.c - pnp_list_lock.c - pnp.c - services.c - debug.c - audiosrv.rc - audiosrv.h - diff --git a/reactos/base/services/eventlog/eventlog.rbuild b/reactos/base/services/eventlog/eventlog.rbuild deleted file mode 100644 index eaea162f895..00000000000 --- a/reactos/base/services/eventlog/eventlog.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - . - . - ntdll - advapi32 - eventlog_server - rpcrt4 - pseh - eventlog.c - eventsource.c - logport.c - eventlog.rc - rpc.c - file.c - eventlog.h - diff --git a/reactos/base/services/rpcss/rpcss.rbuild b/reactos/base/services/rpcss/rpcss.rbuild deleted file mode 100644 index 95b29e83210..00000000000 --- a/reactos/base/services/rpcss/rpcss.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - . - . - wine - rpcss_epm_server - rpcss_irot_server - rpcrt4 - advapi32 - pseh - epmp.c - irotp.c - rpcss_main.c - service_main.c - epm.idl - irot.idl - rpcss.rc - - - epm.idl - - - irot.idl - - diff --git a/reactos/base/services/services.rbuild b/reactos/base/services/services.rbuild deleted file mode 100644 index e46bf8ff969..00000000000 --- a/reactos/base/services/services.rbuild +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/services/spoolsv/spoolsv.rbuild b/reactos/base/services/spoolsv/spoolsv.rbuild deleted file mode 100644 index be3b2394295..00000000000 --- a/reactos/base/services/spoolsv/spoolsv.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - wine - ntdll - advapi32 - spoolsv.c - spoolsv.rc - diff --git a/reactos/base/services/svchost/svchost.rbuild b/reactos/base/services/svchost/svchost.rbuild deleted file mode 100644 index 831bb274155..00000000000 --- a/reactos/base/services/svchost/svchost.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - . - advapi32 - svchost.c - svchost.rc - diff --git a/reactos/base/services/tcpsvcs/tcpsvcs.rbuild b/reactos/base/services/tcpsvcs/tcpsvcs.rbuild deleted file mode 100644 index f2b435f5aa9..00000000000 --- a/reactos/base/services/tcpsvcs/tcpsvcs.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - . - ws2_32 - advapi32 - tcpsvcs.c - skelserver.c - echo.c - discard.c - daytime.c - qotd.c - chargen.c - tcpsvcs.rc - log.c - tcpsvcs.h - diff --git a/reactos/base/services/telnetd/telnetd.rbuild b/reactos/base/services/telnetd/telnetd.rbuild deleted file mode 100644 index 1b17bfcb83f..00000000000 --- a/reactos/base/services/telnetd/telnetd.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - .. - - ntdll - advapi32 - ws2_32 - wine - - telnetd.c - serviceentry.c - telnetd.rc - diff --git a/reactos/base/services/tftpd/tftpd.rbuild b/reactos/base/services/tftpd/tftpd.rbuild deleted file mode 100644 index 0008cfb287e..00000000000 --- a/reactos/base/services/tftpd/tftpd.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - .. - ntdll - advapi32 - ws2_32 - wine - tftpd.cpp - diff --git a/reactos/base/services/thmsvc/thmsvc.rbuild b/reactos/base/services/thmsvc/thmsvc.rbuild deleted file mode 100644 index fd18e9a6e4e..00000000000 --- a/reactos/base/services/thmsvc/thmsvc.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - uxtheme - wine - ntdll - advapi32 - thmsvc.c - thmsvc.rc - diff --git a/reactos/base/services/umpnpmgr/umpnpmgr.rbuild b/reactos/base/services/umpnpmgr/umpnpmgr.rbuild deleted file mode 100644 index 9887e4eb65e..00000000000 --- a/reactos/base/services/umpnpmgr/umpnpmgr.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - . - . - 0x600 - pnp_server - ntdll - advapi32 - rpcrt4 - pseh - wdmguid - userenv - umpnpmgr.c - umpnpmgr.rc - diff --git a/reactos/base/services/wlansvc/wlansvc.rbuild b/reactos/base/services/wlansvc/wlansvc.rbuild deleted file mode 100644 index 4f656380d58..00000000000 --- a/reactos/base/services/wlansvc/wlansvc.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - . - wlansvc_server - ntdll - advapi32 - rpcrt4 - pseh - iphlpapi - wlansvc.c - rpcserver.c - diff --git a/reactos/base/setup/reactos/reactos.rbuild b/reactos/base/setup/reactos/reactos.rbuild deleted file mode 100644 index 3eb79d0eb72..00000000000 --- a/reactos/base/setup/reactos/reactos.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - gdi32 - user32 - comctl32 - setupapi - uuid - reactos.c - reactos.rc - diff --git a/reactos/base/setup/setup.rbuild b/reactos/base/setup/setup.rbuild deleted file mode 100644 index f9b981b6b6b..00000000000 --- a/reactos/base/setup/setup.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/setup/setup/setup.rbuild b/reactos/base/setup/setup/setup.rbuild deleted file mode 100644 index 07e4118c79e..00000000000 --- a/reactos/base/setup/setup/setup.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - . - userenv - setup.c - setup.rc - diff --git a/reactos/base/setup/usetup/usetup.rbuild b/reactos/base/setup/usetup/usetup.rbuild deleted file mode 100644 index 51f3c0386a0..00000000000 --- a/reactos/base/setup/usetup/usetup.rbuild +++ /dev/null @@ -1,44 +0,0 @@ - - - - - . - . - . - include/reactos/drivers - zlib - newinflib - ext2lib - vfatlib - ntdll - - consup.c - devinst.c - usetup.c - - - - console.c - keytrans.c - - console.c - fslist.c - - bootsup.c - cabinet.c - chkdsk.c - drivesup.c - filequeue.c - filesup.c - format.c - fslist.c - genlist.c - inffile.c - inicache.c - partlist.c - progress.c - registry.c - settings.c - usetup.rc - mui.c - diff --git a/reactos/base/setup/vmwinst/vmwinst.rbuild b/reactos/base/setup/vmwinst/vmwinst.rbuild deleted file mode 100644 index ce056c35d94..00000000000 --- a/reactos/base/setup/vmwinst/vmwinst.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - . - advapi32 - comctl32 - comdlg32 - newdev - user32 - setupapi - shell32 - ntdll - pseh - vmwinst.c - vmwinst.rc - diff --git a/reactos/base/setup/welcome/welcome.rbuild b/reactos/base/setup/welcome/welcome.rbuild deleted file mode 100644 index 910d78bb7a7..00000000000 --- a/reactos/base/setup/welcome/welcome.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - gdi32 - user32 - welcome.c - welcome.rc - diff --git a/reactos/base/shell/cmd/cmd.rbuild b/reactos/base/shell/cmd/cmd.rbuild deleted file mode 100644 index 78e1a3b340c..00000000000 --- a/reactos/base/shell/cmd/cmd.rbuild +++ /dev/null @@ -1,77 +0,0 @@ - - - - - include/reactos/wine - . - - - wine - advapi32 - user32 - cmd.rc - main.c - precomp.h - - alias.c - assoc.c - attrib.c - batch.c - beep.c - call.c - chcp.c - choice.c - cls.c - cmd.c - cmddbg.c - cmdinput.c - cmdtable.c - color.c - console.c - copy.c - date.c - del.c - delay.c - dir.c - dirstack.c - echo.c - error.c - filecomp.c - for.c - free.c - goto.c - history.c - if.c - internal.c - label.c - locale.c - memory.c - misc.c - mklink.c - move.c - msgbox.c - parser.c - path.c - pause.c - prompt.c - redir.c - ren.c - replace.c - screen.c - set.c - setlocal.c - shift.c - start.c - strtoclr.c - time.c - timer.c - title.c - type.c - ver.c - verify.c - vol.c - where.c - window.c - - - diff --git a/reactos/base/shell/explorer-new/explorer.rbuild b/reactos/base/shell/explorer-new/explorer.rbuild deleted file mode 100644 index 0ded92135c0..00000000000 --- a/reactos/base/shell/explorer-new/explorer.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - . - - advapi32 - gdi32 - user32 - comctl32 - ole32 - oleaut32 - shell32 - shlwapi - uuid - version - precomp.h - desktop.c - dragdrop.c - explorer.c - startmnu.c - taskband.c - taskswnd.c - tbsite.c - trayntfy.c - trayprop.c - traywnd.c - explorer.rc - diff --git a/reactos/base/shell/explorer/explorer.rbuild b/reactos/base/shell/explorer/explorer.rbuild deleted file mode 100644 index 7d64e7f42c3..00000000000 --- a/reactos/base/shell/explorer/explorer.rbuild +++ /dev/null @@ -1,71 +0,0 @@ - - - - - . - - - advapi32 - gdi32 - user32 - ws2_32 - msimg32 - comctl32 - ole32 - oleaut32 - shell32 - uuid - notifyhook - precomp.h - - desktop.cpp - - - searchprogram.cpp - settings.cpp - - - entries.cpp - fatfs.cpp - filechild.cpp - shellfs.cpp - mainframe.cpp - ntobjfs.cpp - pane.cpp - regfs.cpp - shellbrowser.cpp - unixfs.cpp - webchild.cpp - winfs.cpp - - - shellservices.cpp - startup.c - - - desktopbar.cpp - favorites.cpp - taskbar.cpp - startmenu.cpp - traynotify.cpp - quicklaunch.cpp - - - shellclasses.cpp - utility.cpp - window.cpp - dragdropimpl.cpp - shellbrowserimpl.cpp - xmlstorage.cpp - xs-native.cpp - - explorer.cpp - i386-stub-win32.c - explorer.rc - --enable-stdcall-fixup - -explorer-cfg-template.xml - - - - diff --git a/reactos/base/shell/explorer/notifyhook/notifyhook.rbuild b/reactos/base/shell/explorer/notifyhook/notifyhook.rbuild deleted file mode 100644 index 909cd62433e..00000000000 --- a/reactos/base/shell/explorer/notifyhook/notifyhook.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - - user32 - notifyhook.c - notifyhook.rc - diff --git a/reactos/base/shell/shell.rbuild b/reactos/base/shell/shell.rbuild deleted file mode 100644 index efdd8f323e7..00000000000 --- a/reactos/base/shell/shell.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/reactos/base/system/autochk/autochk.rbuild b/reactos/base/system/autochk/autochk.rbuild deleted file mode 100644 index f2464aefbd7..00000000000 --- a/reactos/base/system/autochk/autochk.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - nt - ntdll - autochk.c - autochk.rc - diff --git a/reactos/base/system/bootok/bootok.rbuild b/reactos/base/system/bootok/bootok.rbuild deleted file mode 100644 index 341adcaff23..00000000000 --- a/reactos/base/system/bootok/bootok.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - . - advapi32 - bootok.c - bootok.rc - diff --git a/reactos/base/system/diskpart/diskpart.rbuild b/reactos/base/system/diskpart/diskpart.rbuild deleted file mode 100644 index 1a71096feee..00000000000 --- a/reactos/base/system/diskpart/diskpart.rbuild +++ /dev/null @@ -1,46 +0,0 @@ - - - - . - - user32 - active.c - add.c - assign.c - attach.c - attributes.c - automount.c - break.c - clean.c - compact.c - convert.c - create.c - delete.c - detach.c - detail.c - diskpart.c - expand.c - extend.c - filesystems.c - format.c - gpt.c - help.c - import.c - inactive.c - interpreter.c - list.c - merge.c - offline.c - online.c - recover.c - remove.c - repair.c - rescan.c - retain.c - san.c - select.c - setid.c - shrink.c - uniqueid.c - diskpart.rc - \ No newline at end of file diff --git a/reactos/base/system/expand/expand.rbuild b/reactos/base/system/expand/expand.rbuild deleted file mode 100644 index 6e67355660f..00000000000 --- a/reactos/base/system/expand/expand.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - include/reactos/wine - . - lz32 - setupapi - user32 - expand.c - expand.rc - diff --git a/reactos/base/system/format/format.rbuild b/reactos/base/system/format/format.rbuild deleted file mode 100644 index 5f29105a247..00000000000 --- a/reactos/base/system/format/format.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - ntdll - user32 - fmifs - format.rc - format.c - diff --git a/reactos/base/system/logonui/logonui.rbuild b/reactos/base/system/logonui/logonui.rbuild deleted file mode 100644 index d314ddbe883..00000000000 --- a/reactos/base/system/logonui/logonui.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - user32 - gdi32 - msimg32.lib - logonui.c - NT5design.c - NT6design.c - logonui.rc - diff --git a/reactos/base/system/lsass/lsass.rbuild b/reactos/base/system/lsass/lsass.rbuild deleted file mode 100644 index 119e149d97c..00000000000 --- a/reactos/base/system/lsass/lsass.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - include/reactos/subsys - advapi32 - ntdll - lsasrv - lsass.c - lsass.rc - diff --git a/reactos/base/system/msiexec/msiexec.rbuild b/reactos/base/system/msiexec/msiexec.rbuild deleted file mode 100644 index 228875d72c7..00000000000 --- a/reactos/base/system/msiexec/msiexec.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - . - include/wine - - uuid - wine - ntdll - user32 - advapi32 - ole32 - msi - msiexec.c - service.c - rsrc.rc - diff --git a/reactos/base/system/regsvr32/regsvr32.rbuild b/reactos/base/system/regsvr32/regsvr32.rbuild deleted file mode 100644 index cb39613dd65..00000000000 --- a/reactos/base/system/regsvr32/regsvr32.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - user32 - shell32 - ole32 - regsvr32.c - regsvr32.rc - diff --git a/reactos/base/system/rundll32/rundll32.rbuild b/reactos/base/system/rundll32/rundll32.rbuild deleted file mode 100644 index bb9241629a6..00000000000 --- a/reactos/base/system/rundll32/rundll32.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - . - user32 - rundll32.c - rundll32.rc - diff --git a/reactos/base/system/runonce/runonce.rbuild b/reactos/base/system/runonce/runonce.rbuild deleted file mode 100644 index 9dba7660b1c..00000000000 --- a/reactos/base/system/runonce/runonce.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - advapi32 - user32 - runonce.c - runonce.rc - diff --git a/reactos/base/system/services/services.rbuild b/reactos/base/system/services/services.rbuild deleted file mode 100644 index d363b2691b3..00000000000 --- a/reactos/base/system/services/services.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - . - . - include/reactos/subsys - scm_server - ntdll - user32 - advapi32 - rpcrt4 - pseh - config.c - database.c - driver.c - groupdb.c - rpcserver.c - services.c - services.rc - services.h - diff --git a/reactos/base/system/smss2/smss2.rbuild b/reactos/base/system/smss2/smss2.rbuild deleted file mode 100644 index 0e53c534cc0..00000000000 --- a/reactos/base/system/smss2/smss2.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - . - include/reactos/subsys - nt - pseh - ntdll - smlib - smss.h - - smss.c - crashdmp.c - pagefile.c - sminit.c - smloop.c - smsbapi.c - smsessn.c - smsubsys.c - smutil.c - - smss.rc - diff --git a/reactos/base/system/subst/subst.rbuild b/reactos/base/system/subst/subst.rbuild deleted file mode 100644 index 8b77abd857d..00000000000 --- a/reactos/base/system/subst/subst.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - include/reactos/wine - . - kernel32 - user32 - subst.c - subst.rc - diff --git a/reactos/base/system/system.rbuild b/reactos/base/system/system.rbuild deleted file mode 100644 index 056e4bf7fa2..00000000000 --- a/reactos/base/system/system.rbuild +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/base/system/userinit/userinit.rbuild b/reactos/base/system/userinit/userinit.rbuild deleted file mode 100644 index 753a8e4b666..00000000000 --- a/reactos/base/system/userinit/userinit.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - wine - ntdll - user32 - gdi32 - advapi32 - shell32 - shlwapi - userinit.c - userinit.rc - diff --git a/reactos/base/system/winlogon/winlogon.rbuild b/reactos/base/system/winlogon/winlogon.rbuild deleted file mode 100644 index cc5b2a33ddc..00000000000 --- a/reactos/base/system/winlogon/winlogon.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - . - wine - ntdll - user32 - advapi32 - userenv - secur32 - environment.c - sas.c - screensaver.c - setup.c - winlogon.c - wlx.c - winlogon.rc - winlogon.h - diff --git a/reactos/baseaddress.rbuild b/reactos/baseaddress.rbuild deleted file mode 100644 index 260c17e2fe8..00000000000 --- a/reactos/baseaddress.rbuild +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/boot/armllb/armllb.rbuild b/reactos/boot/armllb/armllb.rbuild deleted file mode 100644 index 4c4c0d9f9e3..00000000000 --- a/reactos/boot/armllb/armllb.rbuild +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - libcntpr - rtl - ./inc - - - - - -Wl,--image-base=0x401FEFF8 - - - - - - - --image-base=0x80FFF000 - - - - - - -Wl,--image-base=0xF000 - - - boot.s - main.c - crtsupp.c - envir.c - fw.c - - keyboard.c - matrix.c - serial.c - time.c - video.c - - - hwinfo.c - hwinit.c - hwlcd.c - hwsynkp.c - hwtwl40x.c - hwuart.c - - - - - hwuart.c - hwinfo.c - hwinit.c - - - - - hwclcd.c - hwkmi.c - hwuart.c - hwinfo.c - hwinit.c - - - - - loader.c - - - -fms-extensions - -ffreestanding - -fno-builtin - -fno-inline - -fno-zero-initialized-in-bss - -Os - - - - diff --git a/reactos/boot/boot.rbuild b/reactos/boot/boot.rbuild deleted file mode 100644 index ff2421c0b8a..00000000000 --- a/reactos/boot/boot.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/reactos/boot/bootdata/bootcd/bootcd.rbuild b/reactos/boot/bootdata/bootcd/bootcd.rbuild deleted file mode 100644 index 4896a937edb..00000000000 --- a/reactos/boot/bootdata/bootcd/bootcd.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - isoboot - - - - - - isoboot - - - diff --git a/reactos/boot/bootdata/bootcdregtest/bootcdregtest.rbuild b/reactos/boot/bootdata/bootcdregtest/bootcdregtest.rbuild deleted file mode 100644 index f3b85391618..00000000000 --- a/reactos/boot/bootdata/bootcdregtest/bootcdregtest.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - isobtrt - unattend.inf - diff --git a/reactos/boot/bootdata/bootdata.rbuild b/reactos/boot/bootdata/bootdata.rbuild deleted file mode 100644 index 205bcefc192..00000000000 --- a/reactos/boot/bootdata/bootdata.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - autorun.inf - icon.ico - readme.txt - bootcd.ini - - hivecls_$(ARCH).inf - hivedef_$(ARCH).inf - hivesft_$(ARCH).inf - hivesys_$(ARCH).inf - txtsetup.sif - unattend.inf - - - - - - - - - - - - - - diff --git a/reactos/boot/bootdata/livecd/livecd.rbuild b/reactos/boot/bootdata/livecd/livecd.rbuild deleted file mode 100644 index 8a04d1289bc..00000000000 --- a/reactos/boot/bootdata/livecd/livecd.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - isoboot - - - - - isoboot - - - diff --git a/reactos/boot/bootdata/livecdregtest/livecdregtest.rbuild b/reactos/boot/bootdata/livecdregtest/livecdregtest.rbuild deleted file mode 100644 index 52836fabe65..00000000000 --- a/reactos/boot/bootdata/livecdregtest/livecdregtest.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - isobtrt - \ No newline at end of file diff --git a/reactos/boot/freeldr/bootsect/bootsect.rbuild b/reactos/boot/freeldr/bootsect/bootsect.rbuild deleted file mode 100644 index 0a6be4b63be..00000000000 --- a/reactos/boot/freeldr/bootsect/bootsect.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - dosmbr.asm - - - - ext2.asm - - - - fat32.asm - - - - fat.asm - - - - isoboot.asm - - - - isobtrt.asm - - diff --git a/reactos/boot/freeldr/fdebug/fdebug.rbuild b/reactos/boot/freeldr/fdebug/fdebug.rbuild deleted file mode 100644 index 8ae515c2f4c..00000000000 --- a/reactos/boot/freeldr/fdebug/fdebug.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - user32 - comdlg32 - gdi32 - fdebug.c - rs232.c - fdebug.rc - diff --git a/reactos/boot/freeldr/freeldr.rbuild b/reactos/boot/freeldr/freeldr.rbuild deleted file mode 100644 index ad87a71fd22..00000000000 --- a/reactos/boot/freeldr/freeldr.rbuild +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/boot/freeldr/freeldr/freeldr.rbuild b/reactos/boot/freeldr/freeldr/freeldr.rbuild deleted file mode 100644 index 7ca1a75e734..00000000000 --- a/reactos/boot/freeldr/freeldr/freeldr.rbuild +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - freeldr_startup - freeldr_base64k - freeldr_base - freeldr_arch - freeldr_main - rossym - cmlib - rtl - libcntpr - ppcmmu - - - - - - freeldr_$(ARCH).lnk - - freeldr_startup - freeldr_base64k - freeldr_base - freeldr_arch - freeldr_main - rossym - cmlib - rtl - libcntpr - - - - - - freeldr_$(ARCH).lnk - - freeldr_startup - freeldr_base64k - freeldr_base - - mini_hal - - freeldr_arch - freeldr_main - rossym - cmlib - rtl - libcntpr - cportlib - - -static - -lgcc - - - diff --git a/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild b/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild deleted file mode 100644 index 931299d6bb1..00000000000 --- a/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild +++ /dev/null @@ -1,99 +0,0 @@ - - - - include - cache - include - include/reactos/libs - include/reactos/elf - - - - - - - archmach.c - custom.c - drivemap.c - halstub.c - hardware.c - hwacpi.c - hwapm.c - hwdisk.c - hwpci.c - i386bug.c - i386disk.c - i386rtl.c - i386vid.c - machpc.c - miscboot.c - ntoskrnl.c - pccons.c - pcdisk.c - pcmem.c - pcrtc.c - pcvideo.c - machxbox.c - xboxcons.c - xboxdisk.c - xboxfont.c - xboxhw.c - xboxi2c.c - xboxmem.c - xboxrtc.c - xboxvideo.c - winldr.c - - - - - boot.s - loader.c - mach.c - mboot.c - ofw.c - ofw_util.s - ofw_calls.s - ofwdisk.c - ofw_method.c - prep.c - prep_ide.c - prep_pci.c - prep_vga.c - - - - - macharm.c - - - - - - loader.c - winldr.c - - - hardware.c - hwacpi.c - hwapm.c - hwpci.c - i386rtl.c - i386disk.c - i386vid.c - machpc.c - pccons.c - pcdisk.c - pcmem.c - pcrtc.c - pcvideo.c - - - - - - winldr.c - - - - diff --git a/reactos/boot/freeldr/freeldr/freeldr_base.rbuild b/reactos/boot/freeldr/freeldr/freeldr_base.rbuild deleted file mode 100644 index c9e3f1c0fa5..00000000000 --- a/reactos/boot/freeldr/freeldr/freeldr_base.rbuild +++ /dev/null @@ -1,91 +0,0 @@ - - - - include - cache - . - include - - - - - time.c - - - blocklist.c - cache.c - - - rs232.c - - - disk.c - partition.c - ramdisk.c - - scsiport.c - - - - ext2.c - fat.c - fs.c - iso.c - ntfs.c - pxe.c - - - ini_init.c - inifile.c - parse.c - - - heap_new.c - meminit.c - mm.c - - - registry.c - arcname.c - archwsup.c - binhive.c - - - libsupp.c - - - directui.c - gui.c - minitui.c - noui.c - tui.c - tuimenu.c - ui.c - - - fade.c - palette.c - video.c - - - conversion.c - peloader.c - winldr.c - wlmemory.c - wlregistry.c - - headless.c - - - freeldr.c - debug.c - version.c - cmdline.c - machine.c - - freeldr.h - - options.c - linuxboot.c - oslist.c - diff --git a/reactos/boot/freeldr/freeldr/freeldr_base64k.rbuild b/reactos/boot/freeldr/freeldr/freeldr_base64k.rbuild deleted file mode 100644 index 28a671a9f7f..00000000000 --- a/reactos/boot/freeldr/freeldr/freeldr_base64k.rbuild +++ /dev/null @@ -1,32 +0,0 @@ - - - - include - include - - - - - boot.S - drvmap.S - i386cpu.S - i386idt.S - i386pnp.S - i386pxe.S - i386trap.S - int386.S - linux.S - mb.S - - - - - drvmap.S - i386cpu.S - i386idt.S - i386trap.S - mb.S - - - - diff --git a/reactos/boot/freeldr/freeldr/freeldr_main.rbuild b/reactos/boot/freeldr/freeldr/freeldr_main.rbuild deleted file mode 100644 index f45ef931fdc..00000000000 --- a/reactos/boot/freeldr/freeldr/freeldr_main.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - include - include - - bootmgr.c - diff --git a/reactos/boot/freeldr/freeldr/freeldr_startup.rbuild b/reactos/boot/freeldr/freeldr/freeldr_startup.rbuild deleted file mode 100644 index 53fd6a9d9eb..00000000000 --- a/reactos/boot/freeldr/freeldr/freeldr_startup.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - include - include - - - - fathelp.asm - arch.S - - - - - fathelp.S - arch.S - - - - - boot.s - - - - diff --git a/reactos/boot/freeldr/freeldr/setupldr.rbuild b/reactos/boot/freeldr/freeldr/setupldr.rbuild deleted file mode 100644 index b14d46c73f8..00000000000 --- a/reactos/boot/freeldr/freeldr/setupldr.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - freeldr_$(ARCH).lnk - - freeldr_startup - freeldr_base64k - freeldr_base - - mini_hal - - freeldr_arch - setupldr_main - rossym - cmlib - cportlib - rtl - libcntpr - - -static - -lgcc - - diff --git a/reactos/boot/freeldr/freeldr/setupldr_main.rbuild b/reactos/boot/freeldr/freeldr/setupldr_main.rbuild deleted file mode 100644 index 220c8cce4a9..00000000000 --- a/reactos/boot/freeldr/freeldr/setupldr_main.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - include - include - - - bootmgr.c - - inffile.c - - - setupldr.c - - diff --git a/reactos/boot/freeldr/install/installfreeldr.rbuild b/reactos/boot/freeldr/install/installfreeldr.rbuild deleted file mode 100644 index 81140e8715a..00000000000 --- a/reactos/boot/freeldr/install/installfreeldr.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - . - install.c - volume.c - diff --git a/reactos/cmake/gcc.cmake b/reactos/cmake/gcc.cmake index 55e74aeff52..866e8b7c82f 100644 --- a/reactos/cmake/gcc.cmake +++ b/reactos/cmake/gcc.cmake @@ -111,14 +111,7 @@ SET(CMAKE_C_COMPILE_OBJECT "${CCACHE} -o -o -c ") set(CMAKE_ASM_COMPILE_OBJECT " -x assembler-with-cpp -o -I${REACTOS_SOURCE_DIR}/include/asm -I${REACTOS_BINARY_DIR}/include/asm -D__ASM__ -c ") -#set(CMAKE_RC_COMPILE_OBJECT " -i -I${REACTOS_SOURCE_DIR}/include/psdk -I${REACTOS_BINARY_DIR}/include/psdk -I${REACTOS_SOURCE_DIR}/include/ -I${REACTOS_SOURCE_DIR}/include/reactos -I${REACTOS_BINARY_DIR}/include/reactos -I${REACTOS_SOURCE_DIR}/include/reactos/wine -I${REACTOS_SOURCE_DIR}/include/crt -I${REACTOS_SOURCE_DIR}/include/crt/mingw32 -O coff -o ") - -# Temporary, until windres issues are fixed -get_target_property(WRC native-wrc IMPORTED_LOCATION_NOCONFIG) -set(CMAKE_RC_COMPILE_OBJECT - " -DRC_INVOKED -D__WIN32__=1 -D__FLAT__=1 -I${REACTOS_SOURCE_DIR}/include/psdk -I${REACTOS_BINARY_DIR}/include/psdk -I${REACTOS_SOURCE_DIR}/include/ -I${REACTOS_SOURCE_DIR}/include/reactos -I${REACTOS_BINARY_DIR}/include/reactos -I${REACTOS_SOURCE_DIR}/include/reactos/wine -I${REACTOS_SOURCE_DIR}/include/crt -I${REACTOS_SOURCE_DIR}/include/crt/mingw32 -xc -E -o " - "${WRC} -i -o " - " -i -J res -O coff -o ") +set(CMAKE_RC_COMPILE_OBJECT " -i -DRC_INVOKED -D__WIN32__=1 -D__FLAT__=1 -I${REACTOS_SOURCE_DIR}/include/psdk -I${REACTOS_BINARY_DIR}/include/psdk -I${REACTOS_SOURCE_DIR}/include/ -I${REACTOS_SOURCE_DIR}/include/reactos -I${REACTOS_BINARY_DIR}/include/reactos -I${REACTOS_SOURCE_DIR}/include/reactos/wine -I${REACTOS_SOURCE_DIR}/include/crt -I${REACTOS_SOURCE_DIR}/include/crt/mingw32 -O coff -o ") # Optional 3rd parameter: stdcall stack bytes function(set_entrypoint MODULE ENTRYPOINT) @@ -153,7 +146,6 @@ function(set_module_type_toolchain MODULE TYPE) endif() endfunction() -# Workaround lack of mingw RC support in cmake function(set_rc_compiler) get_directory_property(defines COMPILE_DEFINITIONS) get_directory_property(includes INCLUDE_DIRECTORIES) @@ -166,11 +158,7 @@ function(set_rc_compiler) set(rc_result_incs "-I${arg} ${rc_result_incs}") endforeach() - #set(CMAKE_RC_COMPILE_OBJECT " ${rc_result_defs} ${rc_result_incs} -i -O coff -o " PARENT_SCOPE) - set(CMAKE_RC_COMPILE_OBJECT - " -DRC_INVOKED -D__WIN32__=1 -D__FLAT__=1 ${rc_result_defs} -I${CMAKE_CURRENT_SOURCE_DIR} ${rc_result_incs} -xc -E -o " - "${WRC} -I${CMAKE_CURRENT_SOURCE_DIR} ${rc_result_incs} -i -o " - " -i -J res -O coff -o " PARENT_SCOPE) + set(CMAKE_RC_COMPILE_OBJECT " ${rc_result_defs} -DRC_INVOKED -D__WIN32__=1 -D__FLAT__=1 -I${CMAKE_CURRENT_SOURCE_DIR} ${rc_result_incs} -i -O coff -o " PARENT_SCOPE) endfunction() function(add_delay_importlibs MODULE) diff --git a/reactos/config-amd64.template.rbuild b/reactos/config-amd64.template.rbuild deleted file mode 100644 index 7ffc0899ebd..00000000000 --- a/reactos/config-amd64.template.rbuild +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/config-arm.template.rbuild b/reactos/config-arm.template.rbuild deleted file mode 100644 index e0c295ae6ea..00000000000 --- a/reactos/config-arm.template.rbuild +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/config-ppc.template.rbuild b/reactos/config-ppc.template.rbuild deleted file mode 100644 index 0961c6402a2..00000000000 --- a/reactos/config-ppc.template.rbuild +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/config.template.rbuild b/reactos/config.template.rbuild deleted file mode 100644 index 5e20dd5fd55..00000000000 --- a/reactos/config.template.rbuild +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/3rdparty/3rdparty.rbuild b/reactos/dll/3rdparty/3rdparty.rbuild deleted file mode 100644 index c6900d07259..00000000000 --- a/reactos/dll/3rdparty/3rdparty.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/3rdparty/dxtn/dxtn.rbuild b/reactos/dll/3rdparty/dxtn/dxtn.rbuild deleted file mode 100644 index 325a5599002..00000000000 --- a/reactos/dll/3rdparty/dxtn/dxtn.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - fxt1.c - dxtn.c - wrapper.c - texstore.c - diff --git a/reactos/dll/3rdparty/libjpeg/libjpeg.rbuild b/reactos/dll/3rdparty/libjpeg/libjpeg.rbuild deleted file mode 100644 index 7baac85f6d4..00000000000 --- a/reactos/dll/3rdparty/libjpeg/libjpeg.rbuild +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - mainptr - . - include/reactos/libs/libjpeg - include/reactos/libs/zlib - jaricom.c - jcapimin.c - jcapistd.c - jcarith.c - jccoefct.c - jccolor.c - jcdctmgr.c - jchuff.c - jcinit.c - jcmainct.c - jcmarker.c - jcmaster.c - jcomapi.c - jcparam.c - jcprepct.c - jcsample.c - jctrans.c - jdapimin.c - jdapistd.c - jdarith.c - jdatadst.c - jdatasrc.c - jdcoefct.c - jdcolor.c - jddctmgr.c - jdhuff.c - jdinput.c - jdmainct.c - jdmarker.c - jdmaster.c - jdmerge.c - jdpostct.c - jdsample.c - jdtrans.c - jerror.c - jfdctflt.c - jfdctfst.c - jfdctint.c - jidctflt.c - jidctfst.c - jidctint.c - jquant1.c - jquant2.c - jutils.c - jmemmgr.c - jmemnobs.c - diff --git a/reactos/dll/3rdparty/libpng/libpng.rbuild b/reactos/dll/3rdparty/libpng/libpng.rbuild deleted file mode 100644 index 32ce258beb2..00000000000 --- a/reactos/dll/3rdparty/libpng/libpng.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - . - include/reactos/libs/zlib - include/reactos/libs/libpng - zlib - png.c - pngerror.c - pngget.c - pngmem.c - pngpread.c - pngread.c - pngrio.c - pngrtran.c - pngrutil.c - pngset.c - pngtrans.c - pngwio.c - pngwrite.c - pngwtran.c - pngwutil.c - diff --git a/reactos/dll/3rdparty/libtiff/libtiff.rbuild b/reactos/dll/3rdparty/libtiff/libtiff.rbuild deleted file mode 100644 index ce7027cbd95..00000000000 --- a/reactos/dll/3rdparty/libtiff/libtiff.rbuild +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - . - include/reactos/libs/zlib - include/reactos/libs/libtiff - getopt - user32 - zlib - mkg3states.c - tif_aux.c - tif_close.c - tif_codec.c - tif_color.c - tif_compress.c - tif_dir.c - tif_dirinfo.c - tif_dirread.c - tif_dirwrite.c - tif_dumpmode.c - tif_error.c - tif_extension.c - tif_fax3.c - tif_fax3sm.c - tif_flush.c - tif_getimage.c - tif_jbig.c - tif_jpeg.c - tif_luv.c - tif_lzw.c - tif_next.c - tif_ojpeg.c - tif_open.c - tif_packbits.c - tif_pixarlog.c - tif_predict.c - tif_print.c - tif_read.c - tif_strip.c - tif_swab.c - tif_thunder.c - tif_tile.c - tif_version.c - tif_warning.c - tif_win32.c - tif_write.c - tif_zip.c - diff --git a/reactos/dll/3rdparty/libxslt/libxslt.rbuild b/reactos/dll/3rdparty/libxslt/libxslt.rbuild deleted file mode 100644 index eefedf36887..00000000000 --- a/reactos/dll/3rdparty/libxslt/libxslt.rbuild +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - include - . - libxml2 - ws2_32 - attributes.c - attrvt.c - documents.c - extensions.c - extra.c - functions.c - imports.c - keys.c - namespaces.c - numbers.c - pattern.c - preproc.c - security.c - templates.c - transform.c - variables.c - xslt.c - xsltlocale.c - xsltutils.c - libxslt.h - diff --git a/reactos/dll/3rdparty/mesa32/mesa32.rbuild b/reactos/dll/3rdparty/mesa32/mesa32.rbuild deleted file mode 100644 index e0a5ce4ddf5..00000000000 --- a/reactos/dll/3rdparty/mesa32/mesa32.rbuild +++ /dev/null @@ -1,298 +0,0 @@ - - - - - -enable-stdcall-fixup - -w - ntdll - user32 - - gdi32 - - - - - - - - - - - - - include - src - src/main - src/glapi - src/math - src/tnl - src/shader - src/shader/grammar - src/shader/slang - src/shader/slang/OSDependent/Linux - src/shader/slang/OGLCompilersDLL - - - - driverfuncs.c - - - - wmesa.c - wgl.c - - - icd.c - - - - - glapi_getproc.c - glapi.c - glthread.c - - - accum.c - api_arrayelt.c - api_exec.c - api_loopback.c - api_noop.c - api_validate.c - arrayobj.c - attrib.c - blend.c - bufferobj.c - buffers.c - clear.c - clip.c - colortab.c - context.c - convolve.c - debug.c - depth.c - depthstencil.c - dispatch.c - dlist.c - dlopen.c - drawpix.c - enable.c - enums.c - eval.c - execmem.c - extensions.c - fbobject.c - feedback.c - ffvertex_prog.c - fog.c - framebuffer.c - get.c - getstring.c - hash.c - hint.c - histogram.c - image.c - imports.c - light.c - lines.c - matrix.c - mipmap.c - mm.c - multisample.c - pixel.c - pixelstore.c - points.c - polygon.c - queryobj.c - rastpos.c - rbadaptors.c - readpix.c - renderbuffer.c - scissor.c - shaders.c - state.c - stencil.c - texcompress.c - texcompress_fxt1.c - texcompress_s3tc.c - texenv.c - texenvprogram.c - texgen.c - texformat.c - teximage.c - texobj.c - texparam.c - texrender.c - texstate.c - texstore.c - varray.c - vtxfmt.c - glheader.h - - - m_debug_clip.c - m_debug_norm.c - m_debug_xform.c - m_eval.c - m_matrix.c - m_translate.c - m_vector.c - m_xform.c - - - arbprogparse.c - arbprogram.c - atifragshader.c - nvfragparse.c - nvprogram.c - nvvertparse.c - prog_cache.c - prog_debug.c - prog_execute.c - prog_instruction.c - prog_noise.c - prog_parameter.c - prog_print.c - prog_statevars.c - prog_uniform.c - program.c - programopt.c - shader_api.c - - slang_builtin.c - slang_codegen.c - slang_compile.c - slang_compile_function.c - slang_compile_operation.c - slang_compile_struct.c - slang_compile_variable.c - slang_emit.c - slang_ir.c - slang_label.c - slang_link.c - slang_log.c - slang_mem.c - slang_preprocess.c - slang_print.c - slang_simplify.c - slang_storage.c - slang_typeinfo.c - slang_utility.c - slang_vartable.c - - - grammar_mesa.c - - - - s_aaline.c - s_aatriangle.c - s_accum.c - s_alpha.c - s_atifragshader.c - s_bitmap.c - s_blend.c - s_blit.c - s_buffers.c - s_context.c - s_copypix.c - s_depth.c - s_drawpix.c - s_feedback.c - s_fog.c - s_fragprog.c - s_imaging.c - s_lines.c - s_logic.c - s_masking.c - s_points.c - s_readpix.c - s_span.c - s_stencil.c - s_texcombine.c - s_texfilter.c - s_texstore.c - s_triangle.c - s_zoom.c - - - ss_context.c - ss_triangle.c - - - t_context.c - t_draw.c - t_pipeline.c - t_rasterpos.c - t_vb_cull.c - t_vb_fog.c - t_vb_light.c - t_vb_normals.c - t_vb_points.c - t_vb_program.c - t_vb_render.c - t_vb_texgen.c - t_vb_texmat.c - t_vb_vertex.c - t_vertex.c - t_vertex_generic.c - t_vp_build.c - - t_vertex_sse.c - - - - vbo_context.c - vbo_exec.c - vbo_exec_api.c - vbo_exec_array.c - vbo_exec_draw.c - vbo_exec_eval.c - vbo_rebase.c - vbo_save.c - vbo_save_api.c - vbo_save_draw.c - vbo_save_loopback.c - vbo_split.c - vbo_split_copy.c - vbo_split_inplace.c - - - - - x86sse.c - - 3dnow.c - 3dnow_normal.S - 3dnow_xform1.S - 3dnow_xform2.S - 3dnow_xform3.S - 3dnow_xform4.S - common_x86.c - common_x86_asm.S - glapi_x86.S - mmx_blend.S - read_rgba_span_x86.S - sse_normal.S - sse_xform1.S - sse_xform2.S - sse_xform3.S - sse_xform4.S - x86.c - x86_cliptest.S - x86_xform2.S - x86_xform3.S - x86_xform4.S - sse.c - - - - - - x86-64.c - - xform4.S - - - - - diff --git a/reactos/dll/cpl/access/access.rbuild b/reactos/dll/cpl/access/access.rbuild deleted file mode 100644 index ad1d7ebe519..00000000000 --- a/reactos/dll/cpl/access/access.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - . - gdi32 - user32 - advapi32 - comctl32 - access.c - display.c - general.c - keyboard.c - mouse.c - sound.c - access.rc - access.h - diff --git a/reactos/dll/cpl/appwiz/appwiz.rbuild b/reactos/dll/cpl/appwiz/appwiz.rbuild deleted file mode 100644 index c89725b7bba..00000000000 --- a/reactos/dll/cpl/appwiz/appwiz.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - . - advapi32 - user32 - comctl32 - ole32 - uuid - shell32 - appwiz.c - createlink.c - appwiz.rc - appwiz.h - diff --git a/reactos/dll/cpl/console/console.rbuild b/reactos/dll/cpl/console/console.rbuild deleted file mode 100644 index da172610fed..00000000000 --- a/reactos/dll/cpl/console/console.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - . - user32 - comctl32 - gdi32 - console.c - options.c - font.c - layout.c - colors.c - console.rc - console.h - diff --git a/reactos/dll/cpl/cpl.rbuild b/reactos/dll/cpl/cpl.rbuild deleted file mode 100644 index 93359b8f8c6..00000000000 --- a/reactos/dll/cpl/cpl.rbuild +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/dll/cpl/desk/desk.rbuild b/reactos/dll/cpl/desk/desk.rbuild deleted file mode 100644 index 30cfaa44943..00000000000 --- a/reactos/dll/cpl/desk/desk.rbuild +++ /dev/null @@ -1,37 +0,0 @@ - - - - - . - - user32 - advapi32 - gdi32 - comctl32 - comdlg32 - ole32 - setupapi - shell32 - ntdll - uuid - uxtheme - advmon.c - appearance.c - background.c - classinst.c - desk.c - devsett.c - dibitmap.c - misc.c - preview.c - screensaver.c - advappdlg.c - effappdlg.c - settings.c - monslctl.c - general.c - desk.rc - draw.c - theme.c - desk.h - diff --git a/reactos/dll/cpl/hdwwiz/hdwwiz.rbuild b/reactos/dll/cpl/hdwwiz/hdwwiz.rbuild deleted file mode 100644 index 8c671910253..00000000000 --- a/reactos/dll/cpl/hdwwiz/hdwwiz.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - . - setupapi - advapi32 - comctl32 - rpcrt4 - user32 - gdi32 - devmgr - ntdll - hdwwiz.c - hdwwiz.rc - diff --git a/reactos/dll/cpl/inetcpl/inetcpl.rbuild b/reactos/dll/cpl/inetcpl/inetcpl.rbuild deleted file mode 100644 index f3abf389807..00000000000 --- a/reactos/dll/cpl/inetcpl/inetcpl.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - . - include/reactos/wine - cryptui - wininet - ole32 - urlmon - delayimp - wine - advapi32 - user32 - comctl32 - gdi32 - shlwapi - inetcpl.c - content.c - general.c - security.c - inetcpl.rc - diff --git a/reactos/dll/cpl/input/input.rbuild b/reactos/dll/cpl/input/input.rbuild deleted file mode 100644 index 27ec2066301..00000000000 --- a/reactos/dll/cpl/input/input.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - . - advapi32 - user32 - comctl32 - gdi32 - input.c - settings.c - keysettings.c - add.c - changekeyseq.c - input.rc - input.h - diff --git a/reactos/dll/cpl/intl/intl.rbuild b/reactos/dll/cpl/intl/intl.rbuild deleted file mode 100644 index 49f6c687234..00000000000 --- a/reactos/dll/cpl/intl/intl.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - . - user32 - comctl32 - advapi32 - setupapi - shell32 - currency.c - date.c - generalp.c - intl.c - inplocale.c - numbers.c - time.c - misc.c - kblayouts.c - languages.c - advanced.c - sort.c - intl.rc - intl.h - diff --git a/reactos/dll/cpl/joy/joy.rbuild b/reactos/dll/cpl/joy/joy.rbuild deleted file mode 100644 index 7bacdcd182e..00000000000 --- a/reactos/dll/cpl/joy/joy.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - advapi32 - user32 - comctl32 - ole32 - uuid - shell32 - joy.c - joy.rc - diff --git a/reactos/dll/cpl/liccpa/liccpa.rbuild b/reactos/dll/cpl/liccpa/liccpa.rbuild deleted file mode 100644 index f2c7b058578..00000000000 --- a/reactos/dll/cpl/liccpa/liccpa.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - advapi32 - user32 - comctl32 - ole32 - uuid - shell32 - liccpa.c - liccpa.rc - diff --git a/reactos/dll/cpl/main/main.rbuild b/reactos/dll/cpl/main/main.rbuild deleted file mode 100644 index 0b20db99427..00000000000 --- a/reactos/dll/cpl/main/main.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - . - advapi32 - user32 - comctl32 - devmgr - comdlg32 - shell32 - gdi32 - keyboard.c - main.c - mouse.c - main.rc - main.h - diff --git a/reactos/dll/cpl/mmsys/mmsys.rbuild b/reactos/dll/cpl/mmsys/mmsys.rbuild deleted file mode 100644 index 86fb7f9e808..00000000000 --- a/reactos/dll/cpl/mmsys/mmsys.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - . - user32 - comctl32 - devmgr - gdi32 - winmm - advapi32 - shell32 - setupapi - shlwapi - mmsys.c - sounds.c - volume.c - audio.c - voice.c - mmsys.rc - mmsys.h - diff --git a/reactos/dll/cpl/ncpa/ncpa.rbuild b/reactos/dll/cpl/ncpa/ncpa.rbuild deleted file mode 100644 index c5ddfedc5a6..00000000000 --- a/reactos/dll/cpl/ncpa/ncpa.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - . - - 0x600 - - advapi32 - shell32 - ncpa.c - diff --git a/reactos/dll/cpl/odbccp32/odbccp32.rbuild b/reactos/dll/cpl/odbccp32/odbccp32.rbuild deleted file mode 100644 index abaf981d0ed..00000000000 --- a/reactos/dll/cpl/odbccp32/odbccp32.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - user32 - comctl32 - odbccp32.c - odbccp32.rc - diff --git a/reactos/dll/cpl/powercfg/powercfg.rbuild b/reactos/dll/cpl/powercfg/powercfg.rbuild deleted file mode 100644 index 14f44a1a7c7..00000000000 --- a/reactos/dll/cpl/powercfg/powercfg.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - user32 - powrprof - comctl32 - shell32 - advapi32 - powercfg.c - powershemes.c - alarms.c - advanced.c - hibernate.c - powercfg.rc - powercfg.h - diff --git a/reactos/dll/cpl/sysdm/sysdm.rbuild b/reactos/dll/cpl/sysdm/sysdm.rbuild deleted file mode 100644 index 739e41ccc15..00000000000 --- a/reactos/dll/cpl/sysdm/sysdm.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - . - advapi32 - setupapi - user32 - gdi32 - comctl32 - msimg32 - shell32 - shlwapi - ole32 - powrprof - advanced.c - environment.c - general.c - hardprof.c - hardware.c - licence.c - startrec.c - sysdm.c - userprofile.c - virtmem.c - sysdm.rc - precomp.h - diff --git a/reactos/dll/cpl/telephon/telephon.rbuild b/reactos/dll/cpl/telephon/telephon.rbuild deleted file mode 100644 index 1f0a53552d2..00000000000 --- a/reactos/dll/cpl/telephon/telephon.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - advapi32 - user32 - comctl32 - ole32 - uuid - shell32 - telephon.c - telephon.rc - diff --git a/reactos/dll/cpl/timedate/timedate.rbuild b/reactos/dll/cpl/timedate/timedate.rbuild deleted file mode 100644 index dd88c4c9e44..00000000000 --- a/reactos/dll/cpl/timedate/timedate.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - - . - advapi32 - user32 - gdi32 - comctl32 - ws2_32 - iphlpapi - clock.c - dateandtime.c - internettime.c - monthcal.c - ntpclient.c - timedate.c - timezone.c - timedate.rc - timedate.h - diff --git a/reactos/dll/cpl/usrmgr/usrmgr.rbuild b/reactos/dll/cpl/usrmgr/usrmgr.rbuild deleted file mode 100644 index ac2cea51f74..00000000000 --- a/reactos/dll/cpl/usrmgr/usrmgr.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - . - include/reactos/wine - advapi32 - user32 - gdi32 - comctl32 - ntdll - netapi32 - extra.c - groupprops.c - groups.c - misc.c - userprops.c - users.c - usrmgr.c - usrmgr.rc - usrmgr.h - diff --git a/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild b/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild deleted file mode 100644 index 5ffd603acc5..00000000000 --- a/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - user32 - comctl32 - advapi32 - kernel32 - wined3dcfg.c - general.c - wined3dcfg.rc - wined3dcfg.h - diff --git a/reactos/dll/directx/amstream/amstream.rbuild b/reactos/dll/directx/amstream/amstream.rbuild deleted file mode 100644 index 26f61d09177..00000000000 --- a/reactos/dll/directx/amstream/amstream.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - . - include/reactos/wine - 0x600 - - amstream.c - main.c - mediastream.c - mediastreamfilter.c - version.rc - wine - strmiids - uuid - ole32 - advapi32 - ntdll - diff --git a/reactos/dll/directx/bdaplgin/bdaplgin.rbuild b/reactos/dll/directx/bdaplgin/bdaplgin.rbuild deleted file mode 100644 index a2d8a1dd705..00000000000 --- a/reactos/dll/directx/bdaplgin/bdaplgin.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - . - ntdll - advapi32 - ole32 - advapi32 - msvcrt - ksproxy - - -fno-exceptions - -fno-rtti - - - /GR- - - - bdaplgin.cpp - bdaplgin.rc - classfactory.cpp - controlnode.cpp - devicecontrol.cpp - digitaldemo.cpp - frequencyfilter.cpp - lnbinfo.cpp - pincontrol.cpp - signalstatistics.cpp - - diff --git a/reactos/dll/directx/d3d8/d3d8.rbuild b/reactos/dll/directx/d3d8/d3d8.rbuild deleted file mode 100644 index bbcbf25c3b8..00000000000 --- a/reactos/dll/directx/d3d8/d3d8.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - d3d8.c - d3d8.rc - diff --git a/reactos/dll/directx/d3d8thk/d3d8thk.rbuild b/reactos/dll/directx/d3d8thk/d3d8thk.rbuild deleted file mode 100644 index 285670c46f6..00000000000 --- a/reactos/dll/directx/d3d8thk/d3d8thk.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - gdi32 - d3d8thk.rc - diff --git a/reactos/dll/directx/d3d9/d3d9.rbuild b/reactos/dll/directx/d3d9/d3d9.rbuild deleted file mode 100644 index 54fc3c5d4c3..00000000000 --- a/reactos/dll/directx/d3d9/d3d9.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - advapi32 - user32 - gdi32 - uuid - dxguid - version - d3d8thk - - d3d9.c - d3d9_baseobject.c - d3d9_callbacks.c - d3d9_caps.c - d3d9_create.c - d3d9_cursor.c - d3d9_device.c - d3d9_haldevice.c - d3d9_helpers.c - d3d9_impl.c - d3d9_mipmap.c - d3d9_puredevice.c - d3d9_resource.c - d3d9_swapchain.c - d3d9_texture.c - adapter.c - device.c - format.c - d3d9.rc - diff --git a/reactos/dll/directx/ddraw/ddraw.rbuild b/reactos/dll/directx/ddraw/ddraw.rbuild deleted file mode 100644 index 016afa6090a..00000000000 --- a/reactos/dll/directx/ddraw/ddraw.rbuild +++ /dev/null @@ -1,73 +0,0 @@ - - - - - . - user32 - gdi32 - d3d8thk - dxguid - ole32 - uuid - advapi32 - pseh - - ddraw.rc - main.c - startup.c - cleanup.c - - - ddraw_main.c - ddraw_displaymode.c - ddraw_setcooperativelevel.c - GetCaps.c - GetDeviceIdentifier.c - ddraw_stubs.c - callbacks_dd_hel.c - - - surface_stubs.c - surface_main.c - callbacks_surf_hel.c - createsurface.c - - - clipper_stubs.c - clipper_main.c - - - color_stubs.c - - - DirectD3D_main.c - - - gamma_stubs.c - - - kernel_stubs.c - - - palette.c - createpalette.c - - - videoport_stubs.c - - - DirectDraw7_Vtable.c - DirectDraw4_Vtable.c - DirectDraw2_Vtable.c - DirectDraw_Vtable.c - DirectDrawSurface7_Vtable.c - DirectDrawSurface4_Vtable.c - DirectDrawSurface3_Vtable.c - DirectDrawSurface2_Vtable.c - DirectDrawSurface_Vtable.c - DirectD3D_Vtable.c - DirectD3D2_Vtable.c - DirectD3D3_Vtable.c - DirectD3D7_Vtable.c - - diff --git a/reactos/dll/directx/devenum/devenum.rbuild b/reactos/dll/directx/devenum/devenum.rbuild deleted file mode 100644 index 57d92be949f..00000000000 --- a/reactos/dll/directx/devenum/devenum.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - 0x600 - . - include/reactos/wine - wine - uuid - ntdll - advapi32 - ole32 - oleaut32 - winmm - dxguid - strmiids - user32 - avicap32 - devenum.rc - createdevenum.c - devenum_main.c - factory.c - mediacatenum.c - parsedisplayname.c - devenum_private.h - diff --git a/reactos/dll/directx/dinput/dinput.rbuild b/reactos/dll/directx/dinput/dinput.rbuild deleted file mode 100644 index e873de7b29f..00000000000 --- a/reactos/dll/directx/dinput/dinput.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - 0x600 - . - include/reactos/wine - wine - uuid - ntdll - user32 - advapi32 - ole32 - winmm - dxguid - version.rc - data_formats.c - device.c - dinput_main.c - effect_linuxinput.c - joystick_linux.c - joystick_linuxinput.c - keyboard.c - mouse.c - regsvr.c - diff --git a/reactos/dll/directx/dinput8/dinput8.rbuild b/reactos/dll/directx/dinput8/dinput8.rbuild deleted file mode 100644 index 65f23d513de..00000000000 --- a/reactos/dll/directx/dinput8/dinput8.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - 0x600 - . - include/reactos/wine - wine - uuid - ntdll - user32 - advapi32 - ole32 - winmm - dxguid - dinput - version.rc - dinput8_main.c - regsvr.c - diff --git a/reactos/dll/directx/directx.rbuild b/reactos/dll/directx/directx.rbuild deleted file mode 100644 index 97839e654bf..00000000000 --- a/reactos/dll/directx/directx.rbuild +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/directx/dmusic/dmusic.rbuild b/reactos/dll/directx/dmusic/dmusic.rbuild deleted file mode 100644 index 289a15fe872..00000000000 --- a/reactos/dll/directx/dmusic/dmusic.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - 0x600 - - . - include/reactos/wine - wine - uuid - ntdll - user32 - advapi32 - ole32 - dxguid - dsound - version.rc - buffer.c - clock.c - collection.c - dmusic.c - dmusic_main.c - download.c - downloadedinstrument.c - instrument.c - port.c - regsvr.c - dmusic_private.h - diff --git a/reactos/dll/directx/dplay/dplay.rbuild b/reactos/dll/directx/dplay/dplay.rbuild deleted file mode 100644 index 1273d33b852..00000000000 --- a/reactos/dll/directx/dplay/dplay.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - . - include/reactos/wine - wine - uuid - ntdll - user32 - advapi32 - ole32 - winmm - dxguid - dinput - version.rc - dplay_main.c - diff --git a/reactos/dll/directx/dplayx/dplayx.rbuild b/reactos/dll/directx/dplayx/dplayx.rbuild deleted file mode 100644 index 5292fbd199c..00000000000 --- a/reactos/dll/directx/dplayx/dplayx.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - . - include/reactos/wine - wine - uuid - ntdll - user32 - advapi32 - ole32 - winmm - dxguid - version.rc - dpclassfactory.c - dplay.c - dplaysp.c - dplayx_global.c - dplayx_main.c - dplayx_messages.c - dplobby.c - lobbysp.c - name_server.c - regsvr.c - diff --git a/reactos/dll/directx/dsound/dsound.rbuild b/reactos/dll/directx/dsound/dsound.rbuild deleted file mode 100644 index fa66e5b99a9..00000000000 --- a/reactos/dll/directx/dsound/dsound.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - . - include/reactos/wine - - - wine - uuid - ntdll - user32 - advapi32 - ole32 - winmm - dxguid - version.rc - buffer.c - capture.c - dsound.c - dsound_convert.c - dsound_main.c - duplex.c - mixer.c - primary.c - propset.c - regsvr.c - sound3d.c - diff --git a/reactos/dll/directx/dsound_new/dsound_new.rbuild b/reactos/dll/directx/dsound_new/dsound_new.rbuild deleted file mode 100644 index 5d4baf0e564..00000000000 --- a/reactos/dll/directx/dsound_new/dsound_new.rbuild +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - . - uuid - ntdll - user32 - advapi32 - ole32 - winmm - dxguid - setupapi - ksuser - capture.c - capturebuffer.c - classfactory.c - devicelist.c - directsound.c - dsound.c - enum.c - misc.c - notify.c - primary.c - property.c - regsvr.c - secondary.c - stubs.c - version.rc - diff --git a/reactos/dll/directx/dxdiagn/dxdiagn.rbuild b/reactos/dll/directx/dxdiagn/dxdiagn.rbuild deleted file mode 100644 index 28debd23dbb..00000000000 --- a/reactos/dll/directx/dxdiagn/dxdiagn.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - . - include/reactos/wine - wine - uuid - ntdll - user32 - advapi32 - ole32 - oleaut32 - dxguid - strmiids - container.c - dxdiag_main.c - provider.c - regsvr.c - dxdiag_private.h - diff --git a/reactos/dll/directx/ksproxy/ksproxy.rbuild b/reactos/dll/directx/ksproxy/ksproxy.rbuild deleted file mode 100644 index c81a4c4ec9f..00000000000 --- a/reactos/dll/directx/ksproxy/ksproxy.rbuild +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - . - ntdll - advapi32 - ole32 - setupapi - msvcrt - strmiids - ksuser - - -fno-exceptions - -fno-rtti - - - - /GR- - - allocator.cpp - basicaudio.cpp - classfactory.cpp - clockforward.cpp - cvpconfig.cpp - cvpvbiconfig.cpp - datatype.cpp - enum_mediatypes.cpp - enumpins.cpp - input_pin.cpp - interface.cpp - ksproxy.cpp - ksproxy.rc - mediasample.cpp - node.cpp - output_pin.cpp - proxy.cpp - qualityforward.cpp - - diff --git a/reactos/dll/directx/ksuser/ksuser.rbuild b/reactos/dll/directx/ksuser/ksuser.rbuild deleted file mode 100644 index f316eeedd45..00000000000 --- a/reactos/dll/directx/ksuser/ksuser.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - advapi32 - ntdll - ksuser.c - ksuser.rc - diff --git a/reactos/dll/directx/msdmo/msdmo.rbuild b/reactos/dll/directx/msdmo/msdmo.rbuild deleted file mode 100644 index b6dabb41476..00000000000 --- a/reactos/dll/directx/msdmo/msdmo.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - . - include/reactos/wine - - dmoreg.c - dmort.c - stubs.c - rsrc.rc - wine - uuid - ole32 - user32 - advapi32 - ntdll - diff --git a/reactos/dll/directx/msdvbnp/msdvbnp.rbuild b/reactos/dll/directx/msdvbnp/msdvbnp.rbuild deleted file mode 100644 index f9cd0ea83b2..00000000000 --- a/reactos/dll/directx/msdvbnp/msdvbnp.rbuild +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - . - ntdll - advapi32 - ole32 - advapi32 - msvcrt - strmiids - - -fno-exceptions - -fno-rtti - - - /GR- - - - classfactory.cpp - enum_mediatypes.cpp - enumpins.cpp - ethernetfilter.cpp - msdvbnp.cpp - msdvbnp.rc - ipv4.cpp - ipv6.cpp - networkprovider.cpp - pin.cpp - scanningtuner.cpp - - diff --git a/reactos/dll/directx/msvidctl/msvidctl.rbuild b/reactos/dll/directx/msvidctl/msvidctl.rbuild deleted file mode 100644 index a603121b1f9..00000000000 --- a/reactos/dll/directx/msvidctl/msvidctl.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - . - ntdll - advapi32 - ole32 - advapi32 - msvcrt - strmiids - - -fno-exceptions - -fno-rtti - - - /GR- - - - classfactory.cpp - enumtuningspaces.cpp - msvidctl.cpp - msvidctl.rc - tunerequest.cpp - tuningspace.cpp - tuningspace_container.cpp - - diff --git a/reactos/dll/directx/qedit/qedit.rbuild b/reactos/dll/directx/qedit/qedit.rbuild deleted file mode 100644 index b2827b3bb9d..00000000000 --- a/reactos/dll/directx/qedit/qedit.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - . - include/reactos/wine - 0x600 - - main.c - mediadet.c - regsvr.c - samplegrabber.c - qedit_private.h - wine - strmiids - uuid - oleaut32 - ole32 - advapi32 - ntdll - diff --git a/reactos/dll/directx/quartz/quartz.rbuild b/reactos/dll/directx/quartz/quartz.rbuild deleted file mode 100644 index 4cfec9f412b..00000000000 --- a/reactos/dll/directx/quartz/quartz.rbuild +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - . - include/reactos/wine - 0x600 - - QUARTZ_ - - - wine - uuid - advapi32 - dsound - strmiids - ole32 - oleaut32 - shlwapi - user32 - gdi32 - advapi32 - msvfw32 - msacm32 - ntdll - quartz_proxy - rpcrt4 - pseh - avidec.c - acmwrapper.c - waveparser.c - videorenderer.c - transform.c - systemclock.c - regsvr.c - pin.c - parser.c - nullrenderer.c - mpegsplit.c - memallocator.c - main.c - filtermapper.c - filtergraph.c - filesource.c - enumregfilters.c - enumpins.c - enummoniker.c - enumfilters.c - dsoundrender.c - enummedia.c - control.c - avisplit.c - version.rc - quartz_private.h - - - - QUARTZ_ - - - quartz_strmif.idl - - \ No newline at end of file diff --git a/reactos/dll/directx/wine/d3d8/d3d8.rbuild b/reactos/dll/directx/wine/d3d8/d3d8.rbuild deleted file mode 100644 index c6819396c48..00000000000 --- a/reactos/dll/directx/wine/d3d8/d3d8.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - - . - include/reactos/wine - - - - uuid - wine - user32 - gdi32 - advapi32 - wined3d - - buffer.c - cubetexture.c - d3d8_main.c - device.c - directx.c - shader.c - surface.c - swapchain.c - texture.c - vertexdeclaration.c - volume.c - volumetexture.c - version.rc - d3d8_private.h - - wineheaders - diff --git a/reactos/dll/directx/wine/d3d9/d3d9.rbuild b/reactos/dll/directx/wine/d3d9/d3d9.rbuild deleted file mode 100644 index ac9689bc607..00000000000 --- a/reactos/dll/directx/wine/d3d9/d3d9.rbuild +++ /dev/null @@ -1,35 +0,0 @@ - - - - - . - include/reactos/wine - - - - uuid - wine - user32 - gdi32 - advapi32 - wined3d - - buffer.c - cubetexture.c - d3d9_main.c - device.c - directx.c - query.c - shader.c - stateblock.c - surface.c - swapchain.c - texture.c - vertexdeclaration.c - volume.c - volumetexture.c - version.rc - d3d9_private.h - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_24/d3dx9_24.rbuild b/reactos/dll/directx/wine/d3dx9_24/d3dx9_24.rbuild deleted file mode 100644 index fc25312e0d0..00000000000 --- a/reactos/dll/directx/wine/d3dx9_24/d3dx9_24.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_24_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_25/d3dx9_25.rbuild b/reactos/dll/directx/wine/d3dx9_25/d3dx9_25.rbuild deleted file mode 100644 index 129135cc691..00000000000 --- a/reactos/dll/directx/wine/d3dx9_25/d3dx9_25.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_25_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_26/d3dx9_26.rbuild b/reactos/dll/directx/wine/d3dx9_26/d3dx9_26.rbuild deleted file mode 100644 index 887eff22f66..00000000000 --- a/reactos/dll/directx/wine/d3dx9_26/d3dx9_26.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_26_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_27/d3dx9_27.rbuild b/reactos/dll/directx/wine/d3dx9_27/d3dx9_27.rbuild deleted file mode 100644 index c0664299983..00000000000 --- a/reactos/dll/directx/wine/d3dx9_27/d3dx9_27.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_27_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_28/d3dx9_28.rbuild b/reactos/dll/directx/wine/d3dx9_28/d3dx9_28.rbuild deleted file mode 100644 index cb47d5f047d..00000000000 --- a/reactos/dll/directx/wine/d3dx9_28/d3dx9_28.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_28_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_29/d3dx9_29.rbuild b/reactos/dll/directx/wine/d3dx9_29/d3dx9_29.rbuild deleted file mode 100644 index d1c5e2ea161..00000000000 --- a/reactos/dll/directx/wine/d3dx9_29/d3dx9_29.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_29_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_30/d3dx9_30.rbuild b/reactos/dll/directx/wine/d3dx9_30/d3dx9_30.rbuild deleted file mode 100644 index c47ef1c688e..00000000000 --- a/reactos/dll/directx/wine/d3dx9_30/d3dx9_30.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_30_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_31/d3dx9_31.rbuild b/reactos/dll/directx/wine/d3dx9_31/d3dx9_31.rbuild deleted file mode 100644 index 01c2bc4fd1e..00000000000 --- a/reactos/dll/directx/wine/d3dx9_31/d3dx9_31.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_31_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_32/d3dx9_32.rbuild b/reactos/dll/directx/wine/d3dx9_32/d3dx9_32.rbuild deleted file mode 100644 index fd2dbeee065..00000000000 --- a/reactos/dll/directx/wine/d3dx9_32/d3dx9_32.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_32_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_33/d3dx9_33.rbuild b/reactos/dll/directx/wine/d3dx9_33/d3dx9_33.rbuild deleted file mode 100644 index 4c7ea881fc9..00000000000 --- a/reactos/dll/directx/wine/d3dx9_33/d3dx9_33.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_33_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_34/d3dx9_34.rbuild b/reactos/dll/directx/wine/d3dx9_34/d3dx9_34.rbuild deleted file mode 100644 index b297ab1e7f9..00000000000 --- a/reactos/dll/directx/wine/d3dx9_34/d3dx9_34.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_34_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_35/d3dx9_35.rbuild b/reactos/dll/directx/wine/d3dx9_35/d3dx9_35.rbuild deleted file mode 100644 index 06087a6900d..00000000000 --- a/reactos/dll/directx/wine/d3dx9_35/d3dx9_35.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_35_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_36/d3dx9_36.rbuild b/reactos/dll/directx/wine/d3dx9_36/d3dx9_36.rbuild deleted file mode 100644 index b44f95fd57e..00000000000 --- a/reactos/dll/directx/wine/d3dx9_36/d3dx9_36.rbuild +++ /dev/null @@ -1,29 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - msvcrt - - core.c - d3dx9_36_main.c - font.c - math.c - mesh.c - shader.c - sprite.c - surface.c - texture.c - util.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_37/d3dx9_37.rbuild b/reactos/dll/directx/wine/d3dx9_37/d3dx9_37.rbuild deleted file mode 100644 index 0d1ecddcc40..00000000000 --- a/reactos/dll/directx/wine/d3dx9_37/d3dx9_37.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_37_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_38/d3dx9_38.rbuild b/reactos/dll/directx/wine/d3dx9_38/d3dx9_38.rbuild deleted file mode 100644 index 14d4e0c4445..00000000000 --- a/reactos/dll/directx/wine/d3dx9_38/d3dx9_38.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_38_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_39/d3dx9_39.rbuild b/reactos/dll/directx/wine/d3dx9_39/d3dx9_39.rbuild deleted file mode 100644 index 9969cc2e96c..00000000000 --- a/reactos/dll/directx/wine/d3dx9_39/d3dx9_39.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_39_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_40/d3dx9_40.rbuild b/reactos/dll/directx/wine/d3dx9_40/d3dx9_40.rbuild deleted file mode 100644 index 478bcc82ff8..00000000000 --- a/reactos/dll/directx/wine/d3dx9_40/d3dx9_40.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_40_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_41/d3dx9_41.rbuild b/reactos/dll/directx/wine/d3dx9_41/d3dx9_41.rbuild deleted file mode 100644 index bd4a36b010b..00000000000 --- a/reactos/dll/directx/wine/d3dx9_41/d3dx9_41.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_41_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/d3dx9_42/d3dx9_42.rbuild b/reactos/dll/directx/wine/d3dx9_42/d3dx9_42.rbuild deleted file mode 100644 index 0cbf2df0a7d..00000000000 --- a/reactos/dll/directx/wine/d3dx9_42/d3dx9_42.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - - d3d9 - wine - user32 - gdi32 - advapi32 - - d3dx9_42_main.c - version.rc - - wineheaders - diff --git a/reactos/dll/directx/wine/ddraw/ddraw.rbuild b/reactos/dll/directx/wine/ddraw/ddraw.rbuild deleted file mode 100644 index 3f336ceb8d9..00000000000 --- a/reactos/dll/directx/wine/ddraw/ddraw.rbuild +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - . - include/reactos/wine - - - /FIwine/typeof.h - - advapi32 - dxguid - gdi32 - ole32 - pseh - user32 - uuid - wine - wined3d - - clipper.c - ddraw.c - device.c - executebuffer.c - light.c - main.c - material.c - palette.c - regsvr.c - stubs.c - surface.c - utils.c - version.rc - vertexbuffer.c - viewport.c - ddraw_private.h - - wineheaders - diff --git a/reactos/dll/directx/wine/wine.rbuild b/reactos/dll/directx/wine/wine.rbuild deleted file mode 100644 index 85d0bbe906e..00000000000 --- a/reactos/dll/directx/wine/wine.rbuild +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/directx/wine/wined3d/wined3d.rbuild b/reactos/dll/directx/wine/wined3d/wined3d.rbuild deleted file mode 100644 index 18d6662ff35..00000000000 --- a/reactos/dll/directx/wine/wined3d/wined3d.rbuild +++ /dev/null @@ -1,53 +0,0 @@ - - - - - . - include/reactos/wine - - - - - wine - user32 - opengl32 - gdi32 - advapi32 - uuid - - ati_fragment_shader.c - arb_program_shader.c - buffer.c - clipper.c - context.c - device.c - directx.c - drawprim.c - gl_compat.c - glsl_shader.c - nvidia_texture_shader.c - palette.c - query.c - resource.c - shader.c - shader_sm1.c - shader_sm4.c - state.c - stateblock.c - surface.c - swapchain.c - texture.c - utils.c - vertexdeclaration.c - view.c - volume.c - wined3d_main.c - version.rc - wined3d_private.h - - powf.c - sqrtf.c - - - wineheaders - diff --git a/reactos/dll/dll.rbuild b/reactos/dll/dll.rbuild deleted file mode 100644 index 99bf1e93179..00000000000 --- a/reactos/dll/dll.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/keyboard/kbda1/kbda1.rbuild b/reactos/dll/keyboard/kbda1/kbda1.rbuild deleted file mode 100644 index 31d033df20d..00000000000 --- a/reactos/dll/keyboard/kbda1/kbda1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbda1.c - kbda1.rc - diff --git a/reactos/dll/keyboard/kbda2/kbda2.rbuild b/reactos/dll/keyboard/kbda2/kbda2.rbuild deleted file mode 100644 index 4cf31ccc2fa..00000000000 --- a/reactos/dll/keyboard/kbda2/kbda2.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbda2.c - kbda2.rc - diff --git a/reactos/dll/keyboard/kbda3/kbda3.rbuild b/reactos/dll/keyboard/kbda3/kbda3.rbuild deleted file mode 100644 index 9d7c0d09a22..00000000000 --- a/reactos/dll/keyboard/kbda3/kbda3.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbda3.c - kbda3.rc - diff --git a/reactos/dll/keyboard/kbdal/kbdal.rbuild b/reactos/dll/keyboard/kbdal/kbdal.rbuild deleted file mode 100644 index 073cb694d3b..00000000000 --- a/reactos/dll/keyboard/kbdal/kbdal.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdal.c - kbdal.rc - diff --git a/reactos/dll/keyboard/kbdarme/kbdarme.rbuild b/reactos/dll/keyboard/kbdarme/kbdarme.rbuild deleted file mode 100644 index 5b057472893..00000000000 --- a/reactos/dll/keyboard/kbdarme/kbdarme.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdarme.c - kbdarme.rc - diff --git a/reactos/dll/keyboard/kbdarmw/kbdarmw.rbuild b/reactos/dll/keyboard/kbdarmw/kbdarmw.rbuild deleted file mode 100644 index 2564cceba8f..00000000000 --- a/reactos/dll/keyboard/kbdarmw/kbdarmw.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdarmw.c - kbdarmw.rc - diff --git a/reactos/dll/keyboard/kbdaze/kbdaze.rbuild b/reactos/dll/keyboard/kbdaze/kbdaze.rbuild deleted file mode 100644 index dc9396f2a7b..00000000000 --- a/reactos/dll/keyboard/kbdaze/kbdaze.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdaze.c - kbdaze.rc - diff --git a/reactos/dll/keyboard/kbdazel/kbdazel.rbuild b/reactos/dll/keyboard/kbdazel/kbdazel.rbuild deleted file mode 100644 index bce7694060b..00000000000 --- a/reactos/dll/keyboard/kbdazel/kbdazel.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdazel.c - kbdazel.rc - diff --git a/reactos/dll/keyboard/kbdbe/kbdbe.rbuild b/reactos/dll/keyboard/kbdbe/kbdbe.rbuild deleted file mode 100644 index 7e5eb929eef..00000000000 --- a/reactos/dll/keyboard/kbdbe/kbdbe.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdbe.c - kbdbe.rc - diff --git a/reactos/dll/keyboard/kbdbga/kbdbga.rbuild b/reactos/dll/keyboard/kbdbga/kbdbga.rbuild deleted file mode 100644 index 544bb45d3c1..00000000000 --- a/reactos/dll/keyboard/kbdbga/kbdbga.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdbga.c - kbdbga.rc - diff --git a/reactos/dll/keyboard/kbdbgm/kbdbgm.rbuild b/reactos/dll/keyboard/kbdbgm/kbdbgm.rbuild deleted file mode 100644 index 8b55a01f338..00000000000 --- a/reactos/dll/keyboard/kbdbgm/kbdbgm.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdbgm.c - kbdbgm.rc - diff --git a/reactos/dll/keyboard/kbdbgt/kbdbgt.rbuild b/reactos/dll/keyboard/kbdbgt/kbdbgt.rbuild deleted file mode 100644 index 63592e5071f..00000000000 --- a/reactos/dll/keyboard/kbdbgt/kbdbgt.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdbgt.c - kbdbgt.rc - diff --git a/reactos/dll/keyboard/kbdblr/kbdblr.rbuild b/reactos/dll/keyboard/kbdblr/kbdblr.rbuild deleted file mode 100644 index 21815ed16d8..00000000000 --- a/reactos/dll/keyboard/kbdblr/kbdblr.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdblr.c - kbdblr.rc - diff --git a/reactos/dll/keyboard/kbdbr/kbdbr.rbuild b/reactos/dll/keyboard/kbdbr/kbdbr.rbuild deleted file mode 100644 index 72ff9aba4bf..00000000000 --- a/reactos/dll/keyboard/kbdbr/kbdbr.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdbr.c - kbdbr.rc - diff --git a/reactos/dll/keyboard/kbdbur/kbdbur.rbuild b/reactos/dll/keyboard/kbdbur/kbdbur.rbuild deleted file mode 100644 index a452a072baf..00000000000 --- a/reactos/dll/keyboard/kbdbur/kbdbur.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdbur.c - kbdbur.rc - diff --git a/reactos/dll/keyboard/kbdcan/kbdcan.rbuild b/reactos/dll/keyboard/kbdcan/kbdcan.rbuild deleted file mode 100644 index 31a1183dbd1..00000000000 --- a/reactos/dll/keyboard/kbdcan/kbdcan.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdcan.c - kbdcan.rc - diff --git a/reactos/dll/keyboard/kbdcr/kbdcr.rbuild b/reactos/dll/keyboard/kbdcr/kbdcr.rbuild deleted file mode 100644 index 32784f9fcc7..00000000000 --- a/reactos/dll/keyboard/kbdcr/kbdcr.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdcr.c - kbdcr.rc - diff --git a/reactos/dll/keyboard/kbdcz/kbdcz.rbuild b/reactos/dll/keyboard/kbdcz/kbdcz.rbuild deleted file mode 100644 index 639fbc85650..00000000000 --- a/reactos/dll/keyboard/kbdcz/kbdcz.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdcz.c - kbdcz.rc - diff --git a/reactos/dll/keyboard/kbdcz1/kbdcz1.rbuild b/reactos/dll/keyboard/kbdcz1/kbdcz1.rbuild deleted file mode 100644 index 01a3ed1c5e4..00000000000 --- a/reactos/dll/keyboard/kbdcz1/kbdcz1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdcz1.c - kbdcz1.rc - diff --git a/reactos/dll/keyboard/kbdda/kbdda.rbuild b/reactos/dll/keyboard/kbdda/kbdda.rbuild deleted file mode 100644 index 4c6337a199a..00000000000 --- a/reactos/dll/keyboard/kbdda/kbdda.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdda.c - kbdda.rc - diff --git a/reactos/dll/keyboard/kbddv/kbddv.rbuild b/reactos/dll/keyboard/kbddv/kbddv.rbuild deleted file mode 100644 index 5acfd24e375..00000000000 --- a/reactos/dll/keyboard/kbddv/kbddv.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbddv.c - kbddv.rc - diff --git a/reactos/dll/keyboard/kbdes/kbdes.rbuild b/reactos/dll/keyboard/kbdes/kbdes.rbuild deleted file mode 100644 index b580af90812..00000000000 --- a/reactos/dll/keyboard/kbdes/kbdes.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdes.c - kbdes.rc - diff --git a/reactos/dll/keyboard/kbdest/kbdest.rbuild b/reactos/dll/keyboard/kbdest/kbdest.rbuild deleted file mode 100644 index b979a0c1683..00000000000 --- a/reactos/dll/keyboard/kbdest/kbdest.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdest.c - kbdest.rc - diff --git a/reactos/dll/keyboard/kbdfc/kbdfc.rbuild b/reactos/dll/keyboard/kbdfc/kbdfc.rbuild deleted file mode 100644 index 9459811080e..00000000000 --- a/reactos/dll/keyboard/kbdfc/kbdfc.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdfc.c - kbdfc.rc - diff --git a/reactos/dll/keyboard/kbdfi/kbdfi.rbuild b/reactos/dll/keyboard/kbdfi/kbdfi.rbuild deleted file mode 100644 index 1089de6ec74..00000000000 --- a/reactos/dll/keyboard/kbdfi/kbdfi.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdfi.c - kbdfi.rc - diff --git a/reactos/dll/keyboard/kbdfr/kbdfr.rbuild b/reactos/dll/keyboard/kbdfr/kbdfr.rbuild deleted file mode 100644 index f6319af96de..00000000000 --- a/reactos/dll/keyboard/kbdfr/kbdfr.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdfr.c - kbdfr.rc - diff --git a/reactos/dll/keyboard/kbdgeo/kbdgeo.rbuild b/reactos/dll/keyboard/kbdgeo/kbdgeo.rbuild deleted file mode 100644 index 853dbb48fd6..00000000000 --- a/reactos/dll/keyboard/kbdgeo/kbdgeo.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdgeo.c - kbdgeo.rc - diff --git a/reactos/dll/keyboard/kbdgerg/kbdgerg.rbuild b/reactos/dll/keyboard/kbdgerg/kbdgerg.rbuild deleted file mode 100644 index 684cdcee39f..00000000000 --- a/reactos/dll/keyboard/kbdgerg/kbdgerg.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdgerg.c - kbdgerg.rc - diff --git a/reactos/dll/keyboard/kbdgneo/kbdgneo.rbuild b/reactos/dll/keyboard/kbdgneo/kbdgneo.rbuild deleted file mode 100644 index 4b43e916f32..00000000000 --- a/reactos/dll/keyboard/kbdgneo/kbdgneo.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdgneo.c - kbdgneo.rc - diff --git a/reactos/dll/keyboard/kbdgr/kbdgr.rbuild b/reactos/dll/keyboard/kbdgr/kbdgr.rbuild deleted file mode 100644 index 246cfb386df..00000000000 --- a/reactos/dll/keyboard/kbdgr/kbdgr.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdgr.c - kbdgr.rc - diff --git a/reactos/dll/keyboard/kbdgrist/kbdgrist.rbuild b/reactos/dll/keyboard/kbdgrist/kbdgrist.rbuild deleted file mode 100644 index e8978cf7a2f..00000000000 --- a/reactos/dll/keyboard/kbdgrist/kbdgrist.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdgrist.c - kbdgrist.rc - diff --git a/reactos/dll/keyboard/kbdhe/kbdhe.rbuild b/reactos/dll/keyboard/kbdhe/kbdhe.rbuild deleted file mode 100644 index 32f2b711484..00000000000 --- a/reactos/dll/keyboard/kbdhe/kbdhe.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdhe.c - kbdhe.rc - diff --git a/reactos/dll/keyboard/kbdheb/kbdheb.rbuild b/reactos/dll/keyboard/kbdheb/kbdheb.rbuild deleted file mode 100644 index 8320aa495ab..00000000000 --- a/reactos/dll/keyboard/kbdheb/kbdheb.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdheb.c - kbdheb.rc - diff --git a/reactos/dll/keyboard/kbdhu/kbdhu.rbuild b/reactos/dll/keyboard/kbdhu/kbdhu.rbuild deleted file mode 100644 index dd1a3b69a65..00000000000 --- a/reactos/dll/keyboard/kbdhu/kbdhu.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdhu.c - kbdhu.rc - diff --git a/reactos/dll/keyboard/kbdic/kbdic.rbuild b/reactos/dll/keyboard/kbdic/kbdic.rbuild deleted file mode 100644 index c784c17dace..00000000000 --- a/reactos/dll/keyboard/kbdic/kbdic.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdic.c - kbdic.rc - diff --git a/reactos/dll/keyboard/kbdinasa/kbdinasa.rbuild b/reactos/dll/keyboard/kbdinasa/kbdinasa.rbuild deleted file mode 100644 index bf312f1a57c..00000000000 --- a/reactos/dll/keyboard/kbdinasa/kbdinasa.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdinasa.c - kbdinasa.rc - diff --git a/reactos/dll/keyboard/kbdinben/kbdinben.rbuild b/reactos/dll/keyboard/kbdinben/kbdinben.rbuild deleted file mode 100644 index 72bd07de614..00000000000 --- a/reactos/dll/keyboard/kbdinben/kbdinben.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdinben.c - kbdinben.rc - diff --git a/reactos/dll/keyboard/kbdindev/kbdindev.rbuild b/reactos/dll/keyboard/kbdindev/kbdindev.rbuild deleted file mode 100644 index 67b110409bc..00000000000 --- a/reactos/dll/keyboard/kbdindev/kbdindev.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdindev.c - kbdindev.rc - diff --git a/reactos/dll/keyboard/kbdinguj/kbdinguj.rbuild b/reactos/dll/keyboard/kbdinguj/kbdinguj.rbuild deleted file mode 100644 index c584273dfc2..00000000000 --- a/reactos/dll/keyboard/kbdinguj/kbdinguj.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdinguj.c - kbdinguj.rc - diff --git a/reactos/dll/keyboard/kbdinmal/kbdinmal.rbuild b/reactos/dll/keyboard/kbdinmal/kbdinmal.rbuild deleted file mode 100644 index 48304136ee0..00000000000 --- a/reactos/dll/keyboard/kbdinmal/kbdinmal.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdinmal.c - kbdinmal.rc - diff --git a/reactos/dll/keyboard/kbdir/kbdir.rbuild b/reactos/dll/keyboard/kbdir/kbdir.rbuild deleted file mode 100644 index 787f7d58e6f..00000000000 --- a/reactos/dll/keyboard/kbdir/kbdir.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdir.c - kbdir.rc - diff --git a/reactos/dll/keyboard/kbdit/kbdit.rbuild b/reactos/dll/keyboard/kbdit/kbdit.rbuild deleted file mode 100644 index 136233af040..00000000000 --- a/reactos/dll/keyboard/kbdit/kbdit.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdit.c - kbdit.rc - diff --git a/reactos/dll/keyboard/kbdja/kbdja.rbuild b/reactos/dll/keyboard/kbdja/kbdja.rbuild deleted file mode 100644 index 40e6b663adc..00000000000 --- a/reactos/dll/keyboard/kbdja/kbdja.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdja.c - kbdja.rc - diff --git a/reactos/dll/keyboard/kbdkaz/kbdkaz.rbuild b/reactos/dll/keyboard/kbdkaz/kbdkaz.rbuild deleted file mode 100644 index 3aba85c86c5..00000000000 --- a/reactos/dll/keyboard/kbdkaz/kbdkaz.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdkaz.c - kbdkaz.rc - diff --git a/reactos/dll/keyboard/kbdko/kbdko.rbuild b/reactos/dll/keyboard/kbdko/kbdko.rbuild deleted file mode 100644 index a448d4fb8a5..00000000000 --- a/reactos/dll/keyboard/kbdko/kbdko.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdko.c - kbdko.rc - diff --git a/reactos/dll/keyboard/kbdla/kbdla.rbuild b/reactos/dll/keyboard/kbdla/kbdla.rbuild deleted file mode 100644 index 543e4c23669..00000000000 --- a/reactos/dll/keyboard/kbdla/kbdla.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdla.c - kbdla.rc - diff --git a/reactos/dll/keyboard/kbdlt1/kbdlt1.rbuild b/reactos/dll/keyboard/kbdlt1/kbdlt1.rbuild deleted file mode 100644 index e65ce45c29e..00000000000 --- a/reactos/dll/keyboard/kbdlt1/kbdlt1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdlt1.c - kbdlt1.rc - diff --git a/reactos/dll/keyboard/kbdlv/kbdlv.rbuild b/reactos/dll/keyboard/kbdlv/kbdlv.rbuild deleted file mode 100644 index 20e5c90abf8..00000000000 --- a/reactos/dll/keyboard/kbdlv/kbdlv.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdlv.c - kbdlv.rc - diff --git a/reactos/dll/keyboard/kbdmac/kbdmac.rbuild b/reactos/dll/keyboard/kbdmac/kbdmac.rbuild deleted file mode 100644 index f6d2ed58ead..00000000000 --- a/reactos/dll/keyboard/kbdmac/kbdmac.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdmac.c - kbdmac.rc - diff --git a/reactos/dll/keyboard/kbdne/kbdne.rbuild b/reactos/dll/keyboard/kbdne/kbdne.rbuild deleted file mode 100644 index 6eab2d336d2..00000000000 --- a/reactos/dll/keyboard/kbdne/kbdne.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdne.c - kbdne.rc - diff --git a/reactos/dll/keyboard/kbdno/kbdno.rbuild b/reactos/dll/keyboard/kbdno/kbdno.rbuild deleted file mode 100644 index 49e0b73be9a..00000000000 --- a/reactos/dll/keyboard/kbdno/kbdno.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdno.c - kbdno.rc - diff --git a/reactos/dll/keyboard/kbdpl/kbdpl.rbuild b/reactos/dll/keyboard/kbdpl/kbdpl.rbuild deleted file mode 100644 index 59aa955d056..00000000000 --- a/reactos/dll/keyboard/kbdpl/kbdpl.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - kbdpl.c - kbdpl.rc - diff --git a/reactos/dll/keyboard/kbdpl1/kbdpl1.rbuild b/reactos/dll/keyboard/kbdpl1/kbdpl1.rbuild deleted file mode 100644 index 36b4b2e4bbd..00000000000 --- a/reactos/dll/keyboard/kbdpl1/kbdpl1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdpl1.c - kbdpl1.rc - diff --git a/reactos/dll/keyboard/kbdpo/kbdpo.rbuild b/reactos/dll/keyboard/kbdpo/kbdpo.rbuild deleted file mode 100644 index c8c4002c694..00000000000 --- a/reactos/dll/keyboard/kbdpo/kbdpo.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdpo.c - kbdpo.rc - diff --git a/reactos/dll/keyboard/kbdro/kbdro.rbuild b/reactos/dll/keyboard/kbdro/kbdro.rbuild deleted file mode 100644 index f8e7af61dab..00000000000 --- a/reactos/dll/keyboard/kbdro/kbdro.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdro.c - kbdro.rc - diff --git a/reactos/dll/keyboard/kbdru/kbdru.rbuild b/reactos/dll/keyboard/kbdru/kbdru.rbuild deleted file mode 100644 index 95a66419919..00000000000 --- a/reactos/dll/keyboard/kbdru/kbdru.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdru.c - kbdru.rc - diff --git a/reactos/dll/keyboard/kbdru1/kbdru1.rbuild b/reactos/dll/keyboard/kbdru1/kbdru1.rbuild deleted file mode 100644 index 150ebaf717c..00000000000 --- a/reactos/dll/keyboard/kbdru1/kbdru1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdru1.c - kbdru1.rc - diff --git a/reactos/dll/keyboard/kbdsg/kbdsg.rbuild b/reactos/dll/keyboard/kbdsg/kbdsg.rbuild deleted file mode 100644 index 4c5ac0c6f44..00000000000 --- a/reactos/dll/keyboard/kbdsg/kbdsg.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdsg.c - kbdsg.rc - diff --git a/reactos/dll/keyboard/kbdsk/kbdsk.rbuild b/reactos/dll/keyboard/kbdsk/kbdsk.rbuild deleted file mode 100644 index fb0a45c982b..00000000000 --- a/reactos/dll/keyboard/kbdsk/kbdsk.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdsk.c - kbdsk.rc - diff --git a/reactos/dll/keyboard/kbdsk1/kbdsk1.rbuild b/reactos/dll/keyboard/kbdsk1/kbdsk1.rbuild deleted file mode 100644 index 8ff34acbfe5..00000000000 --- a/reactos/dll/keyboard/kbdsk1/kbdsk1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdsk1.c - kbdsk1.rc - diff --git a/reactos/dll/keyboard/kbdsw/kbdsw.rbuild b/reactos/dll/keyboard/kbdsw/kbdsw.rbuild deleted file mode 100644 index 137fff9a3b9..00000000000 --- a/reactos/dll/keyboard/kbdsw/kbdsw.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdsw.c - kbdsw.rc - diff --git a/reactos/dll/keyboard/kbdtat/kbdtat.rbuild b/reactos/dll/keyboard/kbdtat/kbdtat.rbuild deleted file mode 100644 index e6f23cdd4bb..00000000000 --- a/reactos/dll/keyboard/kbdtat/kbdtat.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdtat.c - kbdtat.rc - diff --git a/reactos/dll/keyboard/kbdth0/kbdth0.rbuild b/reactos/dll/keyboard/kbdth0/kbdth0.rbuild deleted file mode 100644 index af6bbfe3a4f..00000000000 --- a/reactos/dll/keyboard/kbdth0/kbdth0.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdth0.c - kbdth0.rc - diff --git a/reactos/dll/keyboard/kbdth1/kbdth1.rbuild b/reactos/dll/keyboard/kbdth1/kbdth1.rbuild deleted file mode 100644 index 50a76792692..00000000000 --- a/reactos/dll/keyboard/kbdth1/kbdth1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdth1.c - kbdth1.rc - diff --git a/reactos/dll/keyboard/kbdth2/kbdth2.rbuild b/reactos/dll/keyboard/kbdth2/kbdth2.rbuild deleted file mode 100644 index b86aa31e287..00000000000 --- a/reactos/dll/keyboard/kbdth2/kbdth2.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdth2.c - kbdth2.rc - diff --git a/reactos/dll/keyboard/kbdth3/kbdth3.rbuild b/reactos/dll/keyboard/kbdth3/kbdth3.rbuild deleted file mode 100644 index e166f086a7b..00000000000 --- a/reactos/dll/keyboard/kbdth3/kbdth3.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdth3.c - kbdth3.rc - diff --git a/reactos/dll/keyboard/kbdtuf/kbdtuf.rbuild b/reactos/dll/keyboard/kbdtuf/kbdtuf.rbuild deleted file mode 100644 index 56efedbfa26..00000000000 --- a/reactos/dll/keyboard/kbdtuf/kbdtuf.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdtuf.c - kbdtuf.rc - diff --git a/reactos/dll/keyboard/kbdtuq/kbdtuq.rbuild b/reactos/dll/keyboard/kbdtuq/kbdtuq.rbuild deleted file mode 100644 index 58281d92cb2..00000000000 --- a/reactos/dll/keyboard/kbdtuq/kbdtuq.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdtuq.c - kbdtuq.rc - diff --git a/reactos/dll/keyboard/kbduk/kbduk.rbuild b/reactos/dll/keyboard/kbduk/kbduk.rbuild deleted file mode 100644 index ac8308b98b5..00000000000 --- a/reactos/dll/keyboard/kbduk/kbduk.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbduk.c - kbduk.rc - diff --git a/reactos/dll/keyboard/kbdur/kbdur.rbuild b/reactos/dll/keyboard/kbdur/kbdur.rbuild deleted file mode 100644 index 3de98772b7a..00000000000 --- a/reactos/dll/keyboard/kbdur/kbdur.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdur.c - kbdur.rc - diff --git a/reactos/dll/keyboard/kbdurs/kbdurs.rbuild b/reactos/dll/keyboard/kbdurs/kbdurs.rbuild deleted file mode 100644 index e92e36929dd..00000000000 --- a/reactos/dll/keyboard/kbdurs/kbdurs.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdurs.c - kbdurs.rc - diff --git a/reactos/dll/keyboard/kbdus/kbdus.rbuild b/reactos/dll/keyboard/kbdus/kbdus.rbuild deleted file mode 100644 index 88b0f3cc717..00000000000 --- a/reactos/dll/keyboard/kbdus/kbdus.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdus.c - kbdus.rc - diff --git a/reactos/dll/keyboard/kbdusa/kbdusa.rbuild b/reactos/dll/keyboard/kbdusa/kbdusa.rbuild deleted file mode 100644 index 74af4683131..00000000000 --- a/reactos/dll/keyboard/kbdusa/kbdusa.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdusa.c - kbdusa.rc - diff --git a/reactos/dll/keyboard/kbdusl/kbdusl.rbuild b/reactos/dll/keyboard/kbdusl/kbdusl.rbuild deleted file mode 100644 index 5cab9fa3c69..00000000000 --- a/reactos/dll/keyboard/kbdusl/kbdusl.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdusl.c - kbdusl.rc - diff --git a/reactos/dll/keyboard/kbdusr/kbdusr.rbuild b/reactos/dll/keyboard/kbdusr/kbdusr.rbuild deleted file mode 100644 index 5be90099a4f..00000000000 --- a/reactos/dll/keyboard/kbdusr/kbdusr.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdusr.c - kbdusr.rc - diff --git a/reactos/dll/keyboard/kbdusx/kbdusx.rbuild b/reactos/dll/keyboard/kbdusx/kbdusx.rbuild deleted file mode 100644 index 1cc3aa2ae50..00000000000 --- a/reactos/dll/keyboard/kbdusx/kbdusx.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdusx.c - kbdusx.rc - diff --git a/reactos/dll/keyboard/kbduzb/kbduzb.rbuild b/reactos/dll/keyboard/kbduzb/kbduzb.rbuild deleted file mode 100644 index 90a11665813..00000000000 --- a/reactos/dll/keyboard/kbduzb/kbduzb.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbduzb.c - kbduzb.rc - diff --git a/reactos/dll/keyboard/kbdvntc/kbdvntc.rbuild b/reactos/dll/keyboard/kbdvntc/kbdvntc.rbuild deleted file mode 100644 index 65566f9c2a9..00000000000 --- a/reactos/dll/keyboard/kbdvntc/kbdvntc.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdvntc.c - kbdvntc.rc - diff --git a/reactos/dll/keyboard/kbdycc/kbdycc.rbuild b/reactos/dll/keyboard/kbdycc/kbdycc.rbuild deleted file mode 100644 index 36fe9bf4a80..00000000000 --- a/reactos/dll/keyboard/kbdycc/kbdycc.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdycc.c - kbdycc.rc - diff --git a/reactos/dll/keyboard/kbdycl/kbdycl.rbuild b/reactos/dll/keyboard/kbdycl/kbdycl.rbuild deleted file mode 100644 index f188c314195..00000000000 --- a/reactos/dll/keyboard/kbdycl/kbdycl.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - include - kbdycl.c - kbdycl.rc - diff --git a/reactos/dll/keyboard/keyboard.rbuild b/reactos/dll/keyboard/keyboard.rbuild deleted file mode 100644 index ca2ef340d0f..00000000000 --- a/reactos/dll/keyboard/keyboard.rbuild +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/nls/idndl/idndl.rbuild b/reactos/dll/nls/idndl/idndl.rbuild deleted file mode 100644 index e1303771eab..00000000000 --- a/reactos/dll/nls/idndl/idndl.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -fno-exceptions - -fno-rtti - - 0x600 - idndl.cpp - - diff --git a/reactos/dll/nls/nls.rbuild b/reactos/dll/nls/nls.rbuild deleted file mode 100644 index b954f027898..00000000000 --- a/reactos/dll/nls/nls.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/reactos/dll/nls/normaliz/normaliz.rbuild b/reactos/dll/nls/normaliz/normaliz.rbuild deleted file mode 100644 index 7a73f0d93bf..00000000000 --- a/reactos/dll/nls/normaliz/normaliz.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - - dummy.c - diff --git a/reactos/dll/ntdll/def/ntdll.pspec b/reactos/dll/ntdll/def/ntdll.pspec deleted file mode 100644 index 53ff18032c8..00000000000 --- a/reactos/dll/ntdll/def/ntdll.pspec +++ /dev/null @@ -1,1436 +0,0 @@ - -#undef i386 - -//@ stdcall A_SHAFinal // 6.0 and higher -//@ stdcall A_SHAInit // 6.0 and higher -//@ stdcall A_SHAUpdate // 6.0 and higher -//@ stdcall AitFireParentUsageEvent // 6.1 and higher -//@ stdcall AitLogFeatureUsageByApp // 6.1 and higher -//@ stdcall AlpcAdjustCompletionListConcurrencyCount // 6.0 and higher -//@ stdcall AlpcFreeCompletionListMessage // 6.0 and higher -//@ stdcall AlpcGetCompletionListLastMessageInformation // 6.0 and higher -//@ stdcall AlpcGetCompletionListMessageAttributes // 6.0 and higher -//@ stdcall AlpcGetHeaderSize // 6.0 and higher -//@ stdcall AlpcGetMessageAttribute // 6.0 and higher -//@ stdcall AlpcGetMessageFromCompletionList // 6.0 and higher -//@ stdcall AlpcGetOutstandingCompletionListMessageCount // 6.0 and higher -//@ stdcall AlpcInitializeMessageAttribute // 6.0 and higher -//@ stdcall AlpcMaxAllowedMessageLength // 6.0 and higher -//@ stdcall AlpcRegisterCompletionList // 6.0 and higher -//@ stdcall AlpcRegisterCompletionListWorkerThread // 6.0 and higher -//@ stdcall AlpcRundownCompletionList // 6.1 and higher -//@ stdcall AlpcUnregisterCompletionList // 6.0 and higher -//@ stdcall AlpcUnregisterCompletionListWorkerThread // 6.0 and higher -@ stdcall CsrAllocateCaptureBuffer(long long) -//@ stdcall CsrAllocateCapturePointer // NT3, NT4 only -@ stdcall CsrAllocateMessagePointer(ptr long ptr) -@ stdcall CsrCaptureMessageBuffer(ptr ptr long ptr) -@ stdcall CsrCaptureMessageMultiUnicodeStringsInPlace(ptr long ptr) -@ stdcall CsrCaptureMessageString(ptr str long long ptr) -@ stdcall CsrCaptureTimeout(long ptr) -@ stdcall CsrClientCallServer(ptr ptr long long) -@ stdcall CsrClientConnectToServer(str long ptr ptr ptr) -//@ stdcall CsrClientMaxMessage // NT3 only -//@ stdcall CsrClientSendMessage // NT3 only -//@ stdcall CsrClientThreadConnect // NT3 only -@ stdcall CsrFreeCaptureBuffer(ptr) -@ stdcall CsrGetProcessId() -@ stdcall CsrIdentifyAlertableThread() -@ stdcall CsrNewThread() -@ stdcall CsrProbeForRead(ptr long long) -@ stdcall CsrProbeForWrite(ptr long long) -@ stdcall CsrSetPriorityClass(ptr ptr) -//@ stdcall CsrpProcessCallbackRequest // 3.51 only -@ stdcall DbgBreakPoint() -@ varargs DbgPrint(str) -@ varargs DbgPrintEx(long long str) -@ varargs DbgPrintReturnControlC(str) -@ stdcall DbgPrompt(ptr ptr long) -@ stdcall DbgQueryDebugFilterState(long long) -@ stdcall DbgSetDebugFilterState(long long long) -@ stdcall DbgUiConnectToDbg() -@ stdcall DbgUiContinue(ptr long) -@ stdcall DbgUiConvertStateChangeStructure(ptr ptr) -@ stdcall DbgUiDebugActiveProcess(ptr) -@ stdcall DbgUiGetThreadDebugObject() -@ stdcall DbgUiIssueRemoteBreakin(ptr) -@ stdcall DbgUiRemoteBreakin() -@ stdcall DbgUiSetThreadDebugObject(ptr) -@ stdcall DbgUiStopDebugging(ptr) -@ stdcall DbgUiWaitStateChange(ptr ptr) -@ stdcall DbgUserBreakPoint() -@ stdcall -arch=i386 KiFastSystemCall() -@ stdcall -arch=i386 KiFastSystemCallRet() -@ stdcall -arch=i386 KiIntSystemCall() -@ stdcall -arch=i386 ExpInterlockedPopEntrySListEnd() -@ stdcall -arch=i386 ExpInterlockedPopEntrySListFault() -@ stdcall -arch=i386 ExpInterlockedPopEntrySListResume() -@ stdcall KiRaiseUserExceptionDispatcher() -@ stdcall KiUserApcDispatcher(ptr ptr ptr ptr) -@ stdcall KiUserCallbackDispatcher(ptr ptr long) // CHECKME -@ stdcall KiUserExceptionDispatcher(ptr ptr) -//@ stdcall LdrAccessOutOfProcessResource -@ stdcall LdrAccessResource(long ptr ptr ptr) -@ stdcall LdrAddRefDll(long ptr) -//@ stdcall LdrAlternateResourcesEnabled -//@ stdcall LdrCreateOutOfProcessImage -//@ stdcall LdrDestroyOutOfProcessImage -@ stdcall LdrDisableThreadCalloutsForDll(long) -@ stdcall LdrEnumResources(ptr ptr long ptr ptr) -@ stdcall LdrEnumerateLoadedModules(long ptr long) -//@ stdcall LdrFindCreateProcessManifest // 5.1 and 5.2 only -@ stdcall LdrFindEntryForAddress(ptr ptr) -@ stdcall LdrFindResourceDirectory_U(long ptr long ptr) -//@ stdcall LdrFindResourceEx_U // 5.1 and higher -@ stdcall LdrFindResource_U(long ptr long ptr) -//@ stdcall LdrFlushAlternateResourceModules -@ stdcall LdrGetDllHandle(wstr long ptr ptr) -@ stdcall LdrGetDllHandleEx(long wstr long ptr ptr) -@ stdcall LdrGetProcedureAddress(ptr ptr long ptr) -//@ stdcall LdrHotPatchRoutine -//@ stdcall LdrInitShimEngineDynamic -@ stdcall LdrInitializeThunk(long long long long) -//@ stdcall LdrLoadAlternateResourceModule -@ stdcall LdrLoadDll(wstr long ptr ptr) -@ stdcall LdrLockLoaderLock(long ptr ptr) -//@ stdcall LdrOpenImageFileOptionsKey // 5.2 SP1 and higher -@ stdcall LdrProcessRelocationBlock(ptr long ptr long) -@ stdcall LdrQueryImageFileExecutionOptions(ptr str long ptr long ptr) -@ stdcall LdrQueryProcessModuleInformation(ptr long ptr) -//@ stdcall LdrSetAppCompatDllRedirectionCallback -//@ stdcall LdrSetDllManifestProber -@ stdcall LdrShutdownProcess() -@ stdcall LdrShutdownThread() -@ stdcall LdrUnloadAlternateResourceModule(ptr) -@ stdcall LdrUnloadDll(ptr) -@ stdcall LdrUnlockLoaderLock(long long) -@ stdcall LdrVerifyImageMatchesChecksum(ptr long long long) -@ extern NlsAnsiCodePage -@ extern NlsMbCodePageTag -@ extern NlsMbOemCodePageTag -@ stdcall NtAcceptConnectPort(ptr long ptr long long ptr) -@ stdcall NtAccessCheck(ptr long long ptr ptr ptr ptr ptr) -@ stdcall NtAccessCheckAndAuditAlarm(ptr long ptr ptr ptr long ptr long ptr ptr ptr) -@ stdcall NtAccessCheckByType(ptr ptr ptr long ptr long ptr ptr long ptr ptr) -@ stdcall NtAccessCheckByTypeAndAuditAlarm(ptr ptr ptr ptr ptr ptr long long long ptr long ptr long ptr ptr ptr) -@ stdcall NtAccessCheckByTypeResultList(ptr ptr ptr long ptr long ptr ptr long ptr ptr) -@ stdcall NtAccessCheckByTypeResultListAndAuditAlarm(ptr ptr ptr ptr ptr ptr long long long ptr long ptr long ptr ptr ptr) -@ stdcall NtAccessCheckByTypeResultListAndAuditAlarmByHandle(ptr ptr ptr ptr ptr ptr ptr long long long ptr long ptr long ptr ptr ptr) -@ stdcall NtAddAtom(ptr long ptr) -@ stdcall NtAddBootEntry(ptr long) -@ stdcall NtAddDriverEntry(ptr long) // 5.2 and higher -@ stdcall NtAdjustGroupsToken(long long ptr long ptr ptr) -@ stdcall NtAdjustPrivilegesToken(long long long long long long) -@ stdcall NtAlertResumeThread(long ptr) -@ stdcall NtAlertThread(long) -@ stdcall NtAllocateLocallyUniqueId(ptr) -@ stdcall NtAllocateUserPhysicalPages(ptr ptr ptr) -@ stdcall NtAllocateUuids(ptr ptr ptr ptr) -@ stdcall NtAllocateVirtualMemory(long ptr ptr ptr long long) -@ stdcall NtApphelpCacheControl(long ptr) -@ stdcall NtAreMappedFilesTheSame(ptr ptr) -@ stdcall NtAssignProcessToJobObject(long long) -@ stdcall NtCallbackReturn(ptr long long) -@ stdcall NtCancelDeviceWakeupRequest(ptr) -@ stdcall NtCancelIoFile(long ptr) -//@ stdcall NtCancelIoFileEx(long ptr ptr) // 6.0 and higher -@ stdcall NtCancelTimer(long ptr) -@ stdcall NtClearEvent(long) -@ stdcall NtClose(long) -@ stdcall NtCloseObjectAuditAlarm(ptr ptr long) -@ stdcall NtCompactKeys(long ptr) -@ stdcall NtCompareTokens(ptr ptr ptr) -@ stdcall NtCompleteConnectPort(ptr) -@ stdcall NtCompressKey(ptr) -@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall NtContinue(ptr long) -@ stdcall NtCreateDebugObject(ptr long ptr long) -@ stdcall NtCreateDirectoryObject(long long long) -@ stdcall NtCreateEvent(long long long long long) -@ stdcall NtCreateEventPair(ptr long ptr) -@ stdcall NtCreateFile(ptr long ptr ptr long long long ptr long long ptr) -@ stdcall NtCreateIoCompletion(ptr long ptr long) -@ stdcall NtCreateJobObject(ptr long ptr) -@ stdcall NtCreateJobSet(long ptr long) -@ stdcall NtCreateKey(ptr long ptr long ptr long long) -@ stdcall NtCreateKeyedEvent(ptr long ptr long) -@ stdcall NtCreateMailslotFile(long long long long long long long long) -@ stdcall NtCreateMutant(ptr long ptr long) -@ stdcall NtCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) -@ stdcall NtCreatePagingFile(long long long long) -@ stdcall NtCreatePort(ptr ptr long long ptr) -@ stdcall NtCreateProcess(ptr long ptr ptr long ptr ptr ptr) -@ stdcall NtCreateProcessEx(ptr long ptr ptr long ptr ptr ptr long) -@ stdcall NtCreateProfile(ptr ptr ptr long long ptr long long long) // CHECKME -@ stdcall NtCreateSection(ptr long ptr ptr long long long) -@ stdcall NtCreateSemaphore(ptr long ptr long long) -@ stdcall NtCreateSymbolicLinkObject(ptr long ptr ptr) -@ stdcall NtCreateThread(ptr long ptr ptr ptr ptr ptr long) -@ stdcall NtCreateTimer(ptr long ptr long) -@ stdcall NtCreateToken(ptr long ptr long ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall NtCreateWaitablePort(ptr ptr long long long) -@ stdcall -arch=win32 NtCurrentTeb() _NtCurrentTeb -@ stdcall NtDebugActiveProcess(ptr ptr) -@ stdcall NtDebugContinue(ptr ptr long) -@ stdcall NtDelayExecution(long ptr) -@ stdcall NtDeleteAtom(long) -@ stdcall NtDeleteBootEntry(long) -@ stdcall NtDeleteFile(ptr) -@ stdcall NtDeleteKey(long) -@ stdcall NtDeleteObjectAuditAlarm(ptr ptr long) -@ stdcall NtDeleteValueKey(long ptr) -@ stdcall NtDeviceIoControlFile(long long long long long long long long long long) -@ stdcall NtDisplayString(ptr) -@ stdcall NtDuplicateObject(long long long ptr long long long) -@ stdcall NtDuplicateToken(long long long long long long) -@ stdcall NtEnumerateBootEntries(ptr ptr) -//@ stdcall NtEnumerateBus // 3.51 only -@ stdcall NtEnumerateKey (long long long long long long) -@ stdcall NtEnumerateSystemEnvironmentValuesEx(long ptr long) -@ stdcall NtEnumerateValueKey(long long long long long long) -@ stdcall NtExtendSection(ptr ptr) -@ stdcall NtFilterToken(ptr long ptr ptr ptr ptr) -@ stdcall NtFindAtom(ptr long ptr) -@ stdcall NtFlushBuffersFile(long ptr) -@ stdcall NtFlushInstructionCache(long ptr long) -@ stdcall NtFlushKey(long) -@ stdcall NtFlushVirtualMemory(long ptr ptr long) -@ stdcall NtFlushWriteBuffer() -@ stdcall NtFreeUserPhysicalPages(ptr ptr ptr) -@ stdcall NtFreeVirtualMemory(long ptr ptr long) -@ stdcall NtFsControlFile(long long long long long long long long long long) -@ stdcall NtGetContextThread(long ptr) -@ stdcall NtGetCurrentProcessorNumber() // 5.2 and higher -@ stdcall NtGetDevicePowerState(ptr ptr) -@ stdcall NtGetPlugPlayEvent(long long ptr long) -//@ stdcall NtGetTickCount() -@ stdcall NtGetWriteWatch(long long ptr long ptr ptr ptr) -@ stdcall NtImpersonateAnonymousToken(ptr) -@ stdcall NtImpersonateClientOfPort(ptr ptr) -@ stdcall NtImpersonateThread(ptr ptr ptr) -@ stdcall NtInitializeRegistry(long) -@ stdcall NtInitiatePowerAction (long long long long) -@ stdcall NtIsProcessInJob(long long) -@ stdcall NtIsSystemResumeAutomatic() -@ stdcall NtListenPort(ptr ptr) -@ stdcall NtLoadDriver(ptr) -@ stdcall NtLoadKey2(ptr ptr long) -@ stdcall NtLoadKey(ptr ptr) -@ stdcall NtLockFile(long long ptr ptr ptr ptr ptr ptr long long) -@ stdcall NtLockProductActivationKeys(ptr ptr) -@ stdcall NtLockRegistryKey(ptr) -@ stdcall NtLockVirtualMemory(long ptr ptr long) -@ stdcall NtMakePermanentObject(ptr) -@ stdcall NtMakeTemporaryObject(long) -@ stdcall NtMapUserPhysicalPages(ptr ptr ptr) -@ stdcall NtMapUserPhysicalPagesScatter(ptr ptr ptr) -@ stdcall NtMapViewOfSection(long long ptr long long ptr ptr long long long) -@ stdcall NtModifyBootEntry(ptr) -@ stdcall NtNotifyChangeDirectoryFile(long long ptr ptr ptr ptr long long long) -@ stdcall NtNotifyChangeKey(long long ptr ptr ptr long long ptr long long) -@ stdcall NtNotifyChangeMultipleKeys(ptr long ptr ptr ptr ptr ptr long long ptr long long) -@ stdcall NtOpenDirectoryObject(long long long) -@ stdcall NtOpenEvent(long long long) -@ stdcall NtOpenEventPair(ptr long ptr) -@ stdcall NtOpenFile(ptr long ptr ptr long long) -@ stdcall NtOpenIoCompletion(ptr long ptr) -@ stdcall NtOpenJobObject(ptr long ptr) -@ stdcall NtOpenKey(ptr long ptr) -@ stdcall NtOpenKeyedEvent(ptr long ptr) -@ stdcall NtOpenMutant(ptr long ptr) -@ stdcall NtOpenObjectAuditAlarm(ptr ptr ptr ptr ptr ptr long long ptr long long ptr) -@ stdcall NtOpenProcess(ptr long ptr ptr) -@ stdcall NtOpenProcessToken(long long ptr) -@ stdcall NtOpenProcessTokenEx(long long long ptr) -@ stdcall NtOpenSection(ptr long ptr) -@ stdcall NtOpenSemaphore(long long ptr) -@ stdcall NtOpenSymbolicLinkObject (ptr long ptr) -@ stdcall NtOpenThread(ptr long ptr ptr) -@ stdcall NtOpenThreadToken(long long long ptr) -@ stdcall NtOpenThreadTokenEx(long long long long ptr) -@ stdcall NtOpenTimer(ptr long ptr) -@ stdcall NtPlugPlayControl(ptr ptr long) -@ stdcall NtPowerInformation(long ptr long ptr long) -@ stdcall NtPrivilegeCheck(ptr ptr ptr) -@ stdcall NtPrivilegeObjectAuditAlarm(ptr ptr ptr long ptr long) -@ stdcall NtPrivilegedServiceAuditAlarm(ptr ptr ptr ptr long) -@ stdcall NtProtectVirtualMemory(long ptr ptr long ptr) -@ stdcall NtPulseEvent(long ptr) -@ stdcall NtQueryAttributesFile(ptr ptr) -@ stdcall NtQueryBootEntryOrder(ptr ptr) -@ stdcall NtQueryBootOptions(ptr ptr) -@ stdcall NtQueryDebugFilterState(long long) -@ stdcall NtQueryDefaultLocale(long ptr) -@ stdcall NtQueryDefaultUILanguage(ptr) -@ stdcall NtQueryDirectoryFile(long long ptr ptr ptr ptr long long long ptr long) -@ stdcall NtQueryDirectoryObject(long ptr long long long ptr ptr) -@ stdcall NtQueryEaFile(long ptr ptr long long ptr long ptr long) -@ stdcall NtQueryEvent(long long ptr long ptr) -@ stdcall NtQueryFullAttributesFile(ptr ptr) -@ stdcall NtQueryInformationAtom(long long ptr long ptr) -@ stdcall NtQueryInformationFile(long ptr ptr long long) -@ stdcall NtQueryInformationJobObject(long long ptr long ptr) -@ stdcall NtQueryInformationPort(ptr long ptr long ptr) -@ stdcall NtQueryInformationProcess(long long ptr long ptr) -@ stdcall NtQueryInformationThread(long long ptr long ptr) -@ stdcall NtQueryInformationToken(long long ptr long ptr) -@ stdcall NtQueryInstallUILanguage(ptr) -@ stdcall NtQueryIntervalProfile(long ptr) -@ stdcall NtQueryIoCompletion(long long ptr long ptr) -@ stdcall NtQueryKey (long long ptr long ptr) -@ stdcall NtQueryMultipleValueKey(long ptr long ptr long ptr) -@ stdcall NtQueryMutant(long long ptr long ptr) -@ stdcall NtQueryObject(long long long long long) -@ stdcall NtQueryOpenSubKeys(ptr ptr) -@ stdcall NtQueryPerformanceCounter(ptr ptr) -@ stdcall NtQueryPortInformationProcess() -@ stdcall NtQueryQuotaInformationFile(ptr ptr ptr long long ptr long ptr long) -@ stdcall NtQuerySection (long long long long long) -@ stdcall NtQuerySecurityObject (long long long long long) -@ stdcall NtQuerySemaphore (long long ptr long ptr) -@ stdcall NtQuerySymbolicLinkObject(long ptr ptr) -@ stdcall NtQuerySystemEnvironmentValue(ptr ptr long ptr) -@ stdcall NtQuerySystemEnvironmentValueEx(ptr ptr ptr ptr ptr) -@ stdcall NtQuerySystemInformation(long long long long) -@ stdcall NtQuerySystemTime(ptr) -@ stdcall NtQueryTimer(ptr long ptr long ptr) -@ stdcall NtQueryTimerResolution(long long long) -@ stdcall NtQueryValueKey(long long long long long long) -@ stdcall NtQueryVirtualMemory(long ptr long ptr long ptr) -@ stdcall NtQueryVolumeInformationFile(long ptr ptr long long) -@ stdcall NtQueueApcThread(long ptr long long long) -@ stdcall NtRaiseException(ptr ptr long) -@ stdcall NtRaiseHardError(long long long ptr long ptr) -@ stdcall NtReadFile(long long ptr ptr ptr ptr long ptr ptr) -@ stdcall NtReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) -@ stdcall NtReadRequestData(ptr ptr long ptr long ptr) -@ stdcall NtReadVirtualMemory(long ptr ptr long ptr) -//@ stdcall NtRegisterNewDevice // 3.51 only -@ stdcall NtRegisterThreadTerminatePort(ptr) -@ stdcall NtReleaseKeyedEvent(ptr ptr long ptr) -@ stdcall NtReleaseMutant(long ptr) -//@ stdcall NtReleaseProcessMutant // 3.51 only -@ stdcall NtReleaseSemaphore(long long ptr) -@ stdcall NtRemoveIoCompletion(ptr ptr ptr ptr ptr) -@ stdcall NtRemoveProcessDebug(ptr ptr) -@ stdcall NtRenameKey(ptr ptr) -@ stdcall NtReplaceKey(ptr long ptr) -@ stdcall NtReplyPort(ptr ptr) -@ stdcall NtReplyWaitReceivePort(ptr ptr ptr ptr) -@ stdcall NtReplyWaitReceivePortEx(ptr ptr ptr ptr ptr) -@ stdcall NtReplyWaitReplyPort(ptr ptr) -@ stdcall NtRequestDeviceWakeup(ptr) -@ stdcall NtRequestPort(ptr ptr) -@ stdcall NtRequestWaitReplyPort(ptr ptr ptr) -@ stdcall NtRequestWakeupLatency(long) -@ stdcall NtResetEvent(long ptr) -@ stdcall NtResetWriteWatch(long ptr long) -@ stdcall NtRestoreKey(long long long) -@ stdcall NtResumeProcess(ptr) -@ stdcall NtResumeThread(long long) -@ stdcall NtSaveKey(long long) -@ stdcall NtSaveKeyEx(ptr ptr long) -@ stdcall NtSaveMergedKeys(ptr ptr ptr) -@ stdcall NtSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall NtSetBootEntryOrder(ptr ptr) -@ stdcall NtSetBootOptions(ptr long) -@ stdcall NtSetContextThread(long ptr) -@ stdcall NtSetDebugFilterState(long long long) -@ stdcall NtSetDefaultHardErrorPort(ptr) -@ stdcall NtSetDefaultLocale(long long) -@ stdcall NtSetDefaultUILanguage(long) -@ stdcall NtSetEaFile(long ptr ptr long) -@ stdcall NtSetEvent(long long) -@ stdcall NtSetEventBoostPriority(ptr) -@ stdcall NtSetHighEventPair(ptr) -@ stdcall NtSetHighWaitLowEventPair(ptr) -//@ stdcall NtSetHighWaitLowThread // 3.51 and 4.0 only -@ stdcall NtSetInformationDebugObject(ptr long ptr long ptr) -@ stdcall NtSetInformationFile(long long long long long) -@ stdcall NtSetInformationJobObject(long long ptr long) -@ stdcall NtSetInformationKey(long long ptr long) -@ stdcall NtSetInformationObject(long long ptr long) -@ stdcall NtSetInformationProcess(long long long long) -@ stdcall NtSetInformationThread(long long ptr long) -@ stdcall NtSetInformationToken(long long ptr long) -@ stdcall NtSetIntervalProfile(long long) -@ stdcall NtSetIoCompletion(ptr long ptr long long) -@ stdcall NtSetLdtEntries(long double long double) // CHECKME -@ stdcall NtSetLowEventPair(ptr) -@ stdcall NtSetLowWaitHighEventPair(ptr) -//@ stdcall NtSetLowWaitHighThread // 3.51 and 4.0 only -@ stdcall NtSetQuotaInformationFile(ptr ptr ptr long) -@ stdcall NtSetSecurityObject(long long ptr) -@ stdcall NtSetSystemEnvironmentValue(ptr ptr) -@ stdcall NtSetSystemEnvironmentValueEx(ptr ptr) -@ stdcall NtSetSystemInformation(long ptr long) -@ stdcall NtSetSystemPowerState(long long long) -@ stdcall NtSetSystemTime(ptr ptr) -@ stdcall NtSetThreadExecutionState(long ptr) -@ stdcall NtSetTimer(long ptr ptr ptr long long ptr) -@ stdcall NtSetTimerResolution(long long ptr) -@ stdcall NtSetUuidSeed(ptr) -@ stdcall NtSetValueKey(long long long long long long) -@ stdcall NtSetVolumeInformationFile(long ptr ptr long long) -@ stdcall NtShutdownSystem(long) -@ stdcall NtSignalAndWaitForSingleObject(long long long ptr) -@ stdcall NtStartProfile(ptr) -@ stdcall NtStopProfile(ptr) -@ stdcall NtSuspendProcess(ptr) -@ stdcall NtSuspendThread(long ptr) -@ stdcall NtSystemDebugControl(long ptr long ptr long ptr) -@ stdcall NtTerminateJobObject(long long) -@ stdcall NtTerminateProcess(long long) -@ stdcall NtTerminateThread(long long) -@ stdcall NtTestAlert() -@ stdcall NtTraceEvent(long long long ptr) -@ stdcall NtTranslateFilePath(ptr long ptr long) -@ stdcall NtUnloadDriver(ptr) -@ stdcall NtUnloadKey(long) -@ stdcall NtUnloadKeyEx(ptr ptr) -@ stdcall NtUnlockFile(long ptr ptr ptr ptr) -@ stdcall NtUnlockVirtualMemory(long ptr ptr long) -@ stdcall NtUnmapViewOfSection(long ptr) -@ stdcall NtVdmControl(long ptr) -//@ stdcall NtW32Call(long ptr long ptr ptr) -@ stdcall NtWaitForDebugEvent(ptr long ptr ptr) -@ stdcall NtWaitForKeyedEvent(ptr ptr long ptr) -@ stdcall NtWaitForMultipleObjects(long ptr long long ptr) -//@ stdcall NtWaitForProcessMutant // 3.51 only -@ stdcall NtWaitForSingleObject(long long long) -@ stdcall NtWaitHighEventPair(ptr) -@ stdcall NtWaitLowEventPair(ptr) -@ stdcall NtWriteFile(long long ptr ptr ptr ptr long ptr ptr) -@ stdcall NtWriteFileGather(long long ptr ptr ptr ptr long ptr ptr) -@ stdcall NtWriteRequestData(ptr ptr long ptr long ptr) -@ stdcall NtWriteVirtualMemory(long ptr ptr long ptr) -@ stdcall NtYieldExecution() -//@ stdcall PfxFindPrefix -//@ stdcall PfxInitialize -//@ stdcall PfxInsertPrefix -//@ stdcall PfxRemovePrefix -//@ stdcall PropertyLengthAsVariant -//@ stdcall RtlAbortRXact -@ stdcall RtlAbsoluteToSelfRelativeSD(ptr ptr ptr) -@ stdcall RtlAcquirePebLock() -@ stdcall RtlAcquirePrivilege(ptr long long ptr) -@ stdcall RtlAcquireResourceExclusive(ptr long) -@ stdcall RtlAcquireResourceShared(ptr long) -@ stdcall RtlAcquireSRWLockExclusive(ptr) -@ stdcall RtlAcquireSRWLockShared(ptr) -@ stdcall RtlActivateActivationContext(long ptr ptr) -@ stdcall RtlActivateActivationContextEx(long ptr ptr ptr) -@ fastcall RtlActivateActivationContextUnsafeFast(ptr ptr) -@ stdcall RtlAddAccessAllowedAce(ptr long long ptr) -@ stdcall RtlAddAccessAllowedAceEx(ptr long long long ptr) -@ stdcall RtlAddAccessAllowedObjectAce(ptr long long long ptr ptr ptr) -@ stdcall RtlAddAccessDeniedAce(ptr long long ptr) -@ stdcall RtlAddAccessDeniedAceEx(ptr long long long ptr) -@ stdcall RtlAddAccessDeniedObjectAce(ptr long long long ptr ptr ptr) -@ stdcall RtlAddAce(ptr long long ptr long) -//@ stdcall RtlAddActionToRXact -@ stdcall RtlAddAtomToAtomTable(ptr wstr ptr) -//@ stdcall RtlAddAttributeActionToRXact -@ stdcall RtlAddAuditAccessAce(ptr long long ptr long long) -@ stdcall RtlAddAuditAccessAceEx(ptr long long long ptr long long) -@ stdcall RtlAddAuditAccessObjectAce(ptr long long long ptr ptr ptr long long) -//@ stdcall RtlAddCompoundAce -//@ stdcall RtlAddRange // 5.0 and 5.1 only -@ stdcall -arch=x86_64 RtlAddFunctionTable(ptr long long) -@ stdcall RtlAddMandatoryAce(ptr long long long long ptr) -@ stdcall RtlAddRefActivationContext(ptr) -//@ stdcall RtlAddRefMemoryStream -//@ stdcall RtlAddVectoredContinueHandler -@ stdcall RtlAddVectoredExceptionHandler(long ptr) -//@ stdcall RtlAddressInSectionTable -@ stdcall RtlAdjustPrivilege(long long long ptr) -@ stdcall RtlAllocateActivationContextStack(ptr) // CHEKME -@ stdcall RtlAllocateAndInitializeSid(ptr long long long long long long long long long ptr) -@ stdcall RtlAllocateHandle(ptr ptr) -@ stdcall RtlAllocateHeap(ptr long ptr) -@ stdcall RtlAnsiCharToUnicodeChar(ptr) -@ stdcall RtlAnsiStringToUnicodeSize(ptr) RtlxAnsiStringToUnicodeSize -@ stdcall RtlAnsiStringToUnicodeString(ptr ptr long) -@ stdcall RtlAppendAsciizToString(ptr str) -//@ stdcall RtlAppendPathElement -@ stdcall RtlAppendStringToString(ptr ptr) -@ stdcall RtlAppendUnicodeStringToString(ptr ptr) -@ stdcall RtlAppendUnicodeToString(ptr wstr) -//@ stdcall RtlApplicationVerifierStop -//@ stdcall RtlApplyRXact -//@ stdcall RtlApplyRXactNoFlush -@ stdcall RtlAreAllAccessesGranted(long long) -@ stdcall RtlAreAnyAccessesGranted(long long) -@ stdcall RtlAreBitsClear(ptr long long) -@ stdcall RtlAreBitsSet(ptr long long) -//@ stdcall RtlAssert2 -@ stdcall RtlAssert(ptr ptr long ptr) -//@ stdcall RtlCancelTimer -@ stdcall -register RtlCaptureContext(ptr) -@ stdcall RtlCaptureStackBackTrace(long long ptr ptr) -//@ stdcall RtlCaptureStackContext -@ stdcall RtlCharToInteger(ptr long ptr) -//@ stdcall RtlCheckForOrphanedCriticalSections -//@ stdcall RtlCheckProcessParameters -@ stdcall RtlCheckRegistryKey(long ptr) -@ stdcall RtlClearAllBits(ptr) -@ stdcall RtlClearBits(ptr long long) -//@ stdcall RtlCloneMemoryStream -//@ stdcall RtlClosePropertySet // NT 4.0 only -//@ stdcall RtlCommitMemoryStream -@ stdcall RtlCompactHeap(long long) -@ stdcall RtlCompareMemory(ptr ptr long) -@ stdcall RtlCompareMemoryUlong(ptr long long) -@ stdcall RtlCompareString(ptr ptr long) -@ stdcall RtlCompareUnicodeString (ptr ptr long) -@ stdcall RtlCompressBuffer(long ptr long ptr long long ptr ptr) -@ stdcall RtlComputeCrc32(long ptr long) -@ stdcall RtlComputeImportTableHash(ptr ptr long) -//@ stdcall RtlComputePrivatizedDllName_U -//@ stdcall RtlConsoleMultiByteToUnicodeN -@ stdcall RtlConvertExclusiveToShared(ptr) -@ stdcall -arch=win32 -ret64 RtlConvertLongToLargeInteger(long) -//@ stdcall RtlConvertPropertyToVariant -@ stdcall RtlConvertSharedToExclusive(ptr) -@ stdcall RtlConvertSidToUnicodeString(ptr ptr long) -//@ stdcall RtlConvertToAutoInheritSecurityObject -//@ stdcall RtlConvertUiListToApiList -@ stdcall -arch=win32 -ret64 RtlConvertUlongToLargeInteger(long) -//@ stdcall RtlConvertVariantToProperty -@ stdcall RtlCopyLuid(ptr ptr) -@ stdcall RtlCopyLuidAndAttributesArray(long ptr ptr) -//@ stdcall RtlCopyMappedMemory -//@ stdcall RtlCopyMemoryStreamTo -//@ stdcall RtlCopyOutOfProcessMemoryStreamTo -//@ stdcall RtlCopyRangeList // 5.0 and 5.1 only -@ stdcall RtlCopySecurityDescriptor(ptr ptr) -@ stdcall RtlCopySid(long ptr ptr) -@ stdcall RtlCopySidAndAttributesArray(long ptr long ptr ptr ptr ptr) -@ stdcall RtlCopyString(ptr ptr) -@ stdcall RtlCopyUnicodeString(ptr ptr) -@ stdcall RtlCreateAcl(ptr long long) -@ stdcall RtlCreateActivationContext(ptr ptr) -//@ stdcall RtlCreateAndSetSD -@ stdcall RtlCreateAtomTable(long ptr) -@ stdcall RtlCreateBootStatusDataFile() -@ stdcall RtlCreateEnvironment(long ptr) -@ stdcall RtlCreateHeap(long ptr long long ptr ptr) -@ stdcall RtlCreateProcessParameters(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) -//@ stdcall RtlCreatePropertySet // 4.0 only -@ stdcall RtlCreateQueryDebugBuffer(long long) -@ stdcall RtlCreateRegistryKey(long wstr) -@ stdcall RtlCreateSecurityDescriptor(ptr long) -@ stdcall RtlCreateSystemVolumeInformationFolder(ptr) -@ stdcall RtlCreateTagHeap(ptr long str str) -@ stdcall RtlCreateTimer(ptr ptr ptr ptr long long long) -@ stdcall RtlCreateTimerQueue(ptr) -@ stdcall RtlCreateUnicodeString(ptr wstr) -@ stdcall RtlCreateUnicodeStringFromAsciiz(ptr str) -@ stdcall RtlCreateUserProcess(ptr long ptr ptr ptr ptr long ptr ptr ptr) -//@ stdcall RtlCreateUserSecurityObject -@ stdcall RtlCreateUserThread(long ptr long ptr long long ptr ptr ptr ptr) -@ stdcall RtlCustomCPToUnicodeN(ptr wstr long ptr str long) -@ stdcall RtlCutoverTimeToSystemTime(ptr ptr ptr long) -@ stdcall RtlDeNormalizeProcessParams(ptr) -@ stdcall RtlDeactivateActivationContext(long long) -@ fastcall RtlDeactivateActivationContextUnsafeFast(ptr) -//@ stdcall RtlDebugPrintTimes -@ stdcall RtlDecodePointer(ptr) -@ stdcall RtlDecodeSystemPointer(ptr) RtlEncodeSystemPointer -@ stdcall RtlDecompressBuffer(long ptr long ptr long ptr) -@ stdcall RtlDecompressFragment(long ptr long ptr long long ptr ptr) -//@ stdcall RtlDefaultNpAcl -@ stdcall RtlDelete(ptr) -@ stdcall RtlDeleteAce(ptr long) -@ stdcall RtlDeleteAtomFromAtomTable(ptr long) -@ stdcall RtlDeleteCriticalSection(ptr) -@ stdcall RtlDeleteElementGenericTable(ptr ptr) -@ stdcall RtlDeleteElementGenericTableAvl(ptr ptr) -@ cdecl -arch=x86_64 RtlDeleteFunctionTable(ptr) -@ stdcall RtlDeleteNoSplay(ptr ptr) -@ stdcall RtlDeleteOwnersRanges(ptr ptr) -@ stdcall RtlDeleteRange(ptr long long long long ptr) -@ stdcall RtlDeleteRegistryValue(long ptr ptr) -@ stdcall RtlDeleteResource(ptr) -@ stdcall RtlDeleteSecurityObject(ptr) -@ stdcall RtlDeleteTimer(ptr ptr ptr) -@ stdcall RtlDeleteTimerQueue(ptr) -@ stdcall RtlDeleteTimerQueueEx(ptr ptr) -@ stdcall RtlDeregisterWait(ptr) -@ stdcall RtlDeregisterWaitEx(ptr ptr) -@ stdcall RtlDestroyAtomTable(ptr) -@ stdcall RtlDestroyEnvironment(ptr) -@ stdcall RtlDestroyHandleTable(ptr) -@ stdcall RtlDestroyHeap(long) -@ stdcall RtlDestroyProcessParameters(ptr) -@ stdcall RtlDestroyQueryDebugBuffer(ptr) -@ stdcall RtlDetermineDosPathNameType_U(wstr) -@ stdcall RtlDllShutdownInProgress() -@ stdcall RtlDnsHostNameToComputerName(ptr ptr long) -@ stdcall RtlDoesFileExists_U(wstr) -//@ stdcall RtlDosApplyFileIsolationRedirection_Ustr -@ stdcall RtlDosPathNameToNtPathName_U(wstr ptr ptr ptr) -//@ stdcall RtlDosPathNameToNtPathName_U_WithStatus // 5.2 SP1, and higher -@ stdcall RtlDosPathNameToRelativeNtPathName_U(ptr ptr ptr ptr) // CHECKME -//@ stdcall RtlDosPathNameToRelativeNtPathName_U_WithStatus -@ stdcall RtlDosSearchPath_U(wstr wstr wstr long ptr ptr) -@ stdcall RtlDosSearchPath_Ustr(long ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall RtlDowncaseUnicodeChar(long) -@ stdcall RtlDowncaseUnicodeString(ptr ptr long) -@ stdcall RtlDumpResource(ptr) -@ stdcall RtlDuplicateUnicodeString(long ptr ptr) -@ stdcall RtlEmptyAtomTable(ptr long) -//@ stdcall RtlEnableEarlyCriticalSectionEventCreation -@ stdcall RtlEncodePointer(ptr) -@ stdcall RtlEncodeSystemPointer(ptr) -@ stdcall -arch=win32 -ret64 RtlEnlargedIntegerMultiply(long long) -@ stdcall -arch=win32 RtlEnlargedUnsignedDivide(double long ptr) -@ stdcall -arch=win32 -ret64 RtlEnlargedUnsignedMultiply(long long) -@ stdcall RtlEnterCriticalSection(ptr) -@ stdcall RtlEnumProcessHeaps(ptr ptr) -@ stdcall RtlEnumerateGenericTable(ptr long) -@ stdcall RtlEnumerateGenericTableAvl(ptr long) -@ stdcall RtlEnumerateGenericTableLikeADirectory(ptr ptr ptr long ptr ptr ptr) -@ stdcall RtlEnumerateGenericTableWithoutSplaying(ptr ptr) -@ stdcall RtlEnumerateGenericTableWithoutSplayingAvl(ptr ptr) -//@ stdcall RtlEnumerateProperties // 4.0 only -@ stdcall RtlEqualComputerName(ptr ptr) -@ stdcall RtlEqualDomainName(ptr ptr) -@ stdcall RtlEqualLuid(ptr ptr) -@ stdcall RtlEqualPrefixSid(ptr ptr) -@ stdcall RtlEqualSid(long long) -@ stdcall RtlEqualString(ptr ptr long) -@ stdcall RtlEqualUnicodeString(ptr ptr long) -@ stdcall RtlEraseUnicodeString(ptr) -@ stdcall RtlExitUserThread(long) -@ stdcall RtlExpandEnvironmentStrings_U(ptr ptr ptr ptr) -@ stdcall RtlExtendHeap(ptr long ptr ptr) -@ stdcall -arch=win32 -ret64 RtlExtendedIntegerMultiply(double long) -@ stdcall -arch=win32 -ret64 RtlExtendedLargeIntegerDivide(double long ptr) -@ stdcall -arch=win32 -ret64 RtlExtendedMagicDivide(double double long) -@ stdcall RtlFillMemory(ptr long long) -@ stdcall RtlFillMemoryUlong(ptr long long) -//@ stdcall RtlFinalReleaseOutOfProcessMemoryStream -//@ stdcall RtlFindActivationContextSectionGuid -@ stdcall RtlFindActivationContextSectionString(long ptr long ptr ptr) -@ stdcall RtlFindCharInUnicodeString(long ptr ptr ptr) -@ stdcall RtlFindClearBits(ptr long long) -@ stdcall RtlFindClearBitsAndSet(ptr long long) -@ stdcall RtlFindClearRuns(ptr ptr long long) -@ stdcall RtlFindLastBackwardRunClear(ptr long ptr) -//@ stdcall RtlFindLastBackwardRunSet(ptr long ptr) -@ stdcall RtlFindLeastSignificantBit(double) -@ stdcall RtlFindLongestRunClear(ptr long) -@ stdcall RtlFindLongestRunSet(ptr long) -@ stdcall RtlFindMessage(long long long long ptr) -@ stdcall RtlFindMostSignificantBit(double) -@ stdcall RtlFindNextForwardRunClear(ptr long ptr) -//@ stdcall RtlFindNextForwardRunSet(ptr long ptr) -@ stdcall RtlFindRange(ptr long long long long long long long long ptr ptr ptr) -@ stdcall RtlFindSetBits(ptr long long) -@ stdcall RtlFindSetBitsAndClear(ptr long long) -//@ stdcall RtlFindSetRuns(ptr ptr long long) -@ stdcall RtlFirstEntrySList(ptr) -@ stdcall RtlFirstFreeAce(ptr ptr) -//@ stdcall RtlFlushPropertySet // 4.0 only -@ stdcall RtlFlushSecureMemoryCache(ptr ptr) -@ stdcall RtlFormatCurrentUserKeyPath(ptr) -@ stdcall RtlFormatMessage(ptr long long long long ptr ptr long) -//@ stdcall RtlFormatMessageEx -//@ stdcall RtlFreeActivationContextStack -@ stdcall RtlFreeAnsiString(long) -@ stdcall RtlFreeHandle(ptr ptr) -@ stdcall RtlFreeHeap(long long long) -@ stdcall RtlFreeOemString(ptr) -@ stdcall RtlFreeRangeList(ptr) -@ stdcall RtlFreeSid(long) -@ stdcall RtlFreeThreadActivationContextStack() -@ stdcall RtlFreeUnicodeString(ptr) -@ stdcall RtlFreeUserThreadStack(ptr ptr) // 4.0 to 5.2 only -@ stdcall RtlGUIDFromString(ptr ptr) -@ stdcall RtlGenerate8dot3Name(ptr ptr long ptr) -@ stdcall RtlGetAce(ptr long ptr) -@ stdcall RtlGetActiveActivationContext(ptr) -@ stdcall RtlGetCallersAddress(ptr ptr) -@ stdcall RtlGetCompressionWorkSpaceSize(long ptr ptr) -@ stdcall RtlGetControlSecurityDescriptor(ptr ptr ptr) -//@ stdcall RtlGetCriticalSectionRecursionCount -@ stdcall RtlGetCurrentDirectory_U(long ptr) -@ stdcall RtlGetCurrentPeb() -@ stdcall RtlGetCurrentProcessorNumber() // 5.2 SP1 and higher -@ stdcall RtlGetDaclSecurityDescriptor(ptr ptr ptr ptr) -@ stdcall RtlGetElementGenericTable(ptr long) -@ stdcall RtlGetElementGenericTableAvl(ptr long) -@ stdcall RtlGetFirstRange(ptr ptr ptr) -//@ stdcall RtlGetFrame -@ stdcall RtlGetFullPathName_U(wstr long ptr ptr) -@ stdcall RtlGetFullPathName_UstrEx(ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall RtlGetGroupSecurityDescriptor(ptr ptr ptr) -@ stdcall RtlGetLastNtStatus() -@ stdcall RtlGetLastWin32Error() -//@ stdcall RtlGetLengthWithoutLastFullDosOrNtPathElement -// Yes, Microsoft really misspelled this one! -//@ stdcall RtlGetLengthWithoutTrailingPathSeperators -@ stdcall RtlGetLongestNtPathLength() -//@ stdcall RtlGetNativeSystemInformation -@ stdcall RtlGetNextRange(ptr ptr long) -@ stdcall RtlGetNtGlobalFlags() -@ stdcall RtlGetNtProductType(ptr) -@ stdcall RtlGetNtVersionNumbers(ptr ptr ptr) -@ stdcall RtlGetOwnerSecurityDescriptor(ptr ptr ptr) -//@ stdcall RtlGetProductInfo(long long long long ptr) -@ stdcall RtlGetProcessHeaps(long ptr) -@ stdcall RtlGetSaclSecurityDescriptor(ptr ptr ptr ptr) -@ stdcall RtlGetSecurityDescriptorRMControl(ptr ptr) -@ stdcall RtlGetSetBootStatusData(ptr long long ptr long long) -@ stdcall RtlGetThreadErrorMode() -//@ stdcall RtlGetUnloadEventTrace -@ stdcall RtlGetUserInfoHeap(ptr long ptr ptr ptr) -@ stdcall RtlGetVersion(ptr) -//@ stdcall RtlGuidToPropertySetName // 4.0 only -@ stdcall RtlHashUnicodeString(ptr long long ptr) -@ stdcall RtlIdentifierAuthoritySid(ptr) -@ stdcall RtlImageDirectoryEntryToData(long long long ptr) -@ stdcall RtlImageNtHeader(long) -@ stdcall RtlImageNtHeaderEx(long ptr double ptr) -@ stdcall RtlImageRvaToSection(ptr long long) -@ stdcall RtlImageRvaToVa(ptr long long ptr) -@ stdcall RtlImpersonateSelf(long) -@ stdcall RtlInitAnsiString(ptr str) -@ stdcall RtlInitAnsiStringEx(ptr str) -@ stdcall RtlInitCodePageTable(ptr ptr) -//@ stdcall RtlInitMemoryStream -@ stdcall RtlInitNlsTables(ptr ptr ptr ptr) -//@ stdcall RtlInitOutOfProcessMemoryStream -@ stdcall RtlInitString(ptr str) -@ stdcall RtlInitUnicodeString(ptr wstr) -@ stdcall RtlInitUnicodeStringEx(ptr wstr) -//@ stdcall RtlInitializeAtomPackage -@ stdcall RtlInitializeBitMap(ptr long long) -@ stdcall RtlInitializeContext(ptr ptr ptr ptr ptr) -@ stdcall RtlInitializeCriticalSection(ptr) -@ stdcall RtlInitializeCriticalSectionAndSpinCount(ptr long) -//@ stdcall RtlInitializeCriticalSectionEx(ptr long long) -@ stdcall RtlInitializeGenericTable(ptr ptr ptr ptr ptr) -@ stdcall RtlInitializeGenericTableAvl(ptr ptr ptr ptr ptr) -@ stdcall RtlInitializeHandleTable(long long ptr) -//@ stdcall RtlInitializeRXact -@ stdcall RtlInitializeRangeList(ptr) -@ stdcall RtlInitializeResource(ptr) -@ stdcall RtlInitializeSListHead(ptr) -@ stdcall RtlInitializeSid(ptr ptr long) -@ stdcall RtlInitializeSRWLock(ptr) -//@ stdcall RtlInitializeStackTraceDataBase // 5.1 SP2 and SP3, and 5.2 only -@ stdcall RtlInsertElementGenericTable(ptr ptr long ptr) -@ stdcall RtlInsertElementGenericTableAvl(ptr ptr long ptr) -@ stdcall RtlInt64ToUnicodeString(double long ptr) -@ stdcall RtlIntegerToChar(long long long ptr) -@ stdcall RtlIntegerToUnicodeString(long long ptr) -@ stdcall -arch=win32 -ret64 RtlInterlockedCompareExchange64(ptr double double) -@ stdcall -arch=i386,x86_64 RtlInterlockedFlushSList(ptr) -@ stdcall -arch=i386,x86_64 RtlInterlockedPopEntrySList(ptr) -@ stdcall -arch=i386,x86_64 RtlInterlockedPushEntrySList(ptr ptr) -@ stdcall RtlInterlockedPushListSList(ptr ptr ptr long) -@ stdcall RtlInvertRangeList(ptr ptr) -@ stdcall RtlIpv4AddressToStringA(ptr ptr) -@ stdcall RtlIpv4AddressToStringExA(ptr long ptr ptr) -@ stdcall RtlIpv4AddressToStringExW(ptr long ptr ptr) -@ stdcall RtlIpv4AddressToStringW(ptr ptr) -@ stdcall RtlIpv4StringToAddressA(str long ptr ptr) -@ stdcall RtlIpv4StringToAddressExA(str long ptr ptr) -@ stdcall RtlIpv4StringToAddressExW(wstr long ptr ptr) -@ stdcall RtlIpv4StringToAddressW(wstr long ptr ptr) -@ stdcall RtlIpv6AddressToStringA(ptr ptr) -@ stdcall RtlIpv6AddressToStringExA(ptr long long ptr ptr) -@ stdcall RtlIpv6AddressToStringExW(ptr long long ptr ptr) -@ stdcall RtlIpv6AddressToStringW(ptr ptr) -@ stdcall RtlIpv6StringToAddressA(str ptr ptr) -@ stdcall RtlIpv6StringToAddressExA(str ptr ptr ptr) -@ stdcall RtlIpv6StringToAddressExW(wstr ptr ptr ptr) -@ stdcall RtlIpv6StringToAddressW(wstr ptr ptr) -@ stdcall RtlIsActivationContextActive(ptr) -//@ stdcall RtlIsCriticalSectionLocked -//@ stdcall RtlIsCriticalSectionLockedByThread -@ stdcall RtlIsDosDeviceName_U(wstr) -@ stdcall RtlIsGenericTableEmpty(ptr) -@ stdcall RtlIsGenericTableEmptyAvl(ptr) -@ stdcall RtlIsNameLegalDOS8Dot3(ptr ptr ptr) -@ stdcall RtlIsRangeAvailable(ptr long long long long long long ptr ptr ptr) -@ stdcall RtlIsTextUnicode(ptr long ptr) -@ stdcall RtlIsThreadWithinLoaderCallout() -@ stdcall RtlIsValidHandle(ptr ptr) -@ stdcall RtlIsValidIndexHandle(ptr long ptr) -@ stdcall -arch=win32 -ret64 RtlLargeIntegerAdd(double double) -@ stdcall -arch=win32 -ret64 RtlLargeIntegerArithmeticShift(double long) -@ stdcall -arch=win32 -ret64 RtlLargeIntegerDivide(double double ptr) -@ stdcall -arch=win32 -ret64 RtlLargeIntegerNegate(double) -@ stdcall -arch=win32 -ret64 RtlLargeIntegerShiftLeft(double long) -@ stdcall -arch=win32 -ret64 RtlLargeIntegerShiftRight(double long) -@ stdcall -arch=win32 -ret64 RtlLargeIntegerSubtract(double double) -@ stdcall RtlLargeIntegerToChar(ptr long long ptr) -@ stdcall RtlLeaveCriticalSection(ptr) -@ stdcall RtlLengthRequiredSid(long) -@ stdcall RtlLengthSecurityDescriptor(ptr) -@ stdcall RtlLengthSid(ptr) -@ stdcall RtlLocalTimeToSystemTime(ptr ptr) -@ stdcall RtlLockBootStatusData(ptr) -@ stdcall RtlLockHeap(long) -//@ stdcall RtlLockMemoryStreamRegion -//@ stdcall RtlLogStackBackTrace -@ stdcall RtlLookupAtomInAtomTable(ptr wstr ptr) -@ stdcall RtlLookupElementGenericTable(ptr ptr) -@ stdcall RtlLookupElementGenericTableAvl(ptr ptr) -@ stdcall -arch=x86_64 RtlLookupFunctionEntry(long ptr ptr) -@ stdcall RtlMakeSelfRelativeSD(ptr ptr ptr) -@ stdcall RtlMapGenericMask(long ptr) -//@ stdcall RtlMapSecurityErrorToNtStatus -@ stdcall RtlMergeRangeLists(ptr ptr ptr long) -@ stdcall RtlMoveMemory(ptr ptr long) -//@ stdcall RtlMultiAppendUnicodeStringBuffer -@ stdcall RtlMultiByteToUnicodeN(ptr long ptr ptr long) -@ stdcall RtlMultiByteToUnicodeSize(ptr str long) -//@ stdcall RtlNewInstanceSecurityObject -//@ stdcall RtlNewSecurityGrantedAccess -@ stdcall RtlNewSecurityObject(ptr ptr ptr long ptr ptr) -//@ stdcall RtlNewSecurityObjectEx -//@ stdcall RtlNewSecurityObjectWithMultipleInheritance -@ stdcall RtlNormalizeProcessParams(ptr) -@ stdcall RtlNtPathNameToDosPathName(ptr ptr ptr ptr) // CHECKME -@ stdcall RtlNtStatusToDosError(long) -@ stdcall RtlNtStatusToDosErrorNoTeb(long) -@ stdcall RtlNumberGenericTableElements(ptr) -@ stdcall RtlNumberGenericTableElementsAvl(ptr) -@ stdcall RtlNumberOfClearBits(ptr) -@ stdcall RtlNumberOfSetBits(ptr) -//@ stdcall RtlOemStringToUnicodeSize(ptr) -@ stdcall RtlOemStringToUnicodeString(ptr ptr long) -@ stdcall RtlOemToUnicodeN(ptr long ptr ptr long) -@ stdcall RtlOpenCurrentUser(long ptr) -@ stdcall RtlPcToFileHeader(ptr ptr) -@ stdcall RtlPinAtomInAtomTable(ptr long) -//@ stdcall RtlPopFrame -@ stdcall RtlPrefixString(ptr ptr long) -@ stdcall RtlPrefixUnicodeString(ptr ptr long) -//@ stdcall RtlPropertySetNameToGuid // 4.0 only -@ stdcall RtlProtectHeap(ptr long) -//@ stdcall RtlPushFrame -@ stdcall RtlQueryAtomInAtomTable(ptr long ptr ptr ptr ptr) -@ stdcall RtlQueryDepthSList(ptr) -@ stdcall RtlQueryEnvironmentVariable_U(ptr ptr ptr) -@ stdcall RtlQueryHeapInformation(long long ptr long ptr) -@ stdcall RtlQueryInformationAcl(ptr ptr long long) -@ stdcall RtlQueryInformationActivationContext(long long ptr long ptr long ptr) -//@ stdcall RtlQueryInformationActiveActivationContext -//@ stdcall RtlQueryInterfaceMemoryStream -//@ stdcall RtlQueryProcessBackTraceInformation -@ stdcall RtlQueryProcessDebugInformation(long long ptr) -//@ stdcall RtlQueryProcessHeapInformation -//@ stdcall RtlQueryProcessLockInformation -//@ stdcall RtlQueryProperties // 4.0 only -//@ stdcall RtlQueryPropertyNames // 4.0 only -//@ stdcall RtlQueryPropertySet // 4.0 only -@ stdcall RtlQueryRegistryValues(long ptr ptr ptr ptr) -@ stdcall RtlQuerySecurityObject(ptr long ptr long ptr) -@ stdcall RtlQueryTagHeap(ptr long long long ptr) -@ stdcall RtlQueryTimeZoneInformation(ptr) -//@ stdcall RtlQueueApcWow64Thread -@ stdcall RtlQueueWorkItem(ptr ptr long) -@ stdcall -register RtlRaiseException(ptr) -@ stdcall RtlRaiseStatus(long) -@ stdcall RtlRandom(ptr) -@ stdcall RtlRandomEx(ptr) -@ stdcall RtlReAllocateHeap(long long ptr long) -//@ stdcall RtlReadMemoryStream -//@ stdcall RtlReadOutOfProcessMemoryStream -@ stdcall RtlRealPredecessor(ptr) -@ stdcall RtlRealSuccessor(ptr) -@ stdcall RtlRegisterSecureMemoryCacheCallback(ptr) -@ stdcall RtlRegisterWait(ptr ptr ptr ptr long long) -@ stdcall RtlReleaseActivationContext(ptr) -//@ stdcall RtlReleaseMemoryStream -@ stdcall RtlReleasePebLock() -@ stdcall RtlReleasePrivilege(ptr) -@ stdcall RtlReleaseRelativeName(ptr) -@ stdcall RtlReleaseResource(ptr) -@ stdcall RtlReleaseSRWLockExclusive(ptr) -@ stdcall RtlReleaseSRWLockShared(ptr) -@ stdcall RtlRemoteCall(ptr ptr ptr long ptr long long) -//@ stdcall RtlRemoveVectoredContinueHandler -@ stdcall RtlRemoveVectoredExceptionHandler(ptr) -@ stdcall RtlResetRtlTranslations(ptr) -@ stdcall RtlRestoreLastWin32Error(long) RtlSetLastWin32Error -//@ stdcall RtlRevertMemoryStream -@ stdcall RtlRunDecodeUnicodeString(long ptr) -@ stdcall RtlRunEncodeUnicodeString(long ptr) -@ stdcall RtlSecondsSince1970ToTime(long ptr) -@ stdcall RtlSecondsSince1980ToTime(long ptr) -//@ stdcall RtlSeekMemoryStream -@ stdcall RtlSelfRelativeToAbsoluteSD2(ptr ptr) -@ stdcall RtlSelfRelativeToAbsoluteSD(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall RtlSetAllBits(ptr) -@ stdcall RtlSetAttributesSecurityDescriptor(ptr long ptr) -@ stdcall RtlSetBits(ptr long long) -@ stdcall RtlSetControlSecurityDescriptor(ptr long long) -@ stdcall RtlSetCriticalSectionSpinCount(ptr long) -@ stdcall RtlSetCurrentDirectory_U(ptr) -@ stdcall RtlSetCurrentEnvironment(wstr ptr) -@ stdcall RtlSetDaclSecurityDescriptor(ptr long ptr long) -//@ stdcall RtlSetEnvironmentStrings -@ stdcall RtlSetEnvironmentVariable(ptr ptr ptr) -@ stdcall RtlSetGroupSecurityDescriptor(ptr ptr long) -@ stdcall RtlSetHeapInformation(ptr long ptr ptr) -@ stdcall RtlSetInformationAcl(ptr ptr long long) -@ stdcall RtlSetIoCompletionCallback(long ptr long) -@ stdcall RtlSetLastWin32Error(long) -@ stdcall RtlSetLastWin32ErrorAndNtStatusFromNtStatus(long) -//@ stdcall RtlSetMemoryStreamSize -@ stdcall RtlSetOwnerSecurityDescriptor(ptr ptr long) -@ stdcall RtlSetProcessIsCritical(long ptr long) -//@ stdcall RtlSetProperties // RtlSetProperties -//@ stdcall RtlSetPropertyClassId // 4.0 only -//@ stdcall RtlSetPropertyNames // 4.0 only -//@ stdcall RtlSetPropertySetClassId // 4.0 only -@ stdcall RtlSetSaclSecurityDescriptor(ptr long ptr long) -@ stdcall RtlSetSecurityDescriptorRMControl(ptr ptr) -@ stdcall RtlSetSecurityObject(long ptr ptr ptr ptr) -//@ stdcall RtlSetSecurityObjectEx -@ stdcall RtlSetThreadErrorMode(long ptr) -@ stdcall RtlSetThreadIsCritical(long ptr long) -@ stdcall RtlSetThreadPoolStartFunc(ptr ptr) -@ stdcall RtlSetTimeZoneInformation(ptr) -//@ stdcall RtlSetTimer -@ stdcall RtlSetUnhandledExceptionFilter(ptr) -//@ stdcall RtlSetUnicodeCallouts -@ stdcall RtlSetUserFlagsHeap(ptr long ptr long long) -@ stdcall RtlSetUserValueHeap(ptr long ptr ptr) -@ stdcall RtlSizeHeap(long long ptr) -@ stdcall RtlSleepConditionVariableCS(ptr ptr ptr) -@ stdcall RtlSleepConditionVariableSRW(ptr ptr ptr long) -@ stdcall RtlSplay(ptr) -//@ stdcall RtlStartRXact -//@ stdcall RtlStatMemoryStream -@ stdcall RtlStringFromGUID(ptr ptr) -@ stdcall RtlSubAuthorityCountSid(ptr) -@ stdcall RtlSubAuthoritySid(ptr long) -@ stdcall RtlSubtreePredecessor(ptr) -@ stdcall RtlSubtreeSuccessor(ptr) -@ stdcall RtlSystemTimeToLocalTime(ptr ptr) -@ stdcall RtlTimeFieldsToTime(ptr ptr) -@ stdcall RtlTimeToElapsedTimeFields(long long) -@ stdcall RtlTimeToSecondsSince1970(ptr ptr) -@ stdcall RtlTimeToSecondsSince1980(ptr ptr) -@ stdcall RtlTimeToTimeFields (long long) -//@ stdcall RtlTraceDatabaseAdd -//@ stdcall RtlTraceDatabaseCreate -//@ stdcall RtlTraceDatabaseDestroy -//@ stdcall RtlTraceDatabaseEnumerate -//@ stdcall RtlTraceDatabaseFind -//@ stdcall RtlTraceDatabaseLock -//@ stdcall RtlTraceDatabaseUnlock -//@ stdcall RtlTraceDatabaseValidate -@ stdcall RtlTryEnterCriticalSection(ptr) -@ fastcall -i386 RtlUlongByteSwap(long) -@ fastcall -ret64 RtlUlonglongByteSwap(double) -//@ stdcall RtlUnhandledExceptionFilter2 -@ stdcall RtlUnhandledExceptionFilter(ptr) -//@ stdcall RtlUnicodeStringToAnsiSize(ptr) -@ stdcall RtlUnicodeStringToAnsiString(ptr ptr long) -@ stdcall RtlUnicodeStringToCountedOemString(ptr ptr long) -@ stdcall RtlUnicodeStringToInteger(ptr long ptr) -//@ stdcall RtlUnicodeStringToOemSize(ptr) -@ stdcall RtlUnicodeStringToOemString(ptr ptr long) -@ stdcall RtlUnicodeToCustomCPN(ptr ptr long ptr wstr long) -@ stdcall RtlUnicodeToMultiByteN(ptr long ptr ptr long) -@ stdcall RtlUnicodeToMultiByteSize(ptr ptr long) -@ stdcall RtlUnicodeToOemN(ptr long ptr ptr long) -@ stdcall RtlUniform(ptr) -@ stdcall RtlUnlockBootStatusData(ptr) -@ stdcall RtlUnlockHeap(long) -//@ stdcall RtlUnlockMemoryStreamRegion -@ stdcall -register RtlUnwind(ptr ptr ptr ptr) -@ stdcall -arch=x86_64 RtlUnwindEx(long long ptr long ptr) -@ stdcall RtlUpcaseUnicodeChar(long) -@ stdcall RtlUpcaseUnicodeString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeStringToAnsiString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeStringToCountedOemString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeStringToOemString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeToCustomCPN(ptr ptr long ptr wstr long) -@ stdcall RtlUpcaseUnicodeToMultiByteN(ptr long ptr ptr long) -@ stdcall RtlUpcaseUnicodeToOemN(ptr long ptr ptr long) -@ stdcall RtlUpdateTimer(ptr ptr long long) -@ stdcall RtlUpperChar(long) -@ stdcall RtlUpperString(ptr ptr) -@ stdcall RtlUsageHeap(ptr long ptr) -@ fastcall -i386 RtlUshortByteSwap(long) -@ stdcall RtlValidAcl(ptr) -@ stdcall RtlValidRelativeSecurityDescriptor(ptr long long) -@ stdcall RtlValidSecurityDescriptor(ptr) -@ stdcall RtlValidSid(ptr) -@ stdcall RtlValidateHeap(long long ptr) -@ stdcall RtlValidateProcessHeaps() -@ stdcall RtlValidateUnicodeString(long ptr) -@ stdcall RtlVerifyVersionInfo(ptr long double) -@ stdcall -arch=x86_64 RtlVirtualUnwind(long long long ptr ptr ptr ptr ptr) -@ stdcall RtlWalkFrameChain(ptr long long) -@ stdcall RtlWalkHeap(long ptr) -@ stdcall RtlWow64EnableFsRedirection(long) -@ stdcall RtlWow64EnableFsRedirectionEx(long ptr) -@ stdcall RtlWakeAllConditionVariable(ptr) -@ stdcall RtlWakeConditionVariable(ptr) -//@ stdcall RtlWriteMemoryStream -@ stdcall RtlWriteRegistryValue(long ptr ptr long ptr long) -@ stdcall RtlZeroHeap(ptr long) -@ stdcall RtlZeroMemory(ptr long) -@ stdcall RtlZombifyActivationContext(ptr) -//@ stdcall RtlpApplyLengthFunction -@ stdcall RtlpEnsureBufferSize(ptr ptr ptr) // CHECKME -//@ stdcall RtlpNotOwnerCriticalSection -@ stdcall RtlpNtCreateKey(ptr long ptr long ptr ptr) -@ stdcall RtlpNtEnumerateSubKey(ptr ptr long long) -@ stdcall RtlpNtMakeTemporaryKey(ptr) -@ stdcall RtlpNtOpenKey(ptr long ptr long) -@ stdcall RtlpNtQueryValueKey(ptr ptr ptr ptr long) -@ stdcall RtlpNtSetValueKey(ptr long ptr long) -@ stdcall RtlpUnWaitCriticalSection(ptr) -@ stdcall RtlpWaitForCriticalSection(ptr) -@ stdcall RtlxAnsiStringToUnicodeSize(ptr) -@ stdcall RtlxOemStringToUnicodeSize(ptr) -@ stdcall RtlxUnicodeStringToAnsiSize(ptr) -@ stdcall RtlxUnicodeStringToOemSize(ptr) // RtlUnicodeStringToOemSize -@ stdcall -ret64 VerSetConditionMask(double long long) -@ stdcall ZwAcceptConnectPort(ptr long ptr long long ptr) NtAcceptConnectPort -@ stdcall ZwAccessCheck(ptr long long ptr ptr ptr ptr ptr) NtAccessCheck -@ stdcall ZwAccessCheckAndAuditAlarm(ptr long ptr ptr ptr long ptr long ptr ptr ptr) NtAccessCheckAndAuditAlarm -@ stdcall ZwAccessCheckByType(ptr ptr ptr long ptr long ptr ptr long ptr ptr) NtAccessCheckByType -@ stdcall ZwAccessCheckByTypeAndAuditAlarm(ptr ptr ptr ptr ptr ptr long long long ptr long ptr long ptr ptr ptr) NtAccessCheckByTypeAndAuditAlarm -@ stdcall ZwAccessCheckByTypeResultList(ptr ptr ptr long ptr long ptr ptr long ptr ptr) NtAccessCheckByTypeResultList -@ stdcall ZwAccessCheckByTypeResultListAndAuditAlarm(ptr ptr ptr ptr ptr ptr long long long ptr long ptr long ptr ptr ptr) NtAccessCheckByTypeResultListAndAuditAlarm -@ stdcall ZwAccessCheckByTypeResultListAndAuditAlarmByHandle(ptr ptr ptr ptr ptr ptr ptr long long long ptr long ptr long ptr ptr ptr) NtAccessCheckByTypeResultListAndAuditAlarmByHandle -@ stdcall ZwAddAtom(ptr long ptr) NtAddAtom -@ stdcall ZwAddBootEntry(ptr long) -@ stdcall ZwAdjustGroupsToken(long long long long long long) NtAdjustGroupsToken -@ stdcall ZwAdjustPrivilegesToken(long long long long long long) NtAdjustPrivilegesToken -@ stdcall ZwAlertResumeThread(long ptr) NtAlertResumeThread -@ stdcall ZwAlertThread(long) NtAlertThread -@ stdcall ZwAllocateLocallyUniqueId(ptr) NtAllocateLocallyUniqueId -@ stdcall ZwAllocateUserPhysicalPages(ptr ptr ptr) -@ stdcall ZwAllocateUuids(ptr ptr ptr ptr) NtAllocateUuids -@ stdcall ZwAllocateVirtualMemory(long ptr ptr ptr long long) NtAllocateVirtualMemory -@ stdcall ZwAreMappedFilesTheSame(ptr ptr) NtAreMappedFilesTheSame -@ stdcall ZwAssignProcessToJobObject(long long) NtAssignProcessToJobObject -@ stdcall ZwCallbackReturn(ptr long long) -@ stdcall ZwCancelDeviceWakeupRequest(ptr) -@ stdcall ZwCancelIoFile(long ptr) NtCancelIoFile -//@ stdcall ZwCancelIoFileEx(long ptr ptr) NtCancelIoFileEx -@ stdcall ZwCancelTimer(long ptr) NtCancelTimer -@ stdcall ZwClearEvent(long) NtClearEvent -@ stdcall ZwClose(long) NtClose -@ stdcall ZwCloseObjectAuditAlarm(ptr ptr long) -@ stdcall ZwCompactKeys(long ptr) NtCompactKeys -@ stdcall ZwCompareTokens(ptr ptr ptr) NtCompareTokens -@ stdcall ZwCompleteConnectPort(ptr) NtCompleteConnectPort -@ stdcall ZwCompressKey(ptr) NtCompressKey -@ stdcall ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort -@ stdcall ZwContinue(ptr long) NtContinue -@ stdcall ZwCreateDebugObject(ptr long ptr long) NtCreateDebugObject -@ stdcall ZwCreateDirectoryObject(long long long) NtCreateDirectoryObject -@ stdcall ZwCreateEvent(long long long long long) NtCreateEvent -@ stdcall ZwCreateEventPair(ptr long ptr) NtCreateEventPair -@ stdcall ZwCreateFile(ptr long ptr ptr long long long ptr long long ptr) NtCreateFile -@ stdcall ZwCreateIoCompletion(ptr long ptr long) NtCreateIoCompletion -@ stdcall ZwCreateJobObject(ptr long ptr) NtCreateJobObject -@ stdcall ZwCreateJobSet(long ptr long) NtCreateJobSet -@ stdcall ZwCreateKey(ptr long ptr long ptr long long) NtCreateKey -@ stdcall ZwCreateKeyedEvent(ptr long ptr long) NtCreateKeyedEvent -@ stdcall ZwCreateMailslotFile(long long long long long long long long) NtCreateMailslotFile -@ stdcall ZwCreateMutant(ptr long ptr long) NtCreateMutant -@ stdcall ZwCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) NtCreateNamedPipeFile -@ stdcall ZwCreatePagingFile(long long long long) NtCreatePagingFile -@ stdcall ZwCreatePort(ptr ptr long long long) NtCreatePort -@ stdcall ZwCreateProcess(ptr long ptr ptr long ptr ptr ptr) -@ stdcall ZwCreateProcessEx(ptr long ptr ptr long ptr ptr ptr long) NtCreateProcessEx -@ stdcall ZwCreateProfile(ptr ptr ptr long long ptr long long long) NtCreateProfile // CHECKME -@ stdcall ZwCreateSection(ptr long ptr ptr long long long) NtCreateSection -@ stdcall ZwCreateSemaphore(ptr long ptr long long) NtCreateSemaphore -@ stdcall ZwCreateSymbolicLinkObject(ptr long ptr ptr) NtCreateSymbolicLinkObject -@ stdcall ZwCreateThread(ptr long ptr ptr ptr ptr ptr long) -@ stdcall ZwCreateTimer(ptr long ptr long) NtCreateTimer -@ stdcall ZwCreateToken(ptr long ptr long ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall ZwCreateWaitablePort(ptr ptr long long long) NtCreateWaitablePort -@ stdcall ZwDebugActiveProcess(ptr ptr) NtDebugActiveProcess -@ stdcall ZwDebugContinue(ptr ptr long) NtDebugContinue -@ stdcall ZwDelayExecution(long ptr) NtDelayExecution -@ stdcall ZwDeleteAtom(long) NtDeleteAtom -@ stdcall ZwDeleteBootEntry(long) NtDeleteBootEntry -@ stdcall ZwDeleteFile(ptr) NtDeleteFile -@ stdcall ZwDeleteKey(long) NtDeleteKey -@ stdcall ZwDeleteObjectAuditAlarm(ptr ptr long) -@ stdcall ZwDeleteValueKey(long ptr) NtDeleteValueKey -@ stdcall ZwDeviceIoControlFile(long long long long long long long long long long) NtDeviceIoControlFile -@ stdcall ZwDisplayString(ptr) NtDisplayString -@ stdcall ZwDuplicateObject(long long long ptr long long long) NtDuplicateObject -@ stdcall ZwDuplicateToken(long long long long long long) NtDuplicateToken -@ stdcall ZwEnumerateBootEntries(ptr ptr) -//@ stdcall ZwEnumerateBus // 3.51 only -@ stdcall ZwEnumerateKey(long long long ptr long ptr) NtEnumerateKey -@ stdcall ZwEnumerateSystemEnvironmentValuesEx(long ptr long) NtEnumerateSystemEnvironmentValuesEx -@ stdcall ZwEnumerateValueKey(long long long ptr long ptr) NtEnumerateValueKey -@ stdcall ZwExtendSection(ptr ptr) NtExtendSection -@ stdcall ZwFilterToken(ptr long ptr ptr ptr ptr) NtFilterToken -@ stdcall ZwFindAtom(ptr long ptr) NtFindAtom -@ stdcall ZwFlushBuffersFile(long ptr) NtFlushBuffersFile -@ stdcall ZwFlushInstructionCache(long ptr long) NtFlushInstructionCache -@ stdcall ZwFlushKey(long) NtFlushKey -@ stdcall ZwFlushVirtualMemory(long ptr ptr long) NtFlushVirtualMemory -@ stdcall ZwFlushWriteBuffer() -@ stdcall ZwFreeUserPhysicalPages(ptr ptr ptr) -@ stdcall ZwFreeVirtualMemory(long ptr ptr long) NtFreeVirtualMemory -@ stdcall ZwFsControlFile(long long long long long long long long long long) NtFsControlFile -@ stdcall ZwGetContextThread(long ptr) NtGetContextThread -@ stdcall ZwGetCurrentProcessorNumber() -@ stdcall ZwGetDevicePowerState(ptr ptr) -@ stdcall ZwGetPlugPlayEvent(long long ptr long) -//@ stdcall ZwGetTickCount() NtGetTickCount -@ stdcall ZwGetWriteWatch(long long ptr long ptr ptr ptr) NtGetWriteWatch -@ stdcall ZwImpersonateAnonymousToken(ptr) -@ stdcall ZwImpersonateClientOfPort(ptr ptr) NtImpersonateClientOfPort -@ stdcall ZwImpersonateThread(ptr ptr ptr) NtImpersonateThread -@ stdcall ZwInitializeRegistry(long) -@ stdcall ZwInitiatePowerAction(long long long long) NtInitiatePowerAction -@ stdcall ZwIsProcessInJob(long long) NtIsProcessInJob -@ stdcall ZwIsSystemResumeAutomatic() -@ stdcall ZwListenPort(ptr ptr) NtListenPort -@ stdcall ZwLoadDriver(ptr) NtLoadDriver -@ stdcall ZwLoadKey2(ptr ptr long) NtLoadKey2 -@ stdcall ZwLoadKey(ptr ptr) NtLoadKey -@ stdcall ZwLockFile(long long ptr ptr ptr ptr ptr ptr long long) NtLockFile -@ stdcall ZwLockProductActivationKeys(ptr ptr) NtLockProductActivationKeys -@ stdcall ZwLockRegistryKey(ptr) NtLockRegistryKey -@ stdcall ZwLockVirtualMemory(long ptr ptr long) NtLockVirtualMemory -@ stdcall ZwMakePermanentObject(ptr) NtMakePermanentObject -@ stdcall ZwMakeTemporaryObject(long) NtMakeTemporaryObject -@ stdcall ZwMapUserPhysicalPages(ptr ptr ptr) -@ stdcall ZwMapUserPhysicalPagesScatter(ptr ptr ptr) -@ stdcall ZwMapViewOfSection(long long ptr long long ptr ptr long long long) NtMapViewOfSection -@ stdcall ZwModifyBootEntry(ptr) NtModifyBootEntry -@ stdcall ZwNotifyChangeDirectoryFile(long long ptr ptr ptr ptr long long long) NtNotifyChangeDirectoryFile -@ stdcall ZwNotifyChangeKey(long long ptr ptr ptr long long ptr long long) NtNotifyChangeKey -@ stdcall ZwNotifyChangeMultipleKeys(ptr long ptr ptr ptr ptr ptr long long ptr long long) NtNotifyChangeMultipleKeys -@ stdcall ZwOpenDirectoryObject(long long long) NtOpenDirectoryObject -@ stdcall ZwOpenEvent(long long long) NtOpenEvent -@ stdcall ZwOpenEventPair(ptr long ptr) NtOpenEventPair -@ stdcall ZwOpenFile(ptr long ptr ptr long long) NtOpenFile -@ stdcall ZwOpenIoCompletion(ptr long ptr) NtOpenIoCompletion -@ stdcall ZwOpenJobObject(ptr long ptr) NtOpenJobObject -@ stdcall ZwOpenKey(ptr long ptr) NtOpenKey -@ stdcall ZwOpenKeyedEvent(ptr long ptr) NtOpenKeyedEvent -@ stdcall ZwOpenMutant(ptr long ptr) NtOpenMutant -@ stdcall ZwOpenObjectAuditAlarm(ptr ptr ptr ptr ptr ptr long long ptr long long ptr) -@ stdcall ZwOpenProcess(ptr long ptr ptr) NtOpenProcess -@ stdcall ZwOpenProcessToken(long long ptr) NtOpenProcessToken -@ stdcall ZwOpenProcessTokenEx(long long long ptr) NtOpenProcessTokenEx -@ stdcall ZwOpenSection(ptr long ptr) NtOpenSection -@ stdcall ZwOpenSemaphore(long long ptr) NtOpenSemaphore -@ stdcall ZwOpenSymbolicLinkObject (ptr long ptr) NtOpenSymbolicLinkObject -@ stdcall ZwOpenThread(ptr long ptr ptr) NtOpenThread -@ stdcall ZwOpenThreadToken(long long long ptr) NtOpenThreadToken -@ stdcall ZwOpenThreadTokenEx(long long long long ptr) NtOpenThreadTokenEx -@ stdcall ZwOpenTimer(ptr long ptr) NtOpenTimer -@ stdcall ZwPlugPlayControl(ptr ptr long) -@ stdcall ZwPowerInformation(long ptr long ptr long) NtPowerInformation -@ stdcall ZwPrivilegeCheck(ptr ptr ptr) NtPrivilegeCheck -@ stdcall ZwPrivilegeObjectAuditAlarm(ptr ptr ptr long ptr long) -@ stdcall ZwPrivilegedServiceAuditAlarm(ptr ptr ptr ptr long) -@ stdcall ZwProtectVirtualMemory(long ptr ptr long ptr) NtProtectVirtualMemory -@ stdcall ZwPulseEvent(long ptr) NtPulseEvent -@ stdcall ZwQueryAttributesFile(ptr ptr) NtQueryAttributesFile -@ stdcall ZwQueryBootEntryOrder(ptr ptr) NtQueryBootEntryOrder -@ stdcall ZwQueryBootOptions(ptr ptr) NtQueryBootOptions -@ stdcall ZwQueryDebugFilterState(long long) NtQueryDebugFilterState -@ stdcall ZwQueryDefaultLocale(long ptr) NtQueryDefaultLocale -@ stdcall ZwQueryDefaultUILanguage(ptr) NtQueryDefaultUILanguage -@ stdcall ZwQueryDirectoryFile(long long ptr ptr ptr ptr long long long ptr long) NtQueryDirectoryFile -@ stdcall ZwQueryDirectoryObject(long ptr long long long ptr ptr) NtQueryDirectoryObject -@ stdcall ZwQueryEaFile(long ptr ptr long long ptr long ptr long) NtQueryEaFile -@ stdcall ZwQueryEvent(long long ptr long ptr) NtQueryEvent -@ stdcall ZwQueryFullAttributesFile(ptr ptr) NtQueryFullAttributesFile -@ stdcall ZwQueryInformationAtom(long long ptr long ptr) NtQueryInformationAtom -@ stdcall ZwQueryInformationFile(long ptr ptr long long) NtQueryInformationFile -@ stdcall ZwQueryInformationJobObject(long long ptr long ptr) NtQueryInformationJobObject -@ stdcall ZwQueryInformationPort(ptr long ptr long ptr) NtQueryInformationPort -@ stdcall ZwQueryInformationProcess(long long ptr long ptr) NtQueryInformationProcess -@ stdcall ZwQueryInformationThread(long long ptr long ptr) NtQueryInformationThread -@ stdcall ZwQueryInformationToken(long long ptr long ptr) NtQueryInformationToken -@ stdcall ZwQueryInstallUILanguage(ptr) NtQueryInstallUILanguage -@ stdcall ZwQueryIntervalProfile(long ptr) NtQueryIntervalProfile -@ stdcall ZwQueryIoCompletion(long long ptr long ptr) NtQueryIoCompletion -@ stdcall ZwQueryKey(long long ptr long ptr) NtQueryKey -@ stdcall ZwQueryMultipleValueKey(long ptr long ptr long ptr) NtQueryMultipleValueKey -@ stdcall ZwQueryMutant(long long ptr long ptr) NtQueryMutant -@ stdcall ZwQueryObject(long long long long long) NtQueryObject -@ stdcall ZwQueryOpenSubKeys(ptr ptr) NtQueryOpenSubKeys -@ stdcall ZwQueryPerformanceCounter (long long) NtQueryPerformanceCounter -@ stdcall ZwQueryPortInformationProcess() NtQueryPortInformationProcess -@ stdcall ZwQueryQuotaInformationFile(ptr ptr ptr long long ptr long ptr long) NtQueryQuotaInformationFile -@ stdcall ZwQuerySection (long long long long long) NtQuerySection -@ stdcall ZwQuerySecurityObject (long long long long long) NtQuerySecurityObject -@ stdcall ZwQuerySemaphore (long long long long long) NtQuerySemaphore -@ stdcall ZwQuerySymbolicLinkObject(long ptr ptr) NtQuerySymbolicLinkObject -@ stdcall ZwQuerySystemEnvironmentValue(ptr ptr long ptr) NtQuerySystemEnvironmentValue -@ stdcall ZwQuerySystemEnvironmentValueEx(ptr ptr ptr ptr ptr) NtQuerySystemEnvironmentValueEx -@ stdcall ZwQuerySystemInformation(long long long long) NtQuerySystemInformation -@ stdcall ZwQuerySystemTime(ptr) NtQuerySystemTime -@ stdcall ZwQueryTimer(ptr long ptr long ptr) NtQueryTimer -@ stdcall ZwQueryTimerResolution(long long long) NtQueryTimerResolution -@ stdcall ZwQueryValueKey(long ptr long ptr long ptr) NtQueryValueKey -@ stdcall ZwQueryVirtualMemory(long ptr long ptr long ptr) NtQueryVirtualMemory -@ stdcall ZwQueryVolumeInformationFile(long ptr ptr long long) NtQueryVolumeInformationFile -@ stdcall ZwQueueApcThread(long ptr long long long) NtQueueApcThread -@ stdcall ZwRaiseException(ptr ptr long) NtRaiseException -@ stdcall ZwRaiseHardError(long long long ptr long ptr) NtRaiseHardError -@ stdcall ZwReadFile(long long ptr ptr ptr ptr long ptr ptr) NtReadFile -@ stdcall ZwReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) NtReadFileScatter -@ stdcall ZwReadRequestData(ptr ptr long ptr long ptr) NtReadRequestData -@ stdcall ZwReadVirtualMemory(long ptr ptr long ptr) NtReadVirtualMemory -//@ stdcall ZwRegisterNewDevice // 3.51 only -@ stdcall ZwRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort -@ stdcall ZwReleaseKeyedEvent(ptr ptr long ptr) NtReleaseKeyedEvent -@ stdcall ZwReleaseMutant(long ptr) NtReleaseMutant -//@ stdcall ZwReleaseProcessMutant // 3.51 only -@ stdcall ZwReleaseSemaphore(long long ptr) NtReleaseSemaphore -@ stdcall ZwRemoveIoCompletion(ptr ptr ptr ptr ptr) NtRemoveIoCompletion -@ stdcall ZwRemoveProcessDebug(ptr ptr) NtRemoveProcessDebug -@ stdcall ZwRenameKey(ptr ptr) NtRenameKey -@ stdcall ZwReplaceKey(ptr long ptr) NtReplaceKey -@ stdcall ZwReplyPort(ptr ptr) NtReplyPort -@ stdcall ZwReplyWaitReceivePort(ptr ptr ptr ptr) NtReplyWaitReceivePort -@ stdcall ZwReplyWaitReceivePortEx(ptr ptr ptr ptr ptr) -@ stdcall ZwReplyWaitReplyPort(ptr ptr) -@ stdcall ZwRequestDeviceWakeup(ptr) -@ stdcall ZwRequestPort(ptr ptr) -@ stdcall ZwRequestWaitReplyPort(ptr ptr ptr) -@ stdcall ZwRequestWakeupLatency(long) -@ stdcall ZwResetEvent(long ptr) -@ stdcall ZwResetWriteWatch(long ptr long) -@ stdcall ZwRestoreKey(long long long) -@ stdcall ZwResumeProcess(ptr) -@ stdcall ZwResumeThread(long long) -@ stdcall ZwSaveKey(long long) -@ stdcall ZwSaveKeyEx(ptr ptr long) -@ stdcall ZwSaveMergedKeys(ptr ptr ptr) -@ stdcall ZwSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall ZwSetBootEntryOrder(ptr ptr) -@ stdcall ZwSetBootOptions(ptr long) -@ stdcall ZwSetContextThread(long ptr) -@ stdcall ZwSetDebugFilterState(long long long) -@ stdcall ZwSetDefaultHardErrorPort(ptr) -@ stdcall ZwSetDefaultLocale(long long) -@ stdcall ZwSetDefaultUILanguage(long) -@ stdcall ZwSetEaFile(long ptr ptr long) -@ stdcall ZwSetEvent(long long) -@ stdcall ZwSetEventBoostPriority(ptr) -@ stdcall ZwSetHighEventPair(ptr) -@ stdcall ZwSetHighWaitLowEventPair(ptr) -//@ stdcall ZwSetHighWaitLowThread // 3.51 and 4.0 only -@ stdcall ZwSetInformationDebugObject(ptr long ptr long ptr) -@ stdcall ZwSetInformationFile(long long long long long) -@ stdcall ZwSetInformationJobObject(long long ptr long) -@ stdcall ZwSetInformationKey(long long ptr long) -@ stdcall ZwSetInformationObject(long long ptr long) -@ stdcall ZwSetInformationProcess(long long long long) -@ stdcall ZwSetInformationThread(long long ptr long) -@ stdcall ZwSetInformationToken(long long ptr long) -@ stdcall ZwSetIntervalProfile(long long) -@ stdcall ZwSetIoCompletion(ptr long ptr long long) -@ stdcall ZwSetLdtEntries(long double long double) // CHECKME -@ stdcall ZwSetLowEventPair(ptr) -@ stdcall ZwSetLowWaitHighEventPair(ptr) -//@ stdcall ZwSetLowWaitHighThread // 3.51 and 4.0 only -@ stdcall ZwSetQuotaInformationFile(ptr ptr ptr long) -@ stdcall ZwSetSecurityObject(long long ptr) -@ stdcall ZwSetSystemEnvironmentValue(ptr ptr) -@ stdcall ZwSetSystemEnvironmentValueEx(ptr ptr) -@ stdcall ZwSetSystemInformation(long ptr long) -@ stdcall ZwSetSystemPowerState(long long long) -@ stdcall ZwSetSystemTime(ptr ptr) -@ stdcall ZwSetThreadExecutionState(long ptr) -@ stdcall ZwSetTimer(long ptr ptr ptr long long ptr) -@ stdcall ZwSetTimerResolution(long long ptr) -@ stdcall ZwSetUuidSeed(ptr) -@ stdcall ZwSetValueKey(long long long long long long) -@ stdcall ZwSetVolumeInformationFile(long ptr ptr long long) -@ stdcall ZwShutdownSystem(long) -@ stdcall ZwSignalAndWaitForSingleObject(long long long ptr) -@ stdcall ZwStartProfile(ptr) -@ stdcall ZwStopProfile(ptr) -@ stdcall ZwSuspendProcess(ptr) -@ stdcall ZwSuspendThread(long ptr) -@ stdcall ZwSystemDebugControl(long ptr long ptr long ptr) -@ stdcall ZwTerminateJobObject(long long) -@ stdcall ZwTerminateProcess(long long) -@ stdcall ZwTerminateThread(long long) -@ stdcall ZwTestAlert() -@ stdcall ZwTraceEvent(long long long ptr) -@ stdcall ZwTranslateFilePath(ptr long ptr long) -@ stdcall ZwUnloadDriver(ptr) -@ stdcall ZwUnloadKey(long) -@ stdcall ZwUnloadKeyEx(ptr ptr) -@ stdcall ZwUnlockFile(long ptr ptr ptr ptr) -@ stdcall ZwUnlockVirtualMemory(long ptr ptr long) -@ stdcall ZwUnmapViewOfSection(long ptr) -@ stdcall ZwVdmControl(long ptr) -//@ stdcall ZwW32Call(long ptr long ptr ptr) -@ stdcall ZwWaitForDebugEvent(ptr long ptr ptr) -@ stdcall ZwWaitForKeyedEvent(ptr ptr long ptr) -@ stdcall ZwWaitForMultipleObjects(long ptr long long ptr) -//@ stdcall ZwWaitForProcessMutant // 3.51 only -@ stdcall ZwWaitForSingleObject(long long long) -@ stdcall ZwWaitHighEventPair(ptr) -@ stdcall ZwWaitLowEventPair(ptr) -@ stdcall ZwWriteFile(long long ptr ptr ptr ptr long ptr ptr) -@ stdcall ZwWriteFileGather(long long ptr ptr ptr ptr long ptr ptr) -@ stdcall ZwWriteRequestData(ptr ptr long ptr long ptr) -@ stdcall ZwWriteVirtualMemory(long ptr ptr long ptr) -@ stdcall ZwYieldExecution() -//@ cdecl _CIcos -//@ cdecl _CIlog -//@ cdecl -private -arch=i386 _CIpow() -//@ cdecl _CIsin -//@ cdecl _CIsqrt -//@ stdcall -arch=x86_64 __C_specific_handler(ptr long ptr ptr) -@ cdecl __isascii(long) -@ cdecl __iscsym(long) -@ cdecl __iscsymf(long) -@ cdecl __toascii(long) -@ cdecl -arch=i386 -ret64 _alldiv(double double) -@ cdecl -arch=i386 _alldvrm() -@ cdecl -arch=i386 -ret64 _allmul(double double) -@ cdecl -arch=i386 -norelay _alloca_probe() -@ cdecl -arch=i386 -ret64 _allrem(double double) -@ cdecl -arch=i386 _allshl() -@ cdecl -arch=i386 _allshr() -@ cdecl -ret64 _atoi64(str) -@ cdecl -arch=i386 -ret64 _aulldiv(double double) -@ cdecl -arch=i386 _aulldvrm() -@ cdecl -arch=i386 -ret64 _aullrem(double double) -@ cdecl -arch=i386 _aullshr() -@ cdecl -arch=i386 -norelay _chkstk() -@ cdecl -arch=i386,x86_64 _fltused() -@ cdecl -arch=i386 -ret64 _ftol() -@ cdecl _i64toa(double ptr long) -@ cdecl _i64tow(double ptr long) -@ cdecl _itoa(long ptr long) -@ cdecl _itow(long ptr long) -@ cdecl _lfind(ptr ptr ptr long ptr) -@ cdecl _ltoa(long ptr long) -@ cdecl _ltow(long ptr long) -@ cdecl _memccpy(ptr ptr long long) -@ cdecl _memicmp(str str long) -@ cdecl -arch=x86_64 _setjmp(ptr ptr) -@ cdecl -arch=x86_64 _setjmpex(ptr ptr) -@ varargs _snprintf(ptr long str) -@ varargs _snwprintf(ptr long wstr) -@ cdecl _splitpath(str ptr ptr ptr ptr) -@ cdecl _strcmpi(str str) _stricmp -@ cdecl _stricmp(str str) -@ cdecl _strlwr(str) -@ cdecl _strnicmp(str str long) -@ cdecl _strupr(str) -@ cdecl _tolower(long) -@ cdecl _toupper(long) -@ cdecl _ui64toa(double ptr long) -@ cdecl _ui64tow(double ptr long) -@ cdecl _ultoa(long ptr long) -@ cdecl _ultow(long ptr long) -//@ cdecl _vscwprintf -@ cdecl _vsnprintf(ptr long str ptr) -@ cdecl _vsnwprintf(ptr long wstr ptr) -@ cdecl _wcsicmp(wstr wstr) -@ cdecl _wcslwr(wstr) -@ cdecl _wcsnicmp(wstr wstr long) -@ cdecl _wcsupr(wstr) -@ cdecl _wtoi(wstr) -@ cdecl _wtoi64(wstr) -@ cdecl _wtol(wstr) -@ cdecl abs(long) -@ cdecl -arch=i386,x86_64 atan(double) -@ cdecl atoi(str) -@ cdecl atol(str) -@ cdecl bsearch(ptr ptr long long ptr) -@ cdecl -arch=i386,x86_64 ceil(double) -@ cdecl -arch=i386,x86_64 cos(double) -@ cdecl -arch=i386,x86_64 fabs(double) -@ cdecl -arch=i386,x86_64 floor(double) -@ cdecl isalnum(long) -@ cdecl isalpha(long) -@ cdecl iscntrl(long) -@ cdecl isdigit(long) -@ cdecl isgraph(long) -@ cdecl islower(long) -@ cdecl isprint(long) -@ cdecl ispunct(long) -@ cdecl isspace(long) -@ cdecl isupper(long) -@ cdecl iswalpha(long) -@ cdecl iswctype(long long) -@ cdecl iswdigit(long) -@ cdecl iswlower(long) -@ cdecl iswspace(long) -@ cdecl iswxdigit(long) -@ cdecl isxdigit(long) -@ cdecl labs(long) -@ cdecl -arch=i386,x86_64 log(double) -@ cdecl -arch=x86_64 longjmp(ptr) -@ cdecl mbstowcs(ptr str long) -@ cdecl memchr(ptr long long) -@ cdecl memcmp(ptr ptr long) -@ cdecl memcpy(ptr ptr long) memmove -@ cdecl memmove(ptr ptr long) -@ cdecl memset(ptr long long) -@ cdecl -arch=i386,x86_64 pow(double double) -@ cdecl qsort(ptr long long ptr) -@ cdecl -arch=i386,x86_64 sin(double) -@ varargs sprintf(ptr str) -@ cdecl -arch=i386,x86_64 sqrt(double) -@ varargs sscanf(str str) -@ cdecl strcat(str str) -@ cdecl strchr(str long) -@ cdecl strcmp(str str) -@ cdecl strcpy(ptr str) -@ cdecl strcspn(str str) -@ cdecl strlen(str) -@ cdecl strncat(str str long) -@ cdecl strncmp(str str long) -@ cdecl strncpy(ptr str long) -@ cdecl strpbrk(str str) -@ cdecl strrchr(str long) -@ cdecl strspn(str str) -@ cdecl strstr(str str) -@ cdecl strtol(str ptr long) -@ cdecl strtoul(str ptr long) -@ varargs swprintf(ptr wstr) -@ cdecl -arch=i386,x86_64 tan(double) -@ cdecl tolower(long) -@ cdecl toupper(long) -@ cdecl towlower(long) -@ cdecl towupper(long) -@ stdcall vDbgPrintEx(long long str ptr) -@ stdcall vDbgPrintExWithPrefix(str long long str ptr) -@ cdecl vsprintf(ptr str ptr) -@ cdecl wcscat(wstr wstr) -@ cdecl wcschr(wstr long) -@ cdecl wcscmp(wstr wstr) -@ cdecl wcscpy(ptr wstr) -@ cdecl wcscspn(wstr wstr) -@ cdecl wcslen(wstr) -@ cdecl wcsncat(wstr wstr long) -@ cdecl wcsncmp(wstr wstr long) -@ cdecl wcsncpy(ptr wstr long) -@ cdecl wcspbrk(wstr wstr) -@ cdecl wcsrchr(wstr long) -@ cdecl wcsspn(wstr wstr) -@ cdecl wcsstr(wstr wstr) -//@ cdecl wcstok(wstr wstr) -@ cdecl wcstol(wstr ptr long) -@ cdecl wcstombs(ptr ptr long) -@ cdecl wcstoul(wstr ptr long) diff --git a/reactos/dll/ntdll/ntdll.rbuild b/reactos/dll/ntdll/ntdll.rbuild deleted file mode 100644 index 6e810dc2850..00000000000 --- a/reactos/dll/ntdll/ntdll.rbuild +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - include/reactos/subsys - include - - - - - rtl - ntdllsys - libcntpr - pseh - ntstatus - - api.c - capture.c - connect.c - - - dbgui.c - - - - - dispatch.S - - - - - stubs.c - - - - - stubs_asm.s - - - - dispatch.c - - - - ntdll.h - - - ldrapi.c - ldrinit.c - ldrpe.c - ldrutils.c - - - libsupp.c - version.c - - - ntdll.rc - - - diff --git a/reactos/dll/shellext/deskadp/deskadp.rbuild b/reactos/dll/shellext/deskadp/deskadp.rbuild deleted file mode 100644 index d668ce207bb..00000000000 --- a/reactos/dll/shellext/deskadp/deskadp.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - . - ntdll - user32 - gdi32 - comctl32 - ole32 - uuid - deskadp.c - shxiface.c - deskadp.rc - precomp.h - diff --git a/reactos/dll/shellext/deskmon/deskmon.rbuild b/reactos/dll/shellext/deskmon/deskmon.rbuild deleted file mode 100644 index b0034a8dcb5..00000000000 --- a/reactos/dll/shellext/deskmon/deskmon.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - . - ntdll - user32 - gdi32 - comctl32 - ole32 - uuid - deskmon.c - shxiface.c - deskmon.rc - precomp.h - diff --git a/reactos/dll/shellext/devcpux/devcpux.rbuild b/reactos/dll/shellext/devcpux/devcpux.rbuild deleted file mode 100644 index 2a9eea54511..00000000000 --- a/reactos/dll/shellext/devcpux/devcpux.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - user32 - ntdll - powrprof - comctl32 - processor.c - processor.rc - diff --git a/reactos/dll/shellext/fontext/fontext.rbuild b/reactos/dll/shellext/fontext/fontext.rbuild deleted file mode 100644 index 5b2e36498b5..00000000000 --- a/reactos/dll/shellext/fontext/fontext.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - . - ntdll - user32 - gdi32 - ole32 - uuid - shlwapi - lz32 - advapi32 - setupapi - fontext.c - regsvr.c - fontext.rc - fontext.h - diff --git a/reactos/dll/shellext/shellext.rbuild b/reactos/dll/shellext/shellext.rbuild deleted file mode 100644 index 95598f57bfc..00000000000 --- a/reactos/dll/shellext/shellext.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/shellext/slayer/slayer.rbuild b/reactos/dll/shellext/slayer/slayer.rbuild deleted file mode 100644 index 0a5554fe1a9..00000000000 --- a/reactos/dll/shellext/slayer/slayer.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - . - user32 - comctl32 - advapi32 - ole32 - shell32 - uuid - slayer.c - slayer.rc - precomp.h - diff --git a/reactos/dll/win32/acledit/acledit.rbuild b/reactos/dll/win32/acledit/acledit.rbuild deleted file mode 100644 index 741acb91b88..00000000000 --- a/reactos/dll/win32/acledit/acledit.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - . - - - - ntdll - advapi32 - user32 - acledit.c - stubs.c - acledit.rc - acleditint.h - diff --git a/reactos/dll/win32/aclui/aclui.rbuild b/reactos/dll/win32/aclui/aclui.rbuild deleted file mode 100644 index 118317d0c62..00000000000 --- a/reactos/dll/win32/aclui/aclui.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - . - - ntdll - user32 - gdi32 - comctl32 - ole32 - oleaut32 - uxtheme - advapi32 - aclui.c - checklist.c - guid.c - misc.c - sidcache.c - aclui.rc - precomp.h - diff --git a/reactos/dll/win32/activeds/activeds.rbuild b/reactos/dll/win32/activeds/activeds.rbuild deleted file mode 100644 index c878f82048a..00000000000 --- a/reactos/dll/win32/activeds/activeds.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - include/reactos/wine - - wine - activeds_main.c - stubs.c - - diff --git a/reactos/dll/win32/actxprxy/actxprxy.rbuild b/reactos/dll/win32/actxprxy/actxprxy.rbuild deleted file mode 100644 index 1d44240c542..00000000000 --- a/reactos/dll/win32/actxprxy/actxprxy.rbuild +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - . - include/reactos/wine - . - - wine - actxprxy_proxy - ntdll - rpcrt4 - ole32 - oleaut32 - uuid - pseh - usrmarshal.c - - - - - - actxprxy_activscp.idl - actxprxy_comcat.idl - actxprxy_docobj.idl - actxprxy_hlink.idl - actxprxy_htiframe.idl - actxprxy_objsafe.idl - actxprxy_ocmm.idl - actxprxy_servprov.idl - actxprxy_shldisp.idl - actxprxy_shobjidl.idl - actxprxy_urlhist.idl - - diff --git a/reactos/dll/win32/advapi32/advapi32.rbuild b/reactos/dll/win32/advapi32/advapi32.rbuild deleted file mode 100644 index 22e1a69af48..00000000000 --- a/reactos/dll/win32/advapi32/advapi32.rbuild +++ /dev/null @@ -1,63 +0,0 @@ - - - - . - . - . - . - - 0x600 - - - scm_client - lsa_client - eventlog_client - rpcrt4 - wine - pseh - ntdll - advapi32.h - - crypt.c - crypt_arc4.c - crypt_des.c - crypt_lmhash.c - crypt_md4.c - crypt_md5.c - crypt_sha.c - - - dllmain.c - efs.c - hwprofiles.c - logon.c - msi.c - shutdown.c - sysfunc.c - trace.c - - - reg.c - - - ac.c - audit.c - cred.c - lsa.c - misc.c - sec.c - sid.c - trustee.c - - - eventlog.c - rpc.c - scm.c - sctrl.c - - - privilege.c - token.c - - advapi32.rc - diff --git a/reactos/dll/win32/advpack/advpack.rbuild b/reactos/dll/win32/advpack/advpack.rbuild deleted file mode 100644 index b4f3a3fbaed..00000000000 --- a/reactos/dll/win32/advpack/advpack.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - . - include/reactos/wine - - advpack.c - files.c - install.c - reg.c - wine - ole32 - setupapi - version - advapi32 - ntdll - - diff --git a/reactos/dll/win32/atl/atl.rbuild b/reactos/dll/win32/atl/atl.rbuild deleted file mode 100644 index 85ec749ccc4..00000000000 --- a/reactos/dll/win32/atl/atl.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - atl_ax.c - atl_main.c - registrar.c - rsrc.rc - stubs.c - . - wine - uuid - ole32 - oleaut32 - user32 - gdi32 - advapi32 - ntdll - atl_atliface_header - - - atliface.idl - - diff --git a/reactos/dll/win32/authz/authz.rbuild b/reactos/dll/win32/authz/authz.rbuild deleted file mode 100644 index 296fd6d501a..00000000000 --- a/reactos/dll/win32/authz/authz.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - ntdll - advapi32 - authz.c - clictx.c - resman.c - authz.rc - precomp.h - diff --git a/reactos/dll/win32/avicap32/avicap32.rbuild b/reactos/dll/win32/avicap32/avicap32.rbuild deleted file mode 100644 index 2e2a0f3e8cd..00000000000 --- a/reactos/dll/win32/avicap32/avicap32.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - . - advapi32 - msvfw32 - user32 - gdi32 - wine - winmm - version - avicap32.c - avicap32.rc - diff --git a/reactos/dll/win32/avifil32/avifil32.rbuild b/reactos/dll/win32/avifil32/avifil32.rbuild deleted file mode 100644 index da4f495711d..00000000000 --- a/reactos/dll/win32/avifil32/avifil32.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - acmstream.c - api.c - avifile.c - editstream.c - extrachunk.c - factory.c - getframe.c - icmstream.c - regsvr.c - tmpfile.c - wavfile.c - rsrc.rc - wine - uuid - msacm32 - msvfw32 - winmm - ole32 - user32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/batt/batt.rbuild b/reactos/dll/win32/batt/batt.rbuild deleted file mode 100644 index 25710cc2b3e..00000000000 --- a/reactos/dll/win32/batt/batt.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - setupapi - ntdll - batt.c - batt.rc - diff --git a/reactos/dll/win32/bcrypt/bcrypt.rbuild b/reactos/dll/win32/bcrypt/bcrypt.rbuild deleted file mode 100644 index 2a8ee9a8452..00000000000 --- a/reactos/dll/win32/bcrypt/bcrypt.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - wine - bcrypt_main.c - version.rc - diff --git a/reactos/dll/win32/beepmidi/beepmidi.rbuild b/reactos/dll/win32/beepmidi/beepmidi.rbuild deleted file mode 100644 index 3c36708f84c..00000000000 --- a/reactos/dll/win32/beepmidi/beepmidi.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - ntdll - user32 - winmm - beepmidi.c - diff --git a/reactos/dll/win32/browseui/browseui.rbuild b/reactos/dll/win32/browseui/browseui.rbuild deleted file mode 100644 index cafad1fb26e..00000000000 --- a/reactos/dll/win32/browseui/browseui.rbuild +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - . - include/reactos/wine - . - - - - - 0x600 - wine - shlwapi - shell32 - comctl32 - gdi32 - ole32 - oleaut32 - user32 - advapi32 - uuid - ntdll - atlnew - msvcrt - aclmulti.cpp - addressband.cpp - addresseditbox.cpp - bandproxy.cpp - bandsite.cpp - bandsitemenu.cpp - basebar.cpp - basebarsite.cpp - brandband.cpp - browseui.cpp - browseuiord.cpp - commonbrowser.cpp - globalfoldersettings.cpp - internettoolbar.cpp - regtreeoptions.cpp - shellbrowser.cpp - toolsband.cpp - travellog.cpp - utility.cpp - dllinstall.c - browseui.rc - precomp.h - diff --git a/reactos/dll/win32/cabinet/cabinet.rbuild b/reactos/dll/win32/cabinet/cabinet.rbuild deleted file mode 100644 index 5314c1b3c05..00000000000 --- a/reactos/dll/win32/cabinet/cabinet.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - . - include/reactos/wine - include/reactos/libs/zlib - - - cabinet_main.c - fci.c - fdi.c - stubs.c - cabinet.rc - cabinet.h - wine - zlib - ntdll - - diff --git a/reactos/dll/win32/cards/cards.rbuild b/reactos/dll/win32/cards/cards.rbuild deleted file mode 100644 index 0b331b44384..00000000000 --- a/reactos/dll/win32/cards/cards.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - - - - - gdi32 - user32 - cards.c - cards.rc - diff --git a/reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild b/reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild deleted file mode 100644 index fe1ab0930b9..00000000000 --- a/reactos/dll/win32/cfgmgr32/cfgmgr32.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - - cfgmgr32.rc - diff --git a/reactos/dll/win32/clusapi/clusapi.rbuild b/reactos/dll/win32/clusapi/clusapi.rbuild deleted file mode 100644 index 10b31ffd2f5..00000000000 --- a/reactos/dll/win32/clusapi/clusapi.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - . - include/reactos/wine - - wine - ntdll - clusapi.c - diff --git a/reactos/dll/win32/comcat/comcat.rbuild b/reactos/dll/win32/comcat/comcat.rbuild deleted file mode 100644 index 626f49ad48b..00000000000 --- a/reactos/dll/win32/comcat/comcat.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - . - include/reactos/wine - - 0x600 - wine - ole32 - user32 - advapi32 - uuid - ntdll - comcat_main.c - version.rc - diff --git a/reactos/dll/win32/comctl32/comctl32.rbuild b/reactos/dll/win32/comctl32/comctl32.rbuild deleted file mode 100644 index 652832a7f71..00000000000 --- a/reactos/dll/win32/comctl32/comctl32.rbuild +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - . - include/reactos/wine - - - - 0x600 - animate.c - comboex.c - comctl32undoc.c - commctrl.c - datetime.c - dpa.c - draglist.c - dsa.c - flatsb.c - header.c - hotkey.c - imagelist.c - ipaddress.c - listview.c - monthcal.c - nativefont.c - pager.c - progress.c - propsheet.c - rebar.c - smoothscroll.c - status.c - string.c - syslink.c - tab.c - theme_button.c - theme_combo.c - theme_dialog.c - theme_edit.c - theme_listbox.c - theming.c - toolbar.c - tooltips.c - trackbar.c - treeview.c - updown.c - stubs.c - rsrc.rc - comctl32.h - uuid - wine - user32 - gdi32 - advapi32 - winmm - uxtheme - ntdll - pseh - - diff --git a/reactos/dll/win32/comdlg32/comdlg32.rbuild b/reactos/dll/win32/comdlg32/comdlg32.rbuild deleted file mode 100644 index 4b52fb104bd..00000000000 --- a/reactos/dll/win32/comdlg32/comdlg32.rbuild +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - . - include/reactos/wine - - - cdlg32.c - colordlg.c - filedlg.c - filedlg31.c - filedlgbrowser.c - finddlg.c - fontdlg.c - itemdlg.c - printdlg.c - rsrc.rc - wine - uuid - shell32 - shlwapi - comctl32 - winspool - user32 - gdi32 - advapi32 - ole32 - ntdll - - diff --git a/reactos/dll/win32/compstui/compstui.rbuild b/reactos/dll/win32/compstui/compstui.rbuild deleted file mode 100644 index cb8d99af4c9..00000000000 --- a/reactos/dll/win32/compstui/compstui.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - . - include/reactos/wine - - compstui_main.c - wine - ntdll - - diff --git a/reactos/dll/win32/credui/credui.rbuild b/reactos/dll/win32/credui/credui.rbuild deleted file mode 100644 index d5395cdfb78..00000000000 --- a/reactos/dll/win32/credui/credui.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - . - include/reactos/wine - - credui_main.c - credui.rc - wine - advapi32 - user32 - comctl32 - ntdll - - diff --git a/reactos/dll/win32/crtdll/crtdll.rbuild b/reactos/dll/win32/crtdll/crtdll.rbuild deleted file mode 100644 index 1eb41dd99b6..00000000000 --- a/reactos/dll/win32/crtdll/crtdll.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - . - include - - - - - - - - - "extern __attribute__ ((dllexport))" - wine - crt - ntdll - precomp.h - dllmain.c - crtdll.rc - diff --git a/reactos/dll/win32/crypt32/crypt32.rbuild b/reactos/dll/win32/crypt32/crypt32.rbuild deleted file mode 100644 index 7884c27a317..00000000000 --- a/reactos/dll/win32/crypt32/crypt32.rbuild +++ /dev/null @@ -1,45 +0,0 @@ - - - . - include/reactos/wine - - 0x600 - - - _fdopen - _open - _close - - wine - user32 - advapi32 - ntdll - imagehlp - pseh - base64.c - cert.c - chain.c - collectionstore.c - context.c - crl.c - decode.c - encode.c - filestore.c - main.c - msg.c - object.c - oid.c - proplist.c - protectdata.c - provstore.c - regstore.c - rootstore.c - serialize.c - sip.c - store.c - str.c - ctl.c - message.c - crypt32.rc - version.rc - diff --git a/reactos/dll/win32/cryptdlg/cryptdlg.rbuild b/reactos/dll/win32/cryptdlg/cryptdlg.rbuild deleted file mode 100644 index 84bc688ee0f..00000000000 --- a/reactos/dll/win32/cryptdlg/cryptdlg.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - . - include/reactos/wine - - wine - advapi32 - user32 - crypt32 - cryptui - wintrust - ntdll - main.c - cryptdlg.rc - diff --git a/reactos/dll/win32/cryptdll/cryptdll.rbuild b/reactos/dll/win32/cryptdll/cryptdll.rbuild deleted file mode 100644 index 125d364b750..00000000000 --- a/reactos/dll/win32/cryptdll/cryptdll.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - include/reactos/wine - - wine - advapi32 - ntdll - cryptdll.c - stubs.c - diff --git a/reactos/dll/win32/cryptnet/cryptnet.rbuild b/reactos/dll/win32/cryptnet/cryptnet.rbuild deleted file mode 100644 index ff9d875f356..00000000000 --- a/reactos/dll/win32/cryptnet/cryptnet.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - . - include/reactos/wine - - wine - crypt32 - wininet - ntdll - cryptnet_main.c - - diff --git a/reactos/dll/win32/cryptui/cryptui.rbuild b/reactos/dll/win32/cryptui/cryptui.rbuild deleted file mode 100644 index 3f3832e8969..00000000000 --- a/reactos/dll/win32/cryptui/cryptui.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - . - include/reactos/wine - - - main.c - cryptui.rc - wine - user32 - ole32 - crypt32 - gdi32 - advapi32 - uuid - urlmon - wintrust - comctl32 - comdlg32 - ntdll - - diff --git a/reactos/dll/win32/dbghelp/dbghelp.rbuild b/reactos/dll/win32/dbghelp/dbghelp.rbuild deleted file mode 100644 index af9740cff36..00000000000 --- a/reactos/dll/win32/dbghelp/dbghelp.rbuild +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - . - include/reactos/wine - - - - - - 0 - 1 - 2 - 3 - - _lseek - _read - coff.c - cpu_i386.c - cpu_ppc.c - cpu_x86_64.c - crc32.c - dbghelp.c - dwarf.c - elf_module.c - image.c - macho_module.c - minidump.c - module.c - msc.c - path.c - pe_module.c - regex.c - rosstubs.c - source.c - stabs.c - stack.c - storage.c - symbol.c - type.c - version.rc - dbghelp_private.h - wine - psapi - version - ntdll - pseh - - diff --git a/reactos/dll/win32/dciman32/dciman32.rbuild b/reactos/dll/win32/dciman32/dciman32.rbuild deleted file mode 100644 index c659d8efff2..00000000000 --- a/reactos/dll/win32/dciman32/dciman32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - . - include/reactos/wine - - dciman_main.c - wine - ntdll - - diff --git a/reactos/dll/win32/devmgr/devmgr.rbuild b/reactos/dll/win32/devmgr/devmgr.rbuild deleted file mode 100644 index fafa15fb898..00000000000 --- a/reactos/dll/win32/devmgr/devmgr.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - . - - ntdll - setupapi - advapi32 - user32 - version - devmgr.rc - advprop.c - devprblm.c - hwpage.c - misc.c - stubs.c - precomp.h - diff --git a/reactos/dll/win32/dhcpcsvc/dhcpcsvc.rbuild b/reactos/dll/win32/dhcpcsvc/dhcpcsvc.rbuild deleted file mode 100644 index 7afd68b4775..00000000000 --- a/reactos/dll/win32/dhcpcsvc/dhcpcsvc.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - include - ntdll - msvcrt - ws2_32 - iphlpapi - advapi32 - oldnames - - - _tzset - - - adapter.c - alloc.c - api.c - compat.c - dhclient.c - dispatch.c - hash.c - options.c - pipe.c - socket.c - tables.c - util.c - - - rosdhcp.h - - dhcpcsvc.c - dhcpcsvc.rc - diff --git a/reactos/dll/win32/dnsapi/dnsapi.rbuild b/reactos/dll/win32/dnsapi/dnsapi.rbuild deleted file mode 100644 index bda940fc642..00000000000 --- a/reactos/dll/win32/dnsapi/dnsapi.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - include - src - adns_win32 - - adns - ntdll - user32 - ws2_32 - iphlpapi - - adns.c - context.c - memory.c - names.c - query.c - record.c - stubs.c - precomp.h - - dnsapi.rc - diff --git a/reactos/dll/win32/dwmapi/dwmapi.rbuild b/reactos/dll/win32/dwmapi/dwmapi.rbuild deleted file mode 100644 index a36f697169f..00000000000 --- a/reactos/dll/win32/dwmapi/dwmapi.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - . - include/reactos/wine - - dwmapi_main.c - version.rc - wine - ntdll - - diff --git a/reactos/dll/win32/faultrep/faultrep.rbuild b/reactos/dll/win32/faultrep/faultrep.rbuild deleted file mode 100644 index 0c886fc2038..00000000000 --- a/reactos/dll/win32/faultrep/faultrep.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - wine - advapi32 - faultrep.c - diff --git a/reactos/dll/win32/fmifs/fmifs.rbuild b/reactos/dll/win32/fmifs/fmifs.rbuild deleted file mode 100644 index 1743da71d21..00000000000 --- a/reactos/dll/win32/fmifs/fmifs.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - . - ntdll - chkdsk.c - compress.c - diskcopy.c - extend.c - format.c - init.c - media.c - query.c - fmifs.rc - precomp.h - diff --git a/reactos/dll/win32/fusion/fusion.rbuild b/reactos/dll/win32/fusion/fusion.rbuild deleted file mode 100644 index 2febba476be..00000000000 --- a/reactos/dll/win32/fusion/fusion.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - . - include/reactos/wine - - wine - version - shlwapi - advapi32 - dbghelp - user32 - asmcache.c - asmenum.c - asmname.c - assembly.c - fusion.c - fusion_main.c - version.rc - diff --git a/reactos/dll/win32/gdi32/gdi32.rbuild b/reactos/dll/win32/gdi32/gdi32.rbuild deleted file mode 100644 index 002f3a4b5af..00000000000 --- a/reactos/dll/win32/gdi32/gdi32.rbuild +++ /dev/null @@ -1,53 +0,0 @@ - - - include - - user32 - advapi32 - win32ksys - pseh - dxguid - ntdll - - precomp.h - - - dllmain.c - - - heap.c - gdientry.c - hacks.c - historic.c - misc.c - stubs.c - stubsa.c - stubsw.c - wingl.c - - - arc.c - bitmap.c - brush.c - coord.c - dc.c - - efloat.c - - eng.c - enhmfile.c - font.c - icm.c - linedda.c - metafile.c - painting.c - printdrv.c - palette.c - pen.c - region.c - text.c - utils.c - path.c - - gdi32.rc - diff --git a/reactos/dll/win32/gdiplus/gdiplus.rbuild b/reactos/dll/win32/gdiplus/gdiplus.rbuild deleted file mode 100644 index eb28fd84e9f..00000000000 --- a/reactos/dll/win32/gdiplus/gdiplus.rbuild +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - . - include/reactos/wine - - - brush.c - customlinecap.c - font.c - gdiplus.c - graphics.c - graphicspath.c - image.c - imageattributes.c - matrix.c - pathiterator.c - pen.c - region.c - stringformat.c - wine - uuid - shlwapi - oleaut32 - ole32 - user32 - gdi32 - windowscodecs - ntdll - - crt - - - diff --git a/reactos/dll/win32/getuname/getuname.rbuild b/reactos/dll/win32/getuname/getuname.rbuild deleted file mode 100644 index 164140cf35d..00000000000 --- a/reactos/dll/win32/getuname/getuname.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - . - ntdll - getuname.c - getuname.rc - diff --git a/reactos/dll/win32/glu32/glu32.rbuild b/reactos/dll/win32/glu32/glu32.rbuild deleted file mode 100644 index 9c21f3ac36a..00000000000 --- a/reactos/dll/win32/glu32/glu32.rbuild +++ /dev/null @@ -1,116 +0,0 @@ - - - include - libnurbs/internals - libnurbs/interface - libnurbs/nurbtess - libtess - libutil - - - - ntdll - opengl32 - gdi32 - - - bezierEval.cc - bezierPatch.cc - bezierPatchMesh.cc - glcurveval.cc - glinterface.cc - glrenderer.cc - glsurfeval.cc - incurveeval.cc - insurfeval.cc - - - arc.cc - arcsorter.cc - arctess.cc - backend.cc - basiccrveval.cc - basicsurfeval.cc - bin.cc - bufpool.cc - cachingeval.cc - ccw.cc - coveandtiler.cc - curve.cc - curvelist.cc - curvesub.cc - dataTransform.cc - displaylist.cc - flist.cc - flistsorter.cc - hull.cc - intersect.cc - knotvector.cc - mapdesc.cc - mapdescv.cc - maplist.cc - mesher.cc - monoTriangulationBackend.cc - monotonizer.cc - mycode.cc - nurbsinterfac.cc - nurbstess.cc - patch.cc - patchlist.cc - quilt.cc - reader.cc - renderhints.cc - slicer.cc - sorter.cc - splitarcs.cc - subdivider.cc - tobezier.cc - trimline.cc - trimregion.cc - trimvertpool.cc - uarray.cc - varray.cc - - - directedLine.cc - gridWrap.cc - monoChain.cc - monoPolyPart.cc - monoTriangulation.cc - partitionX.cc - partitionY.cc - polyDBG.cc - polyUtil.cc - primitiveStream.cc - quicksort.cc - rectBlock.cc - sampleComp.cc - sampleCompBot.cc - sampleCompRight.cc - sampleCompTop.cc - sampleMonoPoly.cc - sampledLine.cc - searchTree.cc - - - - dict.c - geom.c - memalloc.c - mesh.c - normal.c - priorityq.c - render.c - sweep.c - tess.c - tessmono.c - - - error.c - glue.c - mipmap.c - project.c - quad.c - registry.c - - diff --git a/reactos/dll/win32/hhctrl.ocx/hhctrl.ocx.rbuild b/reactos/dll/win32/hhctrl.ocx/hhctrl.ocx.rbuild deleted file mode 100644 index 0f991efc284..00000000000 --- a/reactos/dll/win32/hhctrl.ocx/hhctrl.ocx.rbuild +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - . - include/reactos/wine - include/reactos - - 0x600 - wineheaders - chm.c - content.c - help.c - hhctrl.c - index.c - regsvr.c - search.c - stream.c - webbrowser.c - hhctrl.rc - hhctrl.h - wine - advapi32 - comctl32 - shlwapi - ole32 - oleaut32 - user32 - gdi32 - uuid - ntdll - - diff --git a/reactos/dll/win32/hid/hid.rbuild b/reactos/dll/win32/hid/hid.rbuild deleted file mode 100644 index 8770a694379..00000000000 --- a/reactos/dll/win32/hid/hid.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - ntdll - hid.c - stubs.c - hid.rc - precomp.h - diff --git a/reactos/dll/win32/hlink/hlink.rbuild b/reactos/dll/win32/hlink/hlink.rbuild deleted file mode 100644 index c0f041fd751..00000000000 --- a/reactos/dll/win32/hlink/hlink.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - . - include/reactos/wine - - browse_ctx.c - extserv.c - hlink_main.c - link.c - hlink.rc - hlink_private.h - wine - shell32 - ole32 - advapi32 - urlmon - uuid - ntdll - - diff --git a/reactos/dll/win32/hnetcfg/hnetcfg.rbuild b/reactos/dll/win32/hnetcfg/hnetcfg.rbuild deleted file mode 100644 index 3277be816f9..00000000000 --- a/reactos/dll/win32/hnetcfg/hnetcfg.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - . - include/reactos/wine - 0x600 - - wine - ole32 - advapi32 - apps.c - hnetcfg.c - manager.c - policy.c - port.c - profile.c - service.c - hnetcfg.rc - diff --git a/reactos/dll/win32/httpapi/httpapi.rbuild b/reactos/dll/win32/httpapi/httpapi.rbuild deleted file mode 100644 index 28d83587a57..00000000000 --- a/reactos/dll/win32/httpapi/httpapi.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - httpapi_main.c - wine - ntdll - diff --git a/reactos/dll/win32/iccvid/iccvid.rbuild b/reactos/dll/win32/iccvid/iccvid.rbuild deleted file mode 100644 index f27d0b02b59..00000000000 --- a/reactos/dll/win32/iccvid/iccvid.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - include/reactos/wine - - iccvid.c - rsrc.rc - wine - user32 - ntdll - diff --git a/reactos/dll/win32/icmp/icmp.rbuild b/reactos/dll/win32/icmp/icmp.rbuild deleted file mode 100644 index 27ac979d7b7..00000000000 --- a/reactos/dll/win32/icmp/icmp.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/wine - wine - ws2_32 - wine - icmp_main.c - icmp.rc - diff --git a/reactos/dll/win32/imaadp32.acm/imaadp32.acm.rbuild b/reactos/dll/win32/imaadp32.acm/imaadp32.acm.rbuild deleted file mode 100644 index 073f714f979..00000000000 --- a/reactos/dll/win32/imaadp32.acm/imaadp32.acm.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - imaadp32.c - wine - winmm - user32 - ntdll - diff --git a/reactos/dll/win32/imagehlp/imagehlp.rbuild b/reactos/dll/win32/imagehlp/imagehlp.rbuild deleted file mode 100644 index c6d86925e60..00000000000 --- a/reactos/dll/win32/imagehlp/imagehlp.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - . - - wine - dbghelp - ntdll - access.c - imagehlp_main.c - integrity.c - modify.c - imagehlp.rc - precomp.h - diff --git a/reactos/dll/win32/imm32/imm32.rbuild b/reactos/dll/win32/imm32/imm32.rbuild deleted file mode 100644 index d91d1e8245e..00000000000 --- a/reactos/dll/win32/imm32/imm32.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - . - include/reactos/wine - - 0x600 - /FIwine/typeof.h - imm.c - version.rc - wine - user32 - gdi32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/inetcomm/inetcomm.rbuild b/reactos/dll/win32/inetcomm/inetcomm.rbuild deleted file mode 100644 index e7fefbca667..00000000000 --- a/reactos/dll/win32/inetcomm/inetcomm.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - imaptransport.c - inetcomm_main.c - internettransport.c - mimeintl.c - mimeole.c - pop3transport.c - smtptransport.c - inetcomm.rc - wine - uuid - ole32 - oleaut32 - ws2_32 - user32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/inetmib1/inetmib1.rbuild b/reactos/dll/win32/inetmib1/inetmib1.rbuild deleted file mode 100644 index 27079b19c05..00000000000 --- a/reactos/dll/win32/inetmib1/inetmib1.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - . - include/reactos/wine - - main.c - wine - snmpapi - iphlpapi - ntdll - - diff --git a/reactos/dll/win32/initpki/initpki.rbuild b/reactos/dll/win32/initpki/initpki.rbuild deleted file mode 100644 index 8e23c67bb3b..00000000000 --- a/reactos/dll/win32/initpki/initpki.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - include/reactos/wine - - main.c - wine - ntdll - diff --git a/reactos/dll/win32/inseng/inseng.rbuild b/reactos/dll/win32/inseng/inseng.rbuild deleted file mode 100644 index ee667c189da..00000000000 --- a/reactos/dll/win32/inseng/inseng.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - . - include/reactos/wine - - 0x600 - inseng_main.c - inseng.rc - wine - uuid - ole32 - advapi32 - ntdll - diff --git a/reactos/dll/win32/iologmsg/iologmsg.rbuild b/reactos/dll/win32/iologmsg/iologmsg.rbuild deleted file mode 100644 index 3ecd68dc2a3..00000000000 --- a/reactos/dll/win32/iologmsg/iologmsg.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - . - . - ntiologc - iologmsg.rc - diff --git a/reactos/dll/win32/iphlpapi/iphlpapi.rbuild b/reactos/dll/win32/iphlpapi/iphlpapi.rbuild deleted file mode 100644 index ac85f54437c..00000000000 --- a/reactos/dll/win32/iphlpapi/iphlpapi.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - . - include/reactos/wine - include - . - wine - ntdll - advapi32 - ws2_32 - dhcpcsvc - tdilib - dhcp_reactos.c - ifenum_reactos.c - ipstats_reactos.c - iphlpapi_main.c - media.c - registry.c - resinfo_reactos.c - route_reactos.c - iphlpapi.rc - iphlpapi_private.h - diff --git a/reactos/dll/win32/itircl/itircl.rbuild b/reactos/dll/win32/itircl/itircl.rbuild deleted file mode 100644 index 7bd57ad575e..00000000000 --- a/reactos/dll/win32/itircl/itircl.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - include/reactos/wine - - itircl_main.c - wine - ntdll - diff --git a/reactos/dll/win32/itss/itss.rbuild b/reactos/dll/win32/itss/itss.rbuild deleted file mode 100644 index 75b59b4a55e..00000000000 --- a/reactos/dll/win32/itss/itss.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - . - include/reactos/wine - - wineheaders - chm_lib.c - lzx.c - itss.c - moniker.c - protocol.c - storage.c - rsrc.rc - wine - uuid - urlmon - shlwapi - ole32 - ntdll - - diff --git a/reactos/dll/win32/jscript/jscript.rbuild b/reactos/dll/win32/jscript/jscript.rbuild deleted file mode 100644 index d4c1b5faeab..00000000000 --- a/reactos/dll/win32/jscript/jscript.rbuild +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - . - . - include/reactos/wine - - - - jsglobal - wine - user32 - ole32 - oleaut32 - advapi32 - activex.c - date.c - dispex.c - engine.c - error.c - jscript.c - jscript_main.c - jsutils.c - lex.c - parser.tab.c - math.c - number.c - object.c - regexp.c - string.c - array.c - bool.c - function.c - global.c - rsrc.rc - jscript.h - - - stdole2 - jsglobal.idl - - diff --git a/reactos/dll/win32/kernel32/kernel32.pspec b/reactos/dll/win32/kernel32/kernel32.pspec deleted file mode 100644 index c380ad330a1..00000000000 --- a/reactos/dll/win32/kernel32/kernel32.pspec +++ /dev/null @@ -1,989 +0,0 @@ -#undef i386 -@ stdcall ActivateActCtx(ptr ptr) -@ stdcall AddAtomA(str) -@ stdcall AddAtomW(wstr) -@ stdcall AddConsoleAliasA(str str str) ;check -@ stdcall AddConsoleAliasW(wstr wstr wstr) ;check -@ stdcall AddLocalAlternateComputerNameA(str ptr) -@ stdcall AddLocalAlternateComputerNameW(wstr ptr) -@ stdcall AddRefActCtx(ptr) -@ stdcall AddVectoredContinueHandler(long ptr) ntdll.RtlAddVectoredContinueHandler -@ stdcall AddVectoredExceptionHandler(long ptr) ntdll.RtlAddVectoredExceptionHandler -@ stdcall AllocConsole() -@ stdcall AllocateUserPhysicalPages(long ptr ptr) -@ stdcall AreFileApisANSI() -@ stdcall AssignProcessToJobObject(ptr ptr) -@ stdcall AttachConsole(long) -@ stdcall BackupRead(ptr ptr long ptr long long ptr) -@ stdcall BackupSeek(ptr long long ptr ptr ptr) -@ stdcall BackupWrite(ptr ptr long ptr long long ptr) -@ stdcall BaseCheckAppcompatCache(long long long ptr) -@ stdcall BaseCheckRunApp(long ptr long long long long long long long long) -@ stdcall BaseCleanupAppcompatCacheSupport(ptr) -@ stdcall BaseDumpAppcompatCache() -@ stdcall BaseFlushAppcompatCache() -@ stdcall BaseInitAppcompatCacheSupport() -@ stdcall BaseIsAppcompatInfrastructureDisabled() IsShimInfrastructureDisabled -@ stdcall BaseProcessInitPostImport() ; missing in Win 7 -@ stdcall BaseQueryModuleData(str str ptr ptr ptr) ;check -@ stdcall BaseUpdateAppcompatCache(long long long) -@ stdcall BasepCheckBadapp(long ptr long long long long long long long) -@ stdcall BasepCheckWinSaferRestrictions(long long long long long long) -@ stdcall BasepFreeAppCompatData(ptr ptr) -@ stdcall Beep(long long) -@ stdcall BeginUpdateResourceA(str long) -@ stdcall BeginUpdateResourceW(wstr long) -@ stdcall BindIoCompletionCallback(long ptr long) -@ stdcall BuildCommDCBA(str ptr) -@ stdcall BuildCommDCBAndTimeoutsA(str ptr ptr) -@ stdcall BuildCommDCBAndTimeoutsW(wstr ptr ptr) -@ stdcall BuildCommDCBW(wstr ptr) -@ stdcall CallNamedPipeA(str ptr long ptr long ptr long) -@ stdcall CallNamedPipeW(wstr ptr long ptr long ptr long) -@ stdcall CancelDeviceWakeupRequest(long) -@ stdcall CancelIo(long) -@ stdcall CancelTimerQueueTimer(long long) -@ stdcall CancelWaitableTimer(long) -@ stdcall ChangeTimerQueueTimer(ptr ptr long long) -@ stdcall CheckNameLegalDOS8Dot3A(str str long long long) -@ stdcall CheckNameLegalDOS8Dot3W(wstr str long long long) -@ stdcall CheckRemoteDebuggerPresent(long ptr) -@ stdcall ClearCommBreak(long) -@ stdcall ClearCommError(long ptr ptr) -@ stdcall CloseConsoleHandle(long) -@ stdcall CloseHandle(long) -@ stdcall CloseProfileUserMapping() -@ stdcall CmdBatNotification(long) -@ stdcall CommConfigDialogA(str long ptr) -@ stdcall CommConfigDialogW(wstr long ptr) -@ stdcall CompareFileTime(ptr ptr) -@ stdcall CompareStringA(long long str long str long) -@ stdcall CompareStringW(long long wstr long wstr long) -@ stdcall ConnectNamedPipe(long ptr) -@ stdcall ConsoleMenuControl(long long long) -@ stdcall ContinueDebugEvent(long long long) -@ stdcall ConvertDefaultLocale (long) -@ stdcall ConvertFiberToThread() -@ stdcall ConvertThreadToFiber(ptr) -@ stdcall ConvertThreadToFiberEx(ptr long) -@ stdcall CopyFileA(str str long) -@ stdcall CopyFileExA (str str ptr ptr ptr long) -@ stdcall CopyFileExW (wstr wstr ptr ptr ptr long) -@ stdcall CopyFileW(wstr wstr long) -@ stdcall CopyLZFile(long long) LZCopy -@ stdcall CreateActCtxA(ptr) -@ stdcall CreateActCtxW(ptr) -@ stdcall CreateConsoleScreenBuffer(long long ptr long ptr) -@ stdcall CreateDirectoryA(str ptr) -@ stdcall CreateDirectoryExA(str str ptr) -@ stdcall CreateDirectoryExW(wstr wstr ptr) -@ stdcall CreateDirectoryW(wstr ptr) -@ stdcall CreateEventA(ptr long long str) -@ stdcall CreateEventW(ptr long long wstr) -@ stdcall CreateFiber(long ptr ptr) -@ stdcall CreateFiberEx(long long long ptr ptr) -@ stdcall CreateFileA(str long long ptr long long long) -@ stdcall CreateFileMappingA(long ptr long long long str) -@ stdcall CreateFileMappingW(long ptr long long long wstr) -@ stdcall CreateFileW(wstr long long ptr long long long) -@ stdcall CreateHardLinkA(str str ptr) -@ stdcall CreateHardLinkW(wstr wstr ptr) -@ stdcall CreateIoCompletionPort(long long long long) -@ stdcall CreateJobObjectA(ptr str) -@ stdcall CreateJobObjectW(ptr wstr) -@ stdcall CreateJobSet(long ptr long) -@ stdcall CreateMailslotA(ptr long long ptr) -@ stdcall CreateMailslotW(ptr long long ptr) -@ stdcall CreateMemoryResourceNotification(long) -@ stdcall CreateMutexA(ptr long str) -@ stdcall CreateMutexW(ptr long wstr) -@ stdcall CreateNamedPipeA(str long long long long long long ptr) -@ stdcall CreateNamedPipeW(wstr long long long long long long ptr) -@ stdcall CreateNlsSecurityDescriptor(ptr long long) ; missing in Win 7 -@ stdcall CreatePipe(ptr ptr ptr long) -@ stdcall CreateProcessA(str str ptr ptr long long ptr str ptr ptr) -@ stdcall CreateProcessInternalA(ptr str str ptr ptr long long ptr str ptr ptr long) -@ stdcall CreateProcessInternalW(ptr wstr wstr ptr ptr long long ptr wstr ptr ptr long) -@ stdcall CreateProcessW(wstr wstr ptr ptr long long ptr wstr ptr ptr) -@ stdcall CreateRemoteThread(long ptr long ptr long long ptr) -@ stdcall CreateSemaphoreA(ptr long long str) -@ stdcall CreateSemaphoreW(ptr long long wstr) -@ stdcall CreateSocketHandle() -@ stdcall CreateTapePartition(long long long long) -@ stdcall CreateThread(ptr long ptr long long ptr) -@ stdcall CreateTimerQueue () -@ stdcall CreateTimerQueueTimer(ptr long ptr ptr long long long) -@ stdcall CreateToolhelp32Snapshot(long long) -@ stdcall CreateWaitableTimerA(ptr long str) -@ stdcall CreateWaitableTimerW(ptr long wstr) -@ stdcall DeactivateActCtx(long ptr) -@ stdcall DebugActiveProcess(long) -@ stdcall DebugActiveProcessStop(long) -@ stdcall DebugBreak() ntdll.DbgBreakPoint -@ stdcall DebugBreakProcess(long) -@ stdcall DebugSetProcessKillOnExit(long) -@ stdcall DecodePointer(ptr) ntdll.RtlDecodePointer -@ stdcall DecodeSystemPointer(ptr) ntdll.RtlDecodeSystemPointer -@ stdcall DefineDosDeviceA(long str str) -@ stdcall DefineDosDeviceW(long wstr wstr) -@ stdcall DelayLoadFailureHook(str str) -@ stdcall DeleteAtom(long) -@ stdcall DeleteCriticalSection(ptr) ntdll.RtlDeleteCriticalSection -@ stdcall DeleteFiber(ptr) -@ stdcall DeleteFileA(str) -@ stdcall DeleteFileW(wstr) -@ stdcall DeleteTimerQueue(long) -@ stdcall DeleteTimerQueueEx (long long) -@ stdcall DeleteTimerQueueTimer(long long long) -@ stdcall DeleteVolumeMountPointA(str) ;check -@ stdcall DeleteVolumeMountPointW(wstr) ;check -@ stdcall DeviceIoControl(long long ptr long ptr long ptr ptr) -@ stdcall DisableThreadLibraryCalls(long) -@ stdcall DisconnectNamedPipe(long) -@ stdcall DnsHostnameToComputerNameA (str ptr ptr) -@ stdcall DnsHostnameToComputerNameW (wstr ptr ptr) -@ stdcall DosDateTimeToFileTime(long long ptr) -@ stdcall DosPathToSessionPathA(long str str) -@ stdcall DosPathToSessionPathW(long wstr wstr) -@ stdcall DuplicateConsoleHandle(long long long long) -@ stdcall DuplicateHandle(long long long ptr long long long) -@ stdcall EncodePointer(ptr) ntdll.RtlEncodePointer -@ stdcall EncodeSystemPointer(ptr) ntdll.RtlEncodeSystemPointer -@ stdcall EndUpdateResourceA(long long) -@ stdcall EndUpdateResourceW(long long) -@ stdcall EnterCriticalSection(ptr) ntdll.RtlEnterCriticalSection -@ stdcall EnumCalendarInfoA(ptr long long long) -@ stdcall EnumCalendarInfoExA(ptr long long long) -@ stdcall EnumCalendarInfoExW(ptr long long long) -@ stdcall EnumCalendarInfoW(ptr long long long) -@ stdcall EnumDateFormatsA(ptr long long) -@ stdcall EnumDateFormatsExA(ptr long long) -@ stdcall EnumDateFormatsExW(ptr long long) -@ stdcall EnumDateFormatsW(ptr long long) -@ stdcall EnumLanguageGroupLocalesA(ptr long long ptr) -@ stdcall EnumLanguageGroupLocalesW(ptr long long ptr) -@ stdcall EnumResourceLanguagesA(long str str ptr long) -@ stdcall EnumResourceLanguagesW(long wstr wstr ptr long) -@ stdcall EnumResourceNamesA(long str ptr long) -@ stdcall EnumResourceNamesW(long wstr ptr long) -@ stdcall EnumResourceTypesA(long ptr long) -@ stdcall EnumResourceTypesW(long ptr long) -@ stdcall EnumSystemCodePagesA(ptr long) -@ stdcall EnumSystemCodePagesW(ptr long) -@ stdcall EnumSystemFirmwareTables(long ptr long) -@ stdcall EnumSystemGeoID(long long ptr) -@ stdcall EnumSystemLanguageGroupsA(ptr long ptr) -@ stdcall EnumSystemLanguageGroupsW(ptr long ptr) -@ stdcall EnumSystemLocalesA(ptr long) -@ stdcall EnumSystemLocalesW(ptr long) -@ stdcall EnumTimeFormatsA(ptr long long) -@ stdcall EnumTimeFormatsW(ptr long long) -@ stdcall EnumUILanguagesA(ptr long long) -@ stdcall EnumUILanguagesW(ptr long long) -@ stdcall EnumerateLocalComputerNamesA(ptr long str ptr) -@ stdcall EnumerateLocalComputerNamesW(ptr long wstr ptr) -@ stdcall EraseTape(ptr long long) -@ stdcall EscapeCommFunction(long long) -@ stdcall ExitProcess(long) ; FIXME: ntdll.RtlExitUserProcess -@ stdcall ExitThread(long) ; FIXME: ntdll.RtlExitUserThread -@ stdcall ExitVDM(long long) -@ stdcall ExpandEnvironmentStringsA(str ptr long) -@ stdcall ExpandEnvironmentStringsW(wstr ptr long) -@ stdcall ExpungeConsoleCommandHistoryA(long) -@ stdcall ExpungeConsoleCommandHistoryW(long) -@ stdcall FatalAppExitA(long str) -@ stdcall FatalAppExitW(long wstr) -@ stdcall FatalExit(long) -@ stdcall FileTimeToDosDateTime(ptr ptr ptr) -@ stdcall FileTimeToLocalFileTime(ptr ptr) -@ stdcall FileTimeToSystemTime(ptr ptr) -@ stdcall FillConsoleOutputAttribute(long long long long ptr) -@ stdcall FillConsoleOutputCharacterA(long long long long ptr) -@ stdcall FillConsoleOutputCharacterW(long long long long ptr) -@ stdcall FindActCtxSectionGuid(long ptr long ptr ptr) -@ stdcall FindActCtxSectionStringA(long ptr long str ptr) -@ stdcall FindActCtxSectionStringW(long ptr long wstr ptr) -@ stdcall FindAtomA(str) -@ stdcall FindAtomW(wstr) -@ stdcall FindClose(long) -@ stdcall FindCloseChangeNotification(long) -@ stdcall FindFirstChangeNotificationA(str long long) -@ stdcall FindFirstChangeNotificationW(wstr long long) -@ stdcall FindFirstFileA(str ptr) -@ stdcall FindFirstFileExA(str long ptr long ptr long) -@ stdcall FindFirstFileExW(wstr long ptr long ptr long) -@ stdcall FindFirstFileW(wstr ptr) -@ stdcall FindFirstStreamW(wstr ptr ptr long) -@ stdcall FindFirstVolumeA(ptr long) -@ stdcall FindFirstVolumeMountPointA(str ptr long) -@ stdcall FindFirstVolumeMountPointW(wstr ptr long) -@ stdcall FindFirstVolumeW(ptr long) -@ stdcall FindNextChangeNotification(long) -@ stdcall FindNextFileA(long ptr) -@ stdcall FindNextFileW(long ptr) -@ stdcall FindNextStreamW(ptr ptr) -@ stdcall FindNextVolumeA(long ptr long) -@ stdcall FindNextVolumeMountPointA(long str long) -@ stdcall FindNextVolumeMountPointW(long wstr long) -@ stdcall FindNextVolumeW(long ptr long) -@ stdcall FindResourceA(long str str) -@ stdcall FindResourceExA(long str str long) -@ stdcall FindResourceExW(long wstr wstr long) -@ stdcall FindResourceW(long wstr wstr) -@ stdcall FindVolumeClose(ptr) -@ stdcall FindVolumeMountPointClose(ptr) -;@ stdcall FlsAlloc(ptr) -;@ stdcall FlsFree(long) -;@ stdcall FlsGetValue(long) -;@ stdcall FlsSetValue(long ptr) -@ stdcall FlushConsoleInputBuffer(long) -@ stdcall FlushFileBuffers(long) -@ stdcall FlushInstructionCache(long long long) -@ stdcall FlushViewOfFile(ptr long) -@ stdcall FoldStringA(long str long ptr long) -@ stdcall FoldStringW(long wstr long ptr long) -@ stdcall FormatMessageA(long ptr long long ptr long ptr) -@ stdcall FormatMessageW(long ptr long long ptr long ptr) -@ stdcall FreeConsole() -@ stdcall FreeEnvironmentStringsA(ptr) -@ stdcall FreeEnvironmentStringsW(ptr) -@ stdcall FreeLibrary(long) -@ stdcall FreeLibraryAndExitThread(long long) -@ stdcall FreeResource(long) -@ stdcall FreeUserPhysicalPages(long long long) -@ stdcall GenerateConsoleCtrlEvent(long long) -@ stdcall GetACP() -@ stdcall GetAtomNameA(long ptr long) -@ stdcall GetAtomNameW(long ptr long) -@ stdcall GetBinaryType(str ptr) GetBinaryTypeA -@ stdcall GetBinaryTypeA(str ptr) -@ stdcall GetBinaryTypeW(wstr ptr) -@ stdcall GetCPFileNameFromRegistry(long wstr long) ;check missing in Win 7 -@ stdcall GetCPInfo(long ptr) -@ stdcall GetCPInfoExA(long long ptr) -@ stdcall GetCPInfoExW(long long ptr) -@ stdcall GetCalendarInfoA(long long long ptr long ptr) -@ stdcall GetCalendarInfoW(long long long ptr long ptr) -@ stdcall GetComPlusPackageInstallStatus() -@ stdcall GetCommConfig(long ptr long) -@ stdcall GetCommMask(long ptr) -@ stdcall GetCommModemStatus(long ptr) -@ stdcall GetCommProperties(long ptr) -@ stdcall GetCommState(long ptr) -@ stdcall GetCommTimeouts(long ptr) -@ stdcall GetCommandLineA() -@ stdcall GetCommandLineW() -@ stdcall GetCompressedFileSizeA(long ptr) -@ stdcall GetCompressedFileSizeW(long ptr) -@ stdcall GetComputerNameA(ptr ptr) -@ stdcall GetComputerNameExA(long ptr ptr) -@ stdcall GetComputerNameExW(long ptr ptr) -@ stdcall GetComputerNameW(ptr ptr) -@ stdcall GetConsoleAliasA(str str long str) -@ stdcall GetConsoleAliasExesA(str long) -@ stdcall GetConsoleAliasExesLengthA() -@ stdcall GetConsoleAliasExesLengthW() -@ stdcall GetConsoleAliasExesW(wstr long) -@ stdcall GetConsoleAliasW(wstr ptr long wstr) -@ stdcall GetConsoleAliasesA(str long str) -@ stdcall GetConsoleAliasesLengthA(str) -@ stdcall GetConsoleAliasesLengthW(wstr) -@ stdcall GetConsoleAliasesW(wstr long wstr) -@ stdcall GetConsoleCP() -@ stdcall GetConsoleCharType(long long ptr) -@ stdcall GetConsoleCommandHistoryA(long long long) -@ stdcall GetConsoleCommandHistoryLengthA(long) -@ stdcall GetConsoleCommandHistoryLengthW(long) -@ stdcall GetConsoleCommandHistoryW(long long long) -@ stdcall GetConsoleCursorInfo(long ptr) -@ stdcall GetConsoleCursorMode(long ptr ptr) -@ stdcall GetConsoleDisplayMode(ptr) -@ stdcall GetConsoleFontInfo(long long long ptr) -@ stdcall GetConsoleFontSize(long long) -@ stdcall GetConsoleHardwareState(long long ptr) -@ stdcall GetConsoleInputExeNameA(long ptr) -@ stdcall GetConsoleInputExeNameW(long ptr) -@ stdcall GetConsoleInputWaitHandle() -@ stdcall GetConsoleKeyboardLayoutNameA(ptr) -@ stdcall GetConsoleKeyboardLayoutNameW(ptr) -@ stdcall GetConsoleMode(long ptr) -@ stdcall GetConsoleNlsMode(long ptr) -@ stdcall GetConsoleOutputCP() -@ stdcall GetConsoleProcessList(ptr long) ; missing in XP SP3 -@ stdcall GetConsoleScreenBufferInfo(long ptr) -@ stdcall GetConsoleSelectionInfo(ptr) -@ stdcall GetConsoleTitleA(ptr long) -@ stdcall GetConsoleTitleW(ptr long) -@ stdcall GetConsoleWindow() -@ stdcall GetCurrencyFormatA(long long str ptr str long) -@ stdcall GetCurrencyFormatW(long long str ptr str long) -@ stdcall GetCurrentActCtx(ptr) -@ stdcall GetCurrentConsoleFont(long long ptr) -@ stdcall GetCurrentDirectoryA(long ptr) -@ stdcall GetCurrentDirectoryW(long ptr) -@ stdcall GetCurrentProcess() -@ stdcall GetCurrentProcessId() -@ stdcall GetCurrentProcessorNumber() ntdll.RtlGetCurrentProcessorNumber -@ stdcall GetCurrentThread() -@ stdcall GetCurrentThreadId() -@ stdcall GetDateFormatA(long long ptr str ptr long) -@ stdcall GetDateFormatW(long long ptr wstr ptr long) -@ stdcall GetDefaultCommConfigA(str ptr long) -@ stdcall GetDefaultCommConfigW(wstr ptr long) -@ stdcall GetDefaultSortkeySize(ptr) ; missing in Win 7 -@ stdcall GetDevicePowerState(long ptr) -@ stdcall GetDiskFreeSpaceA(str ptr ptr ptr ptr) -@ stdcall GetDiskFreeSpaceExA (str ptr ptr ptr) -@ stdcall GetDiskFreeSpaceExW (wstr ptr ptr ptr) -@ stdcall GetDiskFreeSpaceW(wstr ptr ptr ptr ptr) -@ stdcall GetDllDirectoryA(long ptr) -@ stdcall GetDllDirectoryW(long ptr) -@ stdcall GetDriveTypeA(str) -@ stdcall GetDriveTypeW(wstr) -@ stdcall GetEnvironmentStrings() -@ stdcall GetEnvironmentStringsA() GetEnvironmentStrings -@ stdcall GetEnvironmentStringsW() -@ stdcall GetEnvironmentVariableA(str ptr long) -@ stdcall GetEnvironmentVariableW(wstr ptr long) -@ stdcall GetExitCodeProcess(long ptr) -@ stdcall GetExitCodeThread(long ptr) -@ stdcall GetExpandedNameA(str ptr) -@ stdcall GetExpandedNameW(wstr ptr) -@ stdcall GetFileAttributesA(str) -@ stdcall GetFileAttributesExA(str long ptr) -@ stdcall GetFileAttributesExW(wstr long ptr) -@ stdcall GetFileAttributesW(wstr) -@ stdcall GetFileInformationByHandle(long ptr) -@ stdcall GetFileSize(long ptr) -@ stdcall GetFileSizeEx(long ptr) -@ stdcall GetFileTime(long ptr ptr ptr) -@ stdcall GetFileType(long) -@ stdcall GetFirmwareEnvironmentVariableA(str str ptr long) -@ stdcall GetFirmwareEnvironmentVariableW(wstr wstr ptr long) -@ stdcall GetFullPathNameA(str long ptr ptr) -@ stdcall GetFullPathNameW(wstr long ptr ptr) -@ stdcall GetGeoInfoA(long long ptr long long) -@ stdcall GetGeoInfoW(long long ptr long long) -@ stdcall GetHandleContext(long) ; missing on x64 -@ stdcall GetHandleInformation(long ptr) -@ stdcall GetLargePageMinimum() -@ stdcall GetLargestConsoleWindowSize(long) -@ stdcall GetLastError() ntdll.RtlGetLastWin32Error -@ stdcall GetLinguistLangSize(ptr) ; missing in Win 7 -@ stdcall GetLocalTime(ptr) -@ stdcall GetLocaleInfoA(long long ptr long) -@ stdcall GetLocaleInfoW(long long ptr long) -@ stdcall GetLogicalDriveStringsA(long ptr) -@ stdcall GetLogicalDriveStringsW(long ptr) -@ stdcall GetLogicalDrives() -@ stdcall GetLogicalProcessorInformation(ptr ptr) -@ stdcall GetLongPathNameA (str long long) -@ stdcall GetLongPathNameW (wstr long long) -@ stdcall GetMailslotInfo(long ptr ptr ptr ptr) -@ stdcall GetModuleFileNameA(long ptr long) -@ stdcall GetModuleFileNameW(long ptr long) -@ stdcall GetModuleHandleA(str) -@ stdcall GetModuleHandleExA(long ptr ptr) -@ stdcall GetModuleHandleExW(long ptr ptr) -@ stdcall GetModuleHandleW(wstr) -@ stdcall GetNLSVersion(long long ptr) -@ stdcall GetNamedPipeHandleStateA(long ptr ptr ptr ptr str long) -@ stdcall GetNamedPipeHandleStateW(long ptr ptr ptr ptr wstr long) -@ stdcall GetNamedPipeInfo(long ptr ptr ptr ptr) -@ stdcall GetNativeSystemInfo(ptr) -@ stdcall GetNextVDMCommand(long) -@ stdcall GetNlsSectionName(long long long str str long) ; missing in Win 7 -@ stdcall GetNumaAvailableMemoryNode(long ptr) -@ stdcall GetNumaHighestNodeNumber(ptr) -@ stdcall GetNumaNodeProcessorMask(long ptr) -@ stdcall GetNumaProcessorNode(long ptr) -@ stdcall GetNumberFormatA(long long str ptr ptr long) -@ stdcall GetNumberFormatW(long long wstr ptr ptr long) -@ stdcall GetNumberOfConsoleFonts() -@ stdcall GetNumberOfConsoleInputEvents(long ptr) -@ stdcall GetNumberOfConsoleMouseButtons(ptr) -@ stdcall GetOEMCP() -@ stdcall GetOverlappedResult(long ptr ptr long) -@ stdcall GetPriorityClass(long) -@ stdcall GetPrivateProfileIntA(str str long str) -@ stdcall GetPrivateProfileIntW(wstr wstr long wstr) -@ stdcall GetPrivateProfileSectionA(str ptr long str) -@ stdcall GetPrivateProfileSectionNamesA(ptr long str) -@ stdcall GetPrivateProfileSectionNamesW(ptr long wstr) -@ stdcall GetPrivateProfileSectionW(wstr ptr long wstr) -@ stdcall GetPrivateProfileStringA(str str str ptr long str) -@ stdcall GetPrivateProfileStringW(wstr wstr wstr ptr long wstr) -@ stdcall GetPrivateProfileStructA (str str ptr long str) -@ stdcall GetPrivateProfileStructW(wstr wstr ptr long wstr) -@ stdcall GetProcAddress(long str) -@ stdcall GetProcessAffinityMask(long ptr ptr) -@ stdcall GetProcessHandleCount(long ptr) -@ stdcall GetProcessHeap() -@ stdcall GetProcessHeaps(long ptr) -@ stdcall GetProcessId(long) -@ stdcall GetProcessIdOfThread(ptr) -@ stdcall GetProcessIoCounters(long ptr) -@ stdcall GetProcessPriorityBoost(long ptr) -@ stdcall GetProcessShutdownParameters(ptr ptr) -@ stdcall GetProcessTimes(long ptr ptr ptr ptr) -@ stdcall GetProcessVersion(long) -@ stdcall GetProcessWorkingSetSize(long ptr ptr) -@ stdcall GetProcessWorkingSetSizeEx(long ptr ptr long) -@ stdcall GetProfileIntA(str str long) -@ stdcall GetProfileIntW(wstr wstr long) -@ stdcall GetProfileSectionA(str ptr long) -@ stdcall GetProfileSectionW(wstr ptr long) -@ stdcall GetProfileStringA(str str str ptr long) -@ stdcall GetProfileStringW(wstr wstr wstr ptr long) -@ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) -@ stdcall GetShortPathNameA(str ptr long) -@ stdcall GetShortPathNameW(wstr ptr long) -@ stdcall GetStartupInfoA(ptr) -@ stdcall GetStartupInfoW(ptr) -@ stdcall GetStdHandle(long) -@ stdcall GetStringTypeA(long long str long ptr) -@ stdcall GetStringTypeExA(long long str long ptr) -@ stdcall GetStringTypeExW(long long wstr long ptr) -@ stdcall GetStringTypeW(long wstr long ptr) -@ stdcall GetSystemDefaultLCID() -@ stdcall GetSystemDefaultLangID() -@ stdcall GetSystemDefaultUILanguage() -@ stdcall GetSystemDirectoryA(ptr long) -@ stdcall GetSystemDirectoryW(ptr long) -@ stdcall GetSystemFileCacheSize(ptr ptr ptr) -@ stdcall GetSystemFirmwareTable(long long ptr long) -@ stdcall GetSystemInfo(ptr) -@ stdcall GetSystemPowerStatus(ptr) -@ stdcall GetSystemRegistryQuota(ptr ptr) -@ stdcall GetSystemTime(ptr) -@ stdcall GetSystemTimeAdjustment(ptr ptr ptr) -@ stdcall GetSystemTimeAsFileTime(ptr) -@ stdcall GetSystemTimes(ptr ptr ptr) -@ stdcall GetSystemWindowsDirectoryA(ptr long) -@ stdcall GetSystemWindowsDirectoryW(ptr long) -@ stdcall GetSystemWow64DirectoryA(ptr long) -@ stdcall GetSystemWow64DirectoryW(ptr long) -@ stdcall GetTapeParameters(ptr long ptr ptr) -@ stdcall GetTapePosition(ptr long ptr ptr ptr) -@ stdcall GetTapeStatus(ptr) -@ stdcall GetTempFileNameA(str str long ptr) -@ stdcall GetTempFileNameW(wstr wstr long ptr) -@ stdcall GetTempPathA(long ptr) -@ stdcall GetTempPathW(long ptr) -@ stdcall GetThreadContext(long ptr) -@ stdcall GetThreadIOPendingFlag(long ptr) -@ stdcall GetThreadId(ptr) -@ stdcall GetThreadLocale() -@ stdcall GetThreadPriority(long) -@ stdcall GetThreadPriorityBoost(long ptr) -@ stdcall GetThreadSelectorEntry(long long ptr) -@ stdcall GetThreadTimes(long ptr ptr ptr ptr) -@ stdcall GetTickCount() -@ stdcall GetTimeFormatA(long long ptr str ptr long) -@ stdcall GetTimeFormatW(long long ptr wstr ptr long) -@ stdcall GetTimeZoneInformation(ptr) -@ stdcall GetUserDefaultLCID() -@ stdcall GetUserDefaultLangID() -@ stdcall GetUserDefaultUILanguage() -@ stdcall GetUserGeoID(long) -@ stdcall GetVDMCurrentDirectories(long long) -@ stdcall GetVersion() -@ stdcall GetVersionExA(ptr) -@ stdcall GetVersionExW(ptr) -@ stdcall GetVolumeInformationA(str ptr long ptr ptr ptr ptr long) -@ stdcall GetVolumeInformationW(wstr ptr long ptr ptr ptr ptr long) -@ stdcall GetVolumeNameForVolumeMountPointA(str ptr long) -@ stdcall GetVolumeNameForVolumeMountPointW(wstr ptr long) -@ stdcall GetVolumePathNameA(str ptr long) -@ stdcall GetVolumePathNameW(wstr ptr long) -@ stdcall GetVolumePathNamesForVolumeNameA(str str long ptr) -@ stdcall GetVolumePathNamesForVolumeNameW(wstr wstr long ptr) -@ stdcall GetWindowsDirectoryA(ptr long) -@ stdcall GetWindowsDirectoryW(ptr long) -@ stdcall GetWriteWatch(long ptr long ptr ptr ptr) -@ stdcall GlobalAddAtomA(str) -@ stdcall GlobalAddAtomW(wstr) -@ stdcall GlobalAlloc(long long) -@ stdcall GlobalCompact(long) -@ stdcall GlobalDeleteAtom(long) -@ stdcall GlobalFindAtomA(str) -@ stdcall GlobalFindAtomW(wstr) -@ stdcall GlobalFix(long) -@ stdcall GlobalFlags(long) -@ stdcall GlobalFree(long) -@ stdcall GlobalGetAtomNameA(long ptr long) -@ stdcall GlobalGetAtomNameW(long ptr long) -@ stdcall GlobalHandle(ptr) -@ stdcall GlobalLock(long) -@ stdcall GlobalMemoryStatus(ptr) -@ stdcall GlobalMemoryStatusEx(ptr) -@ stdcall GlobalReAlloc(long long long) -@ stdcall GlobalSize(long) -@ stdcall GlobalUnWire(long) -@ stdcall GlobalUnfix(long) -@ stdcall GlobalUnlock(long) -@ stdcall GlobalWire(long) -@ stdcall Heap32First(ptr long long) -@ stdcall Heap32ListFirst(long ptr) -@ stdcall Heap32ListNext(long ptr) -@ stdcall Heap32Next(ptr) -@ stdcall HeapAlloc(long long long) ntdll.RtlAllocateHeap -@ stdcall HeapCompact(long long) -@ stdcall HeapCreate(long long long) -@ stdcall HeapCreateTagsW(long long wstr wstr) ; missing in Win 7 -@ stdcall HeapDestroy(long) -@ stdcall HeapExtend(long long ptr long) ; missing in Win 7 -@ stdcall HeapFree(long long long) ntdll.RtlFreeHeap -@ stdcall HeapLock(long) -@ stdcall HeapQueryInformation(long long ptr long ptr) -@ stdcall HeapQueryTagW(long long long long ptr) ; missing in Win 7 -@ stdcall HeapReAlloc(long long ptr long) ntdll.RtlReAllocateHeap -@ stdcall HeapSetInformation(ptr long ptr long) -@ stdcall HeapSize(long long ptr) ntdll.RtlSizeHeap -@ stdcall HeapSummary(long long ptr) -@ stdcall HeapUnlock(long) -@ stdcall HeapUsage(long long long long ptr) ; missing in Win 7 -@ stdcall HeapValidate(long long ptr) -@ stdcall HeapWalk(long ptr) -@ stdcall InitAtomTable(long) -@ stdcall InitializeCriticalSection(ptr) -@ stdcall InitializeCriticalSectionAndSpinCount(ptr long) -@ stdcall InitializeSListHead(ptr) ntdll.RtlInitializeSListHead -@ stdcall -arch=i386 -ret64 InterlockedCompareExchange64(ptr double double) ntdll.RtlInterlockedCompareExchange64 -@ stdcall -arch=i386 InterlockedCompareExchange (ptr long long) -@ stdcall -arch=i386 InterlockedDecrement(ptr) -@ stdcall -arch=i386 InterlockedExchange(ptr long) -@ stdcall -arch=i386 InterlockedExchangeAdd(ptr long) -@ stdcall InterlockedFlushSList(ptr) ntdll.RtlInterlockedFlushSList -@ stdcall -arch=i386 InterlockedIncrement(ptr) -@ stdcall InterlockedPopEntrySList(ptr) ntdll.RtlInterlockedPopEntrySList -@ stdcall InterlockedPushEntrySList(ptr ptr) ntdll.RtlInterlockedPushEntrySList -@ stdcall InvalidateConsoleDIBits(long long) -@ stdcall IsBadCodePtr(ptr) -@ stdcall IsBadHugeReadPtr(ptr long) -@ stdcall IsBadHugeWritePtr(ptr long) -@ stdcall IsBadReadPtr(ptr long) -@ stdcall IsBadStringPtrA(ptr long) -@ stdcall IsBadStringPtrW(ptr long) -@ stdcall IsBadWritePtr(ptr long) -@ stdcall IsDBCSLeadByte(long) -@ stdcall IsDBCSLeadByteEx(long long) -@ stdcall IsDebuggerPresent() -@ stdcall IsNLSDefinedString(long long ptr long long) -@ stdcall IsProcessInJob(long long ptr) -@ stdcall IsProcessorFeaturePresent(long) -@ stdcall IsSystemResumeAutomatic() -@ stdcall IsTimeZoneRedirectionEnabled() -@ stdcall IsValidCodePage(long) -@ stdcall IsValidLanguageGroup(long long) -@ stdcall IsValidLocale(long long) -@ stdcall IsValidUILanguage(long) ; missing in Win 7 -@ stdcall IsWow64Process(ptr ptr) -@ stdcall LCMapStringA(long long str long ptr long) -@ stdcall LCMapStringW(long long wstr long ptr long) -@ stdcall LZClose(long) -@ stdcall LZCloseFile(long) -@ stdcall LZCopy(long long) -@ stdcall LZCreateFileW(ptr long long long ptr) -@ stdcall LZDone() -@ stdcall LZInit(long) -@ stdcall LZOpenFileA(str ptr long) -@ stdcall LZOpenFileW(wstr ptr long) -@ stdcall LZRead(long str long) -@ stdcall LZSeek(long long long) -@ stdcall LZStart() -@ stdcall LeaveCriticalSection(ptr) ntdll.RtlLeaveCriticalSection -@ stdcall LoadLibraryA(str) -@ stdcall LoadLibraryExA( str long long) -@ stdcall LoadLibraryExW(wstr long long) -@ stdcall LoadLibraryW(wstr) -@ stdcall LoadModule(str ptr) -@ stdcall LoadResource(long long) -@ stdcall LocalAlloc(long long) -@ stdcall LocalCompact(long) -@ stdcall LocalFileTimeToFileTime(ptr ptr) -@ stdcall LocalFlags(long) -@ stdcall LocalFree(long) -@ stdcall LocalHandle(ptr) -@ stdcall LocalLock(long) -@ stdcall LocalReAlloc(long long long) -@ stdcall LocalShrink(long long) -@ stdcall LocalSize(long) -@ stdcall LocalUnlock(long) -@ stdcall LockFile(long long long long long) -@ stdcall LockFileEx(long long long long long ptr) -@ stdcall LockResource(long) -@ stdcall MapUserPhysicalPages(ptr long ptr) -@ stdcall MapUserPhysicalPagesScatter(ptr long ptr) -@ stdcall MapViewOfFile(long long long long long) -@ stdcall MapViewOfFileEx(long long long long long ptr) -@ stdcall Module32First(long ptr) -@ stdcall Module32FirstW(long ptr) -@ stdcall Module32Next(long ptr) -@ stdcall Module32NextW(long ptr) -@ stdcall MoveFileA(str str) -@ stdcall MoveFileExA(str str long) -@ stdcall MoveFileExW(wstr wstr long) -@ stdcall MoveFileW(wstr wstr) -@ stdcall MoveFileWithProgressA(str str ptr ptr long) -@ stdcall MoveFileWithProgressW(wstr wstr ptr ptr long) -@ stdcall MulDiv(long long long) -@ stdcall MultiByteToWideChar(long long str long ptr long) -@ stdcall NeedCurrentDirectoryForExePathA(str) -@ stdcall NeedCurrentDirectoryForExePathW(wstr) -@ stdcall NlsConvertIntegerToString(long long long wstr long) ; missing in Win 7 -@ stdcall NlsGetCacheUpdateCount() -@ stdcall NlsResetProcessLocale() -@ stdcall OpenConsoleW(wstr long long long) -@ stdcall OpenDataFile(long long) ; missing in Win 7 -@ stdcall OpenEventA(long long str) -@ stdcall OpenEventW(long long wstr) -@ stdcall OpenFile(str ptr long) -@ stdcall OpenFileMappingA(long long str) -@ stdcall OpenFileMappingW(long long wstr) -@ stdcall OpenJobObjectA(long long str) -@ stdcall OpenJobObjectW(long long wstr) -@ stdcall OpenMutexA(long long str) -@ stdcall OpenMutexW(long long wstr) -@ stdcall OpenProcess(long long long) -@ stdcall OpenProfileUserMapping() -@ stdcall OpenSemaphoreA(long long str) -@ stdcall OpenSemaphoreW(long long wstr) -@ stdcall OpenThread(long long long) -@ stdcall OpenWaitableTimerA(long long str) -@ stdcall OpenWaitableTimerW(long long wstr) -@ stdcall OutputDebugStringA(str) -@ stdcall OutputDebugStringW(wstr) -@ stdcall PeekConsoleInputA(ptr ptr long ptr) -@ stdcall PeekConsoleInputW(ptr ptr long ptr) -@ stdcall PeekNamedPipe(long ptr long ptr ptr ptr) -@ stdcall PostQueuedCompletionStatus(long long ptr ptr) -@ stdcall PrepareTape(ptr long long) -@ stdcall PrivCopyFileExW(wstr wstr ptr ptr long long) -@ stdcall PrivMoveFileIdentityW(long long long) -@ stdcall Process32First (ptr ptr) -@ stdcall Process32FirstW (ptr ptr) -@ stdcall Process32Next (ptr ptr) -@ stdcall Process32NextW (ptr ptr) -@ stdcall ProcessIdToSessionId(long ptr) -@ stdcall PulseEvent(long) -@ stdcall PurgeComm(long long) -@ stdcall QueryActCtxW(long ptr ptr long ptr long ptr) -@ stdcall QueryDepthSList(ptr) ntdll.RtlQueryDepthSList -@ stdcall QueryDosDeviceA(str ptr long) -@ stdcall QueryDosDeviceW(wstr ptr long) -@ stdcall QueryInformationJobObject(long long ptr long ptr) -@ stdcall QueryMemoryResourceNotification(ptr ptr) -@ stdcall QueryPerformanceCounter(ptr) -@ stdcall QueryPerformanceFrequency(ptr) -@ stdcall QueueUserAPC(ptr long long) -@ stdcall QueueUserWorkItem(ptr ptr long) -@ stdcall RaiseException(long long long ptr) -@ stdcall ReOpenFile(ptr long long long) -@ stdcall ReadConsoleA(long ptr long ptr ptr) -@ stdcall ReadConsoleInputA(long ptr long ptr) -@ stdcall ReadConsoleInputExA(long ptr long ptr long) -@ stdcall ReadConsoleInputExW(long ptr long ptr long) -@ stdcall ReadConsoleInputW(long ptr long ptr) -@ stdcall ReadConsoleOutputA(long ptr long long ptr) -@ stdcall ReadConsoleOutputAttribute(long ptr long long ptr) -@ stdcall ReadConsoleOutputCharacterA(long ptr long long ptr) -@ stdcall ReadConsoleOutputCharacterW(long ptr long long ptr) -@ stdcall ReadConsoleOutputW(long ptr long long ptr) -@ stdcall ReadConsoleW(long ptr long ptr ptr) -@ stdcall ReadDirectoryChangesW(long ptr long long long ptr ptr ptr) -@ stdcall ReadFile(long ptr long ptr ptr) -@ stdcall ReadFileEx(long ptr long ptr ptr) -@ stdcall ReadFileScatter(long ptr long ptr ptr) -@ stdcall ReadProcessMemory(long ptr ptr long ptr) -@ stdcall RegisterConsoleIME(ptr ptr) -@ stdcall RegisterConsoleOS2(long) -@ stdcall RegisterConsoleVDM(long long long long long long long long long long long) -@ stdcall RegisterWaitForInputIdle(ptr) -@ stdcall RegisterWaitForSingleObject(ptr long ptr ptr long long) -@ stdcall RegisterWaitForSingleObjectEx(long ptr ptr long long) -@ stdcall RegisterWowBaseHandlers(long) -@ stdcall RegisterWowExec(long) -@ stdcall ReleaseActCtx(ptr) -@ stdcall ReleaseMutex(long) -@ stdcall ReleaseSemaphore(long long ptr) -@ stdcall RemoveDirectoryA(str) -@ stdcall RemoveDirectoryW(wstr) -@ stdcall RemoveLocalAlternateComputerNameA(str long) -@ stdcall RemoveLocalAlternateComputerNameW(wstr long) -@ stdcall RemoveVectoredContinueHandler(ptr) ntdll.RtlRemoveVectoredContinueHandler -@ stdcall RemoveVectoredExceptionHandler(ptr) ntdll.RtlRemoveVectoredExceptionHandler -@ stdcall ReplaceFile(wstr wstr wstr long ptr ptr) ReplaceFileW -@ stdcall ReplaceFileA(str str str long ptr ptr) -@ stdcall ReplaceFileW(wstr wstr wstr long ptr ptr) -@ stdcall RequestDeviceWakeup(long) -@ stdcall RequestWakeupLatency(long) -@ stdcall ResetEvent(long) -@ stdcall ResetWriteWatch(ptr long) -@ stdcall RestoreLastError(long) ntdll.RtlRestoreLastWin32Error -@ stdcall ResumeThread(long) -@ stdcall -register RtlCaptureContext(ptr) ntdll.RtlCaptureContext -@ stdcall RtlCaptureStackBackTrace(long long ptr ptr) ntdll.RtlCaptureStackBackTrace -@ stdcall RtlFillMemory(ptr long long) ntdll.RtlFillMemory -@ stdcall RtlMoveMemory(ptr ptr long) ntdll.RtlMoveMemory -@ stdcall RtlUnwind(ptr ptr ptr long) ntdll.RtlUnwind -@ stdcall RtlZeroMemory(ptr long) ntdll.RtlZeroMemory -@ stdcall ScrollConsoleScreenBufferA(long ptr ptr ptr ptr) -@ stdcall ScrollConsoleScreenBufferW(long ptr ptr ptr ptr) -@ stdcall SearchPathA(str str str long ptr ptr) -@ stdcall SearchPathW(wstr wstr wstr long ptr ptr) -@ stdcall SetCPGlobal(long) ; missing in Win 7 -@ stdcall SetCalendarInfoA(long long long str) -@ stdcall SetCalendarInfoW(long long long wstr) -@ stdcall SetClientTimeZoneInformation(ptr) -@ stdcall SetComPlusPackageInstallStatus(ptr) -@ stdcall SetCommBreak(long) -@ stdcall SetCommConfig(long ptr long) -@ stdcall SetCommMask(long ptr) -@ stdcall SetCommState(long ptr) -@ stdcall SetCommTimeouts(long ptr) -@ stdcall SetComputerNameA(str) -@ stdcall SetComputerNameExA(long str) -@ stdcall SetComputerNameExW(long wstr) -@ stdcall SetComputerNameW(wstr) -@ stdcall SetConsoleActiveScreenBuffer(long) -@ stdcall SetConsoleCP(long) -@ stdcall SetConsoleCommandHistoryMode(long) ; missing in win 7 -@ stdcall SetConsoleCtrlHandler(ptr long) -@ stdcall SetConsoleCursor(long long) -@ stdcall SetConsoleCursorInfo(long ptr) -@ stdcall SetConsoleCursorMode(long long long) -@ stdcall SetConsoleCursorPosition(long long) -@ stdcall SetConsoleDisplayMode(long long ptr) -@ stdcall SetConsoleFont(long long) -@ stdcall SetConsoleHardwareState(long long long) -@ stdcall SetConsoleIcon(ptr) -@ stdcall SetConsoleInputExeNameA(ptr) -@ stdcall SetConsoleInputExeNameW(ptr) -@ stdcall SetConsoleKeyShortcuts(long long long long) -@ stdcall SetConsoleLocalEUDC(long long long long) -@ stdcall SetConsoleMaximumWindowSize(long long) -@ stdcall SetConsoleMenuClose(long) -@ stdcall SetConsoleMode(long long) -@ stdcall SetConsoleNlsMode(long long) -@ stdcall SetConsoleNumberOfCommandsA(long long) -@ stdcall SetConsoleNumberOfCommandsW(long long) -@ stdcall SetConsoleOS2OemFormat(long) -@ stdcall SetConsoleOutputCP(long) -@ stdcall SetConsolePalette(long long long) -@ stdcall SetConsoleScreenBufferSize(long long) -@ stdcall SetConsoleTextAttribute(long long) -@ stdcall SetConsoleTitleA(str) -@ stdcall SetConsoleTitleW(wstr) -@ stdcall SetConsoleWindowInfo(long long ptr) -@ stdcall SetCriticalSectionSpinCount(ptr long) ntdll.RtlSetCriticalSectionSpinCount -@ stdcall SetCurrentDirectoryA(str) -@ stdcall SetCurrentDirectoryW(wstr) -@ stdcall SetDefaultCommConfigA(str ptr long) -@ stdcall SetDefaultCommConfigW(wstr ptr long) -@ stdcall SetDllDirectoryA(str) -@ stdcall SetDllDirectoryW(wstr) -@ stdcall SetEndOfFile(long) -@ stdcall SetEnvironmentStringsA(ptr) -@ stdcall SetEnvironmentStringsW(ptr) -@ stdcall SetEnvironmentVariableA(str str) -@ stdcall SetEnvironmentVariableW(wstr wstr) -@ stdcall SetErrorMode(long) -@ stdcall SetEvent(long) -@ stdcall SetFileApisToANSI() -@ stdcall SetFileApisToOEM() -@ stdcall SetFileAttributesA(str long) -@ stdcall SetFileAttributesW(wstr long) -@ stdcall SetFilePointer(long long ptr long) -@ stdcall SetFilePointerEx(long double ptr long) -@ stdcall SetFileShortNameA(long str) -@ stdcall SetFileShortNameW(long wstr) -@ stdcall SetFileTime(long ptr ptr ptr) -@ stdcall SetFileValidData(long double) -@ stdcall SetFirmwareEnvironmentVariableA(str str ptr long) -@ stdcall SetFirmwareEnvironmentVariableW(wstr wstr ptr long) -@ stdcall SetHandleContext(long long) ; missing in Win 7 x64 -@ stdcall SetHandleCount(long) -@ stdcall SetHandleInformation(long long long) -@ stdcall SetInformationJobObject(long long ptr long) -@ stdcall SetLastConsoleEventActive() ; missing in XP SP3 -@ stdcall SetLastError(long) ntdll.RtlSetLastWin32Error -@ stdcall SetLocalPrimaryComputerNameA(long long) ; missing in XP SP3 -@ stdcall SetLocalPrimaryComputerNameW(long long) ; missing in XP SP3 -@ stdcall SetLocalTime(ptr) -@ stdcall SetLocaleInfoA(long long str) -@ stdcall SetLocaleInfoW(long long wstr) -@ stdcall SetMailslotInfo(long long) -@ stdcall SetMessageWaitingIndicator(ptr long) -@ stdcall SetNamedPipeHandleState(long ptr ptr ptr) -@ stdcall SetPriorityClass(long long) -@ stdcall SetProcessAffinityMask(long long) -@ stdcall SetProcessPriorityBoost(long long) -@ stdcall SetProcessShutdownParameters(long long) -@ stdcall SetProcessWorkingSetSize(long long long) -@ stdcall SetProcessWorkingSetSizeEx(long long long long) -@ stdcall SetStdHandle(long long) -@ stdcall SetSystemFileCacheSize(long long long) -@ stdcall SetSystemPowerState(long long) -@ stdcall SetSystemTime(ptr) -@ stdcall SetSystemTimeAdjustment(long long) -@ stdcall SetTapeParameters(ptr long ptr) -@ stdcall SetTapePosition(ptr long long long long long) -@ stdcall SetTermsrvAppInstallMode(long) -@ stdcall SetThreadAffinityMask(long long) -@ stdcall SetThreadContext(long ptr) -@ stdcall SetThreadExecutionState(long) -@ stdcall SetThreadIdealProcessor(long long) -@ stdcall SetThreadLocale(long) -@ stdcall SetThreadPriority(long long) -@ stdcall SetThreadPriorityBoost(long long) -@ stdcall SetThreadStackGuarantee(ptr) -@ stdcall SetThreadUILanguage(long) -@ stdcall SetTimeZoneInformation(ptr) -@ stdcall SetTimerQueueTimer(long ptr ptr long long long) -@ stdcall SetUnhandledExceptionFilter(ptr) -@ stdcall SetUserGeoID(long) -@ stdcall SetVDMCurrentDirectories(long long) -@ stdcall SetVolumeLabelA(str str) -@ stdcall SetVolumeLabelW(wstr wstr) -@ stdcall SetVolumeMountPointA(str str) -@ stdcall SetVolumeMountPointW(wstr wstr) -@ stdcall SetWaitableTimer(long ptr long ptr ptr long) -@ stdcall SetupComm(long long long) -@ stdcall ShowConsoleCursor(long long) -@ stdcall SignalObjectAndWait(long long long long) -@ stdcall SizeofResource(long long) -@ stdcall Sleep(long) -@ stdcall SleepEx(long long) -@ stdcall SuspendThread(long) -@ stdcall SwitchToFiber(ptr) -@ stdcall SwitchToThread() -@ stdcall SystemTimeToFileTime(ptr ptr) -@ stdcall SystemTimeToTzSpecificLocalTime (ptr ptr ptr) -@ stdcall TerminateJobObject(long long) -@ stdcall TerminateProcess(long long) -@ stdcall TerminateThread(long long) -@ stdcall TermsrvAppInstallMode() -@ stdcall Thread32First(long ptr) -@ stdcall Thread32Next(long ptr) -@ stdcall TlsAlloc() -@ stdcall TlsFree(long) -@ stdcall TlsGetValue(long) -@ stdcall TlsSetValue(long ptr) -@ stdcall Toolhelp32ReadProcessMemory(long ptr ptr long ptr) -@ stdcall TransactNamedPipe(long ptr long ptr long ptr ptr) -@ stdcall TransmitCommChar(long long) -@ stdcall TryEnterCriticalSection(ptr) ntdll.RtlTryEnterCriticalSection -@ stdcall TzSpecificLocalTimeToSystemTime(ptr ptr ptr) -@ stdcall UTRegister(long str str str ptr ptr ptr) -@ stdcall UTUnRegister(long) -@ stdcall UnhandledExceptionFilter(ptr) -@ stdcall UnlockFile(long long long long long) -@ stdcall UnlockFileEx(long long long long ptr) -@ stdcall UnmapViewOfFile(ptr) -@ stdcall UnregisterConsoleIME() -@ stdcall UnregisterWait(long) -@ stdcall UnregisterWaitEx(long long) -@ stdcall UpdateResourceA(long str str long ptr long) -@ stdcall UpdateResourceW(long wstr wstr long ptr long) -@ stdcall VDMConsoleOperation(long long) -@ stdcall VDMOperationStarted(long) -@ stdcall ValidateLCType(long long ptr ptr) -@ stdcall ValidateLocale(long) -@ stdcall VerLanguageNameA(long str long) -@ stdcall VerLanguageNameW(long wstr long) -@ stdcall -ret64 VerSetConditionMask(long long long long) ntdll.VerSetConditionMask -@ stdcall VerifyConsoleIoHandle(long) -@ stdcall VerifyVersionInfoA(long long double) -@ stdcall VerifyVersionInfoW(long long double) -@ stdcall VirtualAlloc(ptr long long long) -@ stdcall VirtualAllocEx(long ptr long long long) -@ stdcall VirtualFree(ptr long long) -@ stdcall VirtualFreeEx(long ptr long long) -@ stdcall VirtualLock(ptr long) -@ stdcall VirtualProtect(ptr long long ptr) -@ stdcall VirtualProtectEx(long ptr long long ptr) -@ stdcall VirtualQuery(ptr ptr long) -@ stdcall VirtualQueryEx(long ptr ptr long) -@ stdcall VirtualUnlock(ptr long) -@ stdcall WTSGetActiveConsoleSessionId() -@ stdcall WaitCommEvent(long ptr ptr) -@ stdcall WaitForDebugEvent(ptr long) -@ stdcall WaitForMultipleObjects(long ptr long long) -@ stdcall WaitForMultipleObjectsEx(long ptr long long long) -@ stdcall WaitForSingleObject(long long) -@ stdcall WaitForSingleObjectEx(long long long) -@ stdcall WaitNamedPipeA (str long) -@ stdcall WaitNamedPipeW (wstr long) -@ stdcall WideCharToMultiByte(long long wstr long ptr long ptr ptr) -@ stdcall WinExec(str long) -@ stdcall Wow64DisableWow64FsRedirection(ptr) -@ stdcall Wow64EnableWow64FsRedirection(long) -@ stdcall Wow64RevertWow64FsRedirection(ptr) -@ stdcall WriteConsoleA(long ptr long ptr ptr) -@ stdcall WriteConsoleInputA(long ptr long ptr) -@ stdcall WriteConsoleInputVDMA(long long long long) -@ stdcall WriteConsoleInputVDMW(long long long long) -@ stdcall WriteConsoleInputW(long ptr long ptr) -@ stdcall WriteConsoleOutputA(long ptr long long ptr) -@ stdcall WriteConsoleOutputAttribute(long ptr long long ptr) -@ stdcall WriteConsoleOutputCharacterA(long ptr long long ptr) -@ stdcall WriteConsoleOutputCharacterW(long ptr long long ptr) -@ stdcall WriteConsoleOutputW(long ptr long long ptr) -@ stdcall WriteConsoleW(long ptr long ptr ptr) -@ stdcall WriteFile(long ptr long ptr ptr) -@ stdcall WriteFileEx(long ptr long ptr ptr) -@ stdcall WriteFileGather(long ptr long ptr ptr) -@ stdcall WritePrivateProfileSectionA(str str str) -@ stdcall WritePrivateProfileSectionW(wstr wstr wstr) -@ stdcall WritePrivateProfileStringA(str str str str) -@ stdcall WritePrivateProfileStringW(wstr wstr wstr wstr) -@ stdcall WritePrivateProfileStructA (str str ptr long str) -@ stdcall WritePrivateProfileStructW(wstr wstr ptr long wstr) -@ stdcall WriteProcessMemory(long ptr ptr long ptr) -@ stdcall WriteProfileSectionA(str str) -@ stdcall WriteProfileSectionW(str str) -@ stdcall WriteProfileStringA(str str str) -@ stdcall WriteProfileStringW(wstr wstr wstr) -@ stdcall WriteTapemark(ptr long long long) -@ stdcall ZombifyActCtx(ptr) -@ stdcall _hread(long ptr long) -@ stdcall _hwrite(long ptr long) -@ stdcall _lclose(long) -@ stdcall _lcreat(str long) -@ stdcall _llseek(long long long) -@ stdcall _lopen(str long) -@ stdcall _lread(long ptr long) _hread -@ stdcall _lwrite(long ptr long) _hwrite -@ stdcall lstrcat(str str) lstrcatA -@ stdcall lstrcatA(str str) -@ stdcall lstrcatW(wstr wstr) -@ stdcall lstrcmp(str str) lstrcmpA -@ stdcall lstrcmpA(str str) -@ stdcall lstrcmpW(wstr wstr) -@ stdcall lstrcmpi(str str) lstrcmpiA -@ stdcall lstrcmpiA(str str) -@ stdcall lstrcmpiW(wstr wstr) -@ stdcall lstrcpy(ptr str) lstrcpyA -@ stdcall lstrcpyA(ptr str) -@ stdcall lstrcpyW(ptr wstr) -@ stdcall lstrcpyn(ptr str long) lstrcpynA -@ stdcall lstrcpynA(ptr str long) -@ stdcall lstrcpynW(ptr wstr long) -@ stdcall lstrlen(str) lstrlenA -@ stdcall lstrlenA(str) -@ stdcall lstrlenW(wstr) - -@ cdecl -arch=x86_64 RtlAddFunctionTable(ptr long long) ntdll.RtlAddFunctionTable -@ stdcall -arch=x86_64 RtlCompareMemory(ptr ptr ptr) -@ stdcall -arch=x86_64 RtlCopyMemory(ptr ptr ptr) -@ stdcall -arch=x86_64 RtlDeleteFunctionTable(ptr) -@ stdcall -arch=x86_64 RtlInstallFunctionTableCallback(double double long ptr ptr ptr) -@ stdcall -arch=x86_64 RtlLookupFunctionEntry(ptr ptr ptr) ntdll.RtlLookupFunctionEntry -@ stdcall -arch=x86_64 RtlPcToFileHeader(ptr ptr) ntdll.RtlPcToFileHeader -@ stdcall -arch=x86_64 RtlRaiseException(ptr) ntdll.RtlRaiseException -@ stdcall -arch=x86_64 RtlRestoreContext(ptr ptr) ntdll.RtlRestoreContext -@ stdcall -arch=x86_64 RtlUnwindEx(ptr ptr ptr ptr ptr ptr) ntdll.RtlUnwindEx -@ stdcall -arch=x86_64 RtlVirtualUnwind(ptr ptr ptr long) ntdll.RtlVirtualUnwind - -@ stdcall GetTickCount64() ; FOR WINE diff --git a/reactos/dll/win32/kernel32/kernel32.rbuild b/reactos/dll/win32/kernel32/kernel32.rbuild deleted file mode 100644 index 1ce9b22d6ce..00000000000 --- a/reactos/dll/win32/kernel32/kernel32.rbuild +++ /dev/null @@ -1,106 +0,0 @@ - - - - - . - . - include - include/reactos/subsys - pseh - wine - ntdll - - errcodes - k32.h - - - - fiber.S - thread.S - - - - - fiber.S - thread.S - - - appcache.c - atom.c - compname.c - debugger.c - dllmain.c - dosdev.c - environ.c - except.c - fiber.c - handle.c - heapmem.c - job.c - loader.c - path.c - perfcnt.c - power.c - proc.c - resntfy.c - session.c - synch.c - sysinfo.c - time.c - timerqueue.c - thread.c - toolhelp.c - utils.c - vdm.c - version.c - virtmem.c - vista.c - - backup.c - cnotify.c - copy.c - console.c - create.c - delete.c - deviceio.c - dir.c - fileinfo.c - filemap.c - filename.c - find.c - hardlink.c - iocompl.c - lfile.c - lock.c - mailslot.c - move.c - npipe.c - rw.c - tape.c - volume.c - - - - actctx.c - comm.c - lzexpand.c - muldiv.c - profile.c - res.c - timezone.c - - - - collation.c - casemap.c - fold.c - format_msg.c - lang.c - lstring.c - lcformat.c - nls.c - sortkey.c - - - kernel32.rc - diff --git a/reactos/dll/win32/loadperf/loadperf.rbuild b/reactos/dll/win32/loadperf/loadperf.rbuild deleted file mode 100644 index 015f95fbd9d..00000000000 --- a/reactos/dll/win32/loadperf/loadperf.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - include/reactos/wine - - loadperf_main.c - stubs.c - wine - ntdll - - diff --git a/reactos/dll/win32/localspl/localspl.rbuild b/reactos/dll/win32/localspl/localspl.rbuild deleted file mode 100644 index 2c3d27a565f..00000000000 --- a/reactos/dll/win32/localspl/localspl.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - . - include/reactos/wine - - 0x600 - localmon.c - localspl_main.c - provider.c - localspl.rc - wine - spoolss - user32 - advapi32 - ntdll - diff --git a/reactos/dll/win32/localui/localui.rbuild b/reactos/dll/win32/localui/localui.rbuild deleted file mode 100644 index 639fc713257..00000000000 --- a/reactos/dll/win32/localui/localui.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - . - include/reactos/wine - - localui.c - localui.rc - wine - winspool - user32 - uuid - ntdll - - diff --git a/reactos/dll/win32/lpk/lpk.rbuild b/reactos/dll/win32/lpk/lpk.rbuild deleted file mode 100644 index 700e9c71e40..00000000000 --- a/reactos/dll/win32/lpk/lpk.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - include - - ntdll - user32 - usp10 - - dllmain.c - stub.c - lpk.rc - ros_lpk.h - diff --git a/reactos/dll/win32/lsasrv/lsasrv.rbuild b/reactos/dll/win32/lsasrv/lsasrv.rbuild deleted file mode 100644 index 44dd9ff9fa8..00000000000 --- a/reactos/dll/win32/lsasrv/lsasrv.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - . - . - include/reactos/subsys/lsass - lsa_server - wine - rpcrt4 - ntdll - pseh - authport.c - database.c - lsarpc.c - lsasrv.c - policy.c - privileges.c - sids.c - lsasrv.rc - lsasrv.h - diff --git a/reactos/dll/win32/lz32/lz32.rbuild b/reactos/dll/win32/lz32/lz32.rbuild deleted file mode 100644 index 0842bf29c82..00000000000 --- a/reactos/dll/win32/lz32/lz32.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - . - include/reactos/wine - - wine - ntdll - version.rc - diff --git a/reactos/dll/win32/mapi32/mapi32.rbuild b/reactos/dll/win32/mapi32/mapi32.rbuild deleted file mode 100644 index 3426b46957f..00000000000 --- a/reactos/dll/win32/mapi32/mapi32.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - . - include/reactos/wine - - imalloc.c - mapi32_main.c - prop.c - sendmail.c - util.c - stubs.c - version.rc - wine - shlwapi - shell32 - user32 - advapi32 - uuid - ntdll - - diff --git a/reactos/dll/win32/mciavi32/mciavi32.rbuild b/reactos/dll/win32/mciavi32/mciavi32.rbuild deleted file mode 100644 index 92c508eba84..00000000000 --- a/reactos/dll/win32/mciavi32/mciavi32.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - . - include/reactos/wine - - info.c - mciavi.c - mmoutput.c - wnd.c - mciavi_res.rc - private_mciavi.h - wine - msvfw32 - winmm - user32 - gdi32 - ntdll - diff --git a/reactos/dll/win32/mcicda/mcicda.rbuild b/reactos/dll/win32/mcicda/mcicda.rbuild deleted file mode 100644 index 72ae6304389..00000000000 --- a/reactos/dll/win32/mcicda/mcicda.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - mcicda.c - wine - winmm - user32 - ntdll - diff --git a/reactos/dll/win32/mciqtz32/mciqtz32.rbuild b/reactos/dll/win32/mciqtz32/mciqtz32.rbuild deleted file mode 100644 index 29949780041..00000000000 --- a/reactos/dll/win32/mciqtz32/mciqtz32.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - . - include/reactos/wine - - mciqtz.c - version.rc - wine - oleaut32 - gdi32 - ole32 - winmm - user32 - ntdll - strmiids - diff --git a/reactos/dll/win32/mciseq/mciseq.rbuild b/reactos/dll/win32/mciseq/mciseq.rbuild deleted file mode 100644 index c761c8c2aa2..00000000000 --- a/reactos/dll/win32/mciseq/mciseq.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - mcimidi.c - wine - winmm - user32 - ntdll - diff --git a/reactos/dll/win32/mciwave/mciwave.rbuild b/reactos/dll/win32/mciwave/mciwave.rbuild deleted file mode 100644 index 69e3c094388..00000000000 --- a/reactos/dll/win32/mciwave/mciwave.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - include/reactos/wine - - - mciwave.c - wine - winmm - user32 - ntdll - diff --git a/reactos/dll/win32/mlang/mlang.rbuild b/reactos/dll/win32/mlang/mlang.rbuild deleted file mode 100644 index 646a9b13add..00000000000 --- a/reactos/dll/win32/mlang/mlang.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - . - include/reactos/wine - - - 0x600 - mlang.c - mlang.rc - wine - ole32 - user32 - gdi32 - advapi32 - oleaut32 - uuid - ntdll - - diff --git a/reactos/dll/win32/mmdrv/mmdrv.rbuild b/reactos/dll/win32/mmdrv/mmdrv.rbuild deleted file mode 100644 index 0dff5ab0a95..00000000000 --- a/reactos/dll/win32/mmdrv/mmdrv.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - . - - ntdll - user32 - winmm - entry.c - mme.c - kernel.c - session.c - common.c - wave.c - wave_io.c - diff --git a/reactos/dll/win32/modemui/modemui.rbuild b/reactos/dll/win32/modemui/modemui.rbuild deleted file mode 100644 index da694655178..00000000000 --- a/reactos/dll/win32/modemui/modemui.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - ntdll - user32 - gdi32 - comctl32 - advapi32 - netapi32 - modemui.c - modemui.rc - diff --git a/reactos/dll/win32/mpr/mpr.rbuild b/reactos/dll/win32/mpr/mpr.rbuild deleted file mode 100644 index 9566ee649a5..00000000000 --- a/reactos/dll/win32/mpr/mpr.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - . - include/reactos/wine - - - auth.c - mpr_main.c - multinet.c - nps.c - pwcache.c - wnet.c - mpr.rc - wine - user32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/mprapi/mprapi.rbuild b/reactos/dll/win32/mprapi/mprapi.rbuild deleted file mode 100644 index dc4e927d3c4..00000000000 --- a/reactos/dll/win32/mprapi/mprapi.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - include/reactos/wine - - wine - mprapi.c - diff --git a/reactos/dll/win32/msacm32/msacm32.drv/msacm32.drv.rbuild b/reactos/dll/win32/msacm32/msacm32.drv/msacm32.drv.rbuild deleted file mode 100644 index db4c6ac3089..00000000000 --- a/reactos/dll/win32/msacm32/msacm32.drv/msacm32.drv.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - include/reactos/wine - wine - msacm32 - ntdll - user32 - winmm - wavemap.c - wavemap.rc - diff --git a/reactos/dll/win32/msacm32/msacm32.rbuild b/reactos/dll/win32/msacm32/msacm32.rbuild deleted file mode 100644 index e32845920d7..00000000000 --- a/reactos/dll/win32/msacm32/msacm32.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - . - include/reactos/wine - wine - ntdll - advapi32 - user32 - winmm - driver.c - filter.c - format.c - internal.c - msacm32_main.c - pcmconverter.c - stream.c - - - - - diff --git a/reactos/dll/win32/msadp32.acm/msadp32.acm.rbuild b/reactos/dll/win32/msadp32.acm/msadp32.acm.rbuild deleted file mode 100644 index 3dcc1c96085..00000000000 --- a/reactos/dll/win32/msadp32.acm/msadp32.acm.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - msadp32.c - wine - winmm - user32 - ntdll - diff --git a/reactos/dll/win32/msafd/msafd.rbuild b/reactos/dll/win32/msafd/msafd.rbuild deleted file mode 100644 index bc657128668..00000000000 --- a/reactos/dll/win32/msafd/msafd.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - . - include - include/reactos/drivers - msafd.h - ntdll - advapi32 - - dllmain.c - event.c - helpers.c - sndrcv.c - stubs.c - - msafd.rc - diff --git a/reactos/dll/win32/mscat32/mscat32.rbuild b/reactos/dll/win32/mscat32/mscat32.rbuild deleted file mode 100644 index 2d7bf8ac6ef..00000000000 --- a/reactos/dll/win32/mscat32/mscat32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - include/reactos/wine - - main.c - wine - wintrust - ntdll - - diff --git a/reactos/dll/win32/mscms/mscms.rbuild b/reactos/dll/win32/mscms/mscms.rbuild deleted file mode 100644 index 5afe2342938..00000000000 --- a/reactos/dll/win32/mscms/mscms.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - . - include/reactos/wine - - handle.c - icc.c - mscms_main.c - profile.c - stub.c - transform.c - version.rc - wine - advapi32 - ntdll - diff --git a/reactos/dll/win32/mscoree/mscoree.rbuild b/reactos/dll/win32/mscoree/mscoree.rbuild deleted file mode 100644 index 1c67d5e41d3..00000000000 --- a/reactos/dll/win32/mscoree/mscoree.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - . - include/reactos/wine - - wine - dbghelp - advapi32 - shell32 - ole32 - shlwapi - uuid - assembly.c - config.c - cordebug.c - corruntimehost.c - metadata.c - metahost.c - mscoree_main.c - mscoree.rc - diff --git a/reactos/dll/win32/msctf/msctf.rbuild b/reactos/dll/win32/msctf/msctf.rbuild deleted file mode 100644 index 6a678f0e329..00000000000 --- a/reactos/dll/win32/msctf/msctf.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - categorymgr.c - compartmentmgr.c - context.c - displayattributemgr.c - documentmgr.c - inputprocessor.c - langbarmgr.c - msctf.c - range.c - threadmgr.c - version.rc - wine - uuid - ole32 - oleaut32 - user32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/msftedit/msftedit.rbuild b/reactos/dll/win32/msftedit/msftedit.rbuild deleted file mode 100644 index 7a6c77fe64a..00000000000 --- a/reactos/dll/win32/msftedit/msftedit.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - include/reactos/wine - - msftedit_main.c - version.rc - wine - uuid - riched20 - ntdll - diff --git a/reactos/dll/win32/msg711.acm/msg711.acm.rbuild b/reactos/dll/win32/msg711.acm/msg711.acm.rbuild deleted file mode 100644 index 88e87f98add..00000000000 --- a/reactos/dll/win32/msg711.acm/msg711.acm.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - msg711.c - wine - winmm - user32 - ntdll - diff --git a/reactos/dll/win32/msgina/msgina.rbuild b/reactos/dll/win32/msgina/msgina.rbuild deleted file mode 100644 index ea5077ab3a1..00000000000 --- a/reactos/dll/win32/msgina/msgina.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - . - include - include/reactos/wine - ntdll - wine - advapi32 - user32 - gdi32 - userenv - gui.c - msgina.c - stubs.c - tui.c - msgina.rc - msgina.h - diff --git a/reactos/dll/win32/msgsm32.acm/msgsm32.acm.rbuild b/reactos/dll/win32/msgsm32.acm/msgsm32.acm.rbuild deleted file mode 100644 index b997e1499f0..00000000000 --- a/reactos/dll/win32/msgsm32.acm/msgsm32.acm.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/wine - - msgsm32.c - wine - winmm - user32 - diff --git a/reactos/dll/win32/mshtml.tlb/mshtml.tlb.rbuild b/reactos/dll/win32/mshtml.tlb/mshtml.tlb.rbuild deleted file mode 100644 index f4567236801..00000000000 --- a/reactos/dll/win32/mshtml.tlb/mshtml.tlb.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - stdole2 - mshtml_tlb.idl - - - - . - mshtml_tlb - - rsrc.rc - - diff --git a/reactos/dll/win32/mshtml/mshtml.rbuild b/reactos/dll/win32/mshtml/mshtml.rbuild deleted file mode 100644 index c3f56cd19d2..00000000000 --- a/reactos/dll/win32/mshtml/mshtml.rbuild +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - - - _open - _close - - conpoint.c - dispex.c - editor.c - hlink.c - htmlanchor.c - htmlbody.c - htmlcomment.c - htmlcurstyle.c - htmldoc.c - htmldoc3.c - htmldoc5.c - htmlelem.c - htmlelem2.c - htmlelem3.c - htmlelemcol.c - htmlevent.c - htmlform.c - htmlframe.c - htmlframebase.c - htmlgeneric.c - htmliframe.c - htmlimg.c - htmlinput.c - htmllocation.c - htmlnode.c - htmloption.c - htmlscreen.c - htmlscript.c - htmlselect.c - htmlstyle.c - htmlstyle2.c - htmlstyle3.c - htmlstylesheet.c - htmltable.c - htmltablerow.c - htmltextarea.c - htmltextcont.c - htmltextnode.c - htmlwindow.c - install.c - loadopts.c - main.c - mutation.c - navigate.c - nsembed.c - nsevents.c - nsio.c - nsservice.c - olecmd.c - oleobj.c - olewnd.c - omnavigator.c - persist.c - protocol.c - script.c - secmgr.c - selection.c - service.c - task.c - txtrange.c - view.c - rsrc.rc - . - wine - strmiids - uuid - urlmon - shlwapi - ole32 - oleaut32 - user32 - gdi32 - advapi32 - wininet - ntdll - mshtml_nsiface_header - - - nsiface.idl - - diff --git a/reactos/dll/win32/msi/msi.rbuild b/reactos/dll/win32/msi/msi.rbuild deleted file mode 100644 index 72c034dd15a..00000000000 --- a/reactos/dll/win32/msi/msi.rbuild +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - action.c - alter.c - appsearch.c - assembly.c - automation.c - classes.c - cond.tab.c - create.c - custom.c - database.c - delete.c - dialog.c - distinct.c - drop.c - events.c - files.c - font.c - format.c - handle.c - insert.c - install.c - media.c - msi.c - msi_main.c - msiquery.c - package.c - patch.c - record.c - registry.c - script.c - select.c - source.c - sql.tab.c - storages.c - streams.c - string.c - suminfo.c - table.c - tokenize.c - update.c - upgrade.c - where.c - msi.rc - msipriv.h - . - wine - uuid - urlmon - wininet - comctl32 - shell32 - shlwapi - cabinet - oleaut32 - ole32 - version - user32 - gdi32 - advapi32 - odbccp32 - ntdll - pseh - msiserver_interface - wintrust - crypt32 - imagehlp - msiserver - msiheader - - - msiserver.idl - - - msiserver.idl - - - msiserver.idl - - diff --git a/reactos/dll/win32/msimg32/msimg32.rbuild b/reactos/dll/win32/msimg32/msimg32.rbuild deleted file mode 100644 index 937c850523e..00000000000 --- a/reactos/dll/win32/msimg32/msimg32.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - . - include/reactos/wine - - wine - gdi32 - ntdll - msimg32_main.c - diff --git a/reactos/dll/win32/msimtf/msimtf.rbuild b/reactos/dll/win32/msimtf/msimtf.rbuild deleted file mode 100644 index ac53d3acc5b..00000000000 --- a/reactos/dll/win32/msimtf/msimtf.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - . - include/reactos/wine - - activeimmapp.c - main.c - rsrc.rc - wine - uuid - imm32 - - diff --git a/reactos/dll/win32/msisip/msisip.rbuild b/reactos/dll/win32/msisip/msisip.rbuild deleted file mode 100644 index 58cdf7e7c4c..00000000000 --- a/reactos/dll/win32/msisip/msisip.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - include/reactos/wine - - main.c - wine - crypt32 - ole32 - ntdll - diff --git a/reactos/dll/win32/msisys.ocx/msisys.ocx.rbuild b/reactos/dll/win32/msisys.ocx/msisys.ocx.rbuild deleted file mode 100644 index 2e7105a2264..00000000000 --- a/reactos/dll/win32/msisys.ocx/msisys.ocx.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - include/reactos/wine - - msisys.c - wine - uuid - ntdll - diff --git a/reactos/dll/win32/msnet32/msnet32.rbuild b/reactos/dll/win32/msnet32/msnet32.rbuild deleted file mode 100644 index 553020eaf5f..00000000000 --- a/reactos/dll/win32/msnet32/msnet32.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - msnet_main.c - wine - ntdll - diff --git a/reactos/dll/win32/msports/msports.rbuild b/reactos/dll/win32/msports/msports.rbuild deleted file mode 100644 index d8d10e1ac68..00000000000 --- a/reactos/dll/win32/msports/msports.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - . - - wine - kernel32 - advapi32 - comctl32 - user32 - setupapi - classinst.c - comdb.c - msports.c - serial.c - msports.rc - precomp.h - diff --git a/reactos/dll/win32/msrle32/msrle32.rbuild b/reactos/dll/win32/msrle32/msrle32.rbuild deleted file mode 100644 index 2b8a6ca4dc6..00000000000 --- a/reactos/dll/win32/msrle32/msrle32.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - include/reactos/wine - - msrle32.c - rsrc.rc - wine - winmm - user32 - ntdll - diff --git a/reactos/dll/win32/mssign32/mssign32.rbuild b/reactos/dll/win32/mssign32/mssign32.rbuild deleted file mode 100644 index ff1be496483..00000000000 --- a/reactos/dll/win32/mssign32/mssign32.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - include/reactos/wine - - mssign32_main.c - wine - ntdll - diff --git a/reactos/dll/win32/mssip32/mssip32.rbuild b/reactos/dll/win32/mssip32/mssip32.rbuild deleted file mode 100644 index 691f8ba153d..00000000000 --- a/reactos/dll/win32/mssip32/mssip32.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - include/reactos/wine - - main.c - wine - ntdll - diff --git a/reactos/dll/win32/mstask/mstask.rbuild b/reactos/dll/win32/mstask/mstask.rbuild deleted file mode 100644 index 095642eaaba..00000000000 --- a/reactos/dll/win32/mstask/mstask.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - 0x600 - factory.c - mstask_main.c - task.c - task_scheduler.c - task_trigger.c - rsrc.rc - mstask_private.h - mstask_local_interface - wine - uuid - ole32 - ntdll - - - mstask_local.idl - - diff --git a/reactos/dll/win32/msvcrt/msvcrt.rbuild b/reactos/dll/win32/msvcrt/msvcrt.rbuild deleted file mode 100644 index eef606663f6..00000000000 --- a/reactos/dll/win32/msvcrt/msvcrt.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - . - include - - - - - - - - -enable-stdcall-fixup - - - "extern __attribute__ ((dllexport))" - - crt - wine - ntdll - pseh - precomp.h - dllmain.c - stubs.c - msvcrt.rc - diff --git a/reactos/dll/win32/msvcrt20/msvcrt20.rbuild b/reactos/dll/win32/msvcrt20/msvcrt20.rbuild deleted file mode 100644 index 519c7b956d2..00000000000 --- a/reactos/dll/win32/msvcrt20/msvcrt20.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - . - include - - - - - - - - msvcrt20.c - stubs.c - wine - crt - pseh - - diff --git a/reactos/dll/win32/msvcrt40/msvcrt40.rbuild b/reactos/dll/win32/msvcrt40/msvcrt40.rbuild deleted file mode 100644 index 83cb9e38261..00000000000 --- a/reactos/dll/win32/msvcrt40/msvcrt40.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - . - include - - - - - - - - msvcrt40.c - stubs.c - wine - crt - pseh - - diff --git a/reactos/dll/win32/msvfw32/msvfw32.rbuild b/reactos/dll/win32/msvfw32/msvfw32.rbuild deleted file mode 100644 index bd7c362caa4..00000000000 --- a/reactos/dll/win32/msvfw32/msvfw32.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - . - include/reactos/wine - - - mciwnd.c - msvideo_main.c - drawdib.c - rsrc.rc - wine - winmm - version - comctl32 - user32 - gdi32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/msvidc32/msvidc32.rbuild b/reactos/dll/win32/msvidc32/msvidc32.rbuild deleted file mode 100644 index be8d9eb0036..00000000000 --- a/reactos/dll/win32/msvidc32/msvidc32.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - msvideo1.c - rsrc.rc - wine - user32 - ntdll - diff --git a/reactos/dll/win32/mswsock/mswsock.rbuild b/reactos/dll/win32/mswsock/mswsock.rbuild deleted file mode 100644 index 7b6c4e46443..00000000000 --- a/reactos/dll/win32/mswsock/mswsock.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - ws2_32 - extensions.c - stubs.c - mswsock.rc - precomp.h - diff --git a/reactos/dll/win32/msxml3/msxml3.rbuild b/reactos/dll/win32/msxml3/msxml3.rbuild deleted file mode 100644 index a0e8adc568d..00000000000 --- a/reactos/dll/win32/msxml3/msxml3.rbuild +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - . - include/reactos/wine - . - msxml3_v1 - - - 0x601 - - /FIwine/typeof.h - libxml2 - wine - wineldr - urlmon - wininet - ws2_32 - comctl32 - shell32 - shlwapi - cabinet - oleaut32 - ole32 - version - user32 - gdi32 - advapi32 - uuid - ntdll - attribute.c - comment.c - domdoc.c - element.c - factory.c - main.c - httprequest.c - node.c - nodelist.c - nodemap.c - parseerror.c - pi.c - queryresult.c - regsvr.c - schema.c - text.c - uuid.c - xmldoc.c - xmlelem.c - saxreader.c - bsc.c - cdata.c - dispex.c - docfrag.c - domimpl.c - entityref.c - version.rc - - - stdole2 - msxml3_v1.idl - - diff --git a/reactos/dll/win32/nddeapi/nddeapi.rbuild b/reactos/dll/win32/nddeapi/nddeapi.rbuild deleted file mode 100644 index ffffa4844ee..00000000000 --- a/reactos/dll/win32/nddeapi/nddeapi.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - wine - ntdll - nddeapi.c - diff --git a/reactos/dll/win32/netapi32/netapi32.rbuild b/reactos/dll/win32/netapi32/netapi32.rbuild deleted file mode 100644 index 3bf8d57f060..00000000000 --- a/reactos/dll/win32/netapi32/netapi32.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - . - include/reactos/wine - - access.c - apibuf.c - browsr.c - ds.c - local_group.c - nbcmdqueue.c - nbnamecache.c - nbt.c - netapi32.c - netbios.c - share.c - wksta.c - wine - iphlpapi - ws2_32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/netcfgx/netcfgx.rbuild b/reactos/dll/win32/netcfgx/netcfgx.rbuild deleted file mode 100644 index 3198641b0d0..00000000000 --- a/reactos/dll/win32/netcfgx/netcfgx.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - 0x0600 - ntdll - rpcrt4 - setupapi - advapi32 - uuid - iphlpapi - dhcpcsvc - wine - ole32 - user32 - comctl32 - ws2_32 - netcfgx.c - classfactory.c - netcfg_iface.c - inetcfgcomp_iface.c - tcpipconf_notify.c - netcfgx.rc - precomp.h - diff --git a/reactos/dll/win32/netevent/netevent.rbuild b/reactos/dll/win32/netevent/netevent.rbuild deleted file mode 100644 index ac6f34013fc..00000000000 --- a/reactos/dll/win32/netevent/netevent.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - . - . - neteventmsg - netevt.rc - diff --git a/reactos/dll/win32/netid/netid.rbuild b/reactos/dll/win32/netid/netid.rbuild deleted file mode 100644 index b861f9aedeb..00000000000 --- a/reactos/dll/win32/netid/netid.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - ntdll - user32 - gdi32 - comctl32 - advapi32 - netapi32 - netid.c - netid.rc - diff --git a/reactos/dll/win32/netshell/netshell.rbuild b/reactos/dll/win32/netshell/netshell.rbuild deleted file mode 100644 index 2093d28ff0f..00000000000 --- a/reactos/dll/win32/netshell/netshell.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - . - - 0x600 - shlwapi - shell32 - version - iphlpapi - wine - ole32 - user32 - uuid - advapi32 - setupapi - ws2_32 - comctl32 - precomp.h - netshell.cpp - shfldr_netconnect.cpp - enumlist.cpp - netshell.rc - classfactory.cpp - connectmanager.cpp - lanconnectui.cpp - lanstatusui.cpp - diff --git a/reactos/dll/win32/newdev/newdev.rbuild b/reactos/dll/win32/newdev/newdev.rbuild deleted file mode 100644 index 86636e12d21..00000000000 --- a/reactos/dll/win32/newdev/newdev.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - . - - newdev.c - stubs.c - wizard.c - newdev.rc - newdev_private.h - wine - gdi32 - comctl32 - ntdll - setupapi - advapi32 - user32 - shell32 - diff --git a/reactos/dll/win32/ntdsapi/ntdsapi.rbuild b/reactos/dll/win32/ntdsapi/ntdsapi.rbuild deleted file mode 100644 index 9048109edf5..00000000000 --- a/reactos/dll/win32/ntdsapi/ntdsapi.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/wine - - wine - user32 - ntdll - ntdsapi.c - diff --git a/reactos/dll/win32/ntlanman/ntlanman.rbuild b/reactos/dll/win32/ntlanman/ntlanman.rbuild deleted file mode 100644 index 1596633e36a..00000000000 --- a/reactos/dll/win32/ntlanman/ntlanman.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - . - netapi32 - ntdll - wine - ntlanman.c - ntlanman.rc - diff --git a/reactos/dll/win32/ntmarta/ntmarta.rbuild b/reactos/dll/win32/ntmarta/ntmarta.rbuild deleted file mode 100644 index 56696aa67d1..00000000000 --- a/reactos/dll/win32/ntmarta/ntmarta.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - - 0x600 - ntdll - advapi32 - user32 - ntmarta.c - ntmarta.rc - ntmarta.h - diff --git a/reactos/dll/win32/ntprint/ntprint.rbuild b/reactos/dll/win32/ntprint/ntprint.rbuild deleted file mode 100644 index 8a65cd03dbc..00000000000 --- a/reactos/dll/win32/ntprint/ntprint.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - . - include/reactos/wine - - ntprint.c - ntprint.rc - wine - winspool - ntdll - - diff --git a/reactos/dll/win32/objsel/objsel.rbuild b/reactos/dll/win32/objsel/objsel.rbuild deleted file mode 100644 index 21254087886..00000000000 --- a/reactos/dll/win32/objsel/objsel.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - wine - ole32 - user32 - advapi32 - uuid - ntdll - factory.c - objsel.c - objsel.rc - objsel_private.h - - diff --git a/reactos/dll/win32/odbc32/odbc32.rbuild b/reactos/dll/win32/odbc32/odbc32.rbuild deleted file mode 100644 index 30d8de7cea1..00000000000 --- a/reactos/dll/win32/odbc32/odbc32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - . - include/reactos/wine - - wine - advapi32 - proxyodbc.c - - \ No newline at end of file diff --git a/reactos/dll/win32/odbccp32/odbccp32.rbuild b/reactos/dll/win32/odbccp32/odbccp32.rbuild deleted file mode 100644 index 15bb8d84bb4..00000000000 --- a/reactos/dll/win32/odbccp32/odbccp32.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - . - include/reactos/wine - - wine - advapi32 - uuid - ntdll - odbccp32.c - - diff --git a/reactos/dll/win32/ole32/ole32.rbuild b/reactos/dll/win32/ole32/ole32.rbuild deleted file mode 100644 index b7ad1906e1a..00000000000 --- a/reactos/dll/win32/ole32/ole32.rbuild +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - - OLE32_ - CLSID_PSFactoryBuffer - - - wine - advapi32 - user32 - gdi32 - ole32_irot_client - ole32_proxy - rpcrt4 - ntdll - uuid - pseh - antimoniker.c - bindctx.c - classmoniker.c - clipboard.c - comcat.c - compobj.c - compositemoniker.c - datacache.c - defaulthandler.c - dictionary.c - enumx.c - errorinfo.c - filelockbytes.c - filemoniker.c - ftmarshal.c - git.c - hglobalstream.c - ifs.c - itemmoniker.c - marshal.c - memlockbytes.c - moniker.c - ole2.c - ole2stubs.c - ole2impl.c - ole32_main.c - oleobj.c - oleproxy.c - pointermoniker.c - regsvr.c - rpc.c - stg_prop.c - stg_stream.c - storage32.c - stubmanager.c - usrmarshal.c - ole32res.rc - dcom.idl - irot.idl - . - - - irot.idl - - - irot.idl - - - - - - OLE32_ - CLSID_PSFactoryBuffer - - dcom.idl - ole32_unknwn.idl - ole32_objidl.idl - ole32_oleidl.idl - - diff --git a/reactos/dll/win32/oleacc/oleacc.rbuild b/reactos/dll/win32/oleacc/oleacc.rbuild deleted file mode 100644 index 47f07e87b85..00000000000 --- a/reactos/dll/win32/oleacc/oleacc.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - . - include/reactos/wine - - main.c - oleacc.rc - wine - user32 - ntdll - - diff --git a/reactos/dll/win32/oleaut32/oleaut32.rbuild b/reactos/dll/win32/oleaut32/oleaut32.rbuild deleted file mode 100644 index 8f8580ebbd6..00000000000 --- a/reactos/dll/win32/oleaut32/oleaut32.rbuild +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - . - include/reactos/libs/libjpeg - include/reactos/wine - - 0x600 - "{0xb196b286,0xbab4,0x101a,{0xb6,0x9c,0x00,0xaa,0x00,0x34,0x1d,0x07}}" - - - - - OLEAUTPS_ - /FIwine/typeof.h - connpt.c - dispatch.c - hash.c - oleaut.c - olefont.c - olepicture.c - recinfo.c - regsvr.c - safearray.c - stubs.c - tmarshal.c - typelib.c - typelib2.c - ungif.c - usrmarshal.c - varformat.c - variant.c - vartype.c - oleaut32.rc - oleaut32_oaidl.idl - . - oleaut32_proxy - wine - windowscodecs - wineldr - ole32 - rpcrt4 - user32 - gdi32 - advapi32 - ntdll - comctl32 - urlmon - uuid - pseh - - - - "{0xb196b286,0xbab4,0x101a,{0xb6,0x9c,0x00,0xaa,0x00,0x34,0x1d,0x07}}" - - - - OLEAUTPS_ - oleaut32_oaidl.idl - oleaut32_ocidl.idl - - diff --git a/reactos/dll/win32/olecli32/olecli32.rbuild b/reactos/dll/win32/olecli32/olecli32.rbuild deleted file mode 100644 index 29e90e87fbb..00000000000 --- a/reactos/dll/win32/olecli32/olecli32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - include/reactos/wine - - olecli_main.c - wine - ole32 - gdi32 - ntdll - diff --git a/reactos/dll/win32/oledlg/oledlg.rbuild b/reactos/dll/win32/oledlg/oledlg.rbuild deleted file mode 100644 index 879c0b514a0..00000000000 --- a/reactos/dll/win32/oledlg/oledlg.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - . - include/reactos/wine - - wine - ole32 - comdlg32 - user32 - advapi32 - ntdll - insobjdlg.c - oledlg_main.c - pastespl.c - rsrc.rc - - diff --git a/reactos/dll/win32/olepro32/olepro32.rbuild b/reactos/dll/win32/olepro32/olepro32.rbuild deleted file mode 100644 index 837097e5fb6..00000000000 --- a/reactos/dll/win32/olepro32/olepro32.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - . - include/reactos/wine - - wine - oleaut32 - ntdll - olepro32stubs.c - version.rc - diff --git a/reactos/dll/win32/olesvr32/olesvr32.rbuild b/reactos/dll/win32/olesvr32/olesvr32.rbuild deleted file mode 100644 index f36db797247..00000000000 --- a/reactos/dll/win32/olesvr32/olesvr32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - . - include/reactos/wine - - olesvr_main.c - wine - ntdll - - diff --git a/reactos/dll/win32/olethk32/olethk32.rbuild b/reactos/dll/win32/olethk32/olethk32.rbuild deleted file mode 100644 index 653460355c6..00000000000 --- a/reactos/dll/win32/olethk32/olethk32.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/wine - - main.c - version.rc - wine - ntdll - diff --git a/reactos/dll/win32/opengl32/opengl32.rbuild b/reactos/dll/win32/opengl32/opengl32.rbuild deleted file mode 100644 index a367804b29c..00000000000 --- a/reactos/dll/win32/opengl32/opengl32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - ntdll - gdi32 - user32 - advapi32 - glu32 - opengl32.h - font.c - gl.c - opengl32.c - wgl.c - diff --git a/reactos/dll/win32/pdh/pdh.rbuild b/reactos/dll/win32/pdh/pdh.rbuild deleted file mode 100644 index db1ea7eab09..00000000000 --- a/reactos/dll/win32/pdh/pdh.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/wine - - 0x600 - wine - ntdll - pdh_main.c - diff --git a/reactos/dll/win32/pidgen/pidgen.rbuild b/reactos/dll/win32/pidgen/pidgen.rbuild deleted file mode 100644 index 504f1acb855..00000000000 --- a/reactos/dll/win32/pidgen/pidgen.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/wine - - main.c - rsrc.rc - wine - ntdll - diff --git a/reactos/dll/win32/powrprof/powrprof.rbuild b/reactos/dll/win32/powrprof/powrprof.rbuild deleted file mode 100644 index 23d545071a9..00000000000 --- a/reactos/dll/win32/powrprof/powrprof.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - wine - advapi32 - ntdll - user32 - comctl32 - powrprof.c - powrprof.rc - diff --git a/reactos/dll/win32/printui/printui.rbuild b/reactos/dll/win32/printui/printui.rbuild deleted file mode 100644 index 6596eb2a847..00000000000 --- a/reactos/dll/win32/printui/printui.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - wine - shell32 - ntdll - printui.c - printui.rc - diff --git a/reactos/dll/win32/psapi/psapi.rbuild b/reactos/dll/win32/psapi/psapi.rbuild deleted file mode 100644 index 7c21b6cc5a3..00000000000 --- a/reactos/dll/win32/psapi/psapi.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - include - epsapi - pseh - ntdll - precomp.h - malloc.c - psapi.c - psapi.rc - diff --git a/reactos/dll/win32/pstorec/pstorec.rbuild b/reactos/dll/win32/pstorec/pstorec.rbuild deleted file mode 100644 index 0b932b67acf..00000000000 --- a/reactos/dll/win32/pstorec/pstorec.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - stdole2 - pstorec_tlb.idl - - - - - . - - pstorec_tlb - wine - uuid - pstorec.c - rsrc.rc - - diff --git a/reactos/dll/win32/qmgr/qmgr.rbuild b/reactos/dll/win32/qmgr/qmgr.rbuild deleted file mode 100644 index 790313ee9d5..00000000000 --- a/reactos/dll/win32/qmgr/qmgr.rbuild +++ /dev/null @@ -1,35 +0,0 @@ - - - - - . - . - include/reactos/wine - - qmgr_local_header - wine - uuid - wininet - urlmon - ole32 - advapi32 - ntdll - qmgr_local_interface - enum_files.c - enum_jobs.c - factory.c - file.c - job.c - qmgr.c - qmgr_main.c - service.c - rsrc.rc - qmgr.h - - - qmgr_local.idl - - - qmgr_local.idl - - diff --git a/reactos/dll/win32/qmgrprxy/qmgrprxy.rbuild b/reactos/dll/win32/qmgrprxy/qmgrprxy.rbuild deleted file mode 100644 index 56de3523708..00000000000 --- a/reactos/dll/win32/qmgrprxy/qmgrprxy.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - . - include/reactos/wine - . - - wine - qmgrprxy_interface - qmgrprxy_proxy - ntdll - rpcrt4 - pseh - version.rc - - - qmgrprxy.idl - - - - - qmgrprxy.idl - - diff --git a/reactos/dll/win32/query/query.rbuild b/reactos/dll/win32/query/query.rbuild deleted file mode 100644 index 8360231e473..00000000000 --- a/reactos/dll/win32/query/query.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - include/reactos/wine - - - query_main.c - wine - uuid - ntdll - diff --git a/reactos/dll/win32/rasadhlp/rasadhlp.rbuild b/reactos/dll/win32/rasadhlp/rasadhlp.rbuild deleted file mode 100644 index b98b8fe9327..00000000000 --- a/reactos/dll/win32/rasadhlp/rasadhlp.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - include/reactos/winsock - . - ntdll - ws2_32 - autodial.c - init.c - winsock.c - precomp.h - diff --git a/reactos/dll/win32/rasapi32/rasapi32.rbuild b/reactos/dll/win32/rasapi32/rasapi32.rbuild deleted file mode 100644 index ca0896a6600..00000000000 --- a/reactos/dll/win32/rasapi32/rasapi32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - . - include/reactos/wine - - rasapi.c - wine - ntdll - - diff --git a/reactos/dll/win32/rasdlg/rasdlg.rbuild b/reactos/dll/win32/rasdlg/rasdlg.rbuild deleted file mode 100644 index 8c0dc5c70fa..00000000000 --- a/reactos/dll/win32/rasdlg/rasdlg.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - wine - ntdll - uuid - rasdlg.c - rasdlg.rc - diff --git a/reactos/dll/win32/rasman/rasman.rbuild b/reactos/dll/win32/rasman/rasman.rbuild deleted file mode 100644 index 2fabb5ceb8d..00000000000 --- a/reactos/dll/win32/rasman/rasman.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - wine - ntdll - uuid - rasman.c - rasman.rc - diff --git a/reactos/dll/win32/resutils/resutils.rbuild b/reactos/dll/win32/resutils/resutils.rbuild deleted file mode 100644 index f4c65c62012..00000000000 --- a/reactos/dll/win32/resutils/resutils.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - resutils.c - wine - ntdll - diff --git a/reactos/dll/win32/riched20/riched20.rbuild b/reactos/dll/win32/riched20/riched20.rbuild deleted file mode 100644 index f5869ae868e..00000000000 --- a/reactos/dll/win32/riched20/riched20.rbuild +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - . - include/reactos/wine - - /FIwine/typeof.h - -enable-stdcall-fixup - caret.c - clipboard.c - context.c - editor.c - list.c - paint.c - para.c - reader.c - richole.c - row.c - run.c - string.c - style.c - table.c - txthost.c - txtsrv.c - undo.c - wrap.c - writer.c - version.rc - editor.h - wine - uuid - ole32 - oleaut32 - imm32 - user32 - gdi32 - ntdll - - diff --git a/reactos/dll/win32/riched32/riched32.rbuild b/reactos/dll/win32/riched32/riched32.rbuild deleted file mode 100644 index df98770a420..00000000000 --- a/reactos/dll/win32/riched32/riched32.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - . - include/reactos/wine - - richedit.c - version.rc - wine - riched20 - user32 - ntdll - - diff --git a/reactos/dll/win32/rpcrt4/rpcrt4.rbuild b/reactos/dll/win32/rpcrt4/rpcrt4.rbuild deleted file mode 100644 index 54841c607ef..00000000000 --- a/reactos/dll/win32/rpcrt4/rpcrt4.rbuild +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - . - include/reactos/wine - 0x600 - - - - wine - uuid - rpcrt4_epm_client - user32 - advapi32 - secur32 - wininet - delayimp - iphlpapi - ws2_32 - ntdll - pseh - cproxy.c - cpsf.c - cstub.c - ndr_contexthandle.c - ndr_clientserver.c - ndr_fullpointer.c - ndr_marshall.c - ndr_ole.c - ndr_stubless.c - rpc_assoc.c - rpc_async.c - rpc_binding.c - rpc_epmap.c - rpc_message.c - rpc_server.c - rpc_transport.c - rpcrt4_main.c - unix_func.c - ndr_es.c - rpcrt4.rc - epm.idl - . - - - epm.idl - - diff --git a/reactos/dll/win32/rsabase/rsabase.rbuild b/reactos/dll/win32/rsabase/rsabase.rbuild deleted file mode 100644 index 8f530853879..00000000000 --- a/reactos/dll/win32/rsabase/rsabase.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - . - include/reactos/wine - - wine - rsaenh - ntdll - version.rc - - diff --git a/reactos/dll/win32/rsaenh/rsaenh.rbuild b/reactos/dll/win32/rsaenh/rsaenh.rbuild deleted file mode 100644 index 4c909f3254d..00000000000 --- a/reactos/dll/win32/rsaenh/rsaenh.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - . - include/reactos/wine - - aes.c - des.c - handle.c - implglue.c - md2.c - mpi.c - rc2.c - rc4.c - rsa.c - rsaenh.c - sha2.c - version.rc - tomcrypt.h - wine - crypt32 - advapi32 - ntdll - - diff --git a/reactos/dll/win32/samlib/samlib.rbuild b/reactos/dll/win32/samlib/samlib.rbuild deleted file mode 100644 index ef18092c2ba..00000000000 --- a/reactos/dll/win32/samlib/samlib.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - ntdll - advapi32 - dllmain.c - samlib.c - samlib.rc - precomp.h - diff --git a/reactos/dll/win32/samsrv/samsrv.rbuild b/reactos/dll/win32/samsrv/samsrv.rbuild deleted file mode 100644 index 3676ab2de2d..00000000000 --- a/reactos/dll/win32/samsrv/samsrv.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - . - ntdll - samsrv.c - samsrv.rc - diff --git a/reactos/dll/win32/sccbase/sccbase.rbuild b/reactos/dll/win32/sccbase/sccbase.rbuild deleted file mode 100644 index dfe4f54918f..00000000000 --- a/reactos/dll/win32/sccbase/sccbase.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - include/reactos/wine - - main.c - wine - ntdll - diff --git a/reactos/dll/win32/schannel/schannel.rbuild b/reactos/dll/win32/schannel/schannel.rbuild deleted file mode 100644 index cfdfa8169b2..00000000000 --- a/reactos/dll/win32/schannel/schannel.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - . - include/reactos/wine - - wine - secur32 - ntdll - lsamode.c - schannel_main.c - usermode.c - version.rc - diff --git a/reactos/dll/win32/secur32/secur32.rbuild b/reactos/dll/win32/secur32/secur32.rbuild deleted file mode 100644 index 68db02d8ea6..00000000000 --- a/reactos/dll/win32/secur32/secur32.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - . - include/reactos/subsys - - lsalib - ntdll - advapi32 - dllmain.c - secext.c - sspi.c - stubs.c - secur32.rc - precomp.h - diff --git a/reactos/dll/win32/security/security.rbuild b/reactos/dll/win32/security/security.rbuild deleted file mode 100644 index e0519dc0d69..00000000000 --- a/reactos/dll/win32/security/security.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - - ntdll - advapi32 - security.rc - diff --git a/reactos/dll/win32/sensapi/sensapi.rbuild b/reactos/dll/win32/sensapi/sensapi.rbuild deleted file mode 100644 index e7b686e9eaa..00000000000 --- a/reactos/dll/win32/sensapi/sensapi.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - . - include/reactos/wine - - wine - ntdll - sensapi.c - diff --git a/reactos/dll/win32/serialui/serialui.rbuild b/reactos/dll/win32/serialui/serialui.rbuild deleted file mode 100644 index 31c760b7a45..00000000000 --- a/reactos/dll/win32/serialui/serialui.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - user32 - shlwapi - serialui.c - serialui.rc - diff --git a/reactos/dll/win32/setupapi/setupapi.rbuild b/reactos/dll/win32/setupapi/setupapi.rbuild deleted file mode 100644 index 4943f56eecc..00000000000 --- a/reactos/dll/win32/setupapi/setupapi.rbuild +++ /dev/null @@ -1,44 +0,0 @@ - - - - - . - include/reactos/wine - . - - - _wcsnicmp - - - - pnp_client - uuid - wine - ntdll - gdi32 - comctl32 - advapi32 - user32 - rpcrt4 - version - shell32 - pseh - cfgmgr.c - devclass.c - devinst.c - dirid.c - diskspace.c - driver.c - install.c - interface.c - misc.c - parser.c - query.c - queue.c - setupcab.c - stringtable.c - stubs.c - rpc.c - setupapi.rc - setupapi_private.h - diff --git a/reactos/dll/win32/sfc/sfc.rbuild b/reactos/dll/win32/sfc/sfc.rbuild deleted file mode 100644 index 8bc34b450c9..00000000000 --- a/reactos/dll/win32/sfc/sfc.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - . - sfc.c - precomp.h - diff --git a/reactos/dll/win32/sfc_os/sfc_os.rbuild b/reactos/dll/win32/sfc_os/sfc_os.rbuild deleted file mode 100644 index 033f4ddd9d5..00000000000 --- a/reactos/dll/win32/sfc_os/sfc_os.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - . - sfc_os.c - precomp.h - diff --git a/reactos/dll/win32/shdoclc/shdoclc.rbuild b/reactos/dll/win32/shdoclc/shdoclc.rbuild deleted file mode 100644 index a47d5f094ba..00000000000 --- a/reactos/dll/win32/shdoclc/shdoclc.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - . - include/reactos/wine - wine - rsrc.rc - diff --git a/reactos/dll/win32/shdocvw/shdocvw.rbuild b/reactos/dll/win32/shdocvw/shdocvw.rbuild deleted file mode 100644 index e7a721bfe7d..00000000000 --- a/reactos/dll/win32/shdocvw/shdocvw.rbuild +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - . - include/reactos/wine - . - - wine - uuid - ntdll - advapi32 - comctl32 - user32 - ole32 - oleaut32 - gdi32 - shell32 - shlwapi - version - urlmon - shdocvw_v1 - classinfo.c - client.c - dochost.c - events.c - factory.c - frame.c - ie.c - iexplore.c - intshcut.c - navigate.c - oleobject.c - persist.c - shdocvw_main.c - shlinstobj.c - taskbarlist.c - urlhist.c - view.c - webbrowser.c - shdocvw.rc - shdocvw.h - - - stdole2 - shdocvw_v1.idl - - diff --git a/reactos/dll/win32/shell32/shell32.rbuild b/reactos/dll/win32/shell32/shell32.rbuild deleted file mode 100644 index 083b8d0fd83..00000000000 --- a/reactos/dll/win32/shell32/shell32.rbuild +++ /dev/null @@ -1,96 +0,0 @@ - - - - - . - . - include/reactos/wine - . - - - - - - 0x600 - wine - uuid - recyclebin - ntdll - advapi32 - gdi32 - user32 - comctl32 - comdlg32 - shdocvw - shlwapi - ole32 - version - devmgr - winspool - winmm - msvcrt - atlnew - fmifs - precomp.h - authors.cpp - autocomplete.cpp - brsfolder.cpp - changenotify.cpp - classes.cpp - clipboard.cpp - control.cpp - dataobject.cpp - dde.cpp - debughlp.cpp - desktop.cpp - dialogs.cpp - dragdrophelper.cpp - enumidlist.cpp - extracticon.cpp - folders.cpp - iconcache.cpp - pidl.cpp - shell32_main.cpp - shellitem.cpp - shelllink.cpp - shellole.cpp - shellord.cpp - shellpath.cpp - shellreg.cpp - shellstring.cpp - - desktop.cpp - fs.cpp - mycomp.cpp - mydocuments.cpp - printers.cpp - admintools.cpp - netplaces.cpp - fonts.cpp - cpanel.cpp - recyclebin.cpp - - shlexec.cpp - shlfileop.cpp - shlfolder.cpp - shlfsbind.cpp - shlmenu.cpp - shlview.cpp - shpolicy.cpp - stubs.cpp - systray.cpp - fprop.cpp - drive.cpp - defcontextmenu.cpp - startmenu.cpp - openwithmenu.cpp - newmenu.cpp - folder_options.cpp - filedefext.cpp - drvdefext.cpp - shell32.rc - - - shobjidl_local.idl - - diff --git a/reactos/dll/win32/shfolder/shfolder.rbuild b/reactos/dll/win32/shfolder/shfolder.rbuild deleted file mode 100644 index 02bd50cee30..00000000000 --- a/reactos/dll/win32/shfolder/shfolder.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - . - include/reactos/wine - - version.rc - wine - shell32 - ntdll - - diff --git a/reactos/dll/win32/shimgvw/shimgvw.rbuild b/reactos/dll/win32/shimgvw/shimgvw.rbuild deleted file mode 100644 index 2e5eea1e3e0..00000000000 --- a/reactos/dll/win32/shimgvw/shimgvw.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - . - advapi32 - comctl32 - ntdll - user32 - gdi32 - gdiplus - shimgvw.c - shimgvw.rc - diff --git a/reactos/dll/win32/shlwapi/shlwapi.rbuild b/reactos/dll/win32/shlwapi/shlwapi.rbuild deleted file mode 100644 index 24d2e5c0502..00000000000 --- a/reactos/dll/win32/shlwapi/shlwapi.rbuild +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - . - include/reactos/wine - 0x600 - - assoc.c - clist.c - istream.c - msgbox.c - ordinal.c - path.c - reg.c - regstream.c - shlwapi_main.c - stopwatch.c - string.c - thread.c - url.c - wsprintf.c - shlwapi.rc - wine - uuid - user32 - gdi32 - advapi32 - oleaut32 - ole32 - comctl32 - comdlg32 - mpr - mlang - urlmon - shell32 - winmm - version - msvcrt - ntdll - - diff --git a/reactos/dll/win32/slbcsp/slbcsp.rbuild b/reactos/dll/win32/slbcsp/slbcsp.rbuild deleted file mode 100644 index 12a4b825a91..00000000000 --- a/reactos/dll/win32/slbcsp/slbcsp.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - include/reactos/wine - - main.c - wine - ntdll - diff --git a/reactos/dll/win32/smdll/smdll.rbuild b/reactos/dll/win32/smdll/smdll.rbuild deleted file mode 100644 index b4cb35e03df..00000000000 --- a/reactos/dll/win32/smdll/smdll.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/subsys - smlib - ntdll - dllmain.c - query.c - smdll.rc - diff --git a/reactos/dll/win32/sndblst/sndblst.rbuild b/reactos/dll/win32/sndblst/sndblst.rbuild deleted file mode 100644 index b613c17d87a..00000000000 --- a/reactos/dll/win32/sndblst/sndblst.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - include/reactos/libs/sound - . - - mment4 - mmebuddy - ntdll - user32 - winmm - advapi32 - sndblst.c - diff --git a/reactos/dll/win32/snmpapi/snmpapi.rbuild b/reactos/dll/win32/snmpapi/snmpapi.rbuild deleted file mode 100644 index b361ddf082b..00000000000 --- a/reactos/dll/win32/snmpapi/snmpapi.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - 0x600 - ntdll - wine - main.c - snmpapi.rc - diff --git a/reactos/dll/win32/softpub/softpub.rbuild b/reactos/dll/win32/softpub/softpub.rbuild deleted file mode 100644 index fce15865866..00000000000 --- a/reactos/dll/win32/softpub/softpub.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - include/reactos/wine - - wine - wintrust - softpub.rc - diff --git a/reactos/dll/win32/spoolss/spoolss.rbuild b/reactos/dll/win32/spoolss/spoolss.rbuild deleted file mode 100644 index 85fbf39755f..00000000000 --- a/reactos/dll/win32/spoolss/spoolss.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - . - include/reactos/wine - - spoolss_main.c - router.c - wine - winspool - ntdll - - diff --git a/reactos/dll/win32/srclient/srclient.rbuild b/reactos/dll/win32/srclient/srclient.rbuild deleted file mode 100644 index 565c45d8e15..00000000000 --- a/reactos/dll/win32/srclient/srclient.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - . - ntdll - srclient_main.c - diff --git a/reactos/dll/win32/stdole2.tlb/stdole2.rbuild b/reactos/dll/win32/stdole2.tlb/stdole2.rbuild deleted file mode 100644 index 0b96229067f..00000000000 --- a/reactos/dll/win32/stdole2.tlb/stdole2.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - . - include/reactos/wine - - std_ole_v2.idl - - - - . - . - include/reactos/wine - std_ole_v2 - - rsrc.rc - - diff --git a/reactos/dll/win32/stdole32.tlb/stdole32.rbuild b/reactos/dll/win32/stdole32.tlb/stdole32.rbuild deleted file mode 100644 index 5d4c0018851..00000000000 --- a/reactos/dll/win32/stdole32.tlb/stdole32.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - . - include/reactos/wine - - std_ole_v1.idl - - - - . - . - include/reactos/wine - std_ole_v1 - - rsrc.rc - - diff --git a/reactos/dll/win32/sti/sti.rbuild b/reactos/dll/win32/sti/sti.rbuild deleted file mode 100644 index 51d2f67444a..00000000000 --- a/reactos/dll/win32/sti/sti.rbuild +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - . - include/reactos/wine - 0x600 - - STI_ - - - - regsvr.c - sti.c - sti_main.c - sti_wia.idl - wine - sti_proxy - ole32 - oleaut32 - rpcrt4 - advapi32 - pseh - uuid - ntdll - - - - STI_ - - - sti_wia.idl - - diff --git a/reactos/dll/win32/sxs/sxs.rbuild b/reactos/dll/win32/sxs/sxs.rbuild deleted file mode 100644 index 9a4b30e7b56..00000000000 --- a/reactos/dll/win32/sxs/sxs.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - include/reactos/wine - - cache.c - sxs.c - oleaut32 - ole32 - wine - ntdll - diff --git a/reactos/dll/win32/syssetup/syssetup.rbuild b/reactos/dll/win32/syssetup/syssetup.rbuild deleted file mode 100644 index 863745a090b..00000000000 --- a/reactos/dll/win32/syssetup/syssetup.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - . - pseh - uuid - ntdll - advapi32 - gdi32 - user32 - samlib - userenv - comctl32 - setupapi - ole32 - shell32 - shlwapi - classinst.c - dllmain.c - install.c - logfile.c - wizard.c - syssetup.rc - precomp.h - diff --git a/reactos/dll/win32/t2embed/t2embed.rbuild b/reactos/dll/win32/t2embed/t2embed.rbuild deleted file mode 100644 index 86709f67ea9..00000000000 --- a/reactos/dll/win32/t2embed/t2embed.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - include/reactos/wine - gdi32 - user32 - advapi32 - version - wine - t2embed.c - t2embed.rc - diff --git a/reactos/dll/win32/tapi32/tapi32.rbuild b/reactos/dll/win32/tapi32/tapi32.rbuild deleted file mode 100644 index cbbffb5d249..00000000000 --- a/reactos/dll/win32/tapi32/tapi32.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - . - include/reactos/wine - - assisted.c - internal.c - line.c - phone.c - wine - advapi32 - ntdll - - diff --git a/reactos/dll/win32/tapiui/tapiui.rbuild b/reactos/dll/win32/tapiui/tapiui.rbuild deleted file mode 100644 index 471441bec98..00000000000 --- a/reactos/dll/win32/tapiui/tapiui.rbuild +++ /dev/null @@ -1,4 +0,0 @@ - - . - tapiui.rc - diff --git a/reactos/dll/win32/traffic/traffic.rbuild b/reactos/dll/win32/traffic/traffic.rbuild deleted file mode 100644 index fc72cd55aea..00000000000 --- a/reactos/dll/win32/traffic/traffic.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - traffic_main.c - wine - ntdll - diff --git a/reactos/dll/win32/twain_32/twain_32.rbuild b/reactos/dll/win32/twain_32/twain_32.rbuild deleted file mode 100644 index cbcc5fedaeb..00000000000 --- a/reactos/dll/win32/twain_32/twain_32.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - . - wine - ntdll - capability.c - ds_audio.c - ds_ctrl.c - ds_image.c - dsm_ctrl.c - twain32_main.c - twain_32.rc - diff --git a/reactos/dll/win32/uext2/uext2.rbuild b/reactos/dll/win32/uext2/uext2.rbuild deleted file mode 100644 index 69e5f873084..00000000000 --- a/reactos/dll/win32/uext2/uext2.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - ext2lib - ntdll - uext2.c - uext2.rc - diff --git a/reactos/dll/win32/ufat/ufat.rbuild b/reactos/dll/win32/ufat/ufat.rbuild deleted file mode 100644 index 69201c9f1a0..00000000000 --- a/reactos/dll/win32/ufat/ufat.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - vfatlib - ntdll - ufat.c - ufat.rc - diff --git a/reactos/dll/win32/ufatx/ufatx.rbuild b/reactos/dll/win32/ufatx/ufatx.rbuild deleted file mode 100644 index bde1b6b4ad8..00000000000 --- a/reactos/dll/win32/ufatx/ufatx.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - . - vfatxlib - ntdll - ufatx.rc - diff --git a/reactos/dll/win32/unicows/unicows.rbuild b/reactos/dll/win32/unicows/unicows.rbuild deleted file mode 100644 index 8b1acd1d351..00000000000 --- a/reactos/dll/win32/unicows/unicows.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - avicap32 - msvfw32 - oledlg - comdlg32 - shell32 - winmm - winspool - rasapi32 - secur32 - sensapi - version - user32 - mpr - gdi32 - advapi32 - diff --git a/reactos/dll/win32/untfs/untfs.rbuild b/reactos/dll/win32/untfs/untfs.rbuild deleted file mode 100644 index 43e56ae96ce..00000000000 --- a/reactos/dll/win32/untfs/untfs.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - ntfslib - ntdll - untfs.c - untfs.rc - diff --git a/reactos/dll/win32/updspapi/updspapi.rbuild b/reactos/dll/win32/updspapi/updspapi.rbuild deleted file mode 100644 index 5b2ea9defee..00000000000 --- a/reactos/dll/win32/updspapi/updspapi.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - . - include/reactos/wine - - main.c - wine - setupapi - ntdll - diff --git a/reactos/dll/win32/url/url.rbuild b/reactos/dll/win32/url/url.rbuild deleted file mode 100644 index 049ffad9765..00000000000 --- a/reactos/dll/win32/url/url.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - - url_main.c - wine - shell32 - shlwapi - ntdll - diff --git a/reactos/dll/win32/urlmon/urlmon.rbuild b/reactos/dll/win32/urlmon/urlmon.rbuild deleted file mode 100644 index 050c77cdf3d..00000000000 --- a/reactos/dll/win32/urlmon/urlmon.rbuild +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - . - include/reactos/wine - - 0x600 - bindctx.c - binding.c - bindprot.c - download.c - file.c - format.c - ftp.c - gopher.c - http.c - internet.c - mimefilter.c - mk.c - protocol.c - protproxy.c - sec_mgr.c - session.c - umon.c - umstream.c - uri.c - urlmon_main.c - usrmarshal.c - rsrc.rc - urlmon_main.h - wine - uuid - rpcrt4 - ole32 - oleaut32 - shlwapi - shell32 - wininet - user32 - advapi32 - pseh - urlmon_proxy - ntdll - - - - URLMON_ - - - - "{0x79EAC9F1,0xBAF9,0x11CE,{0x8C,0x82,0x00,0xAA,0x00,0x4B,0xA9,0x0B}}" - urlmon_urlmon.idl - - diff --git a/reactos/dll/win32/user32/user32.pspec b/reactos/dll/win32/user32/user32.pspec deleted file mode 100644 index c1c45bf3333..00000000000 --- a/reactos/dll/win32/user32/user32.pspec +++ /dev/null @@ -1,787 +0,0 @@ -; Functions exported by Win 2K3 R2 -@ stdcall ActivateKeyboardLayout(long long) NtUserActivateKeyboardLayout -@ stdcall AdjustWindowRect(ptr long long) -@ stdcall AdjustWindowRectEx(ptr long long long) -@ stdcall AlignRects(ptr long long long) -@ stdcall AllowForegroundActivation() -@ stdcall AllowSetForegroundWindow(long) -@ stdcall AnimateWindow(long long long) -@ stdcall AnyPopup() -@ stdcall AppendMenuA(long long long ptr) -@ stdcall AppendMenuW(long long long ptr) -@ stdcall ArrangeIconicWindows(long) -@ stdcall AttachThreadInput(long long long) NtUserAttachThreadInput -@ stdcall BeginDeferWindowPos(long) -@ stdcall BeginPaint(long ptr) NtUserBeginPaint -@ stdcall BlockInput(long) NtUserBlockInput -@ stdcall BringWindowToTop(long) -@ stdcall BroadcastSystemMessage(long ptr long long long) BroadcastSystemMessageA -@ stdcall BroadcastSystemMessageA(long ptr long long long) -@ stdcall BroadcastSystemMessageExA(long ptr long long long ptr) -@ stdcall BroadcastSystemMessageExW(long ptr long long long ptr) -@ stdcall BroadcastSystemMessageW(long ptr long long long) -@ stub BuildReasonArray -@ stub CalcMenuBar -@ stdcall CallMsgFilter(ptr long) CallMsgFilterA -@ stdcall CallMsgFilterA(ptr long) -@ stdcall CallMsgFilterW(ptr long) -@ stdcall CallNextHookEx(long long long long) -@ stdcall CallWindowProcA(ptr long long long long) -@ stdcall CallWindowProcW(ptr long long long long) -@ stdcall CascadeChildWindows(long long) -@ stdcall CascadeWindows(long long ptr long ptr) -@ stdcall ChangeClipboardChain(long long) NtUserChangeClipboardChain -@ stdcall ChangeDisplaySettingsA(ptr long) -@ stdcall ChangeDisplaySettingsExA(str ptr long long ptr) -@ stdcall ChangeDisplaySettingsExW(wstr ptr long long ptr) -@ stdcall ChangeDisplaySettingsW(ptr long) -@ stdcall ChangeMenuA(long long ptr long long) -@ stdcall ChangeMenuW(long long ptr long long) -@ stdcall CharLowerA(str) -@ stdcall CharLowerBuffA(str long) -@ stdcall CharLowerBuffW(wstr long) -@ stdcall CharLowerW(wstr) -@ stdcall CharNextA(str) -@ stdcall CharNextExA(long str long) -@ stdcall CharNextW(wstr) -@ stdcall CharPrevA(str str) -@ stdcall CharPrevExA(long str str long) -@ stdcall CharPrevW(wstr wstr) -@ stdcall CharToOemA(str ptr) -@ stdcall CharToOemBuffA(str ptr long) -@ stdcall CharToOemBuffW(wstr ptr long) -@ stdcall CharToOemW(wstr ptr) -@ stdcall CharUpperA(str) -@ stdcall CharUpperBuffA(str long) -@ stdcall CharUpperBuffW(wstr long) -@ stdcall CharUpperW(wstr) -@ stdcall CheckDlgButton(long long long) -@ stdcall CheckMenuItem(long long long) -@ stdcall CheckMenuRadioItem(long long long long long) -@ stdcall CheckRadioButton(long long long long) -@ stdcall ChildWindowFromPoint(long double) -@ stdcall ChildWindowFromPointEx(long double long) ; Direct call NtUserChildWindowFromPointEx -@ stdcall CliImmSetHotKey(long long long ptr) -@ stdcall ClientThreadSetup() -@ stdcall ClientToScreen(long ptr) -@ stdcall ClipCursor(ptr) NtUserClipCursor -@ stdcall CloseClipboard() NtUserCloseClipboard -@ stdcall CloseDesktop(long) NtUserCloseDesktop -@ stdcall CloseWindow(long) -@ stdcall CloseWindowStation(long) NtUserCloseWindowStation -@ stdcall CopyAcceleratorTableA(long ptr long) -@ stdcall CopyAcceleratorTableW(long ptr long) NtUserCopyAcceleratorTable -@ stdcall CopyIcon(long) -@ stdcall CopyImage(long long long long long) -@ stdcall CopyRect(ptr ptr) -@ stdcall CountClipboardFormats() NtUserCountClipboardFormats -@ stdcall CreateAcceleratorTableA(ptr long) -@ stdcall CreateAcceleratorTableW(ptr long) NtUserCreateAcceleratorTable -@ stdcall CreateCaret(long long long long) NtUserCreateCaret -@ stdcall CreateCursor(long long long long long ptr ptr) -@ stdcall CreateDesktopA(str str ptr long long ptr) -@ stdcall CreateDesktopW(wstr wstr ptr long long ptr) -@ stdcall CreateDialogIndirectParamA(long ptr long ptr long) -@ stdcall CreateDialogIndirectParamAorW(long ptr long ptr long long) -@ stdcall CreateDialogIndirectParamW(long ptr long ptr long) -@ stdcall CreateDialogParamA(long ptr long ptr long) -@ stdcall CreateDialogParamW(long ptr long ptr long) -@ stdcall CreateIcon(long long long long long ptr ptr) -@ stdcall CreateIconFromResource (ptr long long long) -@ stdcall CreateIconFromResourceEx(ptr long long long long long long) -@ stdcall CreateIconIndirect(ptr) -@ stdcall CreateMDIWindowA(ptr ptr long long long long long long long long) -@ stdcall CreateMDIWindowW(ptr ptr long long long long long long long long) -@ stdcall CreateMenu() -@ stdcall CreatePopupMenu() -@ stub CreateSystemThreads -@ stdcall CreateWindowExA(long str str long long long long long long long long ptr) -@ stdcall CreateWindowExW(long wstr wstr long long long long long long long long ptr) -@ stdcall CreateWindowStationA(str long long ptr) -@ stdcall CreateWindowStationW(wstr long long ptr) -@ stdcall CsrBroadcastSystemMessageExW(long ptr long long long ptr) -@ stdcall CtxInitUser32() -@ stdcall DdeAbandonTransaction(long long long) -@ stdcall DdeAccessData(long ptr) -@ stdcall DdeAddData(long ptr long long) -@ stdcall DdeClientTransaction(ptr long long long long long long ptr) -@ stdcall DdeCmpStringHandles(long long) -@ stdcall DdeConnect(long long long ptr) -@ stdcall DdeConnectList(long long long long ptr) -@ stdcall DdeCreateDataHandle(long ptr long long long long long) -@ stdcall DdeCreateStringHandleA(long str long) -@ stdcall DdeCreateStringHandleW(long wstr long) -@ stdcall DdeDisconnect(long) -@ stdcall DdeDisconnectList(long) -@ stdcall DdeEnableCallback(long long long) -@ stdcall DdeFreeDataHandle(long) -@ stdcall DdeFreeStringHandle(long long) -@ stdcall DdeGetData(long ptr long long) -@ stdcall DdeGetLastError(long) -@ stdcall DdeGetQualityOfService(long long ptr) ; Direct call NtUserDdeGetQualityOfService -@ stdcall DdeImpersonateClient(long) -@ stdcall DdeInitializeA(ptr ptr long long) -@ stdcall DdeInitializeW(ptr ptr long long) -@ stdcall DdeKeepStringHandle(long long) -@ stdcall DdeNameService(long long long long) -@ stdcall DdePostAdvise(long long long) -@ stdcall DdeQueryConvInfo(long long ptr) -@ stdcall DdeQueryNextServer(long long) -@ stdcall DdeQueryStringA(long long ptr long long) -@ stdcall DdeQueryStringW(long long ptr long long) -@ stdcall DdeReconnect(long) -@ stdcall DdeSetQualityOfService(long ptr ptr) ; Direct call NtUserDdeSetQualityOfService -@ stdcall DdeSetUserHandle (long long long) -@ stdcall DdeUnaccessData(long) -@ stdcall DdeUninitialize(long) -@ stdcall DefDlgProcA(long long long long) -@ stdcall DefDlgProcW(long long long long) -@ stdcall DefFrameProcA(long long long long long) -@ stdcall DefFrameProcW(long long long long long) -@ stdcall DefMDIChildProcA(long long long long) -@ stdcall DefMDIChildProcW(long long long long) -@ stdcall DefRawInputProc(ptr long long) -@ stdcall DefWindowProcA(long long long long) -@ stdcall DefWindowProcW(long long long long) -@ stdcall DeferWindowPos(long long long long long long long long) ; Direct call NtUserDeferWindowPos -@ stdcall DeleteMenu(long long long) NtUserDeleteMenu -@ stdcall DeregisterShellHookWindow (long) -@ stdcall DestroyAcceleratorTable(long) -@ stdcall DestroyCaret() -@ stdcall DestroyCursor(long) -@ stdcall DestroyIcon(long) -@ stdcall DestroyMenu(long) NtUserDestroyMenu -@ stub DestroyReasons -@ stdcall DestroyWindow(long) NtUserDestroyWindow -@ stub DeviceEventWorker -@ stdcall DialogBoxIndirectParamA(long ptr long ptr long) -@ stdcall DialogBoxIndirectParamAorW(long ptr long ptr long long) -@ stdcall DialogBoxIndirectParamW(long ptr long ptr long) -@ stdcall DialogBoxParamA(long str long ptr long) -@ stdcall DialogBoxParamW(long wstr long ptr long) -@ stdcall DisableProcessWindowsGhosting() -@ stdcall DispatchMessageA(ptr) -@ stdcall DispatchMessageW(ptr) -@ stdcall DisplayExitWindowsWarnings(long) -@ stdcall DlgDirListA(long str long long long) -@ stdcall DlgDirListComboBoxA(long ptr long long long) -@ stdcall DlgDirListComboBoxW(long ptr long long long) -@ stdcall DlgDirListW(long wstr long long long) -@ stdcall DlgDirSelectComboBoxExA(long ptr long long) -@ stdcall DlgDirSelectComboBoxExW(long ptr long long) -@ stdcall DlgDirSelectExA(long ptr long long) -@ stdcall DlgDirSelectExW(long ptr long long) -@ stdcall DragDetect(long double) ; Direct call NtUserDragDetect -@ stdcall DragObject(long long long long long) NtUserDragObject -@ stdcall DrawAnimatedRects(long long ptr ptr) NtUserDrawAnimatedRects -@ stdcall DrawCaption(long long ptr long) -@ stdcall DrawCaptionTempA(long long ptr long long str long) -@ stdcall DrawCaptionTempW(long long ptr long long wstr long) -@ stdcall DrawEdge(long ptr long long) -@ stdcall DrawFocusRect(long ptr) -@ stdcall DrawFrame(long ptr long long) -@ stdcall DrawFrameControl(long ptr long long) -@ stdcall DrawIcon(long long long long) -@ stdcall DrawIconEx(long long long long long long long long long) -@ stdcall DrawMenuBar(long) -@ stdcall DrawMenuBarTemp(long long long long long) -@ stdcall DrawStateA(long long ptr long long long long long long long) -@ stdcall DrawStateW(long long ptr long long long long long long long) -@ stdcall DrawTextA(long str long ptr long) -@ stdcall DrawTextExA(long str long ptr long ptr) -@ stdcall DrawTextExW(long wstr long ptr long ptr) -@ stdcall DrawTextW(long wstr long ptr long) -@ stdcall EditWndProc(long long long long) EditWndProcA -@ stdcall EmptyClipboard() NtUserEmptyClipboard -@ stdcall EnableMenuItem(long long long) -@ stdcall EnableScrollBar(long long long) -@ stdcall EnableWindow(long long) -@ stdcall EndDeferWindowPos(long) -@ stdcall EndDialog(long long) -@ stdcall EndMenu() -@ stdcall EndPaint(long ptr) NtUserEndPaint -@ stdcall EndTask(ptr long long) -@ stub EnterReaderModeHelper -@ stdcall EnumChildWindows(long ptr long) -@ stdcall EnumClipboardFormats(long) -@ stdcall EnumDesktopWindows(long ptr ptr) -@ stdcall EnumDesktopsA(ptr ptr long) -@ stdcall EnumDesktopsW(ptr ptr long) -@ stdcall EnumDisplayDevicesA(ptr long ptr long) -@ stdcall EnumDisplayDevicesW(ptr long ptr long) -@ stdcall EnumDisplayMonitors(long ptr ptr long) ; Direct call NtUserEnumDisplayMonitors -@ stdcall EnumDisplaySettingsA(str long ptr) -@ stdcall EnumDisplaySettingsExA(str long ptr long) -@ stdcall EnumDisplaySettingsExW(wstr long ptr long) -@ stdcall EnumDisplaySettingsW(wstr long ptr ) -@ stdcall EnumPropsA(long ptr) -@ stdcall EnumPropsExA(long ptr long) -@ stdcall EnumPropsExW(long ptr long) -@ stdcall EnumPropsW(long ptr) -@ stdcall EnumThreadWindows(long ptr long) -@ stdcall EnumWindowStationsA(ptr long) -@ stdcall EnumWindowStationsW(ptr long) -@ stdcall EnumWindows(ptr long) -@ stdcall EqualRect(ptr ptr) -@ stdcall ExcludeUpdateRgn(long long) NtUserExcludeUpdateRgn -@ stdcall ExitWindowsEx(long long) -@ stdcall FillRect(long ptr long) -@ stdcall FindWindowA(str str) -@ stdcall FindWindowExA(long long str str) -@ stdcall FindWindowExW(long long wstr wstr) -@ stdcall FindWindowW(wstr wstr) -@ stdcall FlashWindow(long long) -@ stdcall FlashWindowEx(ptr) NtUserFlashWindowEx -@ stdcall FrameRect(long ptr long) -@ stdcall FreeDDElParam(long long) -@ stdcall GetActiveWindow() -@ stdcall GetAltTabInfo(long long ptr ptr long) GetAltTabInfoA -@ stdcall GetAltTabInfoA(long long ptr ptr long) -@ stdcall GetAltTabInfoW(long long ptr ptr long) -@ stdcall GetAncestor(long long) ; Direct call NtUserGetAncestor -@ stdcall GetAppCompatFlags(long) -@ stdcall GetAppCompatFlags2(long) -@ stdcall GetAsyncKeyState(long) -@ stdcall GetCapture() -@ stdcall GetCaretBlinkTime() NtUserGetCaretBlinkTime -@ stdcall GetCaretPos(ptr) NtUserGetCaretPos -@ stdcall GetClassInfoA(long str ptr) -@ stdcall GetClassInfoExA(long str ptr) -@ stdcall GetClassInfoExW(long wstr ptr) -@ stdcall GetClassInfoW(long wstr ptr) -@ stdcall GetClassLongA(long long) -#ifdef _WIN64 -@ stdcall GetClassLongPtrA(ptr long) -@ stdcall GetClassLongPtrW(ptr long) -#endif -@ stdcall GetClassLongW(long long) -@ stdcall GetClassNameA(long ptr long) -@ stdcall GetClassNameW(long ptr long) -@ stdcall GetClassWord(long long) -@ stdcall GetClientRect(long long) -@ stdcall GetClipCursor(ptr) NtUserGetClipCursor -@ stdcall GetClipboardData(long) -@ stdcall GetClipboardFormatNameA(long ptr long) -@ stdcall GetClipboardFormatNameW(long ptr long) -@ stdcall GetClipboardOwner() NtUserGetClipboardOwner -@ stdcall GetClipboardSequenceNumber() NtUserGetClipboardSequenceNumber -@ stdcall GetClipboardViewer() NtUserGetClipboardViewer -@ stdcall GetComboBoxInfo(long ptr) ; Direct call NtUserGetComboBoxInfo -@ stdcall GetCursor() -@ stdcall GetCursorFrameInfo(long long long ptr ptr) -@ stdcall GetCursorInfo(ptr) NtUserGetCursorInfo -@ stdcall GetCursorPos(ptr) -@ stdcall GetDC(long) NtUserGetDC -@ stdcall GetDCEx(long long long) NtUserGetDCEx -@ stdcall GetDesktopWindow() -@ stdcall GetDialogBaseUnits() -@ stdcall GetDlgCtrlID(long) -@ stdcall GetDlgItem(long long) -@ stdcall GetDlgItemInt(long long ptr long) -@ stdcall GetDlgItemTextA(long long ptr long) -@ stdcall GetDlgItemTextW(long long ptr long) -@ stdcall GetDoubleClickTime() NtUserGetDoubleClickTime -@ stdcall GetFocus() -@ stdcall GetForegroundWindow() NtUserGetForegroundWindow -@ stdcall GetGUIThreadInfo(long ptr) NtUserGetGUIThreadInfo -@ stdcall GetGuiResources(long long) NtUserGetGuiResources -@ stdcall GetIconInfo(long ptr) -@ stdcall GetInputDesktop() -@ stdcall GetInputState() -@ stdcall GetInternalWindowPos(long ptr ptr) ; direct call NtUserGetInternalWindowPos -@ stdcall GetKBCodePage() -@ stdcall GetKeyNameTextA(long ptr long) -@ stdcall GetKeyNameTextW(long ptr long) -@ stdcall GetKeyState(long) -@ stdcall GetKeyboardLayout(long) -@ stdcall GetKeyboardLayoutList(long ptr) NtUserGetKeyboardLayoutList -@ stdcall GetKeyboardLayoutNameA(ptr) -@ stdcall GetKeyboardLayoutNameW(ptr) -@ stdcall GetKeyboardState(ptr) NtUserGetKeyboardState -@ stdcall GetKeyboardType(long) -@ stdcall GetLastActivePopup(long) -@ stdcall GetLastInputInfo(ptr) -@ stdcall GetLayeredWindowAttributes(long ptr ptr ptr) NtUserGetLayeredWindowAttributes -@ stdcall GetListBoxInfo(long) NtUserGetListBoxInfo -@ stdcall GetMenu(long) -@ stdcall GetMenuBarInfo(long long long ptr) NtUserGetMenuBarInfo -@ stdcall GetMenuCheckMarkDimensions() -@ stdcall GetMenuContextHelpId(long) -@ stdcall GetMenuDefaultItem(long long long) -@ stdcall GetMenuInfo(long ptr) -@ stdcall GetMenuItemCount(long) -@ stdcall GetMenuItemID(long long) -@ stdcall GetMenuItemInfoA(long long long ptr) -@ stdcall GetMenuItemInfoW(long long long ptr) -@ stdcall GetMenuItemRect(long long long ptr) NtUserGetMenuItemRect -@ stdcall GetMenuState(long long long) -@ stdcall GetMenuStringA(long long ptr long long) -@ stdcall GetMenuStringW(long long ptr long long) -@ stdcall GetMessageA(ptr long long long) -@ stdcall GetMessageExtraInfo() -@ stdcall GetMessagePos() -@ stdcall GetMessageTime() -@ stdcall GetMessageW(ptr long long long) -@ stdcall GetMonitorInfoA(long ptr) -@ stdcall GetMonitorInfoW(long ptr) -@ stdcall GetMouseMovePointsEx(long ptr ptr long long) NtUserGetMouseMovePointsEx -@ stdcall GetNextDlgGroupItem(long long long) -@ stdcall GetNextDlgTabItem(long long long) -@ stdcall GetOpenClipboardWindow() NtUserGetOpenClipboardWindow -@ stdcall GetParent(long) -@ stdcall GetPriorityClipboardFormat(ptr long) NtUserGetPriorityClipboardFormat -@ stdcall GetProcessDefaultLayout(ptr) -@ stdcall GetProcessWindowStation() NtUserGetProcessWindowStation -@ stdcall GetProgmanWindow () -@ stdcall GetPropA(long str) -@ stdcall GetPropW(long wstr) -@ stdcall GetQueueStatus(long) -@ stdcall GetRawInputBuffer(ptr ptr long) -@ stdcall GetRawInputData(ptr long ptr ptr long) -@ stdcall GetRawInputDeviceInfoA(ptr long ptr ptr) -@ stdcall GetRawInputDeviceInfoW(ptr long ptr ptr) -@ stdcall GetRawInputDeviceList(ptr ptr long) -@ stub GetReasonTitleFromReasonCode -@ stdcall GetRegisteredRawInputDevices(ptr ptr long) -@ stdcall GetScrollBarInfo(long long ptr) NtUserGetScrollBarInfo -@ stdcall GetScrollInfo(long long ptr) -@ stdcall GetScrollPos(long long) -@ stdcall GetScrollRange(long long ptr ptr) -@ stdcall GetShellWindow() -@ stdcall GetSubMenu(long long) -@ stdcall GetSysColor(long) -@ stdcall GetSysColorBrush(long) -@ stdcall GetSystemMenu(long long) ; Direct call NtUserGetSystemMenu -@ stdcall GetSystemMetrics(long) -@ stdcall GetTabbedTextExtentA(long str long long ptr) -@ stdcall GetTabbedTextExtentW(long wstr long long ptr) -@ stdcall GetTaskmanWindow () -@ stdcall GetThreadDesktop(long) -@ stdcall GetTitleBarInfo(long ptr) NtUserGetTitleBarInfo -@ stdcall GetTopWindow(long) -@ stdcall GetUpdateRect(long ptr long) -@ stdcall GetUpdateRgn(long long long) -@ stdcall GetUserObjectInformationA(long long ptr long ptr) -@ stdcall GetUserObjectInformationW(long long ptr long ptr) NtUserGetObjectInformation -@ stdcall GetUserObjectSecurity (long ptr ptr long ptr) -; @ stub GetWinStationInfo -@ stdcall GetWindow(long long) -@ stdcall GetWindowContextHelpId(long) -@ stdcall GetWindowDC(long) NtUserGetWindowDC -@ stdcall GetWindowInfo(long ptr) -@ stdcall GetWindowLongA(long long) -#ifdef _WIN64 -@ stdcall GetWindowLongPtrA(ptr long) -@ stdcall GetWindowLongPtrW(ptr long) -#endif -@ stdcall GetWindowLongW(long long) -@ stdcall GetWindowModuleFileName(long ptr long) GetWindowModuleFileNameA -@ stdcall GetWindowModuleFileNameA(long ptr long) -@ stdcall GetWindowModuleFileNameW(long ptr long) -@ stdcall GetWindowPlacement(long ptr) NtUserGetWindowPlacement -@ stdcall GetWindowRect(long ptr) -@ stdcall GetWindowRgn(long long) -@ stdcall GetWindowRgnBox(long ptr) -@ stdcall GetWindowTextA(long ptr long) -@ stdcall GetWindowTextLengthA(long) -@ stdcall GetWindowTextLengthW(long) -@ stdcall GetWindowTextW(long ptr long) -@ stdcall GetWindowThreadProcessId(long ptr) -@ stdcall GetWindowWord(long long) -@ stdcall GrayStringA(long long ptr long long long long long long) -@ stdcall GrayStringW(long long ptr long long long long long long) -@ stdcall HideCaret(long) NtUserHideCaret -@ stdcall HiliteMenuItem(long long long long) NtUserHiliteMenuItem -@ stdcall IMPGetIMEA(long ptr) -@ stdcall IMPGetIMEW(long ptr) -@ stdcall IMPQueryIMEA(ptr) -@ stdcall IMPQueryIMEW(ptr) -@ stdcall IMPSetIMEA(long ptr) -@ stdcall IMPSetIMEW(long ptr) -@ stdcall ImpersonateDdeClientWindow(long long) ; Direct call NtUserImpersonateDdeClientWindow -@ stdcall InSendMessage() -@ stdcall InSendMessageEx(ptr) -@ stdcall InflateRect(ptr long long) -@ stdcall InitializeLpkHooks(ptr) -@ stub InitializeWin32EntryTable -@ stdcall InsertMenuA(long long long long ptr) -@ stdcall InsertMenuItemA(long long long ptr) -@ stdcall InsertMenuItemW(long long long ptr) -@ stdcall InsertMenuW(long long long long ptr) -@ stdcall InternalGetWindowText(long long long) -@ stdcall IntersectRect(ptr ptr ptr) -@ stdcall InvalidateRect(long ptr long) NtUserInvalidateRect -@ stdcall InvalidateRgn(long long long) NtUserInvalidateRgn -@ stdcall InvertRect(long ptr) -@ stdcall IsCharAlphaA(long) -@ stdcall IsCharAlphaNumericA(long) -@ stdcall IsCharAlphaNumericW(long) -@ stdcall IsCharAlphaW(long) -@ stdcall IsCharLowerA(long) -@ stdcall IsCharLowerW(long) -@ stdcall IsCharUpperA(long) -@ stdcall IsCharUpperW(long) -@ stdcall IsChild(long long) -@ stdcall IsClipboardFormatAvailable(long) NtUserIsClipboardFormatAvailable -@ stdcall IsDialogMessage(long ptr) IsDialogMessageA -@ stdcall IsDialogMessageA(long ptr) -@ stdcall IsDialogMessageW(long ptr) -@ stdcall IsDlgButtonChecked(long long) -@ stdcall IsGUIThread(long) -@ stdcall IsHungAppWindow(long) -@ stdcall IsIconic(long) -@ stdcall IsMenu(long) -@ stub IsProcess16Bit -@ stdcall IsRectEmpty(ptr) -@ stub IsSETEnabled -@ stdcall IsServerSideWindow(long) -@ stdcall IsWinEventHookInstalled(long) -@ stdcall IsWindow(long) -@ stdcall IsWindowEnabled(long) -@ stdcall IsWindowInDestroy(long) -@ stdcall IsWindowUnicode(long) -@ stdcall IsWindowVisible(long) -@ stub IsWow64Message -@ stdcall IsZoomed(long) -@ stdcall KillSystemTimer(long long) -@ stdcall KillTimer(long long) NtUserKillTimer -@ stdcall LoadAcceleratorsA(long str) -@ stdcall LoadAcceleratorsW(long wstr) -@ stdcall LoadBitmapA(long str) -@ stdcall LoadBitmapW(long wstr) -@ stdcall LoadCursorA(long str) -@ stdcall LoadCursorFromFileA(str) -@ stdcall LoadCursorFromFileW(wstr) -@ stdcall LoadCursorW(long wstr) -@ stdcall LoadIconA(long str) -@ stdcall LoadIconW(long wstr) -@ stdcall LoadImageA(long str long long long long) -@ stdcall LoadImageW(long wstr long long long long) -@ stdcall LoadKeyboardLayoutA(str long) -@ stub LoadKeyboardLayoutEx -@ stdcall LoadKeyboardLayoutW(wstr long) -@ stdcall LoadLocalFonts() -@ stdcall LoadMenuA(long str) -@ stdcall LoadMenuIndirectA(ptr) -@ stdcall LoadMenuIndirectW(ptr) -@ stdcall LoadMenuW(long wstr) -@ stdcall LoadRemoteFonts() -@ stdcall LoadStringA(long long ptr long) -@ stdcall LoadStringW(long long ptr long) -@ stdcall LockSetForegroundWindow (long) -@ stdcall LockWindowStation(long) NtUserLockWindowStation -@ stdcall LockWindowUpdate(long) NtUserLockWindowUpdate -@ stdcall LockWorkStation() NtUserLockWorkStation -@ stdcall LookupIconIdFromDirectory(ptr long) -@ stdcall LookupIconIdFromDirectoryEx(ptr long long long long) -@ stdcall MBToWCSEx(long str long wstr long long) -@ stdcall MB_GetString(ptr) -@ stdcall MapDialogRect(long ptr) -@ stdcall MapVirtualKeyA(long long) -@ stdcall MapVirtualKeyExA(long long long) -@ stdcall MapVirtualKeyExW(long long long) -@ stdcall MapVirtualKeyW(long long) -@ stdcall MapWindowPoints(long long ptr long) -@ stdcall MenuItemFromPoint(long long double) ; Direct call NtUserMenuItemFromPoint -@ stdcall MenuWindowProcA (long ptr long long long) -@ stdcall MenuWindowProcW (long ptr long long long) -@ stdcall MessageBeep(long) -@ stdcall MessageBoxA(long str str long) -@ stdcall MessageBoxExA(long str str long long) -@ stdcall MessageBoxExW(long wstr wstr long long) -@ stdcall MessageBoxIndirectA(ptr) -@ stdcall MessageBoxIndirectW(ptr) -@ stub MessageBoxTimeoutA -@ stub MessageBoxTimeoutW -@ stdcall MessageBoxW(long wstr wstr long) -@ stdcall ModifyMenuA(long long long long ptr) -@ stdcall ModifyMenuW(long long long long ptr) -@ stdcall MonitorFromPoint(double long) -@ stdcall MonitorFromRect(ptr long) -@ stdcall MonitorFromWindow(long long) -@ stdcall MoveWindow(long long long long long long) NtUserMoveWindow -@ stdcall MsgWaitForMultipleObjects(long ptr long long long) -@ stdcall MsgWaitForMultipleObjectsEx(long ptr long long long) -@ stdcall NotifyWinEvent(long long long long) -@ stdcall OemKeyScan(long) -@ stdcall OemToCharA(ptr ptr) -@ stdcall OemToCharBuffA(ptr ptr long) -@ stdcall OemToCharBuffW(ptr ptr long) -@ stdcall OemToCharW(ptr ptr) -@ stdcall OffsetRect(ptr long long) -@ stdcall OpenClipboard(long) -@ stdcall OpenDesktopA(str long long long) -@ stdcall OpenDesktopW(wstr long long long) -@ stdcall OpenIcon(long) -@ stdcall OpenInputDesktop(long long long) NtUserOpenInputDesktop -@ stdcall OpenWindowStationA(str long long) -@ stdcall OpenWindowStationW(wstr long long) -@ stdcall PackDDElParam(long long long) -@ stdcall PaintDesktop(long) NtUserPaintDesktop -@ stub PaintMenuBar -@ stdcall PeekMessageA(ptr long long long long) -@ stdcall PeekMessageW(ptr long long long long) -@ stdcall PostMessageA(long long long long) -@ stdcall PostMessageW(long long long long) -@ stdcall PostQuitMessage(long) -@ stdcall PostThreadMessageA(long long long long) -@ stdcall PostThreadMessageW(long long long long) -@ stdcall PrintWindow(ptr ptr long) NtUserPrintWindow -@ stdcall PrivateExtractIconExA(str long ptr ptr long) -@ stdcall PrivateExtractIconExW(wstr long ptr ptr long) -@ stdcall PrivateExtractIconsA(str long long long ptr ptr long long) -@ stdcall PrivateExtractIconsW(wstr long long long ptr ptr long long) -@ stdcall PtInRect(ptr double) -@ stdcall QuerySendMessage(ptr) NtUserQuerySendMessage -@ stdcall RealChildWindowFromPoint(long double) ; Direct call NtUserRealChildWindowFromPoint -@ stdcall RealGetWindowClass(long ptr long) RealGetWindowClassA -@ stdcall RealGetWindowClassA(long ptr long) -@ stdcall RealGetWindowClassW(long ptr long) -@ stub ReasonCodeNeedsBugID -@ stub ReasonCodeNeedsComment -@ stub RecordShutdownReason -@ stdcall RedrawWindow(long ptr long long) NtUserRedrawWindow -@ stdcall RegisterClassA(ptr) -@ stdcall RegisterClassExA(ptr) -@ stdcall RegisterClassExW(ptr) -@ stdcall RegisterClassW(ptr) -@ stdcall RegisterClipboardFormatA(str) -@ stdcall RegisterClipboardFormatW(wstr) -@ stdcall RegisterDeviceNotificationA(long ptr long) RegisterDeviceNotificationW -@ stdcall RegisterDeviceNotificationW(long ptr long) -@ stdcall RegisterHotKey(long long long long) NtUserRegisterHotKey -@ stdcall RegisterLogonProcess(long long) -@ stub RegisterMessagePumpHook -@ stdcall RegisterRawInputDevices(ptr long long) -@ stdcall RegisterServicesProcess(long) -@ stdcall RegisterShellHookWindow(long) -@ stdcall RegisterSystemThread(long long) -@ stdcall RegisterTasklist(long) NtUserRegisterTasklist -@ stdcall RegisterUserApiHook(ptr) -@ stdcall RegisterWindowMessageA(str) -@ stdcall RegisterWindowMessageW(wstr) -@ stdcall ReleaseCapture() -@ stdcall ReleaseDC(long long) -@ stdcall RemoveMenu(long long long) NtUserRemoveMenu -@ stdcall RemovePropA(long str) -@ stdcall RemovePropW(long wstr) -@ stdcall ReplyMessage(long) -; @ stub ResolveDesktopForWOW -@ stdcall ReuseDDElParam(long long long long long) -@ stdcall ScreenToClient(long ptr) -@ stdcall ScrollChildren(long long long long) -@ stdcall ScrollDC(long long long ptr ptr long ptr) -@ stdcall ScrollWindow(long long long ptr ptr) -@ stdcall ScrollWindowEx(long long long ptr ptr long ptr long) -@ stdcall SendDlgItemMessageA(long long long long long) -@ stdcall SendDlgItemMessageW(long long long long long) -@ stdcall SendIMEMessageExA(long long) -@ stdcall SendIMEMessageExW(long long) -@ stdcall SendInput(long ptr long) NtUserSendInput -@ stdcall SendMessageA(long long long long) -@ stdcall SendMessageCallbackA(long long long long ptr long) -@ stdcall SendMessageCallbackW(long long long long ptr long) -@ stdcall SendMessageTimeoutA(long long long long long long ptr) -@ stdcall SendMessageTimeoutW(long long long long long long ptr) -@ stdcall SendMessageW(long long long long) -@ stdcall SendNotifyMessageA(long long long long) -@ stdcall SendNotifyMessageW(long long long long) -@ stdcall SetActiveWindow(long) NtUserSetActiveWindow -@ stdcall SetCapture(long) NtUserSetCapture -@ stdcall SetCaretBlinkTime(long) -@ stdcall SetCaretPos(long long) -@ stdcall SetClassLongA(long long long) -#ifdef _WIN64 -@ stdcall SetClassLongPtrA(ptr long ptr) -@ stdcall SetClassLongPtrW(ptr long ptr) -#endif -@ stdcall SetClassLongW(long long long) -@ stdcall SetClassWord(long long long) ; Direct call NtUserSetClassWord -@ stdcall SetClipboardData(long long) -@ stdcall SetClipboardViewer(long) NtUserSetClipboardViewer -@ stub SetConsoleReserveKeys -@ stdcall SetCursor(long) NtUserSetCursor -@ stdcall SetCursorContents(ptr ptr) NtUserSetCursorContents -@ stdcall SetCursorPos(long long) -@ stdcall SetDebugErrorLevel(long) -@ stdcall SetDeskWallpaper(ptr) -@ stdcall SetDlgItemInt(long long long long) -@ stdcall SetDlgItemTextA(long long str) -@ stdcall SetDlgItemTextW(long long wstr) -@ stdcall SetDoubleClickTime(long) -@ stdcall SetFocus(long) NtUserSetFocus -@ stdcall SetForegroundWindow(long) -@ stdcall SetInternalWindowPos(long long ptr ptr) NtUserSetInternalWindowPos -@ stdcall SetKeyboardState(ptr) NtUserSetKeyboardState -@ stdcall SetLastErrorEx(long long) -@ stdcall SetLayeredWindowAttributes(ptr long long long) NtUserSetLayeredWindowAttributes -@ stdcall SetLogonNotifyWindow(long long) ; Direct call NtUserSetLogonNotifyWindow -@ stdcall SetMenu(long long) -@ stdcall SetMenuContextHelpId(long long) NtUserSetMenuContextHelpId -@ stdcall SetMenuDefaultItem(long long long) NtUserSetMenuDefaultItem -@ stdcall SetMenuInfo(long ptr) -@ stdcall SetMenuItemBitmaps(long long long long long) -@ stdcall SetMenuItemInfoA(long long long ptr) -@ stdcall SetMenuItemInfoW(long long long ptr) -@ stdcall SetMessageExtraInfo(long) -@ stdcall SetMessageQueue(long) -@ stdcall SetParent(long long) NtUserSetParent -@ stdcall SetProcessDefaultLayout(long) -@ stdcall SetProcessWindowStation(long) NtUserSetProcessWindowStation -@ stdcall SetProgmanWindow (long) -@ stdcall SetPropA(long str long) -@ stdcall SetPropW(long wstr long) -@ stdcall SetRect(ptr long long long long) -@ stdcall SetRectEmpty(ptr) -@ stdcall SetScrollInfo(long long ptr long) ; Direct call NtUserSetScrollInfo -@ stdcall SetScrollPos(long long long long) -@ stdcall SetScrollRange(long long long long long) -@ stdcall SetShellWindow(long) -@ stdcall SetShellWindowEx(long long) NtUserSetShellWindowEx -@ stdcall SetSysColors(long ptr ptr) -@ stdcall SetSysColorsTemp(ptr ptr long) -@ stdcall SetSystemCursor(long long) -@ stdcall SetSystemMenu(long long) ; Direct call NtUserSetSystemMenu -@ stdcall SetSystemTimer(long long long ptr) NtUserSetSystemTimer -@ stdcall SetTaskmanWindow (long) -@ stdcall SetThreadDesktop(long) NtUserSetThreadDesktop -@ stdcall SetTimer(long long long ptr) NtUserSetTimer -@ stdcall SetUserObjectInformationA(long long ptr long) NtUserSetObjectInformation -@ stdcall SetUserObjectInformationW(long long ptr long) NtUserSetObjectInformation -@ stdcall SetUserObjectSecurity(long ptr ptr) -@ stdcall SetWinEventHook(long long long ptr long long long) -@ stdcall SetWindowContextHelpId(long long) -@ stdcall SetWindowLongA(long long long) -#ifdef _WIN64 -@ stdcall SetWindowLongPtrA(ptr long ptr) -@ stdcall SetWindowLongPtrW(ptr long ptr) -#endif -@ stdcall SetWindowLongW(long long long) -@ stdcall SetWindowPlacement(long ptr) NtUserSetWindowPlacement -@ stdcall SetWindowPos(long long long long long long long) NtUserSetWindowPos -@ stdcall SetWindowRgn(long long long) -@ stdcall SetWindowStationUser(long long long long) -@ stdcall SetWindowTextA(long str) -@ stdcall SetWindowTextW(long wstr) -@ stdcall SetWindowWord(long long long) ; Direct call NtUserSetWindowWord -@ stdcall SetWindowsHookA(long ptr) -@ stdcall SetWindowsHookExA(long long long long) -@ stdcall SetWindowsHookExW(long long long long) -@ stdcall SetWindowsHookW(long ptr) -@ stdcall ShowCaret(long) NtUserShowCaret -@ stdcall ShowCursor(long) -@ stdcall ShowOwnedPopups(long long) -@ stdcall ShowScrollBar(long long long) NtUserShowScrollBar -@ stdcall ShowStartGlass(long) -@ stdcall ShowWindow(long long) NtUserShowWindow -@ stdcall ShowWindowAsync(long long) NtUserShowWindowAsync -@ stub SoftModalMessageBox -@ stdcall SubtractRect(ptr ptr ptr) -@ stdcall SwapMouseButton(long) -@ stdcall SwitchDesktop(long) NtUserSwitchDesktop -@ stdcall SwitchToThisWindow(long long) -@ stdcall SystemParametersInfoA(long long ptr long) -@ stdcall SystemParametersInfoW(long long ptr long) -@ stdcall TabbedTextOutA(long long long str long long ptr long) -@ stdcall TabbedTextOutW(long long long wstr long long ptr long) -@ stdcall TileChildWindows(long long) -@ stdcall TileWindows(long long ptr long ptr) -@ stdcall ToAscii(long long ptr ptr long) -@ stdcall ToAsciiEx(long long ptr ptr long long) -@ stdcall ToUnicode(long long ptr ptr long long) -@ stdcall ToUnicodeEx(long long ptr ptr long long long) -@ stdcall TrackMouseEvent(ptr) NtUserTrackMouseEvent -@ stdcall TrackPopupMenu(long long long long long long ptr) -@ stdcall TrackPopupMenuEx(long long long long long ptr) ; Direct call NtUserTrackPopupMenuEx -@ stdcall TranslateAccelerator(long long ptr) TranslateAcceleratorA -@ stdcall TranslateAcceleratorA(long long ptr) -@ stdcall TranslateAcceleratorW(long long ptr) -@ stdcall TranslateMDISysAccel(long ptr) -@ stdcall TranslateMessage(ptr) -@ stub TranslateMessageEx -@ stdcall UnhookWinEvent(long) NtUserUnhookWinEvent -@ stdcall UnhookWindowsHook(long ptr) -@ stdcall UnhookWindowsHookEx(long) NtUserUnhookWindowsHookEx -@ stdcall UnionRect(ptr ptr ptr) -@ stdcall UnloadKeyboardLayout(long) NtUserUnloadKeyboardLayout -@ stdcall UnlockWindowStation(long) NtUserUnlockWindowStation -@ stdcall UnpackDDElParam(long long ptr ptr) -@ stdcall UnregisterClassA(str long) -@ stdcall UnregisterClassW(wstr long) -@ stdcall UnregisterDeviceNotification(long) -@ stdcall UnregisterHotKey(long long) NtUserUnregisterHotKey -@ stub UnregisterMessagePumpHook -@ stdcall UnregisterUserApiHook() NtUserUnregisterUserApiHook -@ stdcall UpdateLayeredWindow(long long ptr ptr long ptr long ptr long) -@ stdcall UpdateLayeredWindowIndirect(long ptr) -@ stdcall UpdatePerUserSystemParameters(long long) -@ stdcall UpdateWindow(long) -@ stdcall User32InitializeImmEntryTable(ptr) -@ stdcall UserClientDllInitialize(long long ptr) DllMain -@ stdcall UserHandleGrantAccess(ptr ptr long) NtUserUserHandleGrantAccess -@ stub UserLpkPSMTextOut -@ stub UserLpkTabbedTextOut -@ stdcall UserRealizePalette(long) -@ stdcall UserRegisterWowHandlers(ptr ptr) -@ stdcall ValidateRect(long ptr) NtUserValidateRect -@ stdcall ValidateRgn(long long) -@ stdcall VkKeyScanA(long) -@ stdcall VkKeyScanExA(long long) -@ stdcall VkKeyScanExW(long long) -@ stdcall VkKeyScanW(long) -@ stdcall WCSToMBEx(long wstr long str long long) -@ stdcall WINNLSEnableIME(long long) -@ stdcall WINNLSGetEnableStatus(long) -@ stdcall WINNLSGetIMEHotkey(long) -@ stdcall WaitForInputIdle(long long) -@ stdcall WaitMessage() NtUserWaitMessage -@ stub Win32PoolAllocationStats -@ stdcall WinHelpA(long str long long) -@ stdcall WinHelpW(long wstr long long) -@ stdcall WindowFromDC(long) -@ stdcall WindowFromPoint(double) -@ stdcall WindowFromPhysicalPoint(double) NtUserWindowFromPhysicalPoint -@ stdcall keybd_event(long long long long) -@ stdcall mouse_event(long long long long long) -@ varargs wsprintfA(str str) -@ varargs wsprintfW(wstr wstr) -@ stdcall wvsprintfA(ptr str ptr) -@ stdcall wvsprintfW(ptr wstr ptr) - -; Functions exported by Win Vista -@ stdcall SetProcessDPIAware() - -; Unknown and undocumented functions -; @ stdcall CalcChildScroll(long long) -; @ stdcall CharNextExW(long wstr long) -; @ stdcall CharPrevExW(long wstr wstr long) -; @ stub ClientThreadConnect -; @ stub EnumDisplayDeviceModesA ;(str long ptr long) -; @ stub EnumDisplayDeviceModesW ;(wstr long ptr long) -; @ stdcall GetMenuIndex(ptr ptr) -; @ stub GetNextQueueWindow -; @ stub HasSystemSleepStarted -; @ stub InitSharedTable -; @ stub InitTask -; @ stub IsHungThread -; @ stub ModifyAccess -; @ stub PlaySoundEvent -; @ stub PrivateSetDbgTag -; @ stub PrivateSetRipFlags -; @ stub QueryUserCounters # Direct call NtUserQueryUserCounters -; @ stub RegisterNetworkCapabilities -; @ stub ResetDisplay -; @ stub ServerSetFunctionPointers -; @ stub SetDesktopBitmap -; @ stub SetWindowFullScreenState -; @ stdcall SetWindowText(long str) SetWindowTextA -; @ stub SysErrorBox -; @ stub UserIsSystemResumeAutomatic -; @ stub UserSetDeviceHoldState -; @ stdcall UserSignalProc(long long long long) -; @ stub VRipOutput -; @ stub VTagOutput -; @ stub WNDPROC_CALLBACK -; @ stub WinOldAppHackoMatic -; @ stub YieldTask -; @ stub _SetProcessDefaultLayout diff --git a/reactos/dll/win32/user32/user32.rbuild b/reactos/dll/win32/user32/user32.rbuild deleted file mode 100644 index f973fc18f4f..00000000000 --- a/reactos/dll/win32/user32/user32.rbuild +++ /dev/null @@ -1,77 +0,0 @@ - - - . - include - include/reactos/subsys - include/reactos/wine - wine - user32_wsprintf - gdi32 - advapi32 - imm32 - usp10 - win32ksys - pseh - ntdll - - user32.h - - - appswitch.c - button.c - combo.c - edit.c - icontitle.c - listbox.c - regcontrol.c - scrollbar.c - static.c - - - dde.c - ddeclient.c - ddeserver.c - desktop.c - display.c - dllmain.c - exit.c - exticon.c - imm.c - misc.c - object.c - resources.c - rtlstr.c - stubs.c - timer.c - usrapihk.c - winhelp.c - winsta.c - - - accel.c - caret.c - class.c - clipboard.c - cursoricon.c - dc.c - defwnd.c - dialog.c - draw.c - font.c - hook.c - input.c - mdi.c - menu.c - message.c - messagebox.c - nonclient.c - paint.c - prop.c - rect.c - spy.c - text.c - window.c - winpos.c - - user32.rc - diff --git a/reactos/dll/win32/userenv/userenv.rbuild b/reactos/dll/win32/userenv/userenv.rbuild deleted file mode 100644 index 0f6e4b58914..00000000000 --- a/reactos/dll/win32/userenv/userenv.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - . - uuid - ntdll - advapi32 - user32 - precomp.h - desktop.c - directory.c - environment.c - gpolicy.c - misc.c - profile.c - registry.c - setup.c - userenv.c - userenv.rc - diff --git a/reactos/dll/win32/usp10/usp10.rbuild b/reactos/dll/win32/usp10/usp10.rbuild deleted file mode 100644 index 714ed009d96..00000000000 --- a/reactos/dll/win32/usp10/usp10.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - . - include/reactos/wine - - bidi.c - breaking.c - usp10.c - indic.c - linebreak.c - indicsyllable.c - mirror.c - opentype.c - shape.c - shaping.c - wine - advapi32 - user32 - gdi32 - ntdll - msvcrt - - diff --git a/reactos/dll/win32/uxtheme/uxtheme.rbuild b/reactos/dll/win32/uxtheme/uxtheme.rbuild deleted file mode 100644 index 3ad94936aa8..00000000000 --- a/reactos/dll/win32/uxtheme/uxtheme.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - . - include/reactos/wine - - uxthemep.h - buffer.c - draw.c - main.c - metric.c - msstyles.c - ncscrollbar.c - nonclient.c - property.c - stylemap.c - system.c - themehooks.c - uxini.c - version.rc - wine - user32 - gdi32 - advapi32 - msimg32 - ntdll - - diff --git a/reactos/dll/win32/vdmdbg/vdmdbg.rbuild b/reactos/dll/win32/vdmdbg/vdmdbg.rbuild deleted file mode 100644 index 525213c75a1..00000000000 --- a/reactos/dll/win32/vdmdbg/vdmdbg.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - . - ntdll - vdmdbg.c - vdmdbg.h - diff --git a/reactos/dll/win32/version/version.rbuild b/reactos/dll/win32/version/version.rbuild deleted file mode 100644 index fcc79152e41..00000000000 --- a/reactos/dll/win32/version/version.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - . - include/reactos/wine - - info.c - install.c - resource.c - version.rc - wine - lz32 - ntdll - - diff --git a/reactos/dll/win32/wdmaud.drv/wdmaud.rbuild b/reactos/dll/win32/wdmaud.drv/wdmaud.rbuild deleted file mode 100644 index abeb3320430..00000000000 --- a/reactos/dll/win32/wdmaud.drv/wdmaud.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - . - include/reactos/libs/sound - . - . - . - 1 - - - mmebuddy - ntdll - user32 - winmm - advapi32 - libsamplerate - msvcrt - mmixer - setupapi - ksuser - wdmaud.c - mixer.c - mmixer.c - legacy.c - wdmaud.rc - wdmaud.h - diff --git a/reactos/dll/win32/wer/wer.rbuild b/reactos/dll/win32/wer/wer.rbuild deleted file mode 100644 index 852102966ba..00000000000 --- a/reactos/dll/win32/wer/wer.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - . - include/reactos/wine - - advapi32 - wine - main.c - diff --git a/reactos/dll/win32/win32.rbuild b/reactos/dll/win32/win32.rbuild deleted file mode 100644 index c83f901ae55..00000000000 --- a/reactos/dll/win32/win32.rbuild +++ /dev/null @@ -1,688 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/dll/win32/windowscodecs/windowscodecs.rbuild b/reactos/dll/win32/windowscodecs/windowscodecs.rbuild deleted file mode 100644 index 7c74900ee34..00000000000 --- a/reactos/dll/win32/windowscodecs/windowscodecs.rbuild +++ /dev/null @@ -1,40 +0,0 @@ - - - - . - include/reactos/wine - include/reactos/libs/libjpeg - include/reactos/libs/zlib - include/reactos/libs/libpng - include/reactos/libs/libtiff - - - 0x600 - - wine - uuid - ole32 - shlwapi - advapi32 - - bmpdecode.c - bmpencode.c - clsfactory.c - converter.c - fliprotate.c - gifformat.c - icoformat.c - imgfactory.c - info.c - jpegformat.c - main.c - palette.c - pngformat.c - propertybag.c - regsvr.c - stream.c - tiffformat.c - ungif.c - - version.rc - diff --git a/reactos/dll/win32/winemp3.acm/winemp3.acm.rbuild b/reactos/dll/win32/winemp3.acm/winemp3.acm.rbuild deleted file mode 100644 index 8164c4b09e5..00000000000 --- a/reactos/dll/win32/winemp3.acm/winemp3.acm.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - . - include/reactos/wine - include/reactos/libs/libmpg123 - - - mpegl3.c - wine - winmm - user32 - libmpg123 - ntdll - diff --git a/reactos/dll/win32/winfax/winfax.rbuild b/reactos/dll/win32/winfax/winfax.rbuild deleted file mode 100644 index 1f99d1ee5e0..00000000000 --- a/reactos/dll/win32/winfax/winfax.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - . - ntdll - winfax.c - winfax.rc - diff --git a/reactos/dll/win32/wing32/wing32.rbuild b/reactos/dll/win32/wing32/wing32.rbuild deleted file mode 100644 index 4b18189a82a..00000000000 --- a/reactos/dll/win32/wing32/wing32.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - user32 - gdi32 - wing32.c - --add-stdcall-alias - - diff --git a/reactos/dll/win32/winhttp/winhttp.rbuild b/reactos/dll/win32/winhttp/winhttp.rbuild deleted file mode 100644 index a812de89a41..00000000000 --- a/reactos/dll/win32/winhttp/winhttp.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - . - include/reactos/wine - - cookie.c - handle.c - main.c - net.c - request.c - session.c - url.c - wine - advapi32 - crypt32 - shlwapi - wininet - ws2_32 - ntdll - - diff --git a/reactos/dll/win32/wininet/wininet.rbuild b/reactos/dll/win32/wininet/wininet.rbuild deleted file mode 100644 index ac2c43f7945..00000000000 --- a/reactos/dll/win32/wininet/wininet.rbuild +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - . - include/reactos/wine - . - - - - - _close - - wine - mpr - shlwapi - shell32 - user32 - advapi32 - ntdll - secur32 - crypt32 - ws2_32 - zlib - pseh - cookie.c - dialogs.c - ftp.c - gopher.c - http.c - internet.c - netconnection.c - urlcache.c - utility.c - wininet_main.c - rsrc.rc - version.rc - - diff --git a/reactos/dll/win32/winmm/midimap/midimap.rbuild b/reactos/dll/win32/winmm/midimap/midimap.rbuild deleted file mode 100644 index e6de9e5fb85..00000000000 --- a/reactos/dll/win32/winmm/midimap/midimap.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - . - include/wine - wine - uuid - ntdll - advapi32 - user32 - winmm - midimap.c - midimap.rc - diff --git a/reactos/dll/win32/winmm/winmm.rbuild b/reactos/dll/win32/winmm/winmm.rbuild deleted file mode 100644 index ab10fea07ea..00000000000 --- a/reactos/dll/win32/winmm/winmm.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - . - include/reactos/wine - - wine - ntdll - advapi32 - user32 - pseh - driver.c - joystick.c - lolvldrv.c - mci.c - mmio.c - playsound.c - registry.c - time.c - winmm.c - winmm_res.rc - - diff --git a/reactos/dll/win32/winspool/winspool.rbuild b/reactos/dll/win32/winspool/winspool.rbuild deleted file mode 100644 index f5d5df57e98..00000000000 --- a/reactos/dll/win32/winspool/winspool.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - include/reactos/wine - ntdll - advapi32 - shlwapi - info.c - stubs.c - winspool.rc - diff --git a/reactos/dll/win32/winsta/winsta.rbuild b/reactos/dll/win32/winsta/winsta.rbuild deleted file mode 100644 index 85e53c1ea53..00000000000 --- a/reactos/dll/win32/winsta/winsta.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - . - wine - ntdll - winsta.h - logon.c - main.c - misc.c - query.c - security.c - server.c - ws.c - winsta.rc - diff --git a/reactos/dll/win32/wintrust/wintrust.rbuild b/reactos/dll/win32/wintrust/wintrust.rbuild deleted file mode 100644 index bcb1c2b8304..00000000000 --- a/reactos/dll/win32/wintrust/wintrust.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - . - include/reactos/wine - - wine - crypt32 - cryptui - user32 - advapi32 - imagehlp - ntdll - pseh - crypt.c - register.c - wintrust_main.c - asn.c - softpub.c - version.rc - diff --git a/reactos/dll/win32/wlanapi/wlanapi.rbuild b/reactos/dll/win32/wlanapi/wlanapi.rbuild deleted file mode 100644 index f17b4c263a4..00000000000 --- a/reactos/dll/win32/wlanapi/wlanapi.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - . - . - wlansvc_client - wine - rpcrt4 - pseh - ntdll - main.c - diff --git a/reactos/dll/win32/wldap32/wldap32.rbuild b/reactos/dll/win32/wldap32/wldap32.rbuild deleted file mode 100644 index d3f16b35479..00000000000 --- a/reactos/dll/win32/wldap32/wldap32.rbuild +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - . - include/reactos/wine - - add.c - ber.c - bind.c - compare.c - control.c - delete.c - dn.c - error.c - extended.c - init.c - main.c - misc.c - modify.c - modrdn.c - option.c - page.c - parse.c - rename.c - search.c - value.c - wldap32.rc - wine - user32 - ntdll - - diff --git a/reactos/dll/win32/wmi/wmi.rbuild b/reactos/dll/win32/wmi/wmi.rbuild deleted file mode 100644 index 7bdc7767b6a..00000000000 --- a/reactos/dll/win32/wmi/wmi.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - advapi32 - ntdll - wmi.rc - - diff --git a/reactos/dll/win32/ws2_32/ws2_32.rbuild b/reactos/dll/win32/ws2_32/ws2_32.rbuild deleted file mode 100644 index 912b339566f..00000000000 --- a/reactos/dll/win32/ws2_32/ws2_32.rbuild +++ /dev/null @@ -1,29 +0,0 @@ - - - include - include/reactos/wine - - DECLSPEC_EXPORT - wine - ntdll - user32 - advapi32 - dnsapi - - ws2_32.h - - - bsd.c - catalog.c - dllmain.c - event.c - handle.c - ns.c - sndrcv.c - stubs.c - upcall.c - async.c - - ws2_32.rc - - diff --git a/reactos/dll/win32/ws2_32_new/ws2_32.rbuild b/reactos/dll/win32/ws2_32_new/ws2_32.rbuild deleted file mode 100644 index 58aa1b294fa..00000000000 --- a/reactos/dll/win32/ws2_32_new/ws2_32.rbuild +++ /dev/null @@ -1,55 +0,0 @@ - - - inc - include/reactos/winsock - - wine - ntdll - user32 - advapi32 - dnsapi - ws2help - - ws2_32.h - - - addrconv.c - addrinfo.c - async.c - bhook.c - dcatalog.c - dcatitem.c - dllmain.c - dprocess.c - dprovide.c - dsocket.c - dthread.c - dupsock.c - enumprot.c - event.c - getproto.c - getxbyxx.c - ioctl.c - nscatalo.c - nscatent.c - nspinstl.c - nsprovid.c - nsquery.c - qos.c - qshelpr.c - rasdial.c - recv.c - rnr.c - scihlpr.c - select.c - send.c - sockctrl.c - socklife.c - spinstal.c - sputil.c - startup.c - wsautil.c - - ws2_32.rc - - diff --git a/reactos/dll/win32/ws2help/ws2help.rbuild b/reactos/dll/win32/ws2help/ws2help.rbuild deleted file mode 100644 index 8f6180d6971..00000000000 --- a/reactos/dll/win32/ws2help/ws2help.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - . - include/reactos/winsock - advapi32 - ntdll - ws2_32 - apc.c - context.c - dllmain.c - handle.c - notify.c - ws2help.rc - precomp.h - diff --git a/reactos/dll/win32/wshirda/wshirda.rbuild b/reactos/dll/win32/wshirda/wshirda.rbuild deleted file mode 100644 index 41ca8e4ad84..00000000000 --- a/reactos/dll/win32/wshirda/wshirda.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - ntdll - ws2_32 - wshirda.c - wshirda.rc - diff --git a/reactos/dll/win32/wshtcpip/wshtcpip.rbuild b/reactos/dll/win32/wshtcpip/wshtcpip.rbuild deleted file mode 100644 index 1ca8ec998f8..00000000000 --- a/reactos/dll/win32/wshtcpip/wshtcpip.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - . - . - ntdll - ws2_32 - tdilib - wshtcpip.c - wshtcpip.rc - diff --git a/reactos/dll/win32/wsock32/wsock32.rbuild b/reactos/dll/win32/wsock32/wsock32.rbuild deleted file mode 100644 index 5375b531ac9..00000000000 --- a/reactos/dll/win32/wsock32/wsock32.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - ntdll - ws2_32 - stubs.c - wsock32.rc - diff --git a/reactos/dll/win32/wtsapi32/wtsapi32.rbuild b/reactos/dll/win32/wtsapi32/wtsapi32.rbuild deleted file mode 100644 index f538fad8fe6..00000000000 --- a/reactos/dll/win32/wtsapi32/wtsapi32.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - . - include/reactos/wine - - wtsapi32.c - wine - advapi32 - ntdll - - diff --git a/reactos/dll/win32/wuapi/wuapi.rbuild b/reactos/dll/win32/wuapi/wuapi.rbuild deleted file mode 100644 index 68d312c3abb..00000000000 --- a/reactos/dll/win32/wuapi/wuapi.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - . - include/reactos/wine - - 0x600 - downloader.c - installer.c - main.c - regsvr.c - searcher.c - session.c - updates.c - wine - uuid - ole32 - advapi32 - ntdll - diff --git a/reactos/dll/win32/xinput1_1/xinput1_1.rbuild b/reactos/dll/win32/xinput1_1/xinput1_1.rbuild deleted file mode 100644 index 0e126933b5c..00000000000 --- a/reactos/dll/win32/xinput1_1/xinput1_1.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - include/reactos/wine - - xinput1_1_main.c - version.rc - diff --git a/reactos/dll/win32/xinput1_2/xinput1_2.rbuild b/reactos/dll/win32/xinput1_2/xinput1_2.rbuild deleted file mode 100644 index a7aba7ad58b..00000000000 --- a/reactos/dll/win32/xinput1_2/xinput1_2.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - include/reactos/wine - - xinput1_2_main.c - version.rc - diff --git a/reactos/dll/win32/xinput1_3/xinput1_3.rbuild b/reactos/dll/win32/xinput1_3/xinput1_3.rbuild deleted file mode 100644 index 2a39cb47dfc..00000000000 --- a/reactos/dll/win32/xinput1_3/xinput1_3.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - wine - xinput1_3_main.c - version.rc - diff --git a/reactos/dll/win32/xinput9_1_0/xinput9_1_0.rbuild b/reactos/dll/win32/xinput9_1_0/xinput9_1_0.rbuild deleted file mode 100644 index 9db3ca210a7..00000000000 --- a/reactos/dll/win32/xinput9_1_0/xinput9_1_0.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - . - include/reactos/wine - - xinput9_1_0_main.c - version.rc - diff --git a/reactos/dll/win32/xmllite/xmllite.rbuild b/reactos/dll/win32/xmllite/xmllite.rbuild deleted file mode 100644 index c74cd88e8c5..00000000000 --- a/reactos/dll/win32/xmllite/xmllite.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - . - include/reactos/wine - - wine - reader.c - xmllite_main.c - diff --git a/reactos/drivers/base/beep/beep.rbuild b/reactos/drivers/base/beep/beep.rbuild deleted file mode 100644 index 58e27f07a24..00000000000 --- a/reactos/drivers/base/beep/beep.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - ntoskrnl - hal - beep.c - beep.rc - diff --git a/reactos/drivers/base/bootvid/bootvid.rbuild b/reactos/drivers/base/bootvid/bootvid.rbuild deleted file mode 100644 index 03f62c7440d..00000000000 --- a/reactos/drivers/base/bootvid/bootvid.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - . - ntoskrnl - hal - - - bootvid.c - bootdata.c - vga.c - - - - - bootvid.c - bootdata.c - - - bootvid.rc - precomp.h - diff --git a/reactos/drivers/base/directory.rbuild b/reactos/drivers/base/directory.rbuild deleted file mode 100644 index 697234e37a6..00000000000 --- a/reactos/drivers/base/directory.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/base/kdcom/kdcom.rbuild b/reactos/drivers/base/kdcom/kdcom.rbuild deleted file mode 100644 index 888aad65dbe..00000000000 --- a/reactos/drivers/base/kdcom/kdcom.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - . - ntoskrnl - hal - - - kdbg.c - - - - - kdbg.c - - - - - kdbg.c - - - diff --git a/reactos/drivers/base/kddll/kddll.rbuild b/reactos/drivers/base/kddll/kddll.rbuild deleted file mode 100644 index 4a368a007a1..00000000000 --- a/reactos/drivers/base/kddll/kddll.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - . - ntoskrnl - hal - kddll.c - - - - . - ntoskrnl - kdserial.c - - - - - - . - kdlib - kdserial - kdcom.c - - diff --git a/reactos/drivers/base/nmidebug/nmidebug.rbuild b/reactos/drivers/base/nmidebug/nmidebug.rbuild deleted file mode 100644 index 02d605ce5a5..00000000000 --- a/reactos/drivers/base/nmidebug/nmidebug.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - ntoskrnl - hal - nmidebug.c - nmidebug.rc - diff --git a/reactos/drivers/base/null/null.rbuild b/reactos/drivers/base/null/null.rbuild deleted file mode 100644 index 9e657655596..00000000000 --- a/reactos/drivers/base/null/null.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - pseh - ntoskrnl - hal - null.c - null.rc - diff --git a/reactos/drivers/battery/battc/battc.rbuild b/reactos/drivers/battery/battc/battc.rbuild deleted file mode 100644 index 5847dd401b0..00000000000 --- a/reactos/drivers/battery/battc/battc.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - ntoskrnl - hal - - . - - battc.c - battc.rc - diff --git a/reactos/drivers/battery/directory.rbuild b/reactos/drivers/battery/directory.rbuild deleted file mode 100644 index ee79df907b5..00000000000 --- a/reactos/drivers/battery/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/bluetooth/directory.rbuild b/reactos/drivers/bluetooth/directory.rbuild deleted file mode 100644 index 8d49812e7c6..00000000000 --- a/reactos/drivers/bluetooth/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/reactos/drivers/bluetooth/fbtusb/fbtusb.rbuild b/reactos/drivers/bluetooth/fbtusb/fbtusb.rbuild deleted file mode 100644 index d043b0a8ba6..00000000000 --- a/reactos/drivers/bluetooth/fbtusb/fbtusb.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - include - ntoskrnl - hal - usbd - fbtdev.c - fbtpnp.c - fbtpwr.c - fbtrwr.c - fbtusb.c - - fbtusb.rc - diff --git a/reactos/drivers/bus/acpi/acpi.rbuild b/reactos/drivers/bus/acpi/acpi.rbuild deleted file mode 100644 index a534187b628..00000000000 --- a/reactos/drivers/bus/acpi/acpi.rbuild +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - include - include - ntoskrnl - hal - wdmguid - acpica - pseh - - bus.c - button.c - power.c - utils.c - system.c - - osl.c - acpienum.c - eval.c - interface.c - pnp.c - power.c - buspdo.c - main.c - - diff --git a/reactos/drivers/bus/acpi/acpica/acpica.rbuild b/reactos/drivers/bus/acpi/acpica/acpica.rbuild deleted file mode 100644 index 6f4f93e11db..00000000000 --- a/reactos/drivers/bus/acpi/acpica/acpica.rbuild +++ /dev/null @@ -1,152 +0,0 @@ - - - - - include - - dsargs.c - dscontrol.c - dsfield.c - dsinit.c - dsmethod.c - dsmthdat.c - dsobject.c - dsopcode.c - dsutils.c - dswexec.c - dswload.c - dswload2.c - dswscope.c - dswstate.c - - - evevent.c - evglock.c - evgpe.c - evgpeblk.c - evgpeinit.c - evgpeutil.c - evmisc.c - evregion.c - evrgnini.c - evsci.c - evxface.c - evxfevnt.c - evxfgpe.c - evxfregn.c - - - exconfig.c - exconvrt.c - excreate.c - exdebug.c - exdump.c - exfield.c - exfldio.c - exmisc.c - exmutex.c - exoparg1.c - exoparg2.c - exoparg3.c - exoparg6.c - exnames.c - exprep.c - exregion.c - exresnte.c - exresolv.c - exresop.c - exstore.c - exstoren.c - exstorob.c - exsystem.c - exutils.c - - - hwacpi.c - hwgpe.c - hwpci.c - hwregs.c - hwsleep.c - hwtimer.c - hwvalid.c - hwxface.c - - - nsaccess.c - nsalloc.c - nsdump.c - nsdumpdv.c - nseval.c - nsinit.c - nsload.c - nsnames.c - nsobject.c - nsparse.c - nspredef.c - nsrepair.c - nsrepair2.c - nssearch.c - nsutils.c - nswalk.c - nsxfeval.c - nsxfname.c - nsxfobj.c - - - psargs.c - psloop.c - psopcode.c - psparse.c - psscope.c - pstree.c - psutils.c - pswalk.c - psxface.c - - - rsaddr.c - rscalc.c - rscreate.c - rsdump.c - rsinfo.c - rsio.c - rsirq.c - rslist.c - rsmemory.c - rsmisc.c - rsutils.c - rsxface.c - - - tbfadt.c - tbfind.c - tbinstal.c - tbutils.c - tbxface.c - tbxfroot.c - - - utalloc.c - utcache.c - utclib.c - utcopy.c - utdebug.c - utdecode.c - utdelete.c - uteval.c - utglobal.c - utids.c - utinit.c - utlock.c - utmath.c - utmisc.c - utmutex.c - utobject.c - utosi.c - utresrc.c - utstate.c - uttrack.c - utxface.c - utxferror.c - - diff --git a/reactos/drivers/bus/acpi/cmbatt/cmbatt.rbuild b/reactos/drivers/bus/acpi/cmbatt/cmbatt.rbuild deleted file mode 100644 index 1af50b4c7a7..00000000000 --- a/reactos/drivers/bus/acpi/cmbatt/cmbatt.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - ntoskrnl - hal - battc - wmilib - . - cmbatt.c - cmexec.c - cmbpnp.c - cmbwmi.c - cmbatt.rc - cmbatt.h - diff --git a/reactos/drivers/bus/acpi/compbatt/compbatt.rbuild b/reactos/drivers/bus/acpi/compbatt/compbatt.rbuild deleted file mode 100644 index 6a92873c0e1..00000000000 --- a/reactos/drivers/bus/acpi/compbatt/compbatt.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - ntoskrnl - hal - battc - . - compbatt.c - compmisc.c - comppnp.c - compbatt.rc - compbatt.h - diff --git a/reactos/drivers/bus/directory.rbuild b/reactos/drivers/bus/directory.rbuild deleted file mode 100644 index fc752ff4e18..00000000000 --- a/reactos/drivers/bus/directory.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/bus/isapnp/isapnp.rbuild b/reactos/drivers/bus/isapnp/isapnp.rbuild deleted file mode 100644 index 9f31fbde9f1..00000000000 --- a/reactos/drivers/bus/isapnp/isapnp.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - ntoskrnl - hal - isapnp.c - pdo.c - fdo.c - hardware.c - isapnp.rc - diff --git a/reactos/drivers/bus/pci/pci.rbuild b/reactos/drivers/bus/pci/pci.rbuild deleted file mode 100644 index 7f6ce0dd01c..00000000000 --- a/reactos/drivers/bus/pci/pci.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - . - ntoskrnl - hal - fdo.c - pci.c - pdo.c - pci.rc - diff --git a/reactos/drivers/bus/pcix/pcix.rbuild b/reactos/drivers/bus/pcix/pcix.rbuild deleted file mode 100644 index b00225e4ee2..00000000000 --- a/reactos/drivers/bus/pcix/pcix.rbuild +++ /dev/null @@ -1,51 +0,0 @@ - - - - - . - ntoskrnl - hal - pciclass - - ar_busno.c - ar_memio.c - arb_comn.c - tr_irq.c - - - agpintrf.c - busintrf.c - cardbus.c - devhere.c - ideintrf.c - intrface.c - lddintrf.c - locintrf.c - pmeintf.c - routintf.c - - - busno.c - config.c - devhere.c - id.c - ppbridge.c - romimage.c - state.c - - debug.c - device.c - dispatch.c - enum.c - fdo.c - guid.c - hookhal.c - init.c - pcivrify.c - pdo.c - power.c - usage.c - utils.c - pci.rc - pci.h - diff --git a/reactos/drivers/bus/pcmcia/pcmcia.rbuild b/reactos/drivers/bus/pcmcia/pcmcia.rbuild deleted file mode 100644 index b2fe4e30c40..00000000000 --- a/reactos/drivers/bus/pcmcia/pcmcia.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - . - ntoskrnl - hal - fdo.c - pcmcia.c - pdo.c - pcmcia.rc - diff --git a/reactos/drivers/directx/directory.rbuild b/reactos/drivers/directx/directory.rbuild deleted file mode 100644 index 04d6ae9e340..00000000000 --- a/reactos/drivers/directx/directory.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/reactos/drivers/directx/dxapi/dxapi.rbuild b/reactos/drivers/directx/dxapi/dxapi.rbuild deleted file mode 100644 index 010702c2193..00000000000 --- a/reactos/drivers/directx/dxapi/dxapi.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - - ntoskrnl - hal - videoprt - main.c - dxapi.rc - diff --git a/reactos/drivers/directx/dxg/dxg.rbuild b/reactos/drivers/directx/dxg/dxg.rbuild deleted file mode 100644 index 3303dc5d488..00000000000 --- a/reactos/drivers/directx/dxg/dxg.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - include - dxgthk - ntoskrnl - main.c - ddhmg.c - eng.c - historic.c - dxg.rc - diff --git a/reactos/drivers/directx/dxgthk/dxgthk.rbuild b/reactos/drivers/directx/dxgthk/dxgthk.rbuild deleted file mode 100644 index 924c3c94bde..00000000000 --- a/reactos/drivers/directx/dxgthk/dxgthk.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - win32k - main.c - dxgthk.rc - diff --git a/reactos/drivers/drivers.rbuild b/reactos/drivers/drivers.rbuild deleted file mode 100644 index 15b36eaeead..00000000000 --- a/reactos/drivers/drivers.rbuild +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/filesystems/cdfs/cdfs.rbuild b/reactos/drivers/filesystems/cdfs/cdfs.rbuild deleted file mode 100644 index 2562d39ed4b..00000000000 --- a/reactos/drivers/filesystems/cdfs/cdfs.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - . - ntoskrnl - hal - cdfs.c - cleanup.c - close.c - common.c - create.c - devctrl.c - dirctl.c - fcb.c - finfo.c - fsctl.c - misc.c - rw.c - volinfo.c - cdfs.rc - cdfs.h - diff --git a/reactos/drivers/filesystems/directory.rbuild b/reactos/drivers/filesystems/directory.rbuild deleted file mode 100644 index 856c7ea768e..00000000000 --- a/reactos/drivers/filesystems/directory.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/filesystems/ext2/ext2.rbuild b/reactos/drivers/filesystems/ext2/ext2.rbuild deleted file mode 100644 index 1cc1a54b382..00000000000 --- a/reactos/drivers/filesystems/ext2/ext2.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - - inc - /wd4003 - ntoskrnl - hal - - cleanup.c - close.c - create.c - devcntrl.c - dircntrl.c - DiskIO.c - ext2init.c - fastio.c - fileinfo.c - flush.c - fsctrl.c - io.c - metadata.c - misc.c - read.c - shutdown.c - volinfo.c - write.c - - - ext2fsd.h - - ext2fs.rc - diff --git a/reactos/drivers/filesystems/fastfat/vfatfs.rbuild b/reactos/drivers/filesystems/fastfat/vfatfs.rbuild deleted file mode 100644 index 179d825a792..00000000000 --- a/reactos/drivers/filesystems/fastfat/vfatfs.rbuild +++ /dev/null @@ -1,31 +0,0 @@ - - - - - . - ntoskrnl - hal - blockdev.c - cleanup.c - close.c - create.c - dir.c - direntry.c - dirwr.c - ea.c - fat.c - fastio.c - fcb.c - finfo.c - flush.c - fsctl.c - iface.c - misc.c - pnp.c - rw.c - shutdown.c - string.c - volume.c - vfatfs.rc - vfat.h - diff --git a/reactos/drivers/filesystems/fastfat_new/fastfat.rbuild b/reactos/drivers/filesystems/fastfat_new/fastfat.rbuild deleted file mode 100644 index ae73147dd47..00000000000 --- a/reactos/drivers/filesystems/fastfat_new/fastfat.rbuild +++ /dev/null @@ -1,31 +0,0 @@ - - - - - . - include/reactos/libs/fullfat - fullfat - ntoskrnl - hal - pseh - cleanup.c - close.c - create.c - device.c - dir.c - ea.c - fastfat.c - fat.c - fastio.c - fcb.c - finfo.c - flush.c - fsctl.c - fullfat.c - lock.c - rw.c - shutdown.c - volume.c - fastfat.rc - fastfat.h - diff --git a/reactos/drivers/filesystems/fs_rec/fs_rec.rbuild b/reactos/drivers/filesystems/fs_rec/fs_rec.rbuild deleted file mode 100644 index 35ffb1d77ca..00000000000 --- a/reactos/drivers/filesystems/fs_rec/fs_rec.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - . - ntoskrnl - hal - blockdev.c - cdfs.c - ext2.c - fat.c - fs_rec.c - ntfs.c - udfs.c - fs_rec.rc - diff --git a/reactos/drivers/filesystems/msfs/msfs.rbuild b/reactos/drivers/filesystems/msfs/msfs.rbuild deleted file mode 100644 index 548468457b0..00000000000 --- a/reactos/drivers/filesystems/msfs/msfs.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - ntoskrnl - hal - create.c - finfo.c - fsctrl.c - msfs.c - rw.c - msfs.rc - msfs.h - diff --git a/reactos/drivers/filesystems/mup/mup.rbuild b/reactos/drivers/filesystems/mup/mup.rbuild deleted file mode 100644 index 57ccb37c0e3..00000000000 --- a/reactos/drivers/filesystems/mup/mup.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - ntoskrnl - hal - create.c - mup.c - mup.rc - diff --git a/reactos/drivers/filesystems/npfs/npfs.rbuild b/reactos/drivers/filesystems/npfs/npfs.rbuild deleted file mode 100644 index 945dd4cb8ce..00000000000 --- a/reactos/drivers/filesystems/npfs/npfs.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - . - ntoskrnl - hal - pseh - create.c - dirctl.c - finfo.c - fsctrl.c - npfs.c - rw.c - volume.c - npfs.rc - npfs.h - diff --git a/reactos/drivers/filesystems/ntfs/ntfs.rbuild b/reactos/drivers/filesystems/ntfs/ntfs.rbuild deleted file mode 100644 index 45b8266fd32..00000000000 --- a/reactos/drivers/filesystems/ntfs/ntfs.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - . - ntoskrnl - hal - attrib.c - blockdev.c - close.c - create.c - dirctl.c - dispatch.c - fastio.c - fcb.c - finfo.c - fsctl.c - mft.c - misc.c - ntfs.c - rw.c - volinfo.c - ntfs.rc - ntfs.h - diff --git a/reactos/drivers/filters/directory.rbuild b/reactos/drivers/filters/directory.rbuild deleted file mode 100644 index b3b19c440f4..00000000000 --- a/reactos/drivers/filters/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/filters/mountmgr/mountmgr.rbuild b/reactos/drivers/filters/mountmgr/mountmgr.rbuild deleted file mode 100644 index 52aa848418f..00000000000 --- a/reactos/drivers/filters/mountmgr/mountmgr.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - - 0x05020400 - . - ntoskrnl - hal - ioevent - wdmguid - database.c - device.c - mountmgr.c - notify.c - point.c - symlink.c - uniqueid.c - mountmgr.rc - mntmgr.h - diff --git a/reactos/drivers/hid/directory.rbuild b/reactos/drivers/hid/directory.rbuild deleted file mode 100644 index 4fa5c649c5f..00000000000 --- a/reactos/drivers/hid/directory.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/hid/hidclass/hidclass.rbuild b/reactos/drivers/hid/hidclass/hidclass.rbuild deleted file mode 100644 index c5419c63b93..00000000000 --- a/reactos/drivers/hid/hidclass/hidclass.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - ntoskrnl - hidparse - hal - fdo.c - hidclass.c - hidclass.rc - pdo.c - diff --git a/reactos/drivers/hid/hidparse/hidparse.rbuild b/reactos/drivers/hid/hidparse/hidparse.rbuild deleted file mode 100644 index 6cc8ed3677a..00000000000 --- a/reactos/drivers/hid/hidparse/hidparse.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - include - lib/drivers/hidparser - ntoskrnl - hidparser - hidparse.c - hidparse.rc - diff --git a/reactos/drivers/hid/hidusb/hidusb.rbuild b/reactos/drivers/hid/hidusb/hidusb.rbuild deleted file mode 100644 index fd9c46de598..00000000000 --- a/reactos/drivers/hid/hidusb/hidusb.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - ntoskrnl - hidclass - usbd - hal - hidusb.c - hidusb.rc - diff --git a/reactos/drivers/hid/kbdhid/kbdhid.rbuild b/reactos/drivers/hid/kbdhid/kbdhid.rbuild deleted file mode 100644 index 904f6d2324c..00000000000 --- a/reactos/drivers/hid/kbdhid/kbdhid.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - include - ntoskrnl - hal - hidparse - kbdhid.c - kbdhid.rc - diff --git a/reactos/drivers/hid/mouhid/mouhid.rbuild b/reactos/drivers/hid/mouhid/mouhid.rbuild deleted file mode 100644 index cfb1f95bfa0..00000000000 --- a/reactos/drivers/hid/mouhid/mouhid.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - include - ntoskrnl - hal - hidparse - mouhid.c - mouhid.rc - diff --git a/reactos/drivers/input/directory.rbuild b/reactos/drivers/input/directory.rbuild deleted file mode 100644 index 20570bc8af3..00000000000 --- a/reactos/drivers/input/directory.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/input/i8042prt/i8042prt.rbuild b/reactos/drivers/input/i8042prt/i8042prt.rbuild deleted file mode 100644 index e7852052688..00000000000 --- a/reactos/drivers/input/i8042prt/i8042prt.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - ntoskrnl - hal - createclose.c - i8042prt.c - keyboard.c - misc.c - mouse.c - pnp.c - ps2pp.c - readwrite.c - registry.c - i8042prt.rc - i8042prt.h - diff --git a/reactos/drivers/input/kbdclass/kbdclass.rbuild b/reactos/drivers/input/kbdclass/kbdclass.rbuild deleted file mode 100644 index ab2e730537f..00000000000 --- a/reactos/drivers/input/kbdclass/kbdclass.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - pseh - ntoskrnl - hal - kbdclass.c - misc.c - kbdclass.rc - kbdclass.h - diff --git a/reactos/drivers/input/mouclass/mouclass.rbuild b/reactos/drivers/input/mouclass/mouclass.rbuild deleted file mode 100644 index 845ed9776b7..00000000000 --- a/reactos/drivers/input/mouclass/mouclass.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - pseh - ntoskrnl - hal - misc.c - mouclass.c - mouclass.rc - mouclass.h - diff --git a/reactos/drivers/input/sermouse/sermouse.rbuild b/reactos/drivers/input/sermouse/sermouse.rbuild deleted file mode 100644 index e09decb316e..00000000000 --- a/reactos/drivers/input/sermouse/sermouse.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - ntoskrnl - hal - createclose.c - detect.c - fdo.c - internaldevctl.c - misc.c - readmouse.c - sermouse.c - sermouse.rc - sermouse.h - diff --git a/reactos/drivers/ksfilter/directory.rbuild b/reactos/drivers/ksfilter/directory.rbuild deleted file mode 100644 index f74ff5d9226..00000000000 --- a/reactos/drivers/ksfilter/directory.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/reactos/drivers/ksfilter/ks/ks.rbuild b/reactos/drivers/ksfilter/ks/ks.rbuild deleted file mode 100644 index 648b67386f2..00000000000 --- a/reactos/drivers/ksfilter/ks/ks.rbuild +++ /dev/null @@ -1,37 +0,0 @@ - - - - . - .. - ../include - - ntoskrnl - hal - pseh - - - ks.rc - api.c - allocators.c - bag.c - device.c - deviceinterface.c - driver.c - clocks.c - connectivity.c - event.c - filter.c - filterfactory.c - image.c - irp.c - methods.c - misc.c - pin.c - property.c - topology.c - unknown.c - worker.c - kcom.c - swenum.c - priv.h - diff --git a/reactos/drivers/ksfilter/swenum/swenum.rbuild b/reactos/drivers/ksfilter/swenum/swenum.rbuild deleted file mode 100644 index 3f9ee3c9400..00000000000 --- a/reactos/drivers/ksfilter/swenum/swenum.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - ntoskrnl - ks - swenum.c - diff --git a/reactos/drivers/multimedia/audio/directory.rbuild b/reactos/drivers/multimedia/audio/directory.rbuild deleted file mode 100644 index 1a05766c83d..00000000000 --- a/reactos/drivers/multimedia/audio/directory.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/multimedia/audio/mpu401_nt4/mpu401.rbuild b/reactos/drivers/multimedia/audio/mpu401_nt4/mpu401.rbuild deleted file mode 100644 index e6a8dd3e2ff..00000000000 --- a/reactos/drivers/multimedia/audio/mpu401_nt4/mpu401.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - . - ntoskrnl - hal - mpu401.c - portio.c - settings.c - mpu401.rc - diff --git a/reactos/drivers/multimedia/audio/sb16_nt4.old/sb16_nt4.rbuild b/reactos/drivers/multimedia/audio/sb16_nt4.old/sb16_nt4.rbuild deleted file mode 100644 index af028efb26d..00000000000 --- a/reactos/drivers/multimedia/audio/sb16_nt4.old/sb16_nt4.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - .. - ntoskrnl - hal - main.c - control.c - interrupt.c - diff --git a/reactos/drivers/multimedia/audio/sndblst.old/sndblst.rbuild b/reactos/drivers/multimedia/audio/sndblst.old/sndblst.rbuild deleted file mode 100644 index 15b9337c9cd..00000000000 --- a/reactos/drivers/multimedia/audio/sndblst.old/sndblst.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - ntoskrnl - hal - card.c - dma.c - irq.c - portio.c - settings.c - sndblst.c - sndblst.rc - diff --git a/reactos/drivers/multimedia/audio/sndblst_sys/sndblst.rbuild b/reactos/drivers/multimedia/audio/sndblst_sys/sndblst.rbuild deleted file mode 100644 index 922e2618149..00000000000 --- a/reactos/drivers/multimedia/audio/sndblst_sys/sndblst.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - ntoskrnl - hal - sndblst.c - sndblst.rc - diff --git a/reactos/drivers/multimedia/audio/sound/sound.rbuild b/reactos/drivers/multimedia/audio/sound/sound.rbuild deleted file mode 100644 index 66fee200d08..00000000000 --- a/reactos/drivers/multimedia/audio/sound/sound.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - ntoskrnl - hal - .\include - dsp.c - mixer.c - sb16.c - sb_waveout.c - sound.c - wave.c - sb16.rc - diff --git a/reactos/drivers/multimedia/bdasup/bdasup.rbuild b/reactos/drivers/multimedia/bdasup/bdasup.rbuild deleted file mode 100644 index dd65a01f8ce..00000000000 --- a/reactos/drivers/multimedia/bdasup/bdasup.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - ntoskrnl - ks - pseh - hal - bdasup.c - diff --git a/reactos/drivers/multimedia/directory.rbuild b/reactos/drivers/multimedia/directory.rbuild deleted file mode 100644 index ece2718cdbf..00000000000 --- a/reactos/drivers/multimedia/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/reactos/drivers/network/acd/rasacd.rbuild b/reactos/drivers/network/acd/rasacd.rbuild deleted file mode 100644 index 499dbe776a5..00000000000 --- a/reactos/drivers/network/acd/rasacd.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - include - ntoskrnl - hal - - acdapi.h - - - main.c - - rasacd.rc - diff --git a/reactos/drivers/network/afd/afd.rbuild b/reactos/drivers/network/afd/afd.rbuild deleted file mode 100644 index f8f4585968b..00000000000 --- a/reactos/drivers/network/afd/afd.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - include - include/reactos/drivers - include/ndk - pseh - ntoskrnl - hal - - afd.h - - - bind.c - connect.c - context.c - info.c - listen.c - lock.c - main.c - read.c - select.c - tdi.c - tdiconn.c - write.c - - afd.rc - diff --git a/reactos/drivers/network/dd/directory.rbuild b/reactos/drivers/network/dd/directory.rbuild deleted file mode 100644 index f533dad8649..00000000000 --- a/reactos/drivers/network/dd/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/drivers/network/dd/ne2000/ne2000.rbuild b/reactos/drivers/network/dd/ne2000/ne2000.rbuild deleted file mode 100644 index f6a7ec4b0ad..00000000000 --- a/reactos/drivers/network/dd/ne2000/ne2000.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - include - ndis - ntoskrnl - hal - - 8390.c - main.c - - - ne2000.h - - ne2000.rc - diff --git a/reactos/drivers/network/dd/pcnet/pcnet.rbuild b/reactos/drivers/network/dd/pcnet/pcnet.rbuild deleted file mode 100644 index 17e4de4af6e..00000000000 --- a/reactos/drivers/network/dd/pcnet/pcnet.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - . - - - - - ndis - ntoskrnl - hal - pcnet.c - requests.c - pcnet.rc - pcnet.h - diff --git a/reactos/drivers/network/directory.rbuild b/reactos/drivers/network/directory.rbuild deleted file mode 100644 index 76df85538ab..00000000000 --- a/reactos/drivers/network/directory.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/network/ndis/ndis.rbuild b/reactos/drivers/network/ndis/ndis.rbuild deleted file mode 100644 index 38dadeff652..00000000000 --- a/reactos/drivers/network/ndis/ndis.rbuild +++ /dev/null @@ -1,40 +0,0 @@ - - - - - include - - - - - - - - ntoskrnl - hal - - ndissys.h - - - 30stubs.c - 40stubs.c - 50stubs.c - buffer.c - cl.c - cm.c - co.c - config.c - control.c - efilter.c - hardware.c - io.c - main.c - memory.c - miniport.c - misc.c - protocol.c - string.c - time.c - - ndis.rc - diff --git a/reactos/drivers/network/ndisuio/ndisuio.rbuild b/reactos/drivers/network/ndisuio/ndisuio.rbuild deleted file mode 100644 index 1ba528ec747..00000000000 --- a/reactos/drivers/network/ndisuio/ndisuio.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - . - include/reactos/drivers/ndisuio - - - ndis - ntoskrnl - hal - ndisuio.h - createclose.c - ioctl.c - main.c - misc.c - protocol.c - readwrite.c - ndisuio.rc - diff --git a/reactos/drivers/network/tcpip/tcpip.rbuild b/reactos/drivers/network/tcpip/tcpip.rbuild deleted file mode 100644 index 698254de4d9..00000000000 --- a/reactos/drivers/network/tcpip/tcpip.rbuild +++ /dev/null @@ -1,38 +0,0 @@ - - - - - include - src/include - src/include/ipv4 - - - ip - lwip - ndis - pseh - chew - ntoskrnl - hal - - precomp.h - - - lan.c - - - ainfo.c - buffer.c - dispatch.c - fileobjs.c - iinfo.c - info.c - lock.c - main.c - ninfo.c - proto.c - tinfo.c - wait.c - - tcpip.rc - diff --git a/reactos/drivers/network/tdi/tdi.rbuild b/reactos/drivers/network/tdi/tdi.rbuild deleted file mode 100644 index 6abeb896729..00000000000 --- a/reactos/drivers/network/tdi/tdi.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - . - ntoskrnl - hal - - - events.c - string.c - timer.c - - - main.c - tdi.rc - - - dereg.c - handler.c - obsolete.c - stubs.c - - precomp.h - diff --git a/reactos/drivers/parallel/directory.rbuild b/reactos/drivers/parallel/directory.rbuild deleted file mode 100644 index 8afdbcf0199..00000000000 --- a/reactos/drivers/parallel/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/parallel/parallel/parallel.rbuild b/reactos/drivers/parallel/parallel/parallel.rbuild deleted file mode 100644 index 256ae79d87f..00000000000 --- a/reactos/drivers/parallel/parallel/parallel.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - ntoskrnl - hal - parallel.c - parallel.rc - diff --git a/reactos/drivers/sac/directory.rbuild b/reactos/drivers/sac/directory.rbuild deleted file mode 100644 index cbcdcfd9011..00000000000 --- a/reactos/drivers/sac/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/sac/driver/sacdrv.rbuild b/reactos/drivers/sac/driver/sacdrv.rbuild deleted file mode 100644 index 8357c1d440c..00000000000 --- a/reactos/drivers/sac/driver/sacdrv.rbuild +++ /dev/null @@ -1,29 +0,0 @@ - - - - - . - ntoskrnl - hal - sacmsg - - - -mrtd - -fno-builtin - - - sacdrv.h - chanmgr.c - channel.c - cmdchan.c - concmd.c - conmgr.c - data.c - dispatch.c - init.c - memory.c - rawchan.c - util.c - vtutf8chan.c - sacdrv.rc - diff --git a/reactos/drivers/serial/directory.rbuild b/reactos/drivers/serial/directory.rbuild deleted file mode 100644 index a7af5f96559..00000000000 --- a/reactos/drivers/serial/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/drivers/serial/serenum/serenum.rbuild b/reactos/drivers/serial/serenum/serenum.rbuild deleted file mode 100644 index 72ac9aa10e8..00000000000 --- a/reactos/drivers/serial/serenum/serenum.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - ntoskrnl - hal - detect.c - fdo.c - misc.c - pdo.c - serenum.c - serenum.rc - serenum.h - diff --git a/reactos/drivers/serial/serial/serial.rbuild b/reactos/drivers/serial/serial/serial.rbuild deleted file mode 100644 index a3783cb82de..00000000000 --- a/reactos/drivers/serial/serial/serial.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - ntoskrnl - hal - circularbuffer.c - cleanup.c - close.c - create.c - devctrl.c - info.c - legacy.c - misc.c - pnp.c - power.c - rw.c - serial.c - serial.rc - serial.h - diff --git a/reactos/drivers/setup/blue/blue.rbuild b/reactos/drivers/setup/blue/blue.rbuild deleted file mode 100644 index f24a08dde6b..00000000000 --- a/reactos/drivers/setup/blue/blue.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - include/reactos/drivers - ntoskrnl - hal - blue.c - font.c - blue.rc - blue.h - diff --git a/reactos/drivers/setup/directory.rbuild b/reactos/drivers/setup/directory.rbuild deleted file mode 100644 index 6a2d30a08ce..00000000000 --- a/reactos/drivers/setup/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/storage/class/cdrom/cdrom.rbuild b/reactos/drivers/storage/class/cdrom/cdrom.rbuild deleted file mode 100644 index f6da7477886..00000000000 --- a/reactos/drivers/storage/class/cdrom/cdrom.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - ntoskrnl - hal - class2 - scsiport - .. - cdrom.c - findscsi.c - cdrom.rc - precomp.h - diff --git a/reactos/drivers/storage/class/cdrom_new/cdrom_new.rbuild b/reactos/drivers/storage/class/cdrom_new/cdrom_new.rbuild deleted file mode 100644 index 4e8d9fbed4e..00000000000 --- a/reactos/drivers/storage/class/cdrom_new/cdrom_new.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - - ntoskrnl - hal - classpnp - ../inc - - -mrtd - -fno-builtin - -w - - cdrom.c - data.c - ioctl.c - mmc.c - scsicdrm.rc - sec.c - diff --git a/reactos/drivers/storage/class/class2/class2.rbuild b/reactos/drivers/storage/class/class2/class2.rbuild deleted file mode 100644 index 423122e1db2..00000000000 --- a/reactos/drivers/storage/class/class2/class2.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - ntoskrnl - hal - scsiport - .. - class2.c - class2.rc - diff --git a/reactos/drivers/storage/class/directory.rbuild b/reactos/drivers/storage/class/directory.rbuild deleted file mode 100644 index 30dbef9435e..00000000000 --- a/reactos/drivers/storage/class/directory.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/storage/class/disk/disk.rbuild b/reactos/drivers/storage/class/disk/disk.rbuild deleted file mode 100644 index 543441659dd..00000000000 --- a/reactos/drivers/storage/class/disk/disk.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - ntoskrnl - hal - class2 - scsiport - .. - disk.c - disk.rc - diff --git a/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild b/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild deleted file mode 100644 index 6adba99282d..00000000000 --- a/reactos/drivers/storage/class/ramdisk/ramdisk.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - ntoskrnl - hal - ramdisk.c - ramdisk.rc - diff --git a/reactos/drivers/storage/classpnp/classpnp.rbuild b/reactos/drivers/storage/classpnp/classpnp.rbuild deleted file mode 100644 index 77ae9f2666d..00000000000 --- a/reactos/drivers/storage/classpnp/classpnp.rbuild +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - ntoskrnl - hal - pseh - libcntpr - ../inc - 0 - 100 - 1 - 0 - 512 - 512 - - -mrtd - -fno-builtin - -w - - autorun.c - class.c - classwmi.c - create.c - data.c - dictlib.c - lock.c - power.c - xferpkt.c - clntirp.c - retry.c - utils.c - obsolete.c - debug.c - class.rc - classp.h - diff --git a/reactos/drivers/storage/directory.rbuild b/reactos/drivers/storage/directory.rbuild deleted file mode 100644 index e25b40aae9e..00000000000 --- a/reactos/drivers/storage/directory.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/storage/fdc/directory.rbuild b/reactos/drivers/storage/fdc/directory.rbuild deleted file mode 100644 index f270c6bb0bb..00000000000 --- a/reactos/drivers/storage/fdc/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/storage/fdc/fdc/fdc.rbuild b/reactos/drivers/storage/fdc/fdc/fdc.rbuild deleted file mode 100644 index 5a63730dc45..00000000000 --- a/reactos/drivers/storage/fdc/fdc/fdc.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - . - ntoskrnl - hal - fdc.c - fdo.c - pdo.c - fdc.rc - diff --git a/reactos/drivers/storage/floppy/floppy.rbuild b/reactos/drivers/storage/floppy/floppy.rbuild deleted file mode 100644 index 2e4aca6f2fa..00000000000 --- a/reactos/drivers/storage/floppy/floppy.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - . - ntoskrnl - hal - csq - csqrtns.c - floppy.c - hardware.c - ioctl.c - readwrite.c - floppy.rc - precomp.h - diff --git a/reactos/drivers/storage/ide/atapi/atapi.rbuild b/reactos/drivers/storage/ide/atapi/atapi.rbuild deleted file mode 100644 index 6c6a680abca..00000000000 --- a/reactos/drivers/storage/ide/atapi/atapi.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - . - scsiport - libcntpr - atapi.c - atapi.rc - diff --git a/reactos/drivers/storage/ide/directory.rbuild b/reactos/drivers/storage/ide/directory.rbuild deleted file mode 100644 index 9c436eb5ba0..00000000000 --- a/reactos/drivers/storage/ide/directory.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/storage/ide/pciide/pciide.rbuild b/reactos/drivers/storage/ide/pciide/pciide.rbuild deleted file mode 100644 index 58e385ba3a5..00000000000 --- a/reactos/drivers/storage/ide/pciide/pciide.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - pciidex - ntoskrnl - pciide.c - pciide.rc - diff --git a/reactos/drivers/storage/ide/pciidex/pciidex.rbuild b/reactos/drivers/storage/ide/pciidex/pciidex.rbuild deleted file mode 100644 index 3039577f6a3..00000000000 --- a/reactos/drivers/storage/ide/pciidex/pciidex.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - ntoskrnl - fdo.c - miniport.c - misc.c - pciidex.c - pdo.c - pciidex.rc - pciidex.h - diff --git a/reactos/drivers/storage/ide/uniata/uniata.rbuild b/reactos/drivers/storage/ide/uniata/uniata.rbuild deleted file mode 100644 index db297574935..00000000000 --- a/reactos/drivers/storage/ide/uniata/uniata.rbuild +++ /dev/null @@ -1,29 +0,0 @@ - - - - - . - inc - - -fno-exceptions - -fno-rtti - - - ntoskrnl - hal - scsiport - id_ata.cpp - id_badblock.cpp - id_dma.cpp - id_init.cpp - id_probe.cpp - id_queue.cpp - id_sata.cpp - idedma.rc - - - ros_glue.cpp - - - stdafx.h - diff --git a/reactos/drivers/storage/port/buslogic/buslogic.rbuild b/reactos/drivers/storage/port/buslogic/buslogic.rbuild deleted file mode 100644 index 92f5fc69fa3..00000000000 --- a/reactos/drivers/storage/port/buslogic/buslogic.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - . - scsiport - BusLogic958.c - BusLogic958.rc - diff --git a/reactos/drivers/storage/port/directory.rbuild b/reactos/drivers/storage/port/directory.rbuild deleted file mode 100644 index 572a5d28838..00000000000 --- a/reactos/drivers/storage/port/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/storage/scsiport/scsiport.pspec b/reactos/drivers/storage/scsiport/scsiport.pspec deleted file mode 100644 index 65c75471c4d..00000000000 --- a/reactos/drivers/storage/scsiport/scsiport.pspec +++ /dev/null @@ -1,51 +0,0 @@ -#ifdef __x86_64__ -#define MAYBEFWD(x) -#else -#define MAYBEFWD(x) x -#endif - -@ cdecl ScsiDebugPrint() -@ stdcall ScsiPortCompleteRequest(ptr long long long long) -@ stdcall ScsiPortConvertPhysicalAddressToUlong(long long) -@ stdcall ScsiPortConvertUlongToPhysicalAddress(long) MAYBEFWD(NTOSKRNL.RtlConvertUlongToLargeInteger) -@ stdcall ScsiPortFlushDma(ptr) -@ stdcall ScsiPortFreeDeviceBase(ptr ptr) -@ stdcall ScsiPortGetBusData(ptr long long long ptr long) -@ stdcall ScsiPortGetDeviceBase(ptr long long long long long long) -@ stdcall ScsiPortGetLogicalUnit(ptr long long long) -@ stdcall ScsiPortGetPhysicalAddress(ptr ptr ptr long) -@ stdcall ScsiPortGetSrb(ptr long long long long) -@ stdcall ScsiPortGetUncachedExtension(ptr ptr long) -@ stdcall ScsiPortGetVirtualAddress(ptr long long) -@ stdcall ScsiPortInitialize(ptr ptr ptr ptr) -@ stdcall ScsiPortIoMapTransfer(ptr ptr long long) -@ stdcall ScsiPortLogError(ptr ptr long long long long long) -@ stdcall ScsiPortMoveMemory(ptr ptr long) -@ cdecl ScsiPortNotification() -@ stdcall ScsiPortReadPortBufferUchar(ptr ptr long) MAYBEFWD(HAL.READ_PORT_BUFFER_UCHAR) -@ stdcall ScsiPortReadPortBufferUshort(ptr ptr long) MAYBEFWD(HAL.READ_PORT_BUFFER_USHORT) -@ stdcall ScsiPortReadPortBufferUlong(ptr ptr long) MAYBEFWD(HAL.READ_PORT_BUFFER_ULONG) -@ stdcall ScsiPortReadPortUchar(ptr) MAYBEFWD(HAL.READ_PORT_UCHAR) -@ stdcall ScsiPortReadPortUshort(ptr) MAYBEFWD(HAL.READ_PORT_USHORT) -@ stdcall ScsiPortReadPortUlong(ptr) MAYBEFWD(HAL.READ_PORT_ULONG) -@ stdcall ScsiPortReadRegisterBufferUchar(ptr ptr long) MAYBEFWD(NTOSKRNL.READ_REGISTER_BUFFER_UCHAR) -@ stdcall ScsiPortReadRegisterBufferUshort(ptr ptr long) MAYBEFWD(NTOSKRNL.READ_REGISTER_BUFFER_USHORT) -@ stdcall ScsiPortReadRegisterBufferUlong(ptr ptr long) MAYBEFWD(NTOSKRNL.READ_REGISTER_BUFFER_ULONG) -@ stdcall ScsiPortReadRegisterUchar(ptr) MAYBEFWD(NTOSKRNL.READ_REGISTER_UCHAR) -@ stdcall ScsiPortReadRegisterUshort(ptr) MAYBEFWD(NTOSKRNL.READ_REGISTER_USHORT) -@ stdcall ScsiPortReadRegisterUlong(ptr) MAYBEFWD(NTOSKRNL.READ_REGISTER_ULONG) -@ stdcall ScsiPortSetBusDataByOffset(ptr long long long ptr long long) -@ stdcall ScsiPortStallExecution(long) HAL.KeStallExecutionProcessor -@ stdcall ScsiPortValidateRange(ptr long long long long long long) -@ stdcall ScsiPortWritePortBufferUchar(ptr ptr long) MAYBEFWD(HAL.WRITE_PORT_BUFFER_UCHAR) -@ stdcall ScsiPortWritePortBufferUshort(ptr ptr long) MAYBEFWD(HAL.WRITE_PORT_BUFFER_USHORT) -@ stdcall ScsiPortWritePortBufferUlong(ptr ptr long) MAYBEFWD(HAL.WRITE_PORT_BUFFER_ULONG) -@ stdcall ScsiPortWritePortUchar(ptr long) MAYBEFWD(HAL.WRITE_PORT_UCHAR) -@ stdcall ScsiPortWritePortUshort(ptr long) MAYBEFWD(HAL.WRITE_PORT_USHORT) -@ stdcall ScsiPortWritePortUlong(ptr long) MAYBEFWD(HAL.WRITE_PORT_ULONG) -@ stdcall ScsiPortWriteRegisterBufferUchar(ptr ptr long) MAYBEFWD(NTOSKRNL.WRITE_REGISTER_BUFFER_UCHAR) -@ stdcall ScsiPortWriteRegisterBufferUshort(ptr ptr long) MAYBEFWD(NTOSKRNL.WRITE_REGISTER_BUFFER_USHORT) -@ stdcall ScsiPortWriteRegisterBufferUlong(ptr ptr long) MAYBEFWD(NTOSKRNL.WRITE_REGISTER_BUFFER_ULONG) -@ stdcall ScsiPortWriteRegisterUchar(ptr long) MAYBEFWD(NTOSKRNL.WRITE_REGISTER_UCHAR) -@ stdcall ScsiPortWriteRegisterUshort(ptr long) MAYBEFWD(NTOSKRNL.WRITE_REGISTER_USHORT) -@ stdcall ScsiPortWriteRegisterUlong(ptr long) MAYBEFWD(NTOSKRNL.WRITE_REGISTER_ULONG) diff --git a/reactos/drivers/storage/scsiport/scsiport.rbuild b/reactos/drivers/storage/scsiport/scsiport.rbuild deleted file mode 100644 index 60fec05485d..00000000000 --- a/reactos/drivers/storage/scsiport/scsiport.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - . - ntoskrnl - hal - scsiport.c - stubs.c - scsiport.rc - precomp.h - diff --git a/reactos/drivers/usb/directory.rbuild b/reactos/drivers/usb/directory.rbuild deleted file mode 100644 index 67741ae02c8..00000000000 --- a/reactos/drivers/usb/directory.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/usb/usbccgp/usbccgp.rbuild b/reactos/drivers/usb/usbccgp/usbccgp.rbuild deleted file mode 100644 index 4b26820fbed..00000000000 --- a/reactos/drivers/usb/usbccgp/usbccgp.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - 0x600 - - include - ntoskrnl - hal - usbd - pseh - descriptor.c - fdo.c - function.c - misc.c - pdo.c - usbccgp.c - usbccgp.rc - diff --git a/reactos/drivers/usb/usbd/usbd.rbuild b/reactos/drivers/usb/usbd/usbd.rbuild deleted file mode 100644 index 18ef89793e4..00000000000 --- a/reactos/drivers/usb/usbd/usbd.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - ntoskrnl - hal - usbd.c - usbd.rc - diff --git a/reactos/drivers/usb/usbehci/usbehci.rbuild b/reactos/drivers/usb/usbehci/usbehci.rbuild deleted file mode 100644 index 63d39433c95..00000000000 --- a/reactos/drivers/usb/usbehci/usbehci.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - 0x600 - ntoskrnl - hal - pseh - usbehci.cpp - usb_device.cpp - usb_request.cpp - usb_queue.cpp - hcd_controller.cpp - hardware.cpp - misc.cpp - purecall.cpp - hub_controller.cpp - memory_manager.cpp - usbehci.rc - -fno-rtti - -fno-exceptions - diff --git a/reactos/drivers/usb/usbhub/usbhub.rbuild b/reactos/drivers/usb/usbhub/usbhub.rbuild deleted file mode 100644 index 8b9543c7ef3..00000000000 --- a/reactos/drivers/usb/usbhub/usbhub.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - include - ntoskrnl - hal - usbd - pseh - fdo.c - misc.c - pdo.c - usbhub.c - usbhub.rc - diff --git a/reactos/drivers/usb/usbohci/usbohci.rbuild b/reactos/drivers/usb/usbohci/usbohci.rbuild deleted file mode 100644 index 1b96cc7fece..00000000000 --- a/reactos/drivers/usb/usbohci/usbohci.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - 0x600 - ntoskrnl - hal - usbd - pseh - usbohci.cpp - usb_device.cpp - usb_request.cpp - usb_queue.cpp - hcd_controller.cpp - hardware.cpp - misc.cpp - purecall.cpp - hub_controller.cpp - memory_manager.cpp - usbohci.rc - -fno-rtti - -fno-exceptions - diff --git a/reactos/drivers/usb/usbstor/usbstor.rbuild b/reactos/drivers/usb/usbstor/usbstor.rbuild deleted file mode 100644 index ac4f9e62f68..00000000000 --- a/reactos/drivers/usb/usbstor/usbstor.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - include - ntoskrnl - hal - usbd - descriptor.c - disk.c - fdo.c - misc.c - pdo.c - queue.c - error.c - scsi.c - usbstor.c - usbstor.rc - diff --git a/reactos/drivers/usb/usbuhci/usbuhci.rbuild b/reactos/drivers/usb/usbuhci/usbuhci.rbuild deleted file mode 100644 index 11b16ff4855..00000000000 --- a/reactos/drivers/usb/usbuhci/usbuhci.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - 0x600 - ntoskrnl - hal - usbd - pseh - usbuhci.cpp - usb_device.cpp - usb_request.cpp - usb_queue.cpp - hcd_controller.cpp - hardware.cpp - misc.cpp - purecall.cpp - hub_controller.cpp - memory_manager.cpp - usbuhci.rc - -fno-rtti - -fno-exceptions - diff --git a/reactos/drivers/video/directory.rbuild b/reactos/drivers/video/directory.rbuild deleted file mode 100644 index 03036110e78..00000000000 --- a/reactos/drivers/video/directory.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/video/displays/directory.rbuild b/reactos/drivers/video/displays/directory.rbuild deleted file mode 100644 index 37342e84499..00000000000 --- a/reactos/drivers/video/displays/directory.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/video/displays/framebuf/framebuf.rbuild b/reactos/drivers/video/displays/framebuf/framebuf.rbuild deleted file mode 100644 index 2ac987ecf90..00000000000 --- a/reactos/drivers/video/displays/framebuf/framebuf.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - . - win32k - enable.c - palette.c - pointer.c - screen.c - surface.c - framebuf.rc - framebuf.h - diff --git a/reactos/drivers/video/displays/framebuf_new/framebuf_new.rbuild b/reactos/drivers/video/displays/framebuf_new/framebuf_new.rbuild deleted file mode 100644 index 67928d9e8cc..00000000000 --- a/reactos/drivers/video/displays/framebuf_new/framebuf_new.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - - . - win32k - debug.c - enable.c - palette.c - pointer.c - screen.c - framebuf_new.rc - - - -mrtd - -fno-builtin - -Wno-unused-variable - - - driver.h - diff --git a/reactos/drivers/video/displays/framebufacc/framebufacc.rbuild b/reactos/drivers/video/displays/framebufacc/framebufacc.rbuild deleted file mode 100644 index df893367e08..00000000000 --- a/reactos/drivers/video/displays/framebufacc/framebufacc.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - win32k - enable.c - palette.c - pointer.c - screen.c - surface.c - framebufacc.rc - diff --git a/reactos/drivers/video/displays/vga/vgaddi.rbuild b/reactos/drivers/video/displays/vga/vgaddi.rbuild deleted file mode 100644 index b17c7bbaa57..00000000000 --- a/reactos/drivers/video/displays/vga/vgaddi.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - . - win32k - - enable.c - - - screen.c - pointer.c - lineto.c - paint.c - bitblt.c - transblt.c - offscreen.c - copybits.c - - - vgavideo.c - - vgaddi.rc - vgaddi.h - diff --git a/reactos/drivers/video/displays/vga_new/vga_new.rbuild b/reactos/drivers/video/displays/vga_new/vga_new.rbuild deleted file mode 100644 index 21f0e2deb73..00000000000 --- a/reactos/drivers/video/displays/vga_new/vga_new.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - - . - win32k - debug.c - enable.c - palette.c - screen.c - vga_new.rc - - - -mrtd - -fno-builtin - -Wno-unused-variable - - - driver.h - diff --git a/reactos/drivers/video/font/bmfd/bmfd.rbuild b/reactos/drivers/video/font/bmfd/bmfd.rbuild deleted file mode 100644 index 9cc52f47a94..00000000000 --- a/reactos/drivers/video/font/bmfd/bmfd.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - win32k - libcntpr - enable.c - font.c - glyph.c - bmfd.h - diff --git a/reactos/drivers/video/font/directory.rbuild b/reactos/drivers/video/font/directory.rbuild deleted file mode 100644 index 2ed97e32ca0..00000000000 --- a/reactos/drivers/video/font/directory.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/reactos/drivers/video/font/ftfd/ftfd.rbuild b/reactos/drivers/video/font/ftfd/ftfd.rbuild deleted file mode 100644 index 2cd06863b84..00000000000 --- a/reactos/drivers/video/font/ftfd/ftfd.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - include - win32k - freetype - enable.c - font.c - glyph.c - rosglue.c - sprintf.c - ftfd.h - diff --git a/reactos/drivers/video/miniport/directory.rbuild b/reactos/drivers/video/miniport/directory.rbuild deleted file mode 100644 index 363c9097fee..00000000000 --- a/reactos/drivers/video/miniport/directory.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/video/miniport/vbe/vbemp.rbuild b/reactos/drivers/video/miniport/vbe/vbemp.rbuild deleted file mode 100644 index 7d378e50c12..00000000000 --- a/reactos/drivers/video/miniport/vbe/vbemp.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - videoprt - edid.c - vbemp.c - vbemp.rc - vbemp.h - diff --git a/reactos/drivers/video/miniport/vga/vgamp.rbuild b/reactos/drivers/video/miniport/vga/vgamp.rbuild deleted file mode 100644 index 307be0c8fab..00000000000 --- a/reactos/drivers/video/miniport/vga/vgamp.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - videoprt - initvga.c - vgamp.c - vgamp.rc - vgamp.h - diff --git a/reactos/drivers/video/miniport/vga_new/vga.rbuild b/reactos/drivers/video/miniport/vga_new/vga.rbuild deleted file mode 100644 index 622440d4423..00000000000 --- a/reactos/drivers/video/miniport/vga_new/vga.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - . - videoprt - libcntpr - modeset.c - vgadata.c - vga.c - vbemodes.c - vbe.c - vga.rc - vga.h - - -mrtd - -fno-builtin - - diff --git a/reactos/drivers/video/miniport/vmx_svga/vmx_svga.rbuild b/reactos/drivers/video/miniport/vmx_svga/vmx_svga.rbuild deleted file mode 100644 index 2c03c8e767e..00000000000 --- a/reactos/drivers/video/miniport/vmx_svga/vmx_svga.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - videoprt - vmx_svga.c - vmx_svga.rc - precomp.h - diff --git a/reactos/drivers/video/miniport/xboxvmp/xboxvmp.rbuild b/reactos/drivers/video/miniport/xboxvmp/xboxvmp.rbuild deleted file mode 100644 index ac5a5232b14..00000000000 --- a/reactos/drivers/video/miniport/xboxvmp/xboxvmp.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - ntoskrnl - videoprt - xboxvmp.c - xboxvmp.rc - diff --git a/reactos/drivers/video/videoprt/videoprt.rbuild b/reactos/drivers/video/videoprt/videoprt.rbuild deleted file mode 100644 index 33e85561e6e..00000000000 --- a/reactos/drivers/video/videoprt/videoprt.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - - - . - include - - ntoskrnl - hal - videoprt.h - agp.c - ddc.c - dispatch.c - dma.c - event.c - funclist.c - int10.c - interrupt.c - resource.c - services.c - spinlock.c - stubs.c - timer.c - videoprt.c - videoprt.rc - diff --git a/reactos/drivers/wdm/audio/backpln/audio_test/audio_test.rbuild b/reactos/drivers/wdm/audio/backpln/audio_test/audio_test.rbuild deleted file mode 100644 index fc5310819a8..00000000000 --- a/reactos/drivers/wdm/audio/backpln/audio_test/audio_test.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - include/reactos/libs/sound - . - . - setupapi - libsamplerate - ksuser - audio_test.c - - diff --git a/reactos/drivers/wdm/audio/backpln/directory.rbuild b/reactos/drivers/wdm/audio/backpln/directory.rbuild deleted file mode 100644 index e65bc580a61..00000000000 --- a/reactos/drivers/wdm/audio/backpln/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/drivers/wdm/audio/backpln/portcls/portcls.rbuild b/reactos/drivers/wdm/audio/backpln/portcls/portcls.rbuild deleted file mode 100644 index e453f59a355..00000000000 --- a/reactos/drivers/wdm/audio/backpln/portcls/portcls.rbuild +++ /dev/null @@ -1,66 +0,0 @@ - - - - - 0x600 - . - ntoskrnl - ks - drmk - hal - libcntpr - pseh - - - -fno-exceptions - -fno-rtti - - - - /GR- - - - adapter.cpp - api.cpp - connection.cpp - dispatcher.cpp - dll.cpp - dma_slave.cpp - drm.cpp - drm_port.cpp - filter_topology.cpp - filter_dmus.cpp - filter_wavecyclic.cpp - filter_wavepci.cpp - filter_wavert.cpp - guids.cpp - interrupt.cpp - irp.cpp - irpstream.cpp - miniport.cpp - miniport_dmus.cpp - miniport_fmsynth.cpp - pin_dmus.cpp - pin_wavecyclic.cpp - pin_wavepci.cpp - pin_wavert.cpp - pool.cpp - port.cpp - port_dmus.cpp - port_topology.cpp - port_wavecyclic.cpp - port_wavepci.cpp - port_wavert.cpp - port_wavertstream.cpp - power.cpp - propertyhandler.cpp - purecall.cpp - registry.cpp - resource.cpp - service_group.cpp - undoc.cpp - unregister.cpp - version.cpp - portcls.rc - private.hpp - diff --git a/reactos/drivers/wdm/audio/directory.rbuild b/reactos/drivers/wdm/audio/directory.rbuild deleted file mode 100644 index f3a2dd90827..00000000000 --- a/reactos/drivers/wdm/audio/directory.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/drivers/wdm/audio/drivers/CMIDriver/cmidriver.rbuild b/reactos/drivers/wdm/audio/drivers/CMIDriver/cmidriver.rbuild deleted file mode 100644 index 7e00b457a13..00000000000 --- a/reactos/drivers/wdm/audio/drivers/CMIDriver/cmidriver.rbuild +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - -fno-exceptions - -fno-rtti - - - - /GR- - - - . - ntoskrnl - portcls - hal - ks - adapter.cpp - common.cpp - mintopo.cpp - minwave.cpp - cmipci.rc - \ No newline at end of file diff --git a/reactos/drivers/wdm/audio/drivers/directory.rbuild b/reactos/drivers/wdm/audio/drivers/directory.rbuild deleted file mode 100644 index 8698eb34622..00000000000 --- a/reactos/drivers/wdm/audio/drivers/directory.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild b/reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild deleted file mode 100644 index 366e3c0328b..00000000000 --- a/reactos/drivers/wdm/audio/drivers/mpu401/mpu401.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - .. - - -fno-exceptions - -fno-rtti - - ntoskrnl - portcls - mpu401.rc - adapter.cpp - diff --git a/reactos/drivers/wdm/audio/drivers/sb16/sb16.rbuild b/reactos/drivers/wdm/audio/drivers/sb16/sb16.rbuild deleted file mode 100644 index 8c0cf84035c..00000000000 --- a/reactos/drivers/wdm/audio/drivers/sb16/sb16.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - .. - ntoskrnl - portcls - stdunk.cpp - adapter.cpp - main.cpp - diff --git a/reactos/drivers/wdm/audio/drm/directory.rbuild b/reactos/drivers/wdm/audio/drm/directory.rbuild deleted file mode 100644 index 40b1286a2fd..00000000000 --- a/reactos/drivers/wdm/audio/drm/directory.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/wdm/audio/drm/drmk/drmk.rbuild b/reactos/drivers/wdm/audio/drm/drmk/drmk.rbuild deleted file mode 100644 index a8f5ba1c299..00000000000 --- a/reactos/drivers/wdm/audio/drm/drmk/drmk.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - . - .. - ../include - - -fno-exceptions - -fno-rtti - - - ntoskrnl - - stubs.cpp - drmk.rc - diff --git a/reactos/drivers/wdm/audio/filters/directory.rbuild b/reactos/drivers/wdm/audio/filters/directory.rbuild deleted file mode 100644 index 6d81a975acf..00000000000 --- a/reactos/drivers/wdm/audio/filters/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/reactos/drivers/wdm/audio/filters/kmixer/kmixer.rbuild b/reactos/drivers/wdm/audio/filters/kmixer/kmixer.rbuild deleted file mode 100644 index 28691cf68a6..00000000000 --- a/reactos/drivers/wdm/audio/filters/kmixer/kmixer.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - . - . - ntoskrnl - ks - hal - libcntpr - libsamplerate - kmixer.c - filter.c - pin.c - kmixer.h - diff --git a/reactos/drivers/wdm/audio/filters/splitter/splitter.rbuild b/reactos/drivers/wdm/audio/filters/splitter/splitter.rbuild deleted file mode 100644 index 299df5e68e7..00000000000 --- a/reactos/drivers/wdm/audio/filters/splitter/splitter.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - ntoskrnl - ks - splitter.c - filter.c - pin.c - diff --git a/reactos/drivers/wdm/audio/legacy/directory.rbuild b/reactos/drivers/wdm/audio/legacy/directory.rbuild deleted file mode 100644 index ee72e83f9b8..00000000000 --- a/reactos/drivers/wdm/audio/legacy/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - diff --git a/reactos/drivers/wdm/audio/legacy/stream/stream.rbuild b/reactos/drivers/wdm/audio/legacy/stream/stream.rbuild deleted file mode 100644 index e4f632b9469..00000000000 --- a/reactos/drivers/wdm/audio/legacy/stream/stream.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - . - - - ntoskrnl - ks - pseh - control.c - driver.c - dll.c - filter.c - helper.c - pnp.c - stream.rc - diff --git a/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.rbuild b/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.rbuild deleted file mode 100644 index 20e4724853c..00000000000 --- a/reactos/drivers/wdm/audio/legacy/wdmaud/wdmaud.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - . - . - include/reactos/libs/sound - - mmixer - ntoskrnl - libcntpr - ks - pseh - hal - control.c - deviface.c - entry.c - mmixer.c - sup.c - wdmaud.rc - wdmaud.h - diff --git a/reactos/drivers/wdm/audio/sysaudio/sysaudio.rbuild b/reactos/drivers/wdm/audio/sysaudio/sysaudio.rbuild deleted file mode 100644 index 098fb849005..00000000000 --- a/reactos/drivers/wdm/audio/sysaudio/sysaudio.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - . - ntoskrnl - ks - hal - libcntpr - - control.c - deviface.c - dispatcher.c - main.c - pin.c - sysaudio.rc - sysaudio.h - diff --git a/reactos/drivers/wdm/wdm.rbuild b/reactos/drivers/wdm/wdm.rbuild deleted file mode 100644 index 97fb7ac9a5d..00000000000 --- a/reactos/drivers/wdm/wdm.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/drivers/wmi/wmilib.rbuild b/reactos/drivers/wmi/wmilib.rbuild deleted file mode 100644 index 9cbb4c6400b..00000000000 --- a/reactos/drivers/wmi/wmilib.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - . - ntoskrnl - wmilib.c - wmilib.rc - diff --git a/reactos/hal/hal.pspec b/reactos/hal/hal.pspec deleted file mode 100644 index 3edf88ca595..00000000000 --- a/reactos/hal/hal.pspec +++ /dev/null @@ -1,106 +0,0 @@ -#include "include/reactos/msvctarget.h" -#undef i386 - -#ifdef _M_ARM -@ fastcall ExAcquireFastMutex(ptr) -@ fastcall ExReleaseFastMutex(ptr) -#else -@ fastcall -arch=i386 ExAcquireFastMutex(ptr) ExiAcquireFastMutex -@ fastcall -arch=i386 ExReleaseFastMutex(ptr) ExiReleaseFastMutex -#endif -@ fastcall -arch=i386 ExTryToAcquireFastMutex(ptr) ntoskrnl.ExiTryToAcquireFastMutex -@ fastcall -arch=arm ExTryToAcquireFastMutex(ptr) -@ fastcall HalClearSoftwareInterrupt(long) -@ fastcall HalRequestSoftwareInterrupt(long) -@ fastcall HalSystemVectorDispatchEntry(long long long) -@ fastcall -arch=i386,arm KeAcquireInStackQueuedSpinLock(ptr ptr) -@ fastcall -arch=i386,arm KeAcquireInStackQueuedSpinLockRaiseToSynch(ptr ptr) -@ fastcall -arch=i386,arm KeAcquireSpinLockRaiseToSynch(ptr) -@ fastcall -arch=i386,arm KeAcquireQueuedSpinLock(ptr) -@ fastcall -arch=i386,arm KeAcquireQueuedSpinLockRaiseToSynch(ptr) -@ fastcall -arch=i386,arm KeReleaseInStackQueuedSpinLock(ptr) -@ fastcall -arch=i386,arm KeReleaseQueuedSpinLock(ptr long) -@ fastcall -arch=i386,arm KeTryToAcquireQueuedSpinLock(long ptr) -@ fastcall -arch=i386,arm KeTryToAcquireQueuedSpinLockRaiseToSynch(long ptr) -@ fastcall -arch=i386,arm KfAcquireSpinLock(ptr) -@ fastcall -arch=i386,arm KfLowerIrql(long) -@ fastcall -arch=i386,arm KfRaiseIrql(long) -@ fastcall -arch=i386,arm KfReleaseSpinLock(ptr long) -@ stdcall HalAcquireDisplayOwnership(ptr) -@ stdcall HalAdjustResourceList(ptr) -@ stdcall HalAllProcessorsStarted() -@ stdcall HalAllocateAdapterChannel(ptr ptr long ptr) -@ stdcall HalAllocateCommonBuffer(ptr long ptr long) -@ stdcall HalAllocateCrashDumpRegisters(ptr ptr) -@ stdcall HalAssignSlotResources(ptr ptr ptr ptr long long long ptr) -@ stdcall HalBeginSystemInterrupt(long long ptr) -@ stdcall HalCalibratePerformanceCounter(ptr long long) -@ stdcall HalDisableSystemInterrupt(long long) -@ stdcall HalDisplayString(str) -@ stdcall HalEnableSystemInterrupt(long long long) -@ stdcall HalEndSystemInterrupt(long long) -@ stdcall HalFlushCommonBuffer(long long long long long) -@ stdcall HalFreeCommonBuffer(ptr long long long ptr long) -@ stdcall HalGetAdapter(ptr ptr) -@ stdcall HalGetBusData(long long long ptr long) -@ stdcall HalGetBusDataByOffset(long long long ptr long long) -@ stdcall HalGetEnvironmentVariable(str long str) -@ fastcall -arch=arm HalGetInterruptSource() -@ stdcall HalGetInterruptVector(long long long long ptr ptr) -@ stdcall -arch=i386 HalHandleNMI(ptr) -@ stdcall HalInitSystem(long ptr) -@ stdcall HalInitializeProcessor(long ptr) -@ stdcall HalMakeBeep(long) -@ stdcall HalProcessorIdle() -@ stdcall HalPutDmaAdapter(ptr) -@ stdcall HalQueryDisplayParameters(ptr ptr ptr ptr) -@ stdcall HalQueryRealTimeClock(ptr) -@ stdcall HalReadDmaCounter(ptr) -@ stdcall HalReportResourceUsage() -@ stdcall HalRequestIpi(long) -@ stdcall HalReturnToFirmware(long) -@ stdcall HalSetBusData(long long long ptr long) -@ stdcall HalSetBusDataByOffset(long long long ptr long long) -@ stdcall HalSetDisplayParameters(long long) -@ stdcall HalSetEnvironmentVariable(str str) -@ stdcall HalSetProfileInterval(long) -@ stdcall HalSetRealTimeClock(ptr) -@ stdcall HalSetTimeIncrement(long) -@ stdcall HalStartNextProcessor(ptr ptr) -@ stdcall HalStartProfileInterrupt(long) -@ stdcall HalStopProfileInterrupt(long) -@ fastcall -arch=arm HalSweepIcache() -@ fastcall -arch=arm HalSweepDcache() -@ stdcall HalTranslateBusAddress(long long long long ptr ptr) -@ stdcall IoFlushAdapterBuffers(ptr ptr ptr ptr long long) -@ stdcall IoFreeAdapterChannel(ptr) -@ stdcall IoFreeMapRegisters(ptr ptr long) -@ stdcall IoMapTransfer(ptr ptr ptr ptr ptr long) -@ stdcall -arch=i386,x86_64 IoAssignDriveLetters(ptr str ptr ptr) HalpAssignDriveLetters -@ stdcall -arch=i386,x86_64 IoReadPartitionTable(ptr long long ptr) HalpReadPartitionTable -@ stdcall -arch=i386,x86_64 IoSetPartitionInformation(ptr long long long) HalpSetPartitionInformation -@ stdcall -arch=i386,x86_64 IoWritePartitionTable(ptr long long long ptr) HalpWritePartitionTable -@ stdcall -arch=i386,arm KeAcquireSpinLock(ptr ptr) -@ extern KdComPortInUse -@ stdcall KeFlushWriteBuffer() -@ stdcall -arch=i386,arm KeGetCurrentIrql() -@ stdcall -arch=i386,arm KeLowerIrql(long) -@ stdcall KeQueryPerformanceCounter(ptr) -@ stdcall -arch=i386,arm KeRaiseIrql(long ptr) -@ stdcall -arch=i386,arm KeRaiseIrqlToDpcLevel() -@ stdcall -arch=i386,arm KeRaiseIrqlToSynchLevel() -@ stdcall -arch=i386,arm KeReleaseSpinLock(ptr long) -@ stdcall KeStallExecutionProcessor(long) -@ stdcall -arch=i386,arm READ_PORT_BUFFER_UCHAR(ptr ptr long) -@ stdcall -arch=i386,arm READ_PORT_BUFFER_ULONG(ptr ptr long) -@ stdcall -arch=i386,arm READ_PORT_BUFFER_USHORT(ptr ptr long) -@ stdcall -arch=i386,arm READ_PORT_UCHAR(ptr) -@ stdcall -arch=i386,arm READ_PORT_ULONG(ptr) -@ stdcall -arch=i386,arm READ_PORT_USHORT(ptr) -@ stdcall -arch=i386,arm WRITE_PORT_BUFFER_UCHAR(ptr ptr long) -@ stdcall -arch=i386,arm WRITE_PORT_BUFFER_ULONG(ptr ptr long) -@ stdcall -arch=i386,arm WRITE_PORT_BUFFER_USHORT(ptr ptr long) -@ stdcall -arch=i386,arm WRITE_PORT_UCHAR(ptr long) -@ stdcall -arch=i386,arm WRITE_PORT_ULONG(ptr long) -@ stdcall -arch=i386,arm WRITE_PORT_USHORT(ptr long) -@ stdcall -arch=x86_64 HalInitializeBios(long ptr) diff --git a/reactos/hal/hal.rbuild b/reactos/hal/hal.rbuild deleted file mode 100644 index c81a61d1f22..00000000000 --- a/reactos/hal/hal.rbuild +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/hal/halarm/directory.rbuild b/reactos/hal/halarm/directory.rbuild deleted file mode 100644 index 4e0dfcac6a6..00000000000 --- a/reactos/hal/halarm/directory.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/reactos/hal/halarm/hal.rbuild b/reactos/hal/halarm/hal.rbuild deleted file mode 100644 index 71eb9f9b622..00000000000 --- a/reactos/hal/halarm/hal.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - include - include - - hal_generic - ntoskrnl - - - halinit_up.c - halup.rc - - - diff --git a/reactos/hal/halarm/hal_generic.rbuild b/reactos/hal/halarm/hal_generic.rbuild deleted file mode 100644 index b8619077e38..00000000000 --- a/reactos/hal/halarm/hal_generic.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - - include - include - - - beep.c - bus.c - cache.S - dma.c - drive.c - display.c - fmutex.c - halinit.c - misc.c - pic.c - portio.c - processor.c - profil.c - reboot.c - rtc.c - spinlock.c - sysinfo.c - timer.c - usage.c - - - hal.h - - - diff --git a/reactos/hal/halarm/omap3/halup.rbuild b/reactos/hal/halarm/omap3/halup.rbuild deleted file mode 100644 index c5bcbae27b5..00000000000 --- a/reactos/hal/halarm/omap3/halup.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - include - include - - hal_generic - ntoskrnl - kdcom - - halinit_up.c - halup.rc - - diff --git a/reactos/hal/halarm/versa/halup.rbuild b/reactos/hal/halarm/versa/halup.rbuild deleted file mode 100644 index 88db996966f..00000000000 --- a/reactos/hal/halarm/versa/halup.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - include - include - - hal_generic - ntoskrnl - kdcom - - halinit_up.c - halup.rc - - diff --git a/reactos/hal/halppc/directory.rbuild b/reactos/hal/halppc/directory.rbuild deleted file mode 100644 index 1e0c730ba32..00000000000 --- a/reactos/hal/halppc/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/hal/halppc/generic/generic.rbuild b/reactos/hal/halppc/generic/generic.rbuild deleted file mode 100644 index e1052317d74..00000000000 --- a/reactos/hal/halppc/generic/generic.rbuild +++ /dev/null @@ -1,29 +0,0 @@ - - - - ../include - include - - beep.c - bus.c - cmos.c - display.c - dma.c - drive.c - enum.c - fmutex.c - font.c - halinit.c - irql.c - isa.c - misc.c - pci.c - portio.c - processor.c - profil.c - reboot.c - spinlock.c - sysinfo.c - timer.c - ../include/hal.h - diff --git a/reactos/hal/halppc/up/halup.rbuild b/reactos/hal/halppc/up/halup.rbuild deleted file mode 100644 index d3a3ba0b5c5..00000000000 --- a/reactos/hal/halppc/up/halup.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - ../include - include - - halppc_generic - ntoskrnl - halinit_up.c - halup.rc - diff --git a/reactos/hal/halx86/directory.rbuild b/reactos/hal/halx86/directory.rbuild deleted file mode 100644 index a40bca6119b..00000000000 --- a/reactos/hal/halx86/directory.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/hal/halx86/hal.rbuild b/reactos/hal/halx86/hal.rbuild deleted file mode 100644 index 80cc50f0fe1..00000000000 --- a/reactos/hal/halx86/hal.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - include - include - - - hal_generic - hal_generic_pcat - hal_generic_up - ntoskrnl - libcntpr - - halinit_up.c - halup.rc - - - diff --git a/reactos/hal/halx86/hal_generic.rbuild b/reactos/hal/halx86/hal_generic.rbuild deleted file mode 100644 index 9ee9a425e11..00000000000 --- a/reactos/hal/halx86/hal_generic.rbuild +++ /dev/null @@ -1,34 +0,0 @@ - - - - - include - include - - - - beep.c - cmos.c - display.c - dma.c - drive.c - memory.c - misc.c - profil.c - reboot.c - sysinfo.c - timer.c - usage.c - - bios.c - portio.c - systimer.S - trap.S - v86.S - - - - hal.h - - - diff --git a/reactos/hal/halx86/hal_generic_acpi.rbuild b/reactos/hal/halx86/hal_generic_acpi.rbuild deleted file mode 100644 index c4df1f5d9af..00000000000 --- a/reactos/hal/halx86/hal_generic_acpi.rbuild +++ /dev/null @@ -1,26 +0,0 @@ - - - - - include - include - - - - - halacpi.c - halpnpdd.c - busemul.c - - - - pcibus.c - - - - - halinit.c - - - - diff --git a/reactos/hal/halx86/hal_generic_mp.rbuild b/reactos/hal/halx86/hal_generic_mp.rbuild deleted file mode 100644 index 5063a045c1a..00000000000 --- a/reactos/hal/halx86/hal_generic_mp.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - include - include - - - - - spinlock.c - - - apic.c - halinit_mp.c - ioapic.c - ipi_mp.c - mpconfig.c - processor_mp.c - halmp.rc - - - diff --git a/reactos/hal/halx86/hal_generic_pcat.rbuild b/reactos/hal/halx86/hal_generic_pcat.rbuild deleted file mode 100644 index 864c3ef999d..00000000000 --- a/reactos/hal/halx86/hal_generic_pcat.rbuild +++ /dev/null @@ -1,28 +0,0 @@ - - - - - include - include - - - - - bushndlr.c - cmosbus.c - isabus.c - pcibus.c - pcidata.c - sysbus.c - - bussupp.c - halpcat.c - halpnpdd.c - - - - halinit.c - - - - diff --git a/reactos/hal/halx86/hal_generic_up.rbuild b/reactos/hal/halx86/hal_generic_up.rbuild deleted file mode 100644 index 732a374b86c..00000000000 --- a/reactos/hal/halx86/hal_generic_up.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - include - include - - - - spinlock.c - - - pic.c - processor.c - - - diff --git a/reactos/hal/halx86/hal_mini.rbuild b/reactos/hal/halx86/hal_mini.rbuild deleted file mode 100644 index 8b69104b369..00000000000 --- a/reactos/hal/halx86/hal_mini.rbuild +++ /dev/null @@ -1,44 +0,0 @@ - - - - - include - include - - - - - - beep.c - bios.c - cmos.c - dma.c - display.c - drive.c - misc.c - profil.c - reboot.c - spinlock.c - sysinfo.c - timer.c - usage.c - portio.c - systimer.S - - - - bushndlr.c - cmosbus.c - isabus.c - pcibus.c - sysbus.c - - bussupp.c - - - halinit_mini.c - pic.c - processor.c - - - diff --git a/reactos/hal/halx86/halacpi.rbuild b/reactos/hal/halx86/halacpi.rbuild deleted file mode 100644 index 21b9f8f8384..00000000000 --- a/reactos/hal/halx86/halacpi.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - include - include - - - - hal_generic - hal_generic_acpi - hal_generic_up - ntoskrnl - libcntpr - - halinit_up.c - halup.rc - - - diff --git a/reactos/hal/halx86/halamd64.rbuild b/reactos/hal/halx86/halamd64.rbuild deleted file mode 100644 index 3f443181cc4..00000000000 --- a/reactos/hal/halx86/halamd64.rbuild +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - include - include - - - - - - hal_generic - hal_generic_acpi - ntoskrnl - - - - spinlock.c - - - - x86bios.c - halinit.c - stubs.c - systimer.S - processor.c - - - - - diff --git a/reactos/hal/halx86/halmps.rbuild b/reactos/hal/halx86/halmps.rbuild deleted file mode 100644 index 5b84a8641d3..00000000000 --- a/reactos/hal/halx86/halmps.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - include - include - - - - hal_generic - hal_generic_pcat - hal_generic_mp - ntoskrnl - libcntpr - - - mps.S - mpsboot.asm - mpsirql.c - - - - diff --git a/reactos/hal/halx86/halxbox.rbuild b/reactos/hal/halx86/halxbox.rbuild deleted file mode 100644 index ad13545b405..00000000000 --- a/reactos/hal/halx86/halxbox.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - include - include - - - - hal_generic - hal_generic_pcat - hal_generic_up - ntoskrnl - libcntpr - - halinit_xbox.c - part_xbox.c - halxbox.rc - halxbox.h - - - diff --git a/reactos/include/directory.rbuild b/reactos/include/directory.rbuild deleted file mode 100644 index 2114849e43b..00000000000 --- a/reactos/include/directory.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/reactos/include/dxsdk/dxsdk.rbuild b/reactos/include/dxsdk/dxsdk.rbuild deleted file mode 100644 index 31648d46995..00000000000 --- a/reactos/include/dxsdk/dxsdk.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - amvideo.idl - amstream.idl - austream.idl - bdatif.idl - ddstream.idl - dmodshow.idl - mixerocx.idl - mediaobj.idl - medparam.idl - mmstream.idl - qedit.idl - regbag.idl - tvratings.idl - vidcap.idl - videoacc.idl - strmif.idl - diff --git a/reactos/include/psdk/psdk.rbuild b/reactos/include/psdk/psdk.rbuild deleted file mode 100644 index 97de25f9ea3..00000000000 --- a/reactos/include/psdk/psdk.rbuild +++ /dev/null @@ -1,94 +0,0 @@ - - - - - bugcodes - atliface.idl - activaut.idl - activdbg.idl - activscp.idl - asptlb.idl - bdaiface.idl - bits1_5.idl - bits.idl - commoncontrols.idl - control.idl - cor.idl - cordebug.idl - ctfutb.idl - ctxtcall.idl - dimm.idl - dispex.idl - docobj.idl - downloadmgr.idl - fusion.idl - hlink.idl - htiframe.idl - iads.idl - icftypes.idl - imnact.idl - imnxport.idl - indexsrv.idl - metahost.idl - mimeinfo.idl - mlang.idl - mscoree.idl - msctf.idl - msdadc.idl - mshtml.idl - msinkaut.idl - mstask.idl - msxml.idl - msxml2.idl - msxml6.idl - netfw.idl - netcon.idl - oaidl.idl - objectarray.idl - objidl.idl - objsafe.idl - ocidl.idl - ocmm.idl - oleacc.idl - oledb.idl - oleidl.idl - optary.idl - perhist.idl - propidl.idl - propsys.idl - pstore.idl - richole.idl - sensevts.idl - servprov.idl - shdeprecated.idl - shldisp.idl - shobjidl.idl - shtypes.idl - strmif.idl - structuredquerycondition.idl - textstor.idl - tuner.idl - tom.idl - unknwn.idl - urlhist.idl - urlmon.idl - wincodec.idl - mimeole.idl - mscoree.idl - mshtmhst.idl - exdisp.idl - winsxs.idl - wtypes.idl - wuapi.idl - comcat.idl - xmldso.idl - xmldom.idl - xmllite.idl - wbemcli.idl - wia_lh.idl - wia_xp.idl - - - stdole2.idl - - \ No newline at end of file diff --git a/reactos/include/reactos/asm.h b/reactos/include/reactos/asm.h deleted file mode 100644 index f617926d1b5..00000000000 --- a/reactos/include/reactos/asm.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS Kernel - * FILE: ntoskrnl/include/amd64/asmmacro.S - * PURPOSE: ASM macros for for GAS and MASM/ML64 - * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org) - */ - -#ifdef _USE_ML - -/* Allow ".name" identifiers */ -OPTION DOTNAME - -.586 -.XMM -.MODEL FLAT -ASSUME CS:NOTHING, DS:NOTHING, ES:NOTHING, FS:NOTHING, GS:NOTHING - -/* Hex numbers need to be in 01ABh format */ -#define HEX(x) 0##x##h - -/* Macro values need to be marked */ -#define VAL(x) x - -/* MASM/ML doesn't want explicit [rip] addressing */ -rip = 0 - -/* Due to MASM's reverse syntax, we are forced to use a precompiler macro */ -#define MACRO(name, ...) name MACRO __VA_ARGS__ - -/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */ -.PROC MACRO name - name PROC FRAME - _name: -ENDM - -/* ... and .ENDP, replacing ENDP */ -.ENDP MACRO name - name ENDP -ENDM - -/* MASM doesn't have an ASCII macro */ -.ASCII MACRO text - DB text -ENDM - -/* MASM doesn't have an ASCIZ macro */ -.ASCIZ MACRO text - DB text, 0 -ENDM - -.text MACRO -ENDM - -.code64 MACRO - .code -ENDM - -.code32 MACRO - .code -ENDM - -.align MACRO alignment - ALIGN alignment -ENDM - -.byte MACRO args:VARARG - db args -ENDM - -.short MACRO args:VARARG - dw args -ENDM - -.long MACRO args:VARARG - dd args -ENDM - -.double MACRO args:VARARG - dq args -ENDM - -UNIMPLEMENTED MACRO name -ENDM - -/* We need this to distinguish repeat from macros */ -#define ENDR ENDM - -#else /***********************************************************************/ - -/* Force intel syntax */ -.intel_syntax noprefix - -.altmacro - -/* Hex numbers need to be in 0x1AB format */ -#define HEX(y) 0x##y - -/* Macro values need to be marked */ -#define VAL(x) \x - -/* Due to MASM's reverse syntax, we are forced to use a precompiler macro */ -#define MACRO(...) .macro __VA_ARGS__ -#define ENDM .endm - -/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */ -.macro .PROC name - .func \name - \name: - .cfi_startproc - .equ cfa_current_offset, -8 -.endm - -/* ... and .ENDP, replacing ENDP */ -.macro .ENDP name - .cfi_endproc - .endfunc -.endm - -/* MASM compatible PUBLIC */ -.macro PUBLIC symbol - .global \symbol -.endm - -/* Dummy ASSUME */ -.macro ASSUME p1 p2 p3 p4 p5 p6 p7 p8 -.endm - -/* MASM compatible ALIGN */ -#define ALIGN .align - -/* MASM compatible REPEAT, additional ENDR */ -#define REPEAT .rept -#define ENDR .endr - -/* MASM compatible EXTERN */ -.macro EXTERN name -.endm - -/* MASM needs an END tag */ -#define END - -.macro .MODEL model -.endm - -.macro .code - .text -.endm - -/* Macros for x64 stack unwind OPs */ - -.macro .allocstack size - .cfi_adjust_cfa_offset \size - .set cfa_current_offset, cfa_current_offset - \size -.endm - -code = 1 -.macro .pushframe param=0 - .if (\param) - .cfi_adjust_cfa_offset 0x30 - .set cfa_current_offset, cfa_current_offset - 0x30 - .else - .cfi_adjust_cfa_offset 0x28 - .set cfa_current_offset, cfa_current_offset - 0x28 - .endif -.endm - -.macro .pushreg reg - .cfi_adjust_cfa_offset 8 - .equ cfa_current_offset, cfa_current_offset - 8 - .cfi_offset \reg, cfa_current_offset -.endm - -.macro .savereg reg, offset - // checkme!!! - .cfi_offset \reg, \offset -.endm - -.macro .savexmm128 reg, offset - // checkme!!! - .cfi_offset \reg, \offset -.endm - -.macro .setframe reg, offset - .cfi_def_cfa reg, \offset - .equ cfa_current_offset, \offset -.endm - -.macro .endprolog -.endm - -.macro UNIMPLEMENTED2 file, line, func - - jmp 3f -1: .asciz "\func" -2: .asciz \file -3: - sub rsp, 0x20 - lea rcx, MsgUnimplemented[rip] - lea rdx, 1b[rip] - lea r8, 2b[rip] - mov r9, \line - call DbgPrint - add rsp, 0x20 -.endm -#define UNIMPLEMENTED UNIMPLEMENTED2 __FILE__, __LINE__, - -/* MASM/ML uses ".if" for runtime conditionals, and "if" for compile time - conditionals. We therefore use "if", too. .if shouldn't be used at all */ -#define if .if -#define endif .endif -#define else .else -#define elseif .elseif - -#endif diff --git a/reactos/include/reactos/asm.inc b/reactos/include/reactos/asm.inc deleted file mode 100644 index 89e0058d83c..00000000000 --- a/reactos/include/reactos/asm.inc +++ /dev/null @@ -1,297 +0,0 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS Kernel - * FILE: ntoskrnl/include/amd64/asmmacro.S - * PURPOSE: ASM macros for for GAS and MASM/ML64 - * PROGRAMMERS: Timo Kreuzer (timo.kreuzer@reactos.org) - */ -#ifndef _ASM_INC_ -#define _ASM_INC_ - -#ifdef _USE_ML - -/* Allow ".name" identifiers */ -OPTION DOTNAME - -.686P -.XMM -.MODEL FLAT -ASSUME CS:NOTHING, DS:NOTHING, ES:NOTHING, FS:NOTHING, GS:NOTHING - -/* Hex numbers need to be in 01ABh format */ -#define HEX(x) 0##x##h - -/* Macro values need to be marked */ -#define VAL(x) x - -/* MASM/ML doesn't want explicit [rip] addressing */ -rip = 0 - -/* Due to MASM's reverse syntax, we are forced to use a precompiler macro */ -#define MACRO(name, ...) name MACRO __VA_ARGS__ - -/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */ -.PROC MACRO name -__current_function_name EQU %name -#ifdef _M_IX86 - %name PROC -#else - %name PROC FRAME -#endif -ENDM -#define FUNC .PROC - -/* ... and .ENDP, replacing ENDP */ -.ENDP MACRO - %__current_function_name ENDP -ENDM -#define ENDFUNC .ENDP - -/* check http://msdn.microsoft.com/en-us/library/9c9k076y%28VS.80%29.aspx - and http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */ -FPO MACRO cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame - .FPO (cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame) -ENDM - -/* MASM doesn't have an ASCII macro */ -.ASCII MACRO text - DB text -ENDM - -/* MASM doesn't have an ASCIZ macro */ -.ASCIZ MACRO text - DB text, 0 -ENDM - -#define lgdt lgdt fword ptr ds: - -#define lidt lidt fword ptr ds: - -.code64 MACRO - .code -ENDM - -.code32 MACRO - .code - .586P -ENDM - -.code16 MACRO - ASSUME nothing - .text SEGMENT use16 -ENDM - -.endcode16 MACRO - .text ENDS -ENDM - -.bss MACRO - .DATA? - ASSUME nothing -ENDM - -//.text MACRO -//ENDM - -.align MACRO alignment - ALIGN alignment -ENDM - -.byte MACRO args:VARARG - db args -ENDM - -.short MACRO args:VARARG - dw args -ENDM - -.word MACRO args:VARARG - dw args -ENDM - -.long MACRO args:VARARG - dd args -ENDM - -.double MACRO args:VARARG - dq args -ENDM - -.org MACRO value - ORG value -ENDM - -.fill MACRO repeat, size, value -// FIXME -ENDM - -//ljmp MACRO segment, offset -// FIXME -//ENDM - -UNIMPLEMENTED MACRO name -ENDM - -/* We need this to distinguish repeat from macros */ -#define ENDR ENDM - -#else /***********************************************************************/ - -/* Force intel syntax */ -.intel_syntax noprefix - -.altmacro - -/* Hex numbers need to be in 0x1AB format */ -#define HEX(y) 0x##y - -/* Macro values need to be marked */ -#define VAL(x) \x - -/* Due to MASM's reverse syntax, we are forced to use a precompiler macro */ -#define MACRO(...) .macro __VA_ARGS__ -#define ENDM .endm - -/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */ -.macro .PROC name - .func \name -#ifdef _X86_ - /* x86 gas expects a label with _ prefix */ - _\name: -#endif - \name: - .cfi_startproc - .equ cfa_current_offset, -8 -.endm -#define FUNC .PROC - -/* ... and .ENDP, replacing ENDP */ -.macro .ENDP - .cfi_endproc - .endfunc -.endm -#define ENDFUNC .ENDP - -/* MASM compatible PUBLIC */ -.macro PUBLIC symbol - .global \symbol -.endm - -/* Dummy ASSUME */ -.macro ASSUME p1 p2 p3 p4 p5 p6 p7 p8 -.endm - -/* MASM needs an end tag for segments */ -.macro .endcode16 -.endm - -/* MASM compatible ALIGN */ -#define ALIGN .align - -/* MASM compatible REPEAT, additional ENDR */ -#define REPEAT .rept -#define ENDR .endr - -//.macro ljmp segment, offset -// jmp far ptr \segment:\offset -//.endm - -/* MASM compatible EXTERN */ -.macro EXTERN name -.endm - -/* MASM needs an END tag */ -#define END - -.macro .MODEL model -.endm - -.macro .code - .text -.endm - -/* check http://msdn.microsoft.com/en-us/library/9c9k076y%28VS.80%29.aspx - and http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */ -.macro FPO cdwLocals, cdwParams, cbProlog, cbRegs, fUseBP, cbFrame - /* dummy */ -.endm - -/* Macros for x64 stack unwind OPs */ - -.macro .allocstack size - .cfi_adjust_cfa_offset \size - .set cfa_current_offset, cfa_current_offset - \size -.endm - -code = 1 -.macro .pushframe param=0 - .if (\param) - .cfi_adjust_cfa_offset 0x30 - .set cfa_current_offset, cfa_current_offset - 0x30 - .else - .cfi_adjust_cfa_offset 0x28 - .set cfa_current_offset, cfa_current_offset - 0x28 - .endif -.endm - -.macro .pushreg reg - .cfi_adjust_cfa_offset 8 - .equ cfa_current_offset, cfa_current_offset - 8 - .cfi_offset \reg, cfa_current_offset -.endm - -.macro .savereg reg, offset - // checkme!!! - .cfi_offset \reg, \offset -.endm - -.macro .savexmm128 reg, offset - // checkme!!! - .cfi_offset \reg, \offset -.endm - -.macro .setframe reg, offset - .cfi_def_cfa reg, \offset - .equ cfa_current_offset, \offset -.endm - -.macro .endprolog -.endm - -.macro UNIMPLEMENTED2 file, line, func - - jmp 3f -1: .asciz "\func" -2: .asciz \file -3: - sub rsp, 0x20 - lea rcx, MsgUnimplemented[rip] - lea rdx, 1b[rip] - lea r8, 2b[rip] - mov r9, \line - call DbgPrint - add rsp, 0x20 -.endm -#define UNIMPLEMENTED UNIMPLEMENTED2 __FILE__, __LINE__, - -/* MASM/ML uses ".if" for runtime conditionals, and "if" for compile time - conditionals. We therefore use "if", too. .if shouldn't be used at all */ -#define if .if -#define endif .endif -#define else .else -#define elseif .elseif - -#define CR "\r" -#define LF "\n" -#define NUL "\0" - -#endif - -/* Common definitions for FPO macro - see http://msdn.microsoft.com/en-us/library/ms679352%28VS.85%29.aspx */ -#define FRAME_FPO 0 -#define FRAME_TRAP 1 -#define FRAME_TSS 2 -#define FRAME_NONFPO 3 - -#endif /* _ASM_INC_ */ diff --git a/reactos/include/reactos/idl/idl.rbuild b/reactos/include/reactos/idl/idl.rbuild deleted file mode 100644 index 3746bbebbab..00000000000 --- a/reactos/include/reactos/idl/idl.rbuild +++ /dev/null @@ -1,36 +0,0 @@ - - - - - 0x600 - pnp.idl - - - 0x600 - pnp.idl - - - svcctl.idl - - - svcctl.idl - - - eventlogrpc.idl - - - eventlogrpc.idl - - - lsa.idl - - - lsa.idl - - - wlansvc.idl - - - wlansvc.idl - - diff --git a/reactos/include/reactos/mc/mc.rbuild b/reactos/include/reactos/mc/mc.rbuild deleted file mode 100644 index bcd153e6021..00000000000 --- a/reactos/include/reactos/mc/mc.rbuild +++ /dev/null @@ -1,31 +0,0 @@ - - - - - ntstatus.mc - - - - bugcodes.mc - - - - errcodes.mc - - - - pciclass.mc - - - - neteventmsg.mc - - - - ntiologc.mc - - - - sacmsg.mc - - \ No newline at end of file diff --git a/reactos/include/reactos/reactos.rbuild b/reactos/include/reactos/reactos.rbuild deleted file mode 100644 index 4173d859127..00000000000 --- a/reactos/include/reactos/reactos.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/reactos/include/reactos/version.h b/reactos/include/reactos/version.h deleted file mode 100644 index 2722586d294..00000000000 --- a/reactos/include/reactos/version.h +++ /dev/null @@ -1,32 +0,0 @@ -/* $Id$ - * - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS kernel - * FILE: include/internal/version.h - * PURPOSE: Defines the current version - * PROGRAMMER: David Welch (welch@mcmail.com) - * REVISIONS: - * 1999-11-06 (ea) - * Moved from include/internal in include/reactos - * to be used by buildno. - * 2002-01-17 (ea) - * KERNEL_VERSION removed. Use - * reactos/buildno.h:KERNEL_VERSION_STR instead. - */ - -#ifndef __VERSION_H -#define __VERSION_H - -#define KERNEL_VERSION_MAJOR 0 -#define KERNEL_VERSION_MINOR 4 -#define KERNEL_VERSION_PATCH_LEVEL 0 - -#define COPYRIGHT_YEAR "2012" - -/* KERNEL_VERSION_BUILD_TYPE is L"SVN", L"RC1", L"RC2" or L"" (for the release) */ -#define KERNEL_VERSION_BUILD_TYPE L"SVN" - - -#endif - -/* EOF */ diff --git a/reactos/include/reactos/wine/wineheaders.rbuild b/reactos/include/reactos/wine/wineheaders.rbuild deleted file mode 100644 index 8b9a00e3855..00000000000 --- a/reactos/include/reactos/wine/wineheaders.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - itss.idl - diff --git a/reactos/lib/3rdparty/3rdparty.rbuild b/reactos/lib/3rdparty/3rdparty.rbuild deleted file mode 100644 index 92a7cab38cf..00000000000 --- a/reactos/lib/3rdparty/3rdparty.rbuild +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -Wno-unused-value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/lib/3rdparty/adns/adns.rbuild b/reactos/lib/3rdparty/adns/adns.rbuild deleted file mode 100644 index 4a3e2c7a9df..00000000000 --- a/reactos/lib/3rdparty/adns/adns.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - src - adns_win32 - - - adns_unix_calls.c - - - check.c - event.c - general.c - parse.c - poll.c - query.c - reply.c - setup.c - transmit.c - types.c - - diff --git a/reactos/lib/3rdparty/bzip2/bzip2.rbuild b/reactos/lib/3rdparty/bzip2/bzip2.rbuild deleted file mode 100644 index f58e45dee12..00000000000 --- a/reactos/lib/3rdparty/bzip2/bzip2.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - ntoskrnl - bzlib.c - randtable.c - crctable.c - decompress.c - huffman.c - dllmain.c - diff --git a/reactos/lib/3rdparty/cardlib/cardlib.rbuild b/reactos/lib/3rdparty/cardlib/cardlib.rbuild deleted file mode 100644 index 4d65605c2cd..00000000000 --- a/reactos/lib/3rdparty/cardlib/cardlib.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - advapi32 - user32 - gdi32 - comctl32 - cardbitmaps.cpp - cardbutton.cpp - cardcolor.cpp - cardcount.cpp - cardlib.cpp - cardregion.cpp - cardrgndraw.cpp - cardrgnmouse.cpp - cardstack.cpp - cardwindow.cpp - dropzone.cpp - diff --git a/reactos/lib/3rdparty/expat/expat.rbuild b/reactos/lib/3rdparty/expat/expat.rbuild deleted file mode 100644 index bfb6cbc0997..00000000000 --- a/reactos/lib/3rdparty/expat/expat.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - . - lib - include/reactos/libs/expat - - - xmlparse.c - xmlrole.c - xmltok.c - - diff --git a/reactos/lib/3rdparty/freetype/freetype.rbuild b/reactos/lib/3rdparty/freetype/freetype.rbuild deleted file mode 100644 index 081cf018a72..00000000000 --- a/reactos/lib/3rdparty/freetype/freetype.rbuild +++ /dev/null @@ -1,94 +0,0 @@ - - - - include - - - - - ftbase.c - ftbbox.c - ftbdf.c - ftbitmap.c - ftdebug.c - ftgasp.c - ftglyph.c - ftgxval.c - ftinit.c - ftlcdfil.c - ftmm.c - ftotval.c - ftpatent.c - ftpfr.c - ftstroke.c - ftsynth.c - ftsystem.c - fttype1.c - ftwinfnt.c - ftxf86.c - - - autofit.c - - - bdf.c - - - ftcache.c - - - cff.c - - - type1cid.c - - - gxvalid.c - - - ftgzip.c - - - ftlzw.c - - - otvalid.c - - - pcf.c - - - pfr.c - - - psaux.c - - - pshinter.c - - - psnames.c - - - raster.c - - - sfnt.c - - - smooth.c - - - truetype.c - - - type1.c - - - type42.c - - - winfnt.c - - - diff --git a/reactos/lib/3rdparty/fullfat/fullfat.rbuild b/reactos/lib/3rdparty/fullfat/fullfat.rbuild deleted file mode 100644 index 4e18e3b3c18..00000000000 --- a/reactos/lib/3rdparty/fullfat/fullfat.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - include/reactos/libs/fullfat - - - ff_blk.c - ff_crc.c - ff_dir.c - ff_error.c - ff_fat.c - ff_file.c - ff_format.c - ff_hash.c - ff_ioman.c - ff_memory.c - ff_safety.c - ff_string.c - ff_time.c - ff_unicode.c - diff --git a/reactos/lib/3rdparty/libmpg123/libmpg123.rbuild b/reactos/lib/3rdparty/libmpg123/libmpg123.rbuild deleted file mode 100644 index ac4be2133a6..00000000000 --- a/reactos/lib/3rdparty/libmpg123/libmpg123.rbuild +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - 75 - . - include/reactos/libs/libmpg123 - - _lseek - _read - _strdup - compat.c - dct64.c - dct64_i386.c - equalizer.c - feature.c - format.c - frame.c - icy.c - icy2utf8.c - id3.c - index.c - layer1.c - layer2.c - layer3.c - libmpg123.c - ntom.c - optimize.c - parse.c - readers.c - stringbuf.c - synth.c - synth_8bit.c - synth_real.c - synth_s32.c - tabinit.c - - diff --git a/reactos/lib/3rdparty/libsamplerate/libsamplerate.rbuild b/reactos/lib/3rdparty/libsamplerate/libsamplerate.rbuild deleted file mode 100644 index 0d72ab3f339..00000000000 --- a/reactos/lib/3rdparty/libsamplerate/libsamplerate.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - samplerate.c - src_linear.c - src_sinc.c - src_zoh.c - diff --git a/reactos/lib/3rdparty/libwine/libwine.rbuild b/reactos/lib/3rdparty/libwine/libwine.rbuild deleted file mode 100644 index dc5d93383e4..00000000000 --- a/reactos/lib/3rdparty/libwine/libwine.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - - include/reactos/wine - - config.c - debug_ros.c - loader.c - wctype.c - register.c - - - - include/reactos/wine - - loader.c - - \ No newline at end of file diff --git a/reactos/lib/3rdparty/libxml2/libxml2.rbuild b/reactos/lib/3rdparty/libxml2/libxml2.rbuild deleted file mode 100644 index fab226e9bb4..00000000000 --- a/reactos/lib/3rdparty/libxml2/libxml2.rbuild +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - include - . - - - _getcwd - _close - _write - _read - _open - - c14n.c - catalog.c - chvalid.c - debugXML.c - dict.c - DOCBparser.c - encoding.c - entities.c - error.c - globals.c - hash.c - HTMLparser.c - HTMLtree.c - legacy.c - list.c - nanoftp.c - nanohttp.c - parser.c - parserInternals.c - pattern.c - relaxng.c - SAX.c - SAX2.c - threads.c - tree.c - uri.c - valid.c - xinclude.c - xlink.c - xmlIO.c - xmlmemory.c - xmlreader.c - xmlregexp.c - xmlmodule.c - xmlsave.c - xmlschemas.c - xmlschemastypes.c - xmlunicode.c - xmlwriter.c - xpath.c - xpointer.c - xmlstring.c - diff --git a/reactos/lib/3rdparty/mingw/mingw.rbuild b/reactos/lib/3rdparty/mingw/mingw.rbuild deleted file mode 100644 index 737810cca13..00000000000 --- a/reactos/lib/3rdparty/mingw/mingw.rbuild +++ /dev/null @@ -1,73 +0,0 @@ - - - - - oldnames - ntdll - - - - - - include/reactos/mingw-w64 - kernel32 - _newmode.c - atonexit.c - binmode.c - charmax.c - cinitexe.c - CRT_fp10.c - CRT_fp8.c - CRT_glob.c - crt_handler.c - dllentry.c - gccmain.c - gs_support.c - merr.c - mingw_helpers.c - natstart.c - pesect.c - pseudo-reloc.c - pseudo-reloc-list.c - tlsmcrt.c - tlssup.c - tlsthrd.c - txtmode.c - wildcard.c - xncommod.c - xthdloc.c - xtxtmode.c - ofmt_stub.c - cxa_pure_virtual.c - - - - include/reactos/mingw-w64 - /wd4733 - crt0_c.c - crtexe.c - dllargv.c - - - - - include/reactos/mingw-w64 - /wd4733 - crt0_w.c - crtexe.c - dllargv.c - - - - include/reactos/mingw-w64 - crtdll.c - dllargv.c - - - - - - - getopt.c - - diff --git a/reactos/lib/3rdparty/zlib/zlib.rbuild b/reactos/lib/3rdparty/zlib/zlib.rbuild deleted file mode 100644 index b58694c3d68..00000000000 --- a/reactos/lib/3rdparty/zlib/zlib.rbuild +++ /dev/null @@ -1,42 +0,0 @@ - - - - - . - - adler32.c - compress.c - crc32.c - deflate.c - gzclose.c - gzlib.c - gzread.c - gzwrite.c - infback.c - inffast.c - inflate.c - inftrees.c - trees.c - uncompr.c - zutil.c - - - . - - adler32.c - compress.c - crc32.c - deflate.c - gzclose.c - gzlib.c - gzread.c - gzwrite.c - infback.c - inffast.c - inflate.c - inftrees.c - trees.c - uncompr.c - zutil.c - - diff --git a/reactos/lib/atl/atl.rbuild b/reactos/lib/atl/atl.rbuild deleted file mode 100644 index 7193d4cbe4c..00000000000 --- a/reactos/lib/atl/atl.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - . - - - - atlbase.cpp - atlcore.cpp - diff --git a/reactos/lib/cmlib/cmlib.rbuild b/reactos/lib/cmlib/cmlib.rbuild deleted file mode 100644 index 889ec2f3e4c..00000000000 --- a/reactos/lib/cmlib/cmlib.rbuild +++ /dev/null @@ -1,35 +0,0 @@ - - - - - . - - - - cminit.c - hivebin.c - hivecell.c - hiveinit.c - hivesum.c - hivewrt.c - cmlib.h - - - . - - - - - - -Wwrite-strings - -Wpointer-arith - - - cminit.c - hivebin.c - hivecell.c - hiveinit.c - hivesum.c - hivewrt.c - - diff --git a/reactos/lib/cportlib/cportlib.rbuild b/reactos/lib/cportlib/cportlib.rbuild deleted file mode 100644 index 7a4dcd712e5..00000000000 --- a/reactos/lib/cportlib/cportlib.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - - . - cport.c - - diff --git a/reactos/lib/debugsup/debugsup.rbuild b/reactos/lib/debugsup/debugsup.rbuild deleted file mode 100644 index 4c642a5a223..00000000000 --- a/reactos/lib/debugsup/debugsup.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/lib/dnslib/dnslib.rbuild b/reactos/lib/dnslib/dnslib.rbuild deleted file mode 100644 index c3862364894..00000000000 --- a/reactos/lib/dnslib/dnslib.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - inc - addr.c - debug.c - dnsaddr.c - dnsutil.c - flatbuf.c - hostent.c - ip6.c - memory.c - name.c - print.c - record.c - rrprint.c - sablob.c - straddr.c - string.c - table.c - utf8.c - - precomp.h - - diff --git a/reactos/lib/drivers/chew/chew.rbuild b/reactos/lib/drivers/chew/chew.rbuild deleted file mode 100644 index cf512c6f0aa..00000000000 --- a/reactos/lib/drivers/chew/chew.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - include - workqueue.c - diff --git a/reactos/lib/drivers/csq/csq.rbuild b/reactos/lib/drivers/csq/csq.rbuild deleted file mode 100644 index 2f2545c4282..00000000000 --- a/reactos/lib/drivers/csq/csq.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - - csq.c - diff --git a/reactos/lib/drivers/directory.rbuild b/reactos/lib/drivers/directory.rbuild deleted file mode 100644 index 2dd51908b4f..00000000000 --- a/reactos/lib/drivers/directory.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/lib/drivers/hidparser/hidparser.rbuild b/reactos/lib/drivers/hidparser/hidparser.rbuild deleted file mode 100644 index 61416b5f723..00000000000 --- a/reactos/lib/drivers/hidparser/hidparser.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - hidparser.c - parser.c - context.c - api.c - \ No newline at end of file diff --git a/reactos/lib/drivers/ip/ip.rbuild b/reactos/lib/drivers/ip/ip.rbuild deleted file mode 100644 index 3eea383a897..00000000000 --- a/reactos/lib/drivers/ip/ip.rbuild +++ /dev/null @@ -1,46 +0,0 @@ - - - - - include - src/include - src/include/ipv4 - - - - checksum.S - - - address.c - arp.c - checksum.c - icmp.c - interface.c - ip.c - loopback.c - neighbor.c - ports.c - receive.c - router.c - routines.c - transmit.c - - - - datagram.c - - - rawip.c - - - accept.c - event.c - if.c - tcp.c - - - udp.c - - - precomp.h - diff --git a/reactos/lib/drivers/lwip/lwip.rbuild b/reactos/lib/drivers/lwip/lwip.rbuild deleted file mode 100755 index 7059ccdbf6c..00000000000 --- a/reactos/lib/drivers/lwip/lwip.rbuild +++ /dev/null @@ -1,65 +0,0 @@ - - - - src/include - src/include/ipv4 - include - - rosip.c - rostcp.c - rosmem.c - sys_arch.c - - api_lib.c - api_msg.c - err.c - netbuf.c - netdb.c - netifapi.c - sockets.c - tcpip.c - - - def.c - dhcp.c - dns.c - init.c - mem.c - memp.c - netif.c - pbuf.c - raw.c - stats.c - sys.c - tcp_in.c - tcp_out.c - tcp.c - timers.c - udp.c - - autoip.c - icmp.c - igmp.c - inet_chksum.c - inet.c - ip.c - ip_addr.c - ip_frag.c - - - - asn1_dec.c - asn1_enc.c - mib_structs.c - mib2.c - msg_in.c - msg_out.c - - - - diff --git a/reactos/lib/drivers/sound/legacy/legacy.rbuild b/reactos/lib/drivers/sound/legacy/legacy.rbuild deleted file mode 100644 index 1c83aac740e..00000000000 --- a/reactos/lib/drivers/sound/legacy/legacy.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - . - include/reactos/libs/sound - devname.c - hardware.c - diff --git a/reactos/lib/drivers/sound/mmebuddy/mmebuddy.rbuild b/reactos/lib/drivers/sound/mmebuddy/mmebuddy.rbuild deleted file mode 100644 index 80a456d4eae..00000000000 --- a/reactos/lib/drivers/sound/mmebuddy/mmebuddy.rbuild +++ /dev/null @@ -1,34 +0,0 @@ - - - - include/reactos/libs/sound - . - 1 - capabilities.c - devicelist.c - deviceinstance.c - functiontable.c - mmewrap.c - reentrancy.c - utility.c - kernel.c - thread.c - - widMessage.c - wodMessage.c - format.c - header.c - streaming.c - - - midMessage.c - modMessage.c - - - mxdMessage.c - - - auxMessage.c - - precomp.h - diff --git a/reactos/lib/drivers/sound/mment4/mment4.rbuild b/reactos/lib/drivers/sound/mment4/mment4.rbuild deleted file mode 100644 index f0e59ba6532..00000000000 --- a/reactos/lib/drivers/sound/mment4/mment4.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - include/reactos/libs/sound - 1 - detect.c - registry.c - control.c - precomp.h - diff --git a/reactos/lib/drivers/sound/mmixer/mmixer.rbuild b/reactos/lib/drivers/sound/mmixer/mmixer.rbuild deleted file mode 100644 index 79b09eefe17..00000000000 --- a/reactos/lib/drivers/sound/mmixer/mmixer.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - include/reactos/libs/sound - 1 - controls.c - filter.c - midi.c - mixer.c - sup.c - wave.c - topology.c - priv.h - diff --git a/reactos/lib/drivers/sound/shared/shared.rbuild b/reactos/lib/drivers/sound/shared/shared.rbuild deleted file mode 100644 index 578f7a1cd5b..00000000000 --- a/reactos/lib/drivers/sound/shared/shared.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - . - include/reactos/libs/sound - time.c - diff --git a/reactos/lib/drivers/sound/sound.rbuild b/reactos/lib/drivers/sound/sound.rbuild deleted file mode 100644 index 2042107c7bd..00000000000 --- a/reactos/lib/drivers/sound/sound.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/lib/drivers/sound/soundblaster/soundblaster.rbuild b/reactos/lib/drivers/sound/soundblaster/soundblaster.rbuild deleted file mode 100644 index 24a37d1bcbe..00000000000 --- a/reactos/lib/drivers/sound/soundblaster/soundblaster.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - . - include/reactos/libs/sound - dsp_io.c - version.c - speaker.c - rate.c - mixer.c - precomp.h - diff --git a/reactos/lib/drivers/sound/uartmidi/uartmidi.rbuild b/reactos/lib/drivers/sound/uartmidi/uartmidi.rbuild deleted file mode 100644 index bdfad119cb6..00000000000 --- a/reactos/lib/drivers/sound/uartmidi/uartmidi.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - . - include/reactos/libs/sound - midiuart.c - diff --git a/reactos/lib/epsapi/epsapi.rbuild b/reactos/lib/epsapi/epsapi.rbuild deleted file mode 100644 index 2a6e273e6db..00000000000 --- a/reactos/lib/epsapi/epsapi.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - drivers.c - modules.c - processes.c - precomp.h - - diff --git a/reactos/lib/fslib/directory.rbuild b/reactos/lib/fslib/directory.rbuild deleted file mode 100644 index 272f5de776c..00000000000 --- a/reactos/lib/fslib/directory.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/reactos/lib/fslib/ext2lib/ext2lib.rbuild b/reactos/lib/fslib/ext2lib/ext2lib.rbuild deleted file mode 100644 index 853d7f248f9..00000000000 --- a/reactos/lib/fslib/ext2lib/ext2lib.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - . - Badblock.c - Bitmap.c - Disk.c - Group.c - Inode.c - Memory.c - Mke2fs.c - Super.c - Uuid.c - diff --git a/reactos/lib/fslib/ntfslib/ntfslib.rbuild b/reactos/lib/fslib/ntfslib/ntfslib.rbuild deleted file mode 100644 index 40edefe4d60..00000000000 --- a/reactos/lib/fslib/ntfslib/ntfslib.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - . - ntfslib.c - \ No newline at end of file diff --git a/reactos/lib/fslib/vfatlib/vfatlib.rbuild b/reactos/lib/fslib/vfatlib/vfatlib.rbuild deleted file mode 100644 index 037df56faca..00000000000 --- a/reactos/lib/fslib/vfatlib/vfatlib.rbuild +++ /dev/null @@ -1,20 +0,0 @@ - - - - . - fat12.c - fat16.c - fat32.c - vfatlib.c - vfatlib.h - - - boot.c - check.c - common.c - fat.c - file.c - io.c - lfn.c - - diff --git a/reactos/lib/fslib/vfatxlib/vfatxlib.rbuild b/reactos/lib/fslib/vfatxlib/vfatxlib.rbuild deleted file mode 100644 index 2a41ebcbd73..00000000000 --- a/reactos/lib/fslib/vfatxlib/vfatxlib.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - . - fatx.c - vfatxlib.c - vfatxlib.h - diff --git a/reactos/lib/inflib/inflib.mak b/reactos/lib/inflib/inflib.mak deleted file mode 100644 index 8a4bf38d274..00000000000 --- a/reactos/lib/inflib/inflib.mak +++ /dev/null @@ -1,71 +0,0 @@ -INFLIB_BASE = $(LIB_BASE_)inflib -INFLIB_BASE_ = $(INFLIB_BASE)$(SEP) -INFLIB_INT = $(INTERMEDIATE_)$(INFLIB_BASE)_host -INFLIB_INT_ = $(INTERMEDIATE_)$(INFLIB_BASE)_host$(SEP) -INFLIB_OUT = $(OUTPUT_)$(INFLIB_BASE)_host -INFLIB_OUT_ = $(OUTPUT_)$(INFLIB_BASE)_host$(SEP) - -$(INFLIB_INT): | $(LIB_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(INFLIB_OUT): | $(OUTPUT_)$(LIB_BASE) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -INFLIB_HOST_TARGET = \ - $(INFLIB_OUT)$(SEP)inflib.a - -INFLIB_HOST_SOURCES = $(addprefix $(INFLIB_BASE_), \ - infcore.c \ - infget.c \ - infput.c \ - infhostgen.c \ - infhostget.c \ - infhostput.c \ - ) - -INFLIB_HOST_OBJECTS = \ - $(subst $(INFLIB_BASE), $(INFLIB_INT), $(INFLIB_HOST_SOURCES:.c=.o)) - -INFLIB_HOST_CFLAGS = -O3 -Wall -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes -DINFLIB_HOST \ - -Iinclude/host -Iinclude $(HOST_CFLAGS) - -$(INFLIB_HOST_TARGET): $(INFLIB_HOST_OBJECTS) | $(INFLIB_OUT) - $(ECHO_HOSTAR) - $(host_ar) -r $@ $(INFLIB_HOST_OBJECTS) - -$(INFLIB_INT_)infcore.o: $(INFLIB_BASE_)infcore.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infget.o: $(INFLIB_BASE_)infget.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infput.o: $(INFLIB_BASE_)infput.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infhostgen.o: $(INFLIB_BASE_)infhostgen.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infhostget.o: $(INFLIB_BASE_)infhostget.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infhostput.o: $(INFLIB_BASE_)infhostput.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -.PHONY: inflib_host -inflib_host: $(INFLIB_HOST_TARGET) - -.PHONY: inflib_host_clean -inflib_host_clean: - -@$(rm) $(INFLIB_HOST_TARGET) $(INFLIB_HOST_OBJECTS) 2>$(NUL) -clean: inflib_host_clean diff --git a/reactos/lib/inflib/inflib.rbuild b/reactos/lib/inflib/inflib.rbuild deleted file mode 100644 index 1a8dad5eb6e..00000000000 --- a/reactos/lib/inflib/inflib.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - . - infcore.c - infget.c - infput.c - infrosgen.c - infrosget.c - infrosput.c - - - . - - - -Wpointer-arith - -Wconversion - -Wstrict-prototypes - -Wmissing-prototypes - - - infcore.c - infget.c - infput.c - infhostgen.c - infhostget.c - infhostput.c - - diff --git a/reactos/lib/lib.mak b/reactos/lib/lib.mak deleted file mode 100644 index 9b9b59f84e9..00000000000 --- a/reactos/lib/lib.mak +++ /dev/null @@ -1,7 +0,0 @@ -LIB_BASE = lib -LIB_BASE_ = $(LIB_BASE)$(SEP) - -include lib/inflib/inflib.mak -ifeq ($(ARCH),powerpc) -include lib/ppcmmu/ppcmmu.mak -endif diff --git a/reactos/lib/lib.rbuild b/reactos/lib/lib.rbuild deleted file mode 100644 index 728b26a1648..00000000000 --- a/reactos/lib/lib.rbuild +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/lib/lsalib/lsalib.rbuild b/reactos/lib/lsalib/lsalib.rbuild deleted file mode 100644 index b917351f45e..00000000000 --- a/reactos/lib/lsalib/lsalib.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - . - include/reactos/subsys - lsa.c - diff --git a/reactos/lib/newinflib/inflib.mak b/reactos/lib/newinflib/inflib.mak deleted file mode 100644 index a0edbe26b96..00000000000 --- a/reactos/lib/newinflib/inflib.mak +++ /dev/null @@ -1,76 +0,0 @@ -INFLIB_BASE = $(LIB_BASE_)newinflib -INFLIB_BASE_ = $(INFLIB_BASE)$(SEP) -INFLIB_INT = $(INTERMEDIATE_)$(INFLIB_BASE)_host -INFLIB_INT_ = $(INTERMEDIATE_)$(INFLIB_BASE)_host$(SEP) -INFLIB_OUT = $(OUTPUT_)$(INFLIB_BASE)_host -INFLIB_OUT_ = $(OUTPUT_)$(INFLIB_BASE)_host$(SEP) - -$(INFLIB_INT): | $(LIB_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(INFLIB_OUT): | $(OUTPUT_)$(LIB_BASE) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -INFLIB_HOST_TARGET = \ - $(INFLIB_OUT)$(SEP)newinflib.a - -INFLIB_HOST_SOURCES = $(addprefix $(INFLIB_BASE_), \ - infcore.c \ - infget.c \ - infput.c \ - infhostgen.c \ - infhostget.c \ - infhostput.c \ - infhostrtl.c \ - ) - -INFLIB_HOST_OBJECTS = \ - $(subst $(INFLIB_BASE), $(INFLIB_INT), $(INFLIB_HOST_SOURCES:.c=.o)) - -INFLIB_HOST_CFLAGS = -O3 -Wall -Wpointer-arith -Wconversion \ - -Wstrict-prototypes -Wmissing-prototypes -DINFLIB_HOST \ - -Iinclude/reactos -Iinclude $(HOST_CFLAGS) - -$(INFLIB_HOST_TARGET): $(INFLIB_HOST_OBJECTS) | $(INFLIB_OUT) - $(ECHO_HOSTAR) - $(host_ar) -r $@ $(INFLIB_HOST_OBJECTS) - -$(INFLIB_INT_)infcore.o: $(INFLIB_BASE_)infcore.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infget.o: $(INFLIB_BASE_)infget.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infput.o: $(INFLIB_BASE_)infput.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infhostgen.o: $(INFLIB_BASE_)infhostgen.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infhostget.o: $(INFLIB_BASE_)infhostget.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infhostput.o: $(INFLIB_BASE_)infhostput.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -$(INFLIB_INT_)infhostrtl.o: $(INFLIB_BASE_)infhostrtl.c | $(INFLIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(INFLIB_HOST_CFLAGS) -c $< -o $@ - -.PHONY: newinflib_host -newinflib_host: $(INFLIB_HOST_TARGET) - -.PHONY: newinflib_host_clean -newinflib_host_clean: - -@$(rm) $(INFLIB_HOST_TARGET) $(INFLIB_HOST_OBJECTS) 2>$(NUL) -clean: newinflib_host_clean diff --git a/reactos/lib/newinflib/inflib.rbuild b/reactos/lib/newinflib/inflib.rbuild deleted file mode 100644 index c6758ab5559..00000000000 --- a/reactos/lib/newinflib/inflib.rbuild +++ /dev/null @@ -1,30 +0,0 @@ - - - - - . - infcore.c - infget.c - infput.c - infrosgen.c - infrosget.c - infrosput.c - inflib.h - - - . - - - -Wwrite-strings - -Wpointer-arith - - - infcore.c - infget.c - infput.c - infhostgen.c - infhostget.c - infhostput.c - infhostrtl.c - - diff --git a/reactos/lib/ppcmmu/ppcmmu.mak b/reactos/lib/ppcmmu/ppcmmu.mak deleted file mode 100644 index ef9ffb5f1ec..00000000000 --- a/reactos/lib/ppcmmu/ppcmmu.mak +++ /dev/null @@ -1,37 +0,0 @@ -O=$(INTERMEDIATE)/lib/ppcmmu -S=lib/ppcmmu -CC=powerpc-unknown-elf-gcc -I$T/include/reactos/ppcmmu -AR=powerpc-unknown-elf-ar -CFLAGS=-Iinclude/reactos/libs -Iinclude/crt -Iinclude/reactos -D__cdecl__= -OBJCOPY=powerpc-unknown-elf-objcopy -LDSCRIPT=-Wl,-T,$S/ldscript -PPCMMU_TARGETS=$O/libppcmmu_code.a -MMUOBJECT_OBJS=$O/devint.o $O/mmuobject.o $O/mmuutil_object.o $O/mmutest.o $O/gdblib.o - -mkdir_ppcmmu: - -mkdir -p $O - -$O/mmuutil_object.o: $S/mmuutil.c | mkdir_ppcmmu - $(CC) $(CFLAGS) -g -c -o $@ $S/mmuutil.c - -$O/libppcmmu_code.a: $(MMUOBJECT_OBJS) - $(CC) -Wl,-N -nostartfiles -nostdlib -o $O/mmuobject -Ttext=0x10000 $(LDSCRIPT) -Wl,-u,mmumain -Wl,-u,data_miss_start -Wl,-u,data_miss_end $(MMUOBJECT_OBJS) - $(OBJCOPY) -O binary $O/mmuobject mmucode - $(OBJCOPY) -I binary -O elf32-powerpc -B powerpc:common mmucode $O/mmucode.o - mkdir -p `dirname $@` - $(AR) cr $@ $O/mmucode.o - -$O/gdblib.o: $S/gdblib.c | mkdir_ppcmmu - $(CC) $(CFLAGS) -g -c -o $@ $S/gdblib.c - -$O/devint.o: $S/devint.s | mkdir_ppcmmu - $(CC) $(CFLAGS) -g -c -o $@ $S/devint.s - -$O/mmuobject.o: $S/mmuobject.c $S/mmuobject.h | mkdir_ppcmmu - $(CC) $(CFLAGS) -g -c -o $@ $S/mmuobject.c - -$O/mmutest.o: $S/mmutest.c $S/mmuobject.h | mkdir_ppcmmu - $(CC) $(CFLAGS) -g -c -o $@ $S/mmutest.c - -ppcmmuobject_clean: - rm -f $O/*.o $O/*.a mmucode $O/mmuobject diff --git a/reactos/lib/ppcmmu/ppcmmu.rbuild b/reactos/lib/ppcmmu/ppcmmu.rbuild deleted file mode 100644 index d46bf832af1..00000000000 --- a/reactos/lib/ppcmmu/ppcmmu.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - - mmuutil.c - - dummy.c - diff --git a/reactos/lib/pseh/pseh.rbuild b/reactos/lib/pseh/pseh.rbuild deleted file mode 100644 index 3d2cbfeef4d..00000000000 --- a/reactos/lib/pseh/pseh.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - framebased.S - - - framebased-gcchack.c - framebased-gcchack-asm.S - - - - - - framebased.S - - - - - framebased.S - - - framebased.c - diff --git a/reactos/lib/recyclebin/recyclebin.rbuild b/reactos/lib/recyclebin/recyclebin.rbuild deleted file mode 100644 index 3127c8bea8c..00000000000 --- a/reactos/lib/recyclebin/recyclebin.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - guid.c - recyclebin.c - recyclebin_generic.c - recyclebin_generic_enumerator.c - recyclebin_v5.c - recyclebin_v5_enumerator.c - diff --git a/reactos/lib/rossym/rossym.rbuild b/reactos/lib/rossym/rossym.rbuild deleted file mode 100644 index 2a9f87be27a..00000000000 --- a/reactos/lib/rossym/rossym.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - delete.c - find.c - fromfile.c - frommem.c - fromraw.c - getraw.c - init.c - initkm.c - initum.c - zwfile.c - diff --git a/reactos/lib/rtl/rtl.rbuild b/reactos/lib/rtl/rtl.rbuild deleted file mode 100644 index 75758ab5353..00000000000 --- a/reactos/lib/rtl/rtl.rbuild +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - . - - - - debug_asm.S - except_asm.s - except.c - interlck.S - rtlswap.S - rtlmem.s - res_asm.s - thread.c - - - - byteswap.c - - debug.c - except.c - interlocked.c - rtlmem.s - rtlswap.s - thread.c - - - - byteswap.c - - debug_asm.S - - mem.c - - - byteswap.c - - debug_asm.S - except_asm.S - slist.S - unwind.c - stubs.c - - mem.c - - access.c - acl.c - actctx.c - assert.c - atom.c - avltable.c - bitmap.c - bootdata.c - compress.c - condvar.c - crc32.c - critical.c - dbgbuffer.c - debug.c - dos8dot3.c - encode.c - env.c - error.c - exception.c - generictable.c - handle.c - heap.c - heapdbg.c - heappage.c - image.c - interlck.c - message.c - largeint.c - luid.c - network.c - nls.c - path.c - ppb.c - process.c - propvar.c - random.c - rangelist.c - registry.c - res.c - resource.c - sd.c - security.c - slist.c - sid.c - srw.c - splaytree.c - thread.c - time.c - timezone.c - timerqueue.c - unicode.c - unicodeprefix.c - vectoreh.c - version.c - wait.c - workitem.c - rtl.h - diff --git a/reactos/lib/sdk/crt/crt.rbuild b/reactos/lib/sdk/crt/crt.rbuild deleted file mode 100644 index 191b8f56486..00000000000 --- a/reactos/lib/sdk/crt/crt.rbuild +++ /dev/null @@ -1,585 +0,0 @@ - - - - - - - - chkesp.s - chkstk_asm.s - chkstk_ms.s - - - - - chkstk_asm.s - - - - - - - chkstk - . - include - extern - - - - - - - - _cprintf.c - _cwprintf.c - _snprintf.c - _snwprintf.c - _vcprintf.c - _vcwprintf.c - _vsnprintf.c - _vsnwprintf.c - _vsprintf_p.c - fprintf.c - fprintf_s.c - fwprintf.c - fwprintf_s.c - printf.c - printf_s.c - sprintf.c - streamout.c - swprintf.c - vfprintf.c - vfprintf_s.c - vfwprintf.c - vfwprintf_s.c - vprintf.c - vprintf_s.c - vsprintf.c - vswprintf.c - vwprintf.c - vwprintf_s.c - wprintf.c - wprintf_s.c - wstreamout.c - - - - cgets.c - cputs.c - getch.c - getche.c - kbhit.c - putch.c - ungetch.c - - - chdir.c - chdrive.c - getcwd.c - getdcwd.c - getdfree.c - getdrive.c - mkdir.c - rmdir.c - wchdir.c - wgetcwd.c - wgetdcwd.c - wmkdir.c - wrmdir.c - - - cpp.c - cppexcept.c - except.c - matherr.c - stack.c - - - prolog.s - seh.s - unwind.c - - - - - seh.s - - - - - seh.s - chkstk_asm.s - ehandler.c - - - xcptfil.c - - - chgsign.c - copysign.c - fpclass.c - fpecode.c - isnan.c - nafter.c - scalb.c - - - clearfp.c - cntrlfp.c - fpreset.c - logb.c - statfp.c - - - - - clearfp.c - cntrlfp.c - fpreset.c - logb.c - statfp.c - - - - - locale.c - - - acos.c - adjust.c - asin.c - cabs.c - cosf.c - cosh.c - div.c - fdivbug.c - frexp.c - huge_val.c - hypot.c - j0_y0.c - j1_y1.c - jn_yn.c - ldiv.c - logf.c - modf.c - powf.c - rand.c - s_modf.c - sinf.c - sinh.c - tanh.c - powl.c - - - j0_y0.c - j1_y1.c - jn_yn.c - - - - - alldiv_asm.s - alldvrm_asm.s - allmul_asm.s - allrem_asm.s - allshl_asm.s - allshr_asm.s - atan_asm.s - aulldiv_asm.s - aulldvrm_asm.s - aullrem_asm.s - aullshr_asm.s - ceil_asm.s - ceilf.S - cos_asm.s - fabs_asm.s - floor_asm.s - floorf.S - ftol_asm.s - log_asm.s - log10_asm.s - pow_asm.s - sin_asm.s - sqrt_asm.s - tan_asm.s - - atan2.c - ci.c - exp.c - fmod.c - fmodf.c - ldexp.c - sqrtf.c - - - - cos.c - sin.c - - alldiv.S - atan.S - atan2.S - ceil.S - ceilf.S - exp.S - fabs.S - floor.S - floorf.S - fmod.S - fmodf.S - ldexp.S - log.S - log10.S - pow.S - sqrt.S - sqrtf.S - tan.S - - - - stubs.c - - - - - hanzen.c - ischira.c - iskana.c - iskmoji.c - iskpun.c - islead.c - islwr.c - ismbal.c - ismbaln.c - ismbc.c - ismbgra.c - ismbkaln.c - ismblead.c - ismbpri.c - ismbpun.c - ismbtrl.c - isuppr.c - jistojms.c - jmstojis.c - mbbtype.c - mbccpy.c - mbclen.c - mbscat.c - mbschr.c - mbscmp.c - mbscoll.c - mbscpy.c - mbscspn.c - mbsdec.c - mbsdup.c - mbsicmp.c - mbsicoll.c - mbsinc.c - mbslen.c - mbslwr.c - mbsncat.c - mbsnccnt.c - mbsncmp.c - mbsncoll.c - mbsncpy.c - mbsnextc.c - mbsnicmp.c - mbsnicoll.c - mbsninc.c - mbsnset.c - mbspbrk.c - mbsrchr.c - mbsrev.c - mbsset.c - mbsspn.c - mbsspnp.c - mbsstr.c - mbstok.c - mbstrlen.c - mbsupr.c - - - - - - memchr_asm.s - memcpy_asm.s - memmove_asm.s - memset_asm.s - - - - memchr.c - memcpy.c - memmove.c - memset.c - - memcmp.c - memccpy.c - memicmp.c - - - - amsg.c - assert.c - environ.c - fltused.c - getargs.c - i10output.c - initterm.c - lock.c - purecall.c - stubs.c - tls.c - - - _cwait.c - _system.c - dll.c - process.c - procid.c - thread.c - threadid.c - threadx.c - wprocess.c - - - bsearch.c - lfind.c - lsearch.c - - - - - setjmp.s - - - - - setjmp.s - - - - - signal.c - xcptinfo.c - - - _flsbuf.c - _flswbuf.c - access.c - file.c - find.c - find64.c - findi64.c - fmode.c - perror.c - popen.c - stat.c - stat64.c - waccess.c - wfind.c - wfind64.c - wfindi64.c - wpopen.c - wstat.c - wstat64.c - - - _exit.c - abort.c - atexit.c - ecvt.c - errno.c - fcvt.c - fcvtbuf.c - fullpath.c - gcvt.c - getenv.c - makepath.c - makepath_s.c - mbtowc.c - mbstowcs.c - obsol.c - putenv.c - qsort.c - rot.c - senv.c - swab.c - wfulpath.c - wputenv.c - wsenv.c - wmakpath.c - wmakpath_s.c - - - - - strcat_asm.s - strchr_asm.s - strcmp_asm.s - strcpy_asm.s - strlen_asm.s - strncat_asm.s - strncmp_asm.s - strncpy_asm.s - strnlen_asm.s - strrchr_asm.s - wcscat_asm.s - wcschr_asm.s - wcscmp_asm.s - wcscpy_asm.s - wcslen_asm.s - wcsncat_asm.s - wcsncmp_asm.s - wcsncpy_asm.s - wcsnlen_asm.s - wcsrchr_asm.s - - - - strcat.c - strchr.c - strcmp.c - strcpy.c - strlen.c - strncat.c - strncmp.c - strncpy.c - strnlen.c - strrchr.c - wcscat.c - wcschr.c - wcscmp.c - wcscpy.c - wcslen.c - wcsncat.c - wcsncmp.c - wcsncpy.c - wcsnlen.c - wcsrchr.c - - atof.c - atoi.c - atoi64.c - atol.c - ctype.c - itoa.c - itow.c - scanf.c - splitp.c - strcoll.c - strcspn.c - strdup.c - strerror.c - stricmp.c - string.c - strlwr.c - strncoll.c - strnicmp.c - strpbrk.c - strrev.c - strset.c - strspn.c - strstr.c - strtod.c - strtoi64.c - strtok.c - strtol.c - strtoul.c - strtoull.c - strupr.c - strxfrm.c - wcs.c - wcstol.c - wcstoul.c - wsplitp.c - wtoi.c - wtoi64.c - wtol.c - - - systime.c - - - asctime.c - clock.c - ctime32.c - ctime64.c - ctime.c - difftime32.c - difftime64.c - difftime.c - ftime32.c - ftime64.c - ftime.c - futime32.c - futime64.c - futime.c - gmtime.c - localtime32.c - localtime64.c - localtime.c - mktime.c - strdate.c - strftime.c - strtime.c - time32.c - time64.c - time.c - timezone.c - utime32.c - utime64.c - utime.c - wasctime.c - wcsftime.c - wctime32.c - wctime64.c - wctime.c - wstrdate.c - wstrtime.c - wutime32.c - wutime64.c - wutime.c - - - wcscoll.c - wcscspn.c - wcsicmp.c - wcslwr.c - wcsnicmp.c - wcsspn.c - wcsstr.c - wcstok.c - wcsupr.c - wcsxfrm.c - - - heap.c - undname.c - - - - - chkstk - . - include - - - - streamout.c - wstreamout.c - wsprintfA.c - wsprintfW.c - wvsprintfA.c - wvsprintfW.c - wvsnprintfA.c - wvsnprintfW.c - - - mbstowcs_nt.c - wcstombs_nt.c - - - - diff --git a/reactos/lib/sdk/crt/libcntpr.rbuild b/reactos/lib/sdk/crt/libcntpr.rbuild deleted file mode 100644 index cb52f8868d4..00000000000 --- a/reactos/lib/sdk/crt/libcntpr.rbuild +++ /dev/null @@ -1,248 +0,0 @@ - - - - . - include - - - - - - - - - _snprintf.c - _snwprintf.c - _vcprintf.c - _vsnprintf.c - _vsnwprintf.c - sprintf.c - streamout.c - swprintf.c - vprintf.c - vsprintf.c - vswprintf.c - wstreamout.c - - - - "extern __attribute__ ((dllexport))" - - - - - - chkstk_asm.s - chkstk_ms.s - seh.s - - - - - chkstk_asm.s - seh.s - - - - - chkstk_asm.s - seh.s - - - - - isnan.c - - - - - alldiv_asm.s - alldvrm_asm.s - allmul_asm.s - allrem_asm.s - allshl_asm.s - allshr_asm.s - atan_asm.s - aulldiv_asm.s - aulldvrm_asm.s - aullrem_asm.s - aullshr_asm.s - ci.c - ceil_asm.s - cos_asm.s - fabs_asm.s - floor_asm.s - ftol_asm.s - log_asm.s - log10_asm.s - pow_asm.s - sin_asm.s - sqrt_asm.s - tan_asm.s - - - - cos.c - sin.c - - alldiv.S - atan.S - atan2.S - ceil.S - exp.S - fabs.S - floor.S - fmod.S - ldexp.S - log.S - log10.S - pow.S - sqrt.S - tan.S - - - abs.c - div.c - labs.c - rand_nt.c - - - - - - memchr_asm.s - memcpy_asm.s - memmove_asm.s - memset_asm.s - - - - memchr.c - memcpy.c - memmove.c - memset.c - - memccpy.c - memcmp.c - memicmp.c - - - - fltused.c - - - - bsearch.c - lfind.c - - - - - - setjmp.s - - - - - setjmp.s - - - - - - qsort.c - - - - - - strcat_asm.s - strchr_asm.s - strcmp_asm.s - strcpy_asm.s - strlen_asm.s - strncat_asm.s - strncmp_asm.s - strncpy_asm.s - strnlen_asm.s - strrchr_asm.s - wcscat_asm.s - wcschr_asm.s - wcscmp_asm.s - wcscpy_asm.s - wcslen_asm.s - wcsncat_asm.s - wcsncmp_asm.s - wcsncpy_asm.s - wcsnlen_asm.s - wcsrchr_asm.s - - - - strcat.c - strchr.c - strcmp.c - strcpy.c - strlen.c - strncat.c - strncmp.c - strncpy.c - strnlen.c - strrchr.c - wcscat.c - wcschr.c - wcscmp.c - wcscpy.c - wcslen.c - wcsncat.c - wcsncmp.c - wcsncpy.c - wcsnlen.c - wcsrchr.c - - ctype.c - scanf.c - strcspn.c - stricmp.c - strnicmp.c - strlwr.c - strrev.c - strset.c - strstr.c - strupr.c - strpbrk.c - strspn.c - atoi64.c - atoi.c - atol.c - itoa.c - itow.c - mbstowcs_nt.c - splitp.c - strtol.c - strtoul.c - strtoull.c - wcs.c - wcstol.c - wcstombs_nt.c - wcstoul.c - wsplitp.c - wtoi64.c - wtoi.c - wtol.c - - - - mbstrlen.c - - - - wcsicmp.c - wcslwr.c - wcsnicmp.c - wcsupr.c - wcscspn.c - wcsspn.c - wcsstr.c - - diff --git a/reactos/lib/sdk/delayimp/delayimp.rbuild b/reactos/lib/sdk/delayimp/delayimp.rbuild deleted file mode 100644 index ad7b7df6dcd..00000000000 --- a/reactos/lib/sdk/delayimp/delayimp.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - delayimp.c - - diff --git a/reactos/lib/sdk/dxguid/dxguid.rbuild b/reactos/lib/sdk/dxguid/dxguid.rbuild deleted file mode 100644 index 9a6a6c46c0a..00000000000 --- a/reactos/lib/sdk/dxguid/dxguid.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - dxguid-mingw.c - diff --git a/reactos/lib/sdk/ioevent/ioevent.rbuild b/reactos/lib/sdk/ioevent/ioevent.rbuild deleted file mode 100644 index 51618cc1fb1..00000000000 --- a/reactos/lib/sdk/ioevent/ioevent.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - ioevent.c - diff --git a/reactos/lib/sdk/nt/nt.rbuild b/reactos/lib/sdk/nt/nt.rbuild deleted file mode 100644 index 5a8ed051f55..00000000000 --- a/reactos/lib/sdk/nt/nt.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - entry_point.c - diff --git a/reactos/lib/sdk/scrnsave/scrnsave.rbuild b/reactos/lib/sdk/scrnsave/scrnsave.rbuild deleted file mode 100644 index 503f9f26c82..00000000000 --- a/reactos/lib/sdk/scrnsave/scrnsave.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - scrnsave.c - - \ No newline at end of file diff --git a/reactos/lib/sdk/sdk.rbuild b/reactos/lib/sdk/sdk.rbuild deleted file mode 100644 index 978933fb8db..00000000000 --- a/reactos/lib/sdk/sdk.rbuild +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/lib/sdk/strmiids/strmiids.rbuild b/reactos/lib/sdk/strmiids/strmiids.rbuild deleted file mode 100644 index 046ff2a8d7f..00000000000 --- a/reactos/lib/sdk/strmiids/strmiids.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - strmiids.c - diff --git a/reactos/lib/sdk/uuid/uuid.rbuild b/reactos/lib/sdk/uuid/uuid.rbuild deleted file mode 100644 index b699d2f7f70..00000000000 --- a/reactos/lib/sdk/uuid/uuid.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - uuid.c - diff --git a/reactos/lib/sdk/wdmguid/wdmguid.rbuild b/reactos/lib/sdk/wdmguid/wdmguid.rbuild deleted file mode 100644 index 40bf735873e..00000000000 --- a/reactos/lib/sdk/wdmguid/wdmguid.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - wdmguid.c - diff --git a/reactos/lib/smlib/smlib.rbuild b/reactos/lib/smlib/smlib.rbuild deleted file mode 100644 index d33d65999cd..00000000000 --- a/reactos/lib/smlib/smlib.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - . - include/reactos/subsys - connect.c - execpgm.c - compses.c - lookupss.c - smclient.c - precomp.h - diff --git a/reactos/lib/tdilib/tdilib.rbuild b/reactos/lib/tdilib/tdilib.rbuild deleted file mode 100644 index ec06f02285e..00000000000 --- a/reactos/lib/tdilib/tdilib.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - . - . - ntdll - enum.c - handle.c - diff --git a/reactos/media/drivers/drivers.rbuild b/reactos/media/drivers/drivers.rbuild deleted file mode 100644 index 0bc708f8066..00000000000 --- a/reactos/media/drivers/drivers.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/media/drivers/etc/etc.rbuild b/reactos/media/drivers/etc/etc.rbuild deleted file mode 100644 index 1ed562ed2ba..00000000000 --- a/reactos/media/drivers/etc/etc.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - hosts - hosts - services - services - - KDBinit - KDBinit - - diff --git a/reactos/media/fonts/fonts.rbuild b/reactos/media/fonts/fonts.rbuild deleted file mode 100644 index 59a3d36c59c..00000000000 --- a/reactos/media/fonts/fonts.rbuild +++ /dev/null @@ -1,36 +0,0 @@ - - - - DejaVuSans.ttf - DejaVuSans-Bold.ttf - DejaVuSans-BoldOblique.ttf - DejaVuSansMono.ttf - DejaVuSansMono-Bold.ttf - DejaVuSansMono-BoldOblique.ttf - DejaVuSansMono-Oblique.ttf - DejaVuSans-Oblique.ttf - DejaVuSerif.ttf - DejaVuSerif-Bold.ttf - DejaVuSerif-BoldItalic.ttf - DejaVuSerif-Italic.ttf - FreeMono.ttf - FreeMonoBold.ttf - FreeMonoBoldOblique.ttf - FreeMonoOblique.ttf - LiberationMono-Bold.ttf - LiberationMono-BoldItalic.ttf - LiberationMono-Italic.ttf - LiberationMono-Regular.ttf - LiberationSans-Bold.ttf - LiberationSans-BoldItalic.ttf - LiberationSans-Italic.ttf - LiberationSans-Regular.ttf - LiberationSerif-Bold.ttf - LiberationSerif-BoldItalic.ttf - LiberationSerif-Italic.ttf - LiberationSerif-Regular.ttf - Marlett.ttf - symbol.ttf - tahoma.ttf - tahomabd.ttf - diff --git a/reactos/media/inf/inf.rbuild b/reactos/media/inf/inf.rbuild deleted file mode 100644 index 5cf531b7a21..00000000000 --- a/reactos/media/inf/inf.rbuild +++ /dev/null @@ -1,37 +0,0 @@ - - - - acpi.inf - audio.inf - battery.inf - bda.inf - cdrom.inf - cpu.inf - disk.inf - display.inf - fdc.inf - font.inf - hal.inf - hdc.inf - input.inf - intl.inf - keyboard.inf - ks.inf - kscaptur.inf - layout.inf - machine.inf - msmouse.inf - NET_NIC.inf - netamd.inf - netisa.inf - netrtpnt.inf - nettcpip.inf - ports.inf - scsi.inf - syssetup.inf - unknown.inf - usb.inf - usbport.inf - usbstor.inf - xboxdisp.inf - diff --git a/reactos/media/media.rbuild b/reactos/media/media.rbuild deleted file mode 100644 index 9e6a342eaac..00000000000 --- a/reactos/media/media.rbuild +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/media/nls/nls.rbuild b/reactos/media/nls/nls.rbuild deleted file mode 100644 index 023416f1bf6..00000000000 --- a/reactos/media/nls/nls.rbuild +++ /dev/null @@ -1,68 +0,0 @@ - - - - c_437.nls - c_1252.nls - l_intl.nls - - c_037.nls - c_424.nls - c_437.nls - c_500.nls - c_737.nls - c_775.nls - c_850.nls - c_852.nls - c_855.nls - c_856.nls - c_857.nls - c_860.nls - c_861.nls - c_862.nls - c_863.nls - c_864.nls - c_865.nls - c_866.nls - c_869.nls - c_874.nls - c_875.nls - c_878.nls - c_932.nls - c_936.nls - c_949.nls - c_950.nls - c_1006.nls - c_1026.nls - c_1250.nls - c_1251.nls - c_1252.nls - c_1253.nls - c_1254.nls - c_1255.nls - c_1256.nls - c_1257.nls - c_1258.nls - c_10000.nls - c_10006.nls - c_10007.nls - c_10029.nls - c_10079.nls - c_10081.nls - c_20866.nls - c_21866.nls - c_28591.nls - c_28592.nls - c_28593.nls - c_28594.nls - c_28595.nls - c_28596.nls - c_28597.nls - c_28598.nls - c_28599.nls - c_28600.nls - c_28603.nls - c_28604.nls - c_28605.nls - c_28606.nls - l_intl.nls - diff --git a/reactos/media/sounds/sounds.rbuild b/reactos/media/sounds/sounds.rbuild deleted file mode 100644 index 2896704463d..00000000000 --- a/reactos/media/sounds/sounds.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - - error.mp3 - notice.mp3 - ReactOS_LogOn.wav - diff --git a/reactos/media/vgafonts/vgafonts.rbuild b/reactos/media/vgafonts/vgafonts.rbuild deleted file mode 100644 index cae138aa26f..00000000000 --- a/reactos/media/vgafonts/vgafonts.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - 437-8x8.bin - 737-8x8.bin - 775-8x8.bin - 850-8x8.bin - 852-8x8.bin - 865-8x8.bin - 866-8x8.bin - 932-8x8.bin - diff --git a/reactos/modules/directory.rbuild b/reactos/modules/directory.rbuild deleted file mode 100644 index 7c33c54cb7c..00000000000 --- a/reactos/modules/directory.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/modules/empty.rbuild b/reactos/modules/empty.rbuild deleted file mode 100644 index 4be0c39e2b4..00000000000 --- a/reactos/modules/empty.rbuild +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/reactos/ntoskrnl/ntkrnlmp.rbuild b/reactos/ntoskrnl/ntkrnlmp.rbuild deleted file mode 100644 index a0e90e7391f..00000000000 --- a/reactos/ntoskrnl/ntkrnlmp.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/reactos/ntoskrnl/ntoskrnl-generic.rbuild b/reactos/ntoskrnl/ntoskrnl-generic.rbuild deleted file mode 100644 index a61bb44b04a..00000000000 --- a/reactos/ntoskrnl/ntoskrnl-generic.rbuild +++ /dev/null @@ -1,585 +0,0 @@ - - - - - - - - - - 0x05020400 - - - - - - - - - - . - include - - include - include/internal - include/reactos/drivers - csq - hal - pseh - cmlib - rtl - rossym - libcntpr - kdcom - bootvid - wdmguid - ioevent - cportlib - bugcodes - - ntoskrnl.h - - - - - abios.c - cpu.c - context.c - ctxswitch.S - exp.c - irqobj.c - kiinit.c - ldt.c - mtrr.c - patpge.c - thrdini.c - trap.s - traphdlr.c - usercall_asm.S - usercall.c - v86vdm.c - - - - - boot.s - cpu.c - ctxswtch.s - exp.c - kiinit.c - stubs_asm.s - thrdini.c - trap.s - trapc.c - usercall.c - - - - - main_asm.S - cpu.c - exp.c - kiinit.c - ppc_irq.c - stubs.c - systimer.c - thrdini.c - ctxswitch.c - ctxhelp.S - - - - - boot.S - context.c - cpu.c - ctxswitch.S - except.c - interrupt.c - irql.c - kiinit.c - spinlock.c - stubs.c - thrdini.c - trap.S - - - apc.c - balmgr.c - bug.c - clock.c - config.c - devqueue.c - dpc.c - eventobj.c - except.c - freeze.c - gate.c - gmutex.c - ipi.c - krnlinit.c - mutex.c - procobj.c - profobj.c - queue.c - semphobj.c - spinlock.c - time.c - thrdschd.c - thrdobj.c - timerobj.c - wait.c - - - - cacheman.c - copy.c - fs.c - mdl.c - pin.c - view.c - - - - - cachesub.c - copysup.c - fssup.c - lazyrite.c - logsup.c - mdlsup.c - pinsup.c - - - data.c - fault.c - io.c - reqtools.c - sptab.c - swapout.c - - - - - - cmhardwr.c - - - - - cmhardwr.c - - - - - cmhardwr.c - - - - - cmhardwr.c - - - cmalloc.c - cmapi.c - cmboot.c - cmcheck.c - cmcontrl.c - cmconfig.c - cmdata.c - cmdelay.c - cmindex.c - cminit.c - cmhvlist.c - cmhook.c - cmkcbncb.c - cmkeydel.c - cmlazy.c - cmmapvw.c - cmname.c - cmnotify.c - cmparse.c - cmquota.c - cmse.c - cmsecach.c - cmsysini.c - cmvalue.c - cmvalche.c - cmwraprs.c - ntapi.c - - - dbgkutil.c - dbgkobj.c - - - zw.S - - - - - fastinterlck_asm.S - ioport.S - - - atom.c - callback.c - dbgctrl.c - efi.c - event.c - evtpair.c - exintrin.c - fmutex.c - handle.c - harderr.c - hdlsterm.c - init.c - interlocked.c - keyedevt.c - locale.c - lookas.c - mutant.c - pushlock.c - profile.c - resource.c - rundown.c - sem.c - shutdown.c - sysinfo.c - time.c - timer.c - uuid.c - win32k.c - work.c - xipdisp.c - zone.c - - - dbcsname.c - fastio.c - faulttol.c - filelock.c - filter.c - filtrctx.c - fsfilter.c - fsrtlpc.c - largemcb.c - name.c - notify.c - oplock.c - pnp.c - stackovf.c - tunnel.c - unc.c - - - disksup.c - fstubex.c - halstub.c - translate.c - - - inbv.c - inbvport.c - - - - adapter.c - arcname.c - bootlog.c - controller.c - device.c - deviface.c - driver.c - error.c - file.c - iocomp.c - ioevent.c - iofunc.c - iomdl.c - iomgr.c - iorsrce.c - iotimer.c - iowork.c - irp.c - irq.c - ramdisk.c - rawfs.c - remlock.c - util.c - symlink.c - volume.c - - - plugplay.c - pnpdma.c - pnpinit.c - pnpmgr.c - pnpnotify.c - pnpreport.c - pnpres.c - pnproot.c - pnputil.c - - - - - - - kdmemsup.c - - - - - - - - - - - i386-dis.c - kdb_help.S - longjmp.S - setjmp.S - - - - - - - - - i386-dis.c - kdb_help.S - kdb.c - - - - - - kdb.c - kdb_cli.c - kdb_expr.c - kdb_keyboard.c - kdb_serial.c - - - kdb_symbols.c - - - - - bochs.c - - gdbstub.c - - - gdbstub_powerpc.c - - kdbg.c - - - - kd.c - kdmemsup.c - - - kdinit.c - kdio.c - kdmain.c - - - - - - - kdx86.c - - - - - kdx64.c - - - - - kdarm.c - - - kdapi.c - kdbreak.c - kddata.c - kdinit.c - kdlock.c - kdprint.c - kdtrap.c - - - - close.c - complete.c - connect.c - create.c - listen.c - port.c - reply.c - send.c - - - - - page.c - - - - - page.c - - - - - pfault.c - page.c - - - - - init.c - page.c - - - - - - init.c - - - - - init.c - - - contmem.c - drvmgmt.c - dynamic.c - expool.c - hypermap.c - iosup.c - largepag.c - mdlsup.c - mmdbg.c - mminit.c - mmsup.c - ncache.c - pagfault.c - pfnlist.c - pool.c - procsup.c - section.c - special.c - sysldr.c - syspte.c - vadnode.c - virtual.c - zeropage.c - - anonmem.c - balance.c - freelist.c - marea.c - mmfault.c - mminit.c - pagefile.c - pageop.c - region.c - rmap.c - section.c - - - obdir.c - obinit.c - obhandle.c - obname.c - oblife.c - obref.c - obsdcach.c - obsecure.c - oblink.c - obwait.c - - - events.c - power.c - poshtdwn.c - povolume.c - - - - - psctx.c - psldt.c - - - - - psctx.c - - - - - psctx.c - - - debug.c - job.c - kill.c - psnotify.c - process.c - psmgr.c - query.c - quota.c - security.c - state.c - thread.c - win32.c - - - - - rtlexcpt.c - - - - - stack.S - - - libsupp.c - misc.c - - - access.c - acl.c - audit.c - lsa.c - priv.c - sd.c - semgr.c - sid.c - token.c - - - - vdmmain.c - vdmexec.c - - - - wmi.c - - - driver.c - - ntoskrnl.rc - ntoskrnl_$(ARCH).lnk - diff --git a/reactos/ntoskrnl/ntoskrnl.pspec b/reactos/ntoskrnl/ntoskrnl.pspec deleted file mode 100644 index 9a2c0ea1e3d..00000000000 --- a/reactos/ntoskrnl/ntoskrnl.pspec +++ /dev/null @@ -1,1644 +0,0 @@ -#include -#undef i386 -#ifndef __x86_64__ -#define FASTCALL fastcall -#else -#define FASTCALL stdcall -#endif - -@ stdcall CcCanIWrite(ptr long long long) -@ stdcall CcCopyRead(ptr ptr long long ptr ptr) -@ stdcall CcCopyWrite(ptr ptr long long ptr) -@ stdcall CcDeferWrite(ptr ptr ptr ptr long long) -@ stdcall CcFastCopyRead(ptr long long long ptr ptr) -@ stdcall CcFastCopyWrite(ptr long long ptr) -@ extern CcFastMdlReadWait -@ extern CcFastReadNotPossible -@ extern CcFastReadWait -@ stdcall CcFlushCache(ptr ptr long ptr) -@ stdcall CcGetDirtyPages(ptr ptr ptr ptr) -@ stdcall CcGetFileObjectFromBcb(ptr) -@ stdcall CcGetFileObjectFromSectionPtrs(ptr) -@ stdcall CcGetFlushedValidData(ptr long) -@ stdcall CcGetLsnForFileObject(ptr ptr) -@ stdcall CcInitializeCacheMap(ptr ptr long ptr ptr) -@ stdcall CcIsThereDirtyData(ptr) -@ stdcall CcMapData(ptr ptr long long ptr ptr) -@ stdcall CcMdlRead(ptr ptr long ptr ptr) -@ stdcall CcMdlReadComplete(ptr ptr) -@ stdcall CcMdlWriteAbort(ptr ptr) -@ stdcall CcMdlWriteComplete(ptr ptr ptr) -@ stdcall CcPinMappedData(ptr ptr long long ptr) -@ stdcall CcPinRead(ptr ptr long long ptr ptr) -@ stdcall CcPrepareMdlWrite(ptr ptr long ptr ptr) -@ stdcall CcPreparePinWrite(ptr ptr long long long ptr ptr) -@ stdcall CcPurgeCacheSection(ptr ptr long long) -@ stdcall CcRemapBcb(ptr) -@ stdcall CcRepinBcb(ptr) -@ stdcall CcScheduleReadAhead(ptr ptr long) -@ stdcall CcSetAdditionalCacheAttributes(ptr long long) -@ stdcall CcSetBcbOwnerPointer(ptr ptr) -@ stdcall CcSetDirtyPageThreshold(ptr long) -@ stdcall CcSetDirtyPinnedData(ptr ptr) -@ stdcall CcSetFileSizes(ptr ptr) -@ stdcall CcSetLogHandleForFile(ptr ptr ptr) -@ stdcall CcSetReadAheadGranularity(ptr long) -@ stdcall CcUninitializeCacheMap(ptr ptr ptr) -@ stdcall CcUnpinData(ptr) -@ stdcall CcUnpinDataForThread(ptr ptr) -@ stdcall CcUnpinRepinnedBcb(ptr long ptr) -@ stdcall CcWaitForCurrentLazyWriterActivity() -@ stdcall CcZeroData(ptr ptr ptr long) -@ stdcall CmRegisterCallback(ptr ptr ptr) -@ stdcall CmUnRegisterCallback(long long) -@ stdcall DbgBreakPoint() -@ stdcall DbgBreakPointWithStatus(long) -@ stdcall DbgCommandString(ptr ptr) -@ stdcall DbgLoadImageSymbols(ptr ptr long) -@ cdecl DbgPrint(str) -@ cdecl DbgPrintEx(long long str) -@ cdecl DbgPrintReturnControlC(str) -@ stdcall DbgPrompt(str ptr long) -@ stdcall DbgQueryDebugFilterState(long long) -@ stdcall DbgSetDebugFilterState(long long long) -@ stdcall -arch=x86_64 ExAcquireFastMutex(ptr) -@ FASTCALL ExAcquireFastMutexUnsafe(ptr) -@ stdcall ExAcquireResourceExclusiveLite(ptr long) -@ stdcall ExAcquireResourceSharedLite(ptr long) -@ FASTCALL ExAcquireRundownProtection(ptr) ExfAcquireRundownProtection -@ FASTCALL ExAcquireRundownProtectionCacheAware(ptr) ExfAcquireRundownProtectionCacheAware -@ FASTCALL ExAcquireRundownProtectionCacheAwareEx(ptr long) ExfAcquireRundownProtectionCacheAwareEx -@ FASTCALL ExAcquireRundownProtectionEx(ptr long) ExfAcquireRundownProtectionEx -@ stdcall ExAcquireSharedStarveExclusive(ptr long) -@ stdcall ExAcquireSharedWaitForExclusive(ptr long) -@ stdcall ExAllocateCacheAwareRundownProtection(long long) -@ stdcall ExAllocateFromPagedLookasideList(ptr) ExiAllocateFromPagedLookasideList -@ stdcall ExAllocatePool(long long) -@ stdcall ExAllocatePoolWithQuota(long long) -@ stdcall ExAllocatePoolWithQuotaTag(long long long) -@ stdcall ExAllocatePoolWithTag(long long long) -@ stdcall ExAllocatePoolWithTagPriority(long long long long) -@ stdcall ExConvertExclusiveToSharedLite(ptr) -@ stdcall ExCreateCallback(ptr ptr long long) -@ stdcall ExDeleteNPagedLookasideList(ptr) -@ stdcall ExDeletePagedLookasideList(ptr) -@ stdcall ExDeleteResourceLite(ptr) -@ extern ExDesktopObjectType -@ stdcall ExDisableResourceBoostLite(ptr) -@ FASTCALL ExEnterCriticalRegionAndAcquireFastMutexUnsafe(ptr) -@ stdcall ExEnterCriticalRegionAndAcquireResourceExclusive(ptr) -@ stdcall ExEnterCriticalRegionAndAcquireResourceShared(ptr) -@ stdcall ExEnterCriticalRegionAndAcquireSharedWaitForExclusive(ptr) -@ stdcall ExEnumHandleTable(ptr ptr ptr ptr) -@ extern ExEventObjectType _ExEventObjectType -@ stdcall ExExtendZone(ptr ptr long) -@ stdcall ExFreeCacheAwareRundownProtection(ptr) -@ stdcall ExFreePool(ptr) -@ stdcall ExFreePoolWithTag(ptr long) -@ stdcall ExFreeToPagedLookasideList(ptr ptr) ExiFreeToPagedLookasideList -@ stdcall ExGetCurrentProcessorCounts(ptr ptr ptr) -@ stdcall ExGetCurrentProcessorCpuUsage(ptr) -@ stdcall ExGetExclusiveWaiterCount(ptr) -@ stdcall ExGetPreviousMode() -@ stdcall ExGetSharedWaiterCount(ptr) -@ stdcall ExInitializeNPagedLookasideList(ptr ptr ptr long long long long) -@ stdcall ExInitializePagedLookasideList(ptr ptr ptr long long long long) -@ stdcall ExInitializeResourceLite(ptr) -@ FASTCALL ExInitializeRundownProtection(ptr) ExfInitializeRundownProtection -@ stdcall ExInitializeRundownProtectionCacheAware(ptr long) -@ stdcall ExInitializeZone(ptr long ptr long) -@ stdcall ExInterlockedAddLargeInteger(ptr long long ptr) -#ifndef __x86_64__ -@ FASTCALL ExInterlockedAddLargeStatistic(ptr long) -#endif -@ stdcall ExInterlockedAddUlong(ptr long ptr) -#ifdef _M_IX86 -@ FASTCALL ExInterlockedCompareExchange64(ptr ptr ptr ptr) -@ stdcall ExInterlockedDecrementLong(ptr ptr) -@ stdcall ExInterlockedExchangeUlong(ptr long ptr) -#endif -@ stdcall ExInterlockedExtendZone(ptr ptr long ptr) -#ifndef __x86_64__ -@ FASTCALL ExInterlockedFlushSList(ptr) -@ stdcall ExInterlockedIncrementLong(ptr ptr) -#endif -@ stdcall ExInterlockedInsertHeadList(ptr ptr ptr) -@ stdcall ExInterlockedInsertTailList(ptr ptr ptr) -@ stdcall ExInterlockedPopEntryList(ptr ptr) -#ifndef __x86_64__ -@ FASTCALL ExInterlockedPopEntrySList(ptr ptr) -#endif -@ stdcall ExInterlockedPushEntryList(ptr ptr ptr) -#ifndef __x86_64__ -@ FASTCALL ExInterlockedPushEntrySList(ptr ptr ptr) -#endif -@ stdcall ExInterlockedRemoveHeadList(ptr ptr) -@ stdcall ExIsProcessorFeaturePresent(long) -@ stdcall ExIsResourceAcquiredExclusiveLite(ptr) -@ stdcall ExIsResourceAcquiredSharedLite(ptr) -@ stdcall ExLocalTimeToSystemTime(ptr ptr) -@ stdcall ExNotifyCallback(ptr ptr ptr) -@ stdcall -arch=x86_64 ExQueryDepthSList(ptr) -@ stdcall ExQueryPoolBlockSize(ptr ptr) -@ stdcall ExQueueWorkItem(ptr long) -@ stdcall ExRaiseAccessViolation() -@ stdcall ExRaiseDatatypeMisalignment() -@ stdcall ExRaiseException(ptr) RtlRaiseException -@ stdcall ExRaiseHardError(long long long ptr long ptr) -@ stdcall ExRaiseStatus(long) RtlRaiseStatus -@ FASTCALL ExReInitializeRundownProtection(ptr) ExfReInitializeRundownProtection -@ FASTCALL ExReInitializeRundownProtectionCacheAware(ptr) ExfReInitializeRundownProtectionCacheAware -@ stdcall ExRegisterCallback(ptr ptr ptr) -@ stdcall ExReinitializeResourceLite(ptr) -@ stdcall -arch=x86_64 ExReleaseFastMutex(ptr) -@ FASTCALL ExReleaseFastMutexUnsafe(ptr) -@ FASTCALL ExReleaseFastMutexUnsafeAndLeaveCriticalRegion(ptr) -@ FASTCALL ExReleaseResourceAndLeaveCriticalRegion(ptr) -@ stdcall ExReleaseResourceForThreadLite(ptr long) -@ FASTCALL ExReleaseResourceLite(ptr) -@ FASTCALL ExReleaseRundownProtection(ptr) ExfReleaseRundownProtection -@ FASTCALL ExReleaseRundownProtectionCacheAware(ptr) ExfReleaseRundownProtectionCacheAware -@ FASTCALL ExReleaseRundownProtectionCacheAwareEx(ptr long) ExfReleaseRundownProtectionCacheAwareEx -@ FASTCALL ExReleaseRundownProtectionEx(ptr long) ExfReleaseRundownProtectionEx -@ FASTCALL ExRundownCompleted(ptr) ExfRundownCompleted -@ FASTCALL ExRundownCompletedCacheAware(ptr) ExfRundownCompletedCacheAware -@ extern ExSemaphoreObjectType _ExSemaphoreObjectType -@ stdcall ExSetResourceOwnerPointer(ptr ptr) -@ stdcall ExSetTimerResolution(long long) -@ stdcall ExSizeOfRundownProtectionCacheAware() -@ stdcall ExSystemExceptionFilter() -@ stdcall ExSystemTimeToLocalTime(ptr ptr) -@ stdcall -arch=x86_64 ExTryToAcquireFastMutex(ptr) -@ stdcall ExUnregisterCallback(ptr) -@ stdcall ExUuidCreate(ptr) -@ stdcall ExVerifySuite(long) -@ FASTCALL ExWaitForRundownProtectionRelease(ptr) ExfWaitForRundownProtectionRelease -@ FASTCALL ExWaitForRundownProtectionReleaseCacheAware(ptr) ExfWaitForRundownProtectionReleaseCacheAware -@ extern ExWindowStationObjectType -@ FASTCALL ExfAcquirePushLockExclusive(ptr) -@ FASTCALL ExfAcquirePushLockShared(ptr) -#ifndef __x86_64__ -@ FASTCALL ExfInterlockedAddUlong(ptr long ptr) -@ FASTCALL ExfInterlockedCompareExchange64(ptr ptr ptr) -@ FASTCALL ExfInterlockedInsertHeadList(ptr ptr ptr) -@ FASTCALL ExfInterlockedInsertTailList(ptr ptr ptr) -@ FASTCALL ExfInterlockedPopEntryList(ptr ptr) -@ FASTCALL ExfInterlockedPushEntryList(ptr ptr ptr) -@ FASTCALL ExfInterlockedRemoveHeadList(ptr ptr) -#endif -@ FASTCALL ExfReleasePushLock(ptr) -@ FASTCALL ExfReleasePushLockExclusive(ptr) -@ FASTCALL ExfReleasePushLockShared(ptr) -@ FASTCALL ExfTryToWakePushLock(ptr) -@ FASTCALL ExfUnblockPushLock(ptr ptr) -@ stdcall -arch=x86_64 ExpInterlockedFlushSList(ptr) -@ stdcall -arch=x86_64 ExpInterlockedPopEntrySList(ptr ptr) -@ stdcall -arch=x86_64 ExpInterlockedPushEntrySList(ptr ptr) -@ FASTCALL -arch=i386 Exfi386InterlockedDecrementLong(ptr) -@ FASTCALL -arch=i386 Exfi386InterlockedExchangeUlong(ptr long) -@ FASTCALL -arch=i386 Exfi386InterlockedIncrementLong(ptr) -@ stdcall -arch=i386 Exi386InterlockedDecrementLong(ptr) -@ stdcall -arch=i386 Exi386InterlockedExchangeUlong(ptr long) -@ stdcall -arch=i386 Exi386InterlockedIncrementLong(ptr) -@ FASTCALL -arch=i386 ExiAcquireFastMutex(ptr) ExAcquireFastMutex -@ FASTCALL -arch=i386 ExiReleaseFastMutex(ptr) ExReleaseFastMutex -@ FASTCALL -arch=i386 ExiTryToAcquireFastMutex(ptr) ExTryToAcquireFastMutex -@ stdcall FsRtlAcquireFileExclusive(ptr) -;FsRtlAddBaseMcbEntry -@ stdcall FsRtlAddLargeMcbEntry(ptr long long long long long long) -@ stdcall FsRtlAddMcbEntry(ptr long long long) -@ stdcall FsRtlAddToTunnelCache(ptr long long ptr ptr long long ptr) -@ stdcall FsRtlAllocateFileLock(ptr ptr) -@ stdcall FsRtlAllocatePool(long long) -@ stdcall FsRtlAllocatePoolWithQuota(long long) -@ stdcall FsRtlAllocatePoolWithQuotaTag(long long long) -@ stdcall FsRtlAllocatePoolWithTag(long long long) -@ stdcall FsRtlAllocateResource() -@ stdcall FsRtlAreNamesEqual(ptr ptr long wstr) -@ stdcall FsRtlBalanceReads(ptr) -@ stdcall FsRtlCheckLockForReadAccess(ptr ptr) -@ stdcall FsRtlCheckLockForWriteAccess(ptr ptr) -@ stdcall FsRtlCheckOplock(ptr ptr ptr ptr ptr) -@ stdcall FsRtlCopyRead(ptr ptr long long long ptr ptr ptr) -@ stdcall FsRtlCopyWrite(ptr ptr long long long ptr ptr ptr) -@ stdcall FsRtlCreateSectionForDataScan(ptr ptr ptr ptr long ptr ptr long long long) -@ stdcall FsRtlCurrentBatchOplock(ptr) -@ stdcall FsRtlDeleteKeyFromTunnelCache(ptr long long) -@ stdcall FsRtlDeleteTunnelCache(ptr) -@ stdcall FsRtlDeregisterUncProvider(ptr) -@ stdcall FsRtlDissectDbcs(long ptr ptr ptr) -@ stdcall FsRtlDissectName(long ptr ptr ptr) -@ stdcall FsRtlDoesDbcsContainWildCards(ptr) -@ stdcall FsRtlDoesNameContainWildCards(ptr) -@ stdcall FsRtlFastCheckLockForRead(ptr ptr ptr long ptr ptr) -@ stdcall FsRtlFastCheckLockForWrite(ptr ptr ptr long ptr ptr) -@ stdcall FsRtlFastUnlockAll(ptr ptr ptr ptr) -@ stdcall FsRtlFastUnlockAllByKey(ptr ptr ptr long ptr) -@ stdcall FsRtlFastUnlockSingle(ptr ptr ptr ptr ptr long ptr long) -@ stdcall FsRtlFindInTunnelCache(ptr long long ptr ptr ptr ptr ptr) -@ stdcall FsRtlFreeFileLock(ptr) -@ stdcall FsRtlGetFileSize(ptr ptr) -;FsRtlGetNextBaseMcbEntry -@ stdcall FsRtlGetNextFileLock(ptr long) -@ stdcall FsRtlGetNextLargeMcbEntry(ptr long ptr ptr ptr) -@ stdcall FsRtlGetNextMcbEntry(ptr long ptr ptr ptr) -@ stdcall FsRtlIncrementCcFastReadNoWait() -@ stdcall FsRtlIncrementCcFastReadNotPossible() -@ stdcall FsRtlIncrementCcFastReadResourceMiss() -@ stdcall FsRtlIncrementCcFastReadWait() -;FsRtlInitializeBaseMcb -@ stdcall FsRtlInitializeFileLock(ptr ptr ptr) -@ stdcall FsRtlInitializeLargeMcb(ptr long) -@ stdcall FsRtlInitializeMcb(ptr long) -@ stdcall FsRtlInitializeOplock(ptr) -@ stdcall FsRtlInitializeTunnelCache(ptr) -@ stdcall FsRtlInsertPerFileObjectContext(ptr ptr) -@ stdcall FsRtlInsertPerStreamContext(ptr ptr) -@ stdcall FsRtlIsDbcsInExpression(ptr ptr) -@ stdcall FsRtlIsFatDbcsLegal(long ptr long long long) -@ stdcall FsRtlIsHpfsDbcsLegal(long ptr long long long) -@ stdcall FsRtlIsNameInExpression(ptr ptr long wstr) -@ stdcall FsRtlIsNtstatusExpected(long) -@ stdcall FsRtlIsPagingFile(ptr) -@ stdcall FsRtlIsTotalDeviceFailure(ptr) -@ extern FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray -;FsRtlLookupBaseMcbEntry -@ stdcall FsRtlLookupLargeMcbEntry(ptr long long ptr ptr ptr ptr ptr) -;FsRtlLookupLastBaseMcbEntry -;FsRtlLookupLastBaseMcbEntryAndIndex -@ stdcall FsRtlLookupLastLargeMcbEntry(ptr ptr ptr) -@ stdcall FsRtlLookupLastLargeMcbEntryAndIndex(ptr ptr ptr ptr) -@ stdcall FsRtlLookupLastMcbEntry(ptr ptr ptr) -@ stdcall FsRtlLookupMcbEntry(ptr long ptr ptr ptr) -@ stdcall FsRtlLookupPerFileObjectContext(ptr ptr ptr) -@ stdcall FsRtlLookupPerStreamContextInternal(ptr ptr ptr) -@ stdcall FsRtlMdlRead(ptr ptr long long ptr ptr) -@ stdcall FsRtlMdlReadComplete(ptr ptr) -@ stdcall FsRtlMdlReadCompleteDev(ptr ptr ptr) -@ stdcall FsRtlMdlReadDev(ptr ptr long long ptr ptr ptr) -@ stdcall FsRtlMdlWriteComplete(ptr ptr ptr) -@ stdcall FsRtlMdlWriteCompleteDev(ptr ptr ptr ptr) -@ stdcall FsRtlNormalizeNtstatus(long long) -@ stdcall FsRtlNotifyChangeDirectory(ptr ptr ptr ptr long long ptr) -@ stdcall FsRtlNotifyCleanup(ptr ptr ptr) -@ stdcall FsRtlNotifyFilterChangeDirectory(ptr ptr ptr ptr long long long ptr ptr ptr ptr) -@ stdcall FsRtlNotifyFilterReportChange(ptr ptr ptr long ptr ptr long long ptr ptr) -@ stdcall FsRtlNotifyFullChangeDirectory(ptr ptr ptr ptr long long long ptr ptr ptr) -@ stdcall FsRtlNotifyFullReportChange(ptr ptr ptr long ptr ptr long long ptr) -@ stdcall FsRtlNotifyInitializeSync(ptr) -@ stdcall FsRtlNotifyReportChange(ptr ptr ptr ptr long) -@ stdcall FsRtlNotifyUninitializeSync(ptr) -@ stdcall FsRtlNotifyVolumeEvent(ptr long) -;FsRtlNumberOfRunsInBaseMcb -@ stdcall FsRtlNumberOfRunsInLargeMcb(ptr) -@ stdcall FsRtlNumberOfRunsInMcb(ptr) -@ stdcall FsRtlOplockFsctrl(ptr ptr long) -@ stdcall FsRtlOplockIsFastIoPossible(ptr) -@ stdcall FsRtlPostPagingFileStackOverflow(ptr ptr ptr) -@ stdcall FsRtlPostStackOverflow(ptr ptr ptr) -@ stdcall FsRtlPrepareMdlWrite(ptr ptr long long ptr ptr) -@ stdcall FsRtlPrepareMdlWriteDev(ptr ptr long long ptr ptr ptr) -@ stdcall FsRtlPrivateLock(ptr ptr ptr ptr ptr long long long ptr ptr ptr long) -@ stdcall FsRtlProcessFileLock(ptr ptr ptr) -@ stdcall FsRtlRegisterFileSystemFilterCallbacks(ptr ptr) -@ stdcall FsRtlRegisterUncProvider(ptr ptr long) -@ stdcall FsRtlReleaseFile(ptr) -;FsRtlRemoveBaseMcbEntry -@ stdcall FsRtlRemoveLargeMcbEntry(ptr long long long long) -@ stdcall FsRtlRemoveMcbEntry(ptr long long) -@ stdcall FsRtlRemovePerFileObjectContext(ptr ptr ptr) -@ stdcall FsRtlRemovePerStreamContext(ptr ptr ptr) -;FsRtlResetBaseMcb -@ stdcall FsRtlResetLargeMcb(ptr long) -;FsRtlSplitBaseMcb -@ stdcall FsRtlSplitLargeMcb(ptr long long long long) -@ stdcall FsRtlSyncVolumes(long long long) -@ stdcall FsRtlTeardownPerStreamContexts(ptr) -;FsRtlTruncateBaseMcb -@ stdcall FsRtlTruncateLargeMcb(ptr long long) -@ stdcall FsRtlTruncateMcb(ptr long) -;FsRtlUninitializeBaseMcb -@ stdcall FsRtlUninitializeFileLock(ptr) -@ stdcall FsRtlUninitializeLargeMcb(ptr) -@ stdcall FsRtlUninitializeMcb(ptr) -@ stdcall FsRtlUninitializeOplock(ptr) -@ extern HalDispatchTable _HalDispatchTable -@ FASTCALL HalExamineMBR(ptr long long ptr) -@ extern HalPrivateDispatchTable -@ stdcall HeadlessDispatch(long ptr long ptr ptr) -@ stdcall InbvAcquireDisplayOwnership() -@ stdcall InbvCheckDisplayOwnership() -@ stdcall InbvDisplayString(str) -@ stdcall InbvEnableBootDriver(long) -@ stdcall InbvEnableDisplayString(long) -@ stdcall InbvInstallDisplayStringFilter(ptr) -@ stdcall InbvIsBootDriverInstalled() -@ stdcall InbvNotifyDisplayOwnershipLost(ptr) -@ stdcall InbvResetDisplay() -@ stdcall InbvSetScrollRegion(long long long long) -@ stdcall InbvSetTextColor(long) -@ stdcall InbvSolidColorFill(long long long long long) -@ extern InitSafeBootMode -#ifndef __x86_64__ -@ FASTCALL InterlockedCompareExchange(ptr long long) -@ FASTCALL InterlockedDecrement(ptr) -@ FASTCALL InterlockedExchange(ptr long) -@ FASTCALL InterlockedExchangeAdd(ptr long) -@ FASTCALL InterlockedIncrement(ptr) -@ FASTCALL InterlockedPopEntrySList(ptr) -@ FASTCALL InterlockedPushEntrySList(ptr ptr) -#else -@ stdcall InitializeSListHead(ptr) RtlInitializeSListHead -#endif -@ stdcall IoAcquireCancelSpinLock(ptr) -@ stdcall IoAcquireRemoveLockEx(ptr ptr str long long) -@ stdcall IoAcquireVpbSpinLock(ptr) -@ extern IoAdapterObjectType -@ stdcall IoAllocateAdapterChannel(ptr ptr long ptr ptr) -@ stdcall IoAllocateController(ptr ptr ptr ptr) -@ stdcall IoAllocateDriverObjectExtension(ptr ptr long ptr) -@ stdcall IoAllocateErrorLogEntry(ptr long) -@ stdcall IoAllocateIrp(long long) -@ stdcall IoAllocateMdl(ptr long long long ptr) -@ stdcall IoAllocateWorkItem(ptr) -@ FASTCALL IoAssignDriveLetters(ptr ptr ptr ptr) -@ stdcall IoAssignResources(ptr ptr ptr ptr ptr ptr) -@ stdcall IoAttachDevice(ptr ptr ptr) -@ stdcall IoAttachDeviceByPointer(ptr ptr) -@ stdcall IoAttachDeviceToDeviceStack(ptr ptr) -@ stdcall IoAttachDeviceToDeviceStackSafe(ptr ptr ptr) -@ stdcall IoBuildAsynchronousFsdRequest(long ptr ptr long ptr ptr) -@ stdcall IoBuildDeviceIoControlRequest(long ptr ptr long ptr long long ptr ptr) -@ stdcall IoBuildPartialMdl(ptr ptr ptr long) -@ stdcall IoBuildSynchronousFsdRequest(long ptr ptr long ptr ptr ptr) -@ stdcall IoCallDriver(ptr ptr) -@ stdcall IoCancelFileOpen(ptr ptr) -@ stdcall IoCancelIrp(ptr) -@ stdcall IoCheckDesiredAccess(ptr long) -@ stdcall IoCheckEaBufferValidity(ptr long ptr) -@ stdcall IoCheckFunctionAccess(long long long long ptr ptr) -@ stdcall IoCheckQuerySetFileInformation(long long long) -@ stdcall IoCheckQuerySetVolumeInformation(long long long) -@ stdcall IoCheckQuotaBufferValidity(ptr long ptr) -@ stdcall IoCheckShareAccess(long long ptr ptr long) -@ stdcall IoCompleteRequest(ptr long) -@ stdcall IoConnectInterrupt(ptr ptr ptr ptr long long long long long long long) -@ stdcall IoCreateController(long) -@ stdcall IoCreateDevice(ptr long ptr long long long ptr) -@ stdcall IoCreateDisk(ptr ptr) -@ stdcall IoCreateDriver(ptr ptr) -@ stdcall IoCreateFile(ptr long ptr ptr ptr long long long long ptr long long ptr long) -@ stdcall IoCreateFileSpecifyDeviceObjectHint(ptr long ptr ptr ptr long long long long ptr long long ptr long ptr) -@ stdcall IoCreateNotificationEvent(ptr ptr) -@ stdcall IoCreateStreamFileObject(ptr ptr) -@ stdcall IoCreateStreamFileObjectEx(ptr ptr ptr) -@ stdcall IoCreateStreamFileObjectLite(ptr ptr) -@ stdcall IoCreateSymbolicLink(ptr ptr) -@ stdcall IoCreateSynchronizationEvent(ptr ptr) -@ stdcall IoCreateUnprotectedSymbolicLink(ptr ptr) -@ stdcall IoCsqInitialize(ptr ptr ptr ptr ptr ptr ptr) -@ stdcall IoCsqInitializeEx(ptr ptr ptr ptr ptr ptr ptr) -@ stdcall IoCsqInsertIrp(ptr ptr ptr) -@ stdcall IoCsqInsertIrpEx(ptr ptr ptr ptr) -@ stdcall IoCsqRemoveIrp(ptr ptr) -@ stdcall IoCsqRemoveNextIrp(ptr ptr) -@ stdcall IoDeleteController(ptr) -@ stdcall IoDeleteDevice(ptr) -@ stdcall IoDeleteDriver(ptr) -@ stdcall IoDeleteSymbolicLink(ptr) -@ stdcall IoDetachDevice(ptr) -@ extern IoDeviceHandlerObjectSize -@ extern IoDeviceHandlerObjectType -@ extern IoDeviceObjectType -@ stdcall IoDisconnectInterrupt(ptr) -@ extern IoDriverObjectType -@ stdcall IoEnqueueIrp(ptr) -@ stdcall IoEnumerateDeviceObjectList(ptr ptr long ptr) -@ stdcall IoEnumerateRegisteredFiltersList(ptr long ptr) -@ stdcall IoFastQueryNetworkAttributes(ptr long long ptr ptr) -@ extern IoFileObjectType _IoFileObjectType -@ stdcall IoForwardAndCatchIrp(ptr ptr) IoForwardIrpSynchronously -@ stdcall IoForwardIrpSynchronously(ptr ptr) -@ stdcall IoFreeController(ptr) -@ stdcall IoFreeErrorLogEntry(ptr) -@ stdcall IoFreeIrp(ptr) -@ stdcall IoFreeMdl(ptr) -@ stdcall IoFreeWorkItem(ptr) -@ stdcall IoGetAttachedDevice(ptr) -@ stdcall IoGetAttachedDeviceReference(ptr) -@ stdcall IoGetBaseFileSystemDeviceObject(ptr) -@ stdcall IoGetBootDiskInformation(ptr long) -@ stdcall IoGetConfigurationInformation() -@ stdcall IoGetCurrentProcess() -@ stdcall IoGetDeviceAttachmentBaseRef(ptr) -@ stdcall IoGetDeviceInterfaceAlias(ptr ptr ptr) -@ stdcall IoGetDeviceInterfaces(ptr ptr long ptr) -@ stdcall IoGetDeviceObjectPointer(ptr long ptr ptr) -@ stdcall IoGetDeviceProperty(ptr long long ptr ptr) -@ stdcall IoGetDeviceToVerify(ptr) -@ stdcall IoGetDiskDeviceObject(ptr ptr) -@ stdcall IoGetDmaAdapter(ptr ptr ptr) -@ stdcall IoGetDriverObjectExtension(ptr ptr) -@ stdcall IoGetFileObjectGenericMapping() -@ stdcall IoGetInitialStack() -@ stdcall IoGetLowerDeviceObject(ptr) -@ FASTCALL IoGetPagingIoPriority(ptr) -@ stdcall IoGetRelatedDeviceObject(ptr) -@ stdcall IoGetRequestorProcess(ptr) -@ stdcall IoGetRequestorProcessId(ptr) -@ stdcall IoGetRequestorSessionId(ptr ptr) -@ stdcall IoGetStackLimits(ptr ptr) -@ stdcall IoGetTopLevelIrp() -@ stdcall IoInitializeIrp(ptr long long) -@ stdcall IoInitializeRemoveLockEx(ptr long long long long) -@ stdcall IoInitializeTimer(ptr ptr ptr) -@ stdcall IoInvalidateDeviceRelations(ptr long) -@ stdcall IoInvalidateDeviceState(ptr) -@ stdcall -arch=x86_64 IoIs32bitProcess(ptr) -@ stdcall IoIsFileOriginRemote(ptr) -@ stdcall IoIsOperationSynchronous(ptr) -@ stdcall IoIsSystemThread(ptr) -@ stdcall IoIsValidNameGraftingBuffer(ptr ptr) -@ stdcall IoIsWdmVersionAvailable(long long) -@ stdcall IoMakeAssociatedIrp(ptr long) -@ stdcall IoOpenDeviceInterfaceRegistryKey(ptr long ptr) -@ stdcall IoOpenDeviceRegistryKey(ptr long long ptr) -@ stdcall IoPageRead(ptr ptr ptr ptr ptr) -@ stdcall IoPnPDeliverServicePowerNotification(long long long long) -@ stdcall IoQueryDeviceDescription(ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall IoQueryFileDosDeviceName(ptr ptr) -@ stdcall IoQueryFileInformation(ptr long long ptr ptr) -@ stdcall IoQueryVolumeInformation(ptr long long ptr ptr) -@ stdcall IoQueueThreadIrp(ptr) -@ stdcall IoQueueWorkItem(ptr ptr long ptr) -@ stdcall IoRaiseHardError(ptr ptr ptr) -@ stdcall IoRaiseInformationalHardError(long ptr ptr) -@ stdcall IoReadDiskSignature(ptr long ptr) -@ extern IoReadOperationCount -@ FASTCALL IoReadPartitionTable(ptr long long ptr) -@ stdcall IoReadPartitionTableEx(ptr ptr) -@ extern IoReadTransferCount -@ stdcall IoRegisterBootDriverReinitialization(ptr ptr ptr) -@ stdcall IoRegisterDeviceInterface(ptr ptr ptr ptr) -@ stdcall IoRegisterDriverReinitialization(ptr ptr ptr) -@ stdcall IoRegisterFileSystem(ptr) -@ stdcall IoRegisterFsRegistrationChange(ptr ptr) -@ stdcall IoRegisterLastChanceShutdownNotification(ptr) -@ stdcall IoRegisterPlugPlayNotification(long long ptr ptr ptr ptr ptr) -@ stdcall IoRegisterShutdownNotification(ptr) -@ stdcall IoReleaseCancelSpinLock(long) -@ stdcall IoReleaseRemoveLockAndWaitEx(ptr ptr long) -@ stdcall IoReleaseRemoveLockEx(ptr ptr long) -@ stdcall IoReleaseVpbSpinLock(long) -@ stdcall IoRemoveShareAccess(ptr ptr) -@ stdcall IoReportDetectedDevice(ptr long long long ptr ptr long ptr) -@ stdcall IoReportHalResourceUsage(ptr ptr ptr long) -@ stdcall IoReportResourceForDetection(ptr ptr long ptr ptr long ptr) -@ stdcall IoReportResourceUsage(ptr ptr ptr long ptr ptr long long ptr) -@ stdcall IoReportTargetDeviceChange(ptr ptr) -@ stdcall IoReportTargetDeviceChangeAsynchronous(ptr ptr ptr ptr) -@ stdcall IoRequestDeviceEject(ptr) -@ stdcall IoReuseIrp(ptr long) -@ stdcall IoSetCompletionRoutineEx(ptr ptr ptr ptr long long long) -@ stdcall IoSetDeviceInterfaceState(ptr long) -@ stdcall IoSetDeviceToVerify(ptr ptr) -@ stdcall IoSetFileOrigin(ptr long) -@ stdcall IoSetHardErrorOrVerifyDevice(ptr ptr) -@ stdcall IoSetInformation(ptr ptr long ptr) -@ stdcall IoSetIoCompletion(ptr ptr ptr long ptr long) -@ FASTCALL IoSetPartitionInformation(ptr long long long) -@ stdcall IoSetPartitionInformationEx(ptr long ptr) -@ stdcall IoSetShareAccess(long long ptr ptr) -@ stdcall IoSetStartIoAttributes(ptr long long) -@ stdcall IoSetSystemPartition(ptr) -@ stdcall IoSetThreadHardErrorMode(long) -@ stdcall IoSetTopLevelIrp(ptr) -@ stdcall IoStartNextPacket(ptr long) -@ stdcall IoStartNextPacketByKey(ptr long long) -@ stdcall IoStartPacket(ptr ptr ptr ptr) -@ stdcall IoStartTimer(ptr) -@ extern IoStatisticsLock -@ stdcall IoStopTimer(ptr) -@ stdcall IoSynchronousInvalidateDeviceRelations(ptr long) -@ stdcall IoSynchronousPageWrite(ptr ptr ptr ptr ptr) -@ stdcall IoThreadToProcess(ptr) -@ stdcall IoTranslateBusAddress(long long long long ptr ptr) -@ stdcall IoUnregisterFileSystem(ptr) -@ stdcall IoUnregisterFsRegistrationChange(ptr ptr) -@ stdcall IoUnregisterPlugPlayNotification(ptr) -@ stdcall IoUnregisterShutdownNotification(ptr) -@ stdcall IoUpdateShareAccess(ptr ptr) -@ stdcall IoValidateDeviceIoControlAccess(ptr long) -@ stdcall IoVerifyPartitionTable(ptr long) -@ stdcall IoVerifyVolume(ptr long) -@ stdcall IoVolumeDeviceToDosName(ptr ptr) -@ stdcall IoWMIAllocateInstanceIds(ptr long ptr) -@ stdcall IoWMIDeviceObjectToInstanceName(ptr ptr ptr) -@ stdcall -arch=x86_64 IoWMIDeviceObjectToProviderId(ptr) -@ stdcall IoWMIExecuteMethod(ptr ptr long long ptr ptr) -@ stdcall IoWMIHandleToInstanceName(ptr ptr ptr) -@ stdcall IoWMIOpenBlock(ptr long ptr) -@ stdcall IoWMIQueryAllData(ptr ptr ptr) -@ stdcall IoWMIQueryAllDataMultiple(ptr long ptr ptr) -@ stdcall IoWMIQuerySingleInstance(ptr ptr ptr ptr) -@ stdcall IoWMIQuerySingleInstanceMultiple(ptr ptr long ptr ptr) -@ stdcall IoWMIRegistrationControl(ptr long) -@ stdcall IoWMISetNotificationCallback(ptr ptr ptr) -@ stdcall IoWMISetSingleInstance(ptr ptr long long ptr) -@ stdcall IoWMISetSingleItem(ptr ptr long long long ptr) -@ stdcall IoWMISuggestInstanceName(ptr ptr long ptr) -@ stdcall IoWMIWriteEvent(ptr) -@ stdcall IoWriteErrorLogEntry(ptr) -@ extern IoWriteOperationCount -@ FASTCALL IoWritePartitionTable(ptr long long long ptr) -@ stdcall IoWritePartitionTableEx(ptr ptr) -@ extern IoWriteTransferCount -@ FASTCALL IofCallDriver(ptr ptr) -@ FASTCALL IofCompleteRequest(ptr long) -@ stdcall KdChangeOption(long long ptr long ptr ptr) -@ extern KdDebuggerEnabled _KdDebuggerEnabled -@ extern KdDebuggerNotPresent _KdDebuggerNotPresent -@ stdcall KdDisableDebugger() -@ stdcall KdEnableDebugger() -@ extern KdEnteredDebugger -@ stdcall KdPollBreakIn() -@ stdcall KdPowerTransition(long) -@ stdcall KdRefreshDebuggerNotPresent() -@ stdcall KdSystemDebugControl(long ptr long ptr long ptr long) -@ stdcall -arch=i386 Ke386CallBios(long ptr) -@ stdcall -arch=i386 Ke386IoSetAccessProcess(ptr long) -@ stdcall -arch=i386 Ke386QueryIoAccessMap(long ptr) -@ stdcall -arch=i386 Ke386SetIoAccessMap(long ptr) -@ FASTCALL KeAcquireGuardedMutex(ptr) -@ FASTCALL KeAcquireGuardedMutexUnsafe(ptr) -@ FASTCALL KeAcquireInStackQueuedSpinLockAtDpcLevel(ptr ptr) -@ FASTCALL KeAcquireInStackQueuedSpinLockForDpc(ptr ptr) -@ stdcall KeAcquireInterruptSpinLock(ptr) -@ stdcall KeAcquireSpinLockAtDpcLevel(ptr) -@ FASTCALL KeAcquireSpinLockForDpc(ptr) -@ stdcall -arch=x86_64 KeAcquireSpinLockRaiseToDpc(ptr) -@ stdcall KeAddSystemServiceTable(ptr ptr long ptr long) -@ stdcall KeAreAllApcsDisabled() -@ stdcall KeAreApcsDisabled() -@ stdcall KeAttachProcess(ptr) -@ stdcall KeBugCheck(long) -@ stdcall KeBugCheckEx(long ptr ptr ptr ptr) -@ stdcall KeCancelTimer(ptr) -@ stdcall KeCapturePersistentThreadState(ptr long long long long long ptr) -@ stdcall KeClearEvent(ptr) -@ stdcall KeConnectInterrupt(ptr) -@ stdcall KeDelayExecutionThread(long long ptr) -@ stdcall KeDeregisterBugCheckCallback(ptr) -@ stdcall KeDeregisterBugCheckReasonCallback(ptr) -@ stdcall KeDeregisterNmiCallback(ptr) -@ stdcall KeDetachProcess() -@ stdcall KeDisconnectInterrupt(ptr) -@ stdcall KeEnterCriticalRegion() _KeEnterCriticalRegion -@ stdcall KeEnterGuardedRegion() _KeEnterGuardedRegion -@ stdcall KeEnterKernelDebugger() -@ stdcall KeFindConfigurationEntry(ptr long long ptr) -@ stdcall KeFindConfigurationNextEntry(ptr long long ptr ptr) -@ stdcall KeFlushEntireTb(long long) -@ stdcall KeFlushQueuedDpcs() -;KeGenericCallDpc -@ stdcall KeGetCurrentThread() -@ stdcall KeGetPreviousMode() -@ stdcall KeGetRecommendedSharedDataAlignment() -;KeI386AbiosCall -@ stdcall -arch=i386 KeI386AllocateGdtSelectors(ptr long) -; -arch=i386 KeI386Call16BitCStyleFunction -; -arch=i386 KeI386Call16BitFunction -@ stdcall -arch=i386 KeI386FlatToGdtSelector(long long long) -; -arch=i386 KeI386GetLid -@ extern -arch=i386 KeI386MachineType -@ stdcall -arch=i386 KeI386ReleaseGdtSelectors(ptr long) -; -arch=i386 KeI386ReleaseLid -; -arch=i386 KeI386SetGdtSelector -@ stdcall KeInitializeApc(ptr ptr long ptr ptr ptr long ptr) -@ stdcall KeInitializeCrashDumpHeader(long long ptr long ptr) -@ stdcall KeInitializeDeviceQueue(ptr) -@ stdcall KeInitializeDpc(ptr ptr ptr) -@ stdcall KeInitializeEvent(ptr long long) -@ FASTCALL KeInitializeGuardedMutex(ptr) -@ stdcall KeInitializeInterrupt(ptr ptr ptr ptr long long long long long long long) -@ stdcall KeInitializeMutant(ptr long) -@ stdcall KeInitializeMutex(ptr long) -@ stdcall KeInitializeQueue(ptr long) -@ stdcall KeInitializeSemaphore(ptr long long) -#ifndef __x86_64__ -@ stdcall KeInitializeSpinLock(ptr) _KeInitializeSpinLock -#endif -@ stdcall KeInitializeThreadedDpc(ptr ptr ptr) -@ stdcall KeInitializeTimer(ptr) -@ stdcall KeInitializeTimerEx(ptr long) -@ stdcall KeInsertByKeyDeviceQueue(ptr ptr long) -@ stdcall KeInsertDeviceQueue(ptr ptr) -@ stdcall KeInsertHeadQueue(ptr ptr) -@ stdcall KeInsertQueue(ptr ptr) -@ stdcall KeInsertQueueApc(ptr ptr ptr long) -@ stdcall KeInsertQueueDpc(ptr ptr ptr) -@ stdcall KeInvalidateAllCaches() -@ stdcall KeIpiGenericCall(ptr ptr) -@ stdcall KeIsAttachedProcess() -@ stdcall KeIsExecutingDpc() -;KeIsWaitListEmpty -@ stdcall KeLeaveCriticalRegion() _KeLeaveCriticalRegion -@ stdcall KeLeaveGuardedRegion() _KeLeaveGuardedRegion -@ extern KeLoaderBlock -@ extern KeNumberProcessors _KeNumberProcessors -@ stdcall KeProfileInterrupt(ptr) -@ stdcall KeProfileInterruptWithSource(ptr long) -@ stdcall KePulseEvent(ptr long long) -@ stdcall KeQueryActiveProcessors() -#ifndef __x86_64__ -@ stdcall KeQueryInterruptTime() -#endif -@ stdcall KeQueryPriorityThread(ptr) -@ stdcall KeQueryRuntimeThread(ptr ptr) -#ifndef __x86_64__ -@ stdcall KeQuerySystemTime(ptr) -#endif -@ stdcall KeQueryTickCount(ptr) -@ stdcall KeQueryTimeIncrement() -@ stdcall KeRaiseUserException(long) -@ stdcall KeReadStateEvent(ptr) -@ stdcall KeReadStateMutant(ptr) -@ stdcall KeReadStateMutex(ptr) KeReadStateMutant -@ stdcall KeReadStateQueue(ptr) -@ stdcall KeReadStateSemaphore(ptr) -@ stdcall KeReadStateTimer(ptr) -@ stdcall KeRegisterBugCheckCallback(ptr ptr ptr long ptr) -@ stdcall KeRegisterBugCheckReasonCallback(ptr ptr ptr ptr) -@ stdcall KeRegisterNmiCallback(ptr ptr) -@ FASTCALL KeReleaseGuardedMutex(ptr) -@ FASTCALL KeReleaseGuardedMutexUnsafe(ptr) -@ FASTCALL KeReleaseInStackQueuedSpinLockForDpc(ptr) -@ FASTCALL KeReleaseInStackQueuedSpinLockFromDpcLevel(ptr) -@ stdcall KeReleaseInterruptSpinLock(ptr long) -@ stdcall KeReleaseMutant(ptr long long long) -@ stdcall KeReleaseMutex(ptr long) -@ stdcall KeReleaseSemaphore(ptr long long long) -#ifdef __x86_64__ -@ stdcall KeReleaseSpinLock(ptr long) -#endif -@ FASTCALL KeReleaseSpinLockForDpc(ptr long) -@ stdcall KeReleaseSpinLockFromDpcLevel(ptr) -@ stdcall KeRemoveByKeyDeviceQueue(ptr long) -@ stdcall KeRemoveByKeyDeviceQueueIfBusy(ptr long) -@ stdcall KeRemoveDeviceQueue(ptr) -@ stdcall KeRemoveEntryDeviceQueue(ptr ptr) -@ stdcall KeRemoveQueue(ptr long ptr) -@ stdcall KeRemoveQueueDpc(ptr) -@ stdcall KeRemoveSystemServiceTable(long) -@ stdcall KeResetEvent(ptr) -@ stdcall KeRestoreFloatingPointState(ptr) -@ stdcall KeRevertToUserAffinityThread() -@ stdcall KeRundownQueue(ptr) -@ stdcall KeSaveFloatingPointState(ptr) -@ cdecl KeSaveStateForHibernate(ptr) -@ extern KeServiceDescriptorTable -@ stdcall KeSetAffinityThread(ptr long) -@ stdcall KeSetBasePriorityThread(ptr long) -@ stdcall KeSetDmaIoCoherency(long) -@ stdcall KeSetEvent(ptr long long) -@ stdcall KeSetEventBoostPriority(ptr ptr) -@ stdcall KeSetIdealProcessorThread(ptr long) -@ stdcall KeSetImportanceDpc(ptr long) -@ stdcall KeSetKernelStackSwapEnable(long) -@ stdcall KeSetPriorityThread(ptr long) -@ stdcall KeSetProfileIrql(long) -@ stdcall KeSetSystemAffinityThread(long) -@ stdcall KeSetTargetProcessorDpc(ptr long) -@ stdcall KeSetTimeIncrement(long long) -@ stdcall KeSetTimer(ptr long long ptr) -@ stdcall KeSetTimerEx(ptr long long long ptr) -;KeSignalCallDpcDone -;KeSignalCallDpcSynchronize -@ stdcall KeStackAttachProcess(ptr ptr) -@ stdcall KeSynchronizeExecution(ptr ptr ptr) -@ stdcall KeTerminateThread(long) -@ FASTCALL KeTestSpinLock(ptr) -@ extern KeTickCount -@ FASTCALL KeTryToAcquireGuardedMutex(ptr) -@ FASTCALL KeTryToAcquireSpinLockAtDpcLevel(ptr) -@ stdcall KeUnstackDetachProcess(ptr) -@ stdcall KeUpdateRunTime(ptr long) -@ fastcall KeUpdateSystemTime(ptr long long) -@ stdcall KeUserModeCallback(long ptr long ptr ptr) -@ stdcall KeWaitForMultipleObjects(long ptr long long long long ptr ptr) -@ stdcall KeWaitForMutexObject(ptr long long long ptr) KeWaitForSingleObject -@ stdcall KeWaitForSingleObject(ptr long long long ptr) -@ FASTCALL KefAcquireSpinLockAtDpcLevel(ptr) -@ FASTCALL KefReleaseSpinLockFromDpcLevel(ptr) -@ stdcall -arch=i386 Kei386EoiHelper() -@ fastcall -arch=i386 KiEoiHelper(ptr) /* FIXME: Evaluate decision */ -@ FASTCALL KiAcquireSpinLock(ptr) -@ extern KiBugCheckData -@ stdcall KiCheckForKernelApcDelivery() -;KiCheckForSListAddress -@ stdcall -arch=i386 KiCoprocessorError() -@ stdcall KiDeliverApc(long ptr ptr) -@ stdcall -arch=i386 KiDispatchInterrupt() -@ extern KiEnableTimerWatchdog -@ stdcall KiIpiServiceRoutine(ptr ptr) -@ FASTCALL KiReleaseSpinLock(ptr) -@ cdecl KiUnexpectedInterrupt() -#ifdef _M_IX86 -@ stdcall Kii386SpinOnSpinLock(ptr long) -#endif -@ stdcall LdrAccessResource(ptr ptr ptr ptr) -@ stdcall LdrEnumResources(ptr ptr long ptr ptr) -@ stdcall LdrFindResourceDirectory_U(ptr ptr long ptr) -@ stdcall LdrFindResource_U(ptr ptr long ptr) -@ extern LpcPortObjectType -@ stdcall LpcRequestPort(ptr ptr) -@ stdcall LpcRequestWaitReplyPort(ptr ptr ptr) -@ stdcall LsaCallAuthenticationPackage(long long long long long long long) -@ stdcall LsaDeregisterLogonProcess(long long) -@ stdcall LsaFreeReturnBuffer(ptr) -@ stdcall LsaLogonUser(ptr ptr long long ptr long ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall LsaLookupAuthenticationPackage(long long long) -@ stdcall LsaRegisterLogonProcess(ptr ptr ptr) -@ extern Mm64BitPhysicalAddress -@ stdcall MmAddPhysicalMemory(ptr ptr) -@ stdcall MmAddVerifierThunks(ptr long) -@ stdcall MmAdjustWorkingSetSize(long long long long) -@ stdcall MmAdvanceMdl(ptr long) -@ stdcall MmAllocateContiguousMemory(long long long) -@ stdcall MmAllocateContiguousMemorySpecifyCache(long long long long long long long long) -@ stdcall MmAllocateMappingAddress(long long) -@ stdcall MmAllocateNonCachedMemory(long) -@ stdcall MmAllocatePagesForMdl(ptr ptr ptr ptr ptr ptr ptr) -@ stdcall MmAllocatePagesForMdlEx(long long long long long long long long long) -@ stdcall MmBuildMdlForNonPagedPool(ptr) -@ stdcall MmCanFileBeTruncated(ptr ptr) -;MmCommitSessionMappedView -@ stdcall MmCreateMdl(ptr ptr long) -;MmCreateMirror -@ stdcall MmCreateSection(ptr long ptr ptr long long ptr ptr) -@ stdcall MmDisableModifiedWriteOfSection(long) -@ stdcall MmFlushImageSection(ptr long) -@ stdcall MmForceSectionClosed(ptr long) -@ stdcall MmFreeContiguousMemory(ptr) -@ stdcall MmFreeContiguousMemorySpecifyCache(ptr long long) -@ stdcall MmFreeMappingAddress(ptr long) -@ stdcall MmFreeNonCachedMemory(ptr long) -@ stdcall MmFreePagesFromMdl(ptr) -@ stdcall MmGetPhysicalAddress(ptr) -@ stdcall MmGetPhysicalMemoryRanges() -@ stdcall MmGetSystemRoutineAddress(ptr) -@ stdcall MmGetVirtualForPhysical(long long) -@ stdcall MmGrowKernelStack(ptr) -@ extern MmHighestUserAddress -@ stdcall MmIsAddressValid(ptr) -@ stdcall MmIsDriverVerifying(ptr) -;MmIsIoSpaceActive -@ stdcall MmIsNonPagedSystemAddressValid(ptr) -@ stdcall MmIsRecursiveIoFault() -@ stdcall MmIsThisAnNtAsSystem() -@ stdcall MmIsVerifierEnabled(ptr) -@ stdcall MmLockPagableDataSection(ptr) MmLockPageableDataSection -@ stdcall MmLockPagableImageSection(ptr) MmLockPageableDataSection -@ stdcall MmLockPagableSectionByHandle(ptr) MmLockPageableSectionByHandle -@ stdcall MmMapIoSpace(long long long long) -@ stdcall MmMapLockedPages(ptr long) -@ stdcall MmMapLockedPagesSpecifyCache(ptr long long ptr long long) -@ stdcall MmMapLockedPagesWithReservedMapping(ptr long ptr long) -@ stdcall MmMapMemoryDumpMdl(ptr) -@ stdcall MmMapUserAddressesToPage(ptr long ptr) -@ stdcall MmMapVideoDisplay(long long long long) -@ stdcall MmMapViewInSessionSpace(ptr ptr ptr) -@ stdcall MmMapViewInSystemSpace(ptr ptr ptr) -@ stdcall MmMapViewOfSection(ptr ptr ptr long long ptr ptr long long long) -@ stdcall MmMarkPhysicalMemoryAsBad(ptr ptr) -@ stdcall MmMarkPhysicalMemoryAsGood(ptr ptr) -@ stdcall MmPageEntireDriver(ptr) -@ stdcall MmPrefetchPages(long ptr) -@ stdcall MmProbeAndLockPages(ptr long long) -@ stdcall MmProbeAndLockProcessPages(ptr ptr long long) -@ stdcall MmProbeAndLockSelectedPages(ptr ptr long long) -@ stdcall MmProtectMdlSystemAddress(ptr long) -@ stdcall MmQuerySystemSize() -@ stdcall MmRemovePhysicalMemory(ptr ptr) -@ stdcall MmResetDriverPaging(ptr) -@ extern MmSectionObjectType -@ stdcall MmSecureVirtualMemory(ptr long long) -@ stdcall MmSetAddressRangeModified(ptr long) -@ stdcall MmSetBankedSection(long long long long long long) -@ stdcall MmSizeOfMdl(ptr long) -@ extern MmSystemRangeStart -@ stdcall MmTrimAllSystemPagableMemory(long) MmTrimAllSystemPageableMemory -@ stdcall MmUnlockPagableImageSection(ptr) MmUnlockPageableImageSection -@ stdcall MmUnlockPages(ptr) -@ stdcall MmUnmapIoSpace(ptr long) -@ stdcall MmUnmapLockedPages(ptr ptr) -@ stdcall MmUnmapReservedMapping(ptr long ptr) -@ stdcall MmUnmapVideoDisplay(ptr long) -@ stdcall MmUnmapViewInSessionSpace(ptr) -@ stdcall MmUnmapViewInSystemSpace(ptr) -@ stdcall MmUnmapViewOfSection(ptr ptr) -@ stdcall MmUnsecureVirtualMemory(ptr) -@ extern MmUserProbeAddress -@ extern NlsAnsiCodePage -@ extern NlsLeadByteInfo -@ extern NlsMbCodePageTag -@ extern NlsMbOemCodePageTag -@ extern NlsOemCodePage -@ extern NlsOemLeadByteInfo _NlsOemLeadByteInfo -@ stdcall NtAddAtom(wstr long ptr) -@ stdcall NtAdjustPrivilegesToken(ptr long ptr long ptr ptr) -@ stdcall NtAlertThread(ptr) -@ stdcall NtAllocateLocallyUniqueId(ptr) -@ stdcall NtAllocateUuids(ptr ptr ptr ptr) -@ stdcall NtAllocateVirtualMemory(ptr ptr long ptr long long) -@ extern NtBuildNumber -@ stdcall NtClose(ptr) -@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall NtCreateEvent(ptr long ptr long long) -@ stdcall NtCreateFile(ptr long ptr ptr ptr long long long long ptr long) -@ stdcall NtCreateSection(ptr long ptr ptr long long ptr) -@ stdcall NtCreateTimer(ptr long ptr long) -@ stdcall NtDeleteAtom(ptr) -@ stdcall NtDeleteFile(ptr) -@ stdcall NtDeviceIoControlFile(ptr ptr ptr ptr ptr long ptr long ptr long) -@ stdcall NtDuplicateObject(ptr ptr ptr ptr long long long) -@ stdcall NtDuplicateToken(ptr long ptr long long ptr) -@ stdcall NtFindAtom(wstr long ptr) -@ stdcall NtFreeVirtualMemory(ptr ptr ptr long) -@ stdcall NtFsControlFile(ptr ptr ptr ptr ptr long ptr long ptr long) -@ extern NtGlobalFlag -@ stdcall NtLockFile(ptr ptr ptr ptr ptr ptr ptr long long long) -@ stdcall NtMakePermanentObject(ptr) -@ stdcall NtMapViewOfSection(ptr ptr ptr long long ptr ptr long long long) -@ stdcall NtNotifyChangeDirectoryFile(ptr ptr ptr ptr ptr ptr long long long) -@ stdcall NtOpenEvent(ptr long ptr) -@ stdcall NtOpenFile(ptr long ptr ptr long long) -@ stdcall NtOpenProcess(ptr long ptr ptr) -@ stdcall NtOpenProcessToken(ptr long ptr) -@ stdcall NtOpenProcessTokenEx(ptr long long ptr) -@ stdcall NtOpenThread(ptr long ptr ptr) -@ stdcall NtOpenThreadToken(ptr long long ptr) -@ stdcall NtOpenThreadTokenEx(ptr long long long ptr) -@ stdcall NtQueryDirectoryFile(ptr ptr ptr ptr ptr ptr long long long ptr long) -@ stdcall NtQueryEaFile(ptr ptr ptr long long ptr long ptr long) -@ stdcall NtQueryInformationAtom(ptr long ptr long ptr) -@ stdcall NtQueryInformationFile(ptr ptr ptr long long) -@ stdcall NtQueryInformationProcess(ptr ptr ptr long ptr) -@ stdcall NtQueryInformationThread(ptr long ptr long ptr) -@ stdcall NtQueryInformationToken(ptr long ptr long ptr) -@ stdcall NtQueryQuotaInformationFile(ptr ptr ptr long long ptr long ptr long) -@ stdcall NtQuerySecurityObject(ptr long ptr long ptr) -@ stdcall NtQuerySystemInformation(long ptr long ptr) -@ stdcall NtQueryVolumeInformationFile(ptr ptr ptr long long) -@ stdcall NtReadFile(ptr ptr ptr ptr ptr ptr long ptr ptr) -@ stdcall NtRequestPort(ptr ptr) -@ stdcall NtRequestWaitReplyPort(ptr ptr ptr) -@ stdcall NtSetEaFile(ptr ptr ptr long) -@ stdcall NtSetEvent(ptr ptr) -@ stdcall NtSetInformationFile(ptr ptr ptr long long) -@ stdcall NtSetInformationProcess(ptr ptr ptr long) -@ stdcall NtSetInformationThread(ptr long ptr long) -@ stdcall NtSetQuotaInformationFile(ptr ptr ptr long) -@ stdcall NtSetSecurityObject(ptr long ptr) -@ stdcall NtSetVolumeInformationFile(ptr ptr ptr long long) -@ stdcall NtShutdownSystem(long) -@ stdcall NtTraceEvent(long long long ptr) -@ stdcall NtUnlockFile(ptr ptr ptr ptr long) -@ stdcall NtVdmControl(long ptr) -@ stdcall NtWaitForSingleObject(ptr long ptr) -@ stdcall NtWriteFile(ptr ptr ptr ptr ptr ptr long ptr ptr) -@ stdcall ObAssignSecurity(ptr ptr ptr ptr) -@ stdcall ObCheckCreateObjectAccess(ptr long ptr ptr long long ptr) -@ stdcall ObCheckObjectAccess(ptr ptr long long ptr) -@ stdcall ObCloseHandle(ptr long) -@ stdcall ObCreateObject(long ptr ptr long ptr long long long ptr) -@ stdcall ObCreateObjectType(ptr ptr ptr ptr) -;ObDeleteCapturedInsertInfo -@ stdcall ObDereferenceObject(ptr) -@ stdcall ObDereferenceObjectDeferDelete(ptr) -@ stdcall ObDereferenceSecurityDescriptor(ptr long) -@ stdcall ObFindHandleForObject(ptr ptr ptr ptr ptr) -@ stdcall ObGetObjectSecurity(ptr ptr ptr) -@ stdcall ObInsertObject(ptr ptr long long ptr ptr) -@ stdcall ObIsKernelHandle(ptr) -@ stdcall ObLogSecurityDescriptor(ptr ptr long) -@ stdcall ObMakeTemporaryObject(ptr) -@ stdcall ObOpenObjectByName(ptr ptr long ptr long ptr ptr) -@ stdcall ObOpenObjectByPointer(ptr long ptr long ptr long ptr) -@ stdcall ObQueryNameString(ptr ptr long ptr) -@ stdcall ObQueryObjectAuditingByHandle(ptr ptr) -@ stdcall ObReferenceObjectByHandle(ptr long ptr long ptr ptr) -@ stdcall ObReferenceObjectByName(ptr long ptr long ptr long ptr ptr) -@ stdcall ObReferenceObjectByPointer(ptr long ptr long) -@ stdcall ObReferenceSecurityDescriptor(ptr long) -@ stdcall ObReleaseObjectSecurity(ptr long) -;ObSetHandleAttributes@12 -@ stdcall ObSetSecurityDescriptorInfo(ptr ptr ptr ptr long ptr) -@ stdcall ObSetSecurityObjectByPointer(ptr long ptr) -@ FASTCALL ObfDereferenceObject(ptr) -@ FASTCALL ObfReferenceObject(ptr) -;PfxFindPrefix -;PfxInitialize -;PfxInsertPrefix -;PfxRemovePrefix -@ stdcall PoCallDriver(ptr ptr) -@ stdcall PoCancelDeviceNotify(ptr) -@ stdcall PoQueueShutdownWorkItem(ptr) -@ stdcall PoRegisterDeviceForIdleDetection(ptr long long long) -@ stdcall PoRegisterDeviceNotify(ptr long long long ptr ptr) -@ stdcall PoRegisterSystemState(ptr long) -@ stdcall PoRequestPowerIrp(ptr long long ptr ptr ptr) -@ stdcall PoRequestShutdownEvent(ptr) -@ stdcall PoSetHiberRange(ptr long ptr long long) -@ stdcall PoSetPowerState(ptr long long) -@ stdcall PoSetSystemState(long) -@ stdcall PoShutdownBugCheck(long long ptr ptr ptr ptr) -@ stdcall PoStartNextPowerIrp(ptr) -@ stdcall PoUnregisterSystemState(ptr) -@ stdcall ProbeForRead(ptr long long) -@ stdcall ProbeForWrite(ptr long long) -@ stdcall PsAssignImpersonationToken(ptr ptr) -@ stdcall PsChargePoolQuota(ptr long long) -@ stdcall PsChargeProcessNonPagedPoolQuota(ptr long) -@ stdcall PsChargeProcessPagedPoolQuota(ptr long) -@ stdcall PsChargeProcessPoolQuota(ptr long long) -@ stdcall PsCreateSystemProcess(ptr long ptr) -@ stdcall PsCreateSystemThread(ptr long ptr ptr ptr ptr ptr) -@ stdcall PsDereferenceImpersonationToken(ptr) PsDereferencePrimaryToken -@ stdcall PsDereferencePrimaryToken(ptr) -@ stdcall PsDisableImpersonation(ptr ptr) -@ stdcall PsEstablishWin32Callouts(ptr) -@ stdcall PsGetContextThread(ptr ptr long) -@ stdcall PsGetCurrentProcess() IoGetCurrentProcess -@ stdcall PsGetCurrentProcessId() -@ stdcall PsGetCurrentProcessSessionId() -@ stdcall PsGetCurrentProcessWin32Process() -@ stdcall PsGetCurrentThread() KeGetCurrentThread -@ stdcall PsGetCurrentThreadId() -@ stdcall PsGetCurrentThreadPreviousMode() -;PsGetCurrentThreadProcess -;PsGetCurrentThreadProcessId -@ stdcall PsGetCurrentThreadStackBase() -@ stdcall PsGetCurrentThreadStackLimit() -;PsGetCurrentThreadTeb -@ stdcall PsGetCurrentThreadWin32Thread() -;PsGetCurrentThreadWin32ThreadAndEnterCriticalRegion -@ stdcall PsGetJobLock(ptr) -@ stdcall PsGetJobSessionId(ptr) -@ stdcall PsGetJobUIRestrictionsClass(ptr) -@ stdcall PsGetProcessCreateTimeQuadPart(ptr) -@ stdcall PsGetProcessDebugPort(ptr) -@ stdcall PsGetProcessExitProcessCalled(ptr) -@ stdcall PsGetProcessExitStatus(ptr) -@ stdcall PsGetProcessExitTime() -@ stdcall PsGetProcessId(ptr) -@ stdcall PsGetProcessImageFileName(ptr) -@ stdcall PsGetProcessInheritedFromUniqueProcessId(ptr) -@ stdcall PsGetProcessJob(ptr) -@ stdcall PsGetProcessPeb(ptr) -@ stdcall PsGetProcessPriorityClass(ptr) -@ stdcall PsGetProcessSectionBaseAddress(ptr) -@ stdcall PsGetProcessSecurityPort(ptr) -@ stdcall PsGetProcessSessionId(ptr) -;PsGetProcessSessionIdEx -@ stdcall PsGetProcessWin32Process(ptr) -@ stdcall PsGetProcessWin32WindowStation(ptr) -@ stdcall PsGetThreadFreezeCount(ptr) -@ stdcall PsGetThreadHardErrorsAreDisabled(ptr) -@ stdcall PsGetThreadId(ptr) -@ stdcall PsGetThreadProcess(ptr) -@ stdcall PsGetThreadProcessId(ptr) -@ stdcall PsGetThreadSessionId(ptr) -@ stdcall PsGetThreadTeb(ptr) -@ stdcall PsGetThreadWin32Thread(ptr) -@ stdcall PsGetVersion(ptr ptr ptr ptr) -@ stdcall PsImpersonateClient(ptr ptr long long long) -@ extern PsInitialSystemProcess -@ stdcall PsIsProcessBeingDebugged(ptr) -@ stdcall PsIsSystemProcess(ptr) -@ stdcall PsIsSystemThread(ptr) -@ stdcall PsIsThreadImpersonating(ptr) -@ stdcall PsIsThreadTerminating(ptr) -@ extern PsJobType -@ stdcall PsLookupProcessByProcessId(ptr ptr) -@ stdcall PsLookupProcessThreadByCid(ptr ptr ptr) -@ stdcall PsLookupThreadByThreadId(ptr ptr) -@ extern PsProcessType _PsProcessType -@ stdcall PsReferenceImpersonationToken(ptr ptr ptr ptr) -@ stdcall PsReferencePrimaryToken(ptr) -@ stdcall PsRemoveCreateThreadNotifyRoutine(ptr) -@ stdcall PsRemoveLoadImageNotifyRoutine(ptr) -@ stdcall PsRestoreImpersonation(ptr ptr) -@ stdcall PsReturnPoolQuota(ptr long long) -@ stdcall PsReturnProcessNonPagedPoolQuota(ptr long) -@ stdcall PsReturnProcessPagedPoolQuota(ptr long) -@ stdcall PsRevertThreadToSelf(ptr) -@ stdcall PsRevertToSelf() -@ stdcall PsSetContextThread(ptr ptr long) -@ stdcall PsSetCreateProcessNotifyRoutine(ptr long) -@ stdcall PsSetCreateThreadNotifyRoutine(ptr) -@ stdcall PsSetJobUIRestrictionsClass(ptr long) -@ stdcall PsSetLegoNotifyRoutine(ptr) -@ stdcall PsSetLoadImageNotifyRoutine(ptr) -@ stdcall PsSetProcessPriorityByClass(ptr ptr) -@ stdcall PsSetProcessPriorityClass(ptr long) -@ stdcall PsSetProcessSecurityPort(ptr ptr) -@ stdcall PsSetProcessWin32Process(ptr ptr) -@ stdcall PsSetProcessWindowStation(ptr ptr) -@ stdcall PsSetThreadHardErrorsAreDisabled(ptr long) -@ stdcall PsSetThreadWin32Thread(ptr ptr) -@ stdcall PsTerminateSystemThread(long) -@ extern PsThreadType _PsThreadType -;PsWrapApcWow64Thread -#ifndef __x86_64__ -@ stdcall READ_REGISTER_BUFFER_UCHAR(ptr ptr long) -@ stdcall READ_REGISTER_BUFFER_ULONG(ptr ptr long) -@ stdcall READ_REGISTER_BUFFER_USHORT(ptr ptr long) -@ stdcall READ_REGISTER_UCHAR(ptr) -@ stdcall READ_REGISTER_ULONG(ptr) -@ stdcall READ_REGISTER_USHORT(ptr) -#endif -@ stdcall RtlAbsoluteToSelfRelativeSD(ptr ptr ptr) -@ stdcall RtlAddAccessAllowedAce(ptr long long ptr) -@ stdcall RtlAddAccessAllowedAceEx(ptr long long long ptr) -@ stdcall RtlAddAce(ptr long long ptr long) -@ stdcall RtlAddAtomToAtomTable(ptr wstr ptr) -@ stdcall RtlAddRange(ptr long long long long long long ptr ptr) -@ stdcall RtlAllocateAndInitializeSid(ptr long long long long long long long long long ptr) -@ stdcall RtlAllocateHeap(ptr long long) -@ stdcall RtlAnsiCharToUnicodeChar(ptr) -@ stdcall RtlAnsiStringToUnicodeSize(ptr) RtlxAnsiStringToUnicodeSize -@ stdcall RtlAnsiStringToUnicodeString(ptr ptr long) -@ stdcall RtlAppendAsciizToString(ptr str) -@ stdcall RtlAppendStringToString(ptr ptr) -@ stdcall RtlAppendUnicodeStringToString(ptr ptr) -@ stdcall RtlAppendUnicodeToString(ptr wstr) -@ stdcall RtlAreAllAccessesGranted(long long) -@ stdcall RtlAreAnyAccessesGranted(long long) -@ stdcall RtlAreBitsClear(ptr long long) -@ stdcall RtlAreBitsSet(ptr long long) -@ stdcall RtlAssert(str str long str) -@ stdcall RtlCaptureContext(ptr) -@ stdcall RtlCaptureStackBackTrace(long long ptr ptr) -@ stdcall RtlCharToInteger(str long ptr) -@ stdcall RtlCheckRegistryKey(long wstr) -@ stdcall RtlClearAllBits(ptr) -@ stdcall RtlClearBit(ptr long) -@ stdcall RtlClearBits(ptr long long) -@ stdcall RtlCompareMemory(ptr ptr long) -@ stdcall RtlCompareMemoryUlong(ptr long long) -@ stdcall RtlCompareString(ptr ptr long) -@ stdcall RtlCompareUnicodeString(ptr ptr long) -@ stdcall RtlCompressBuffer(long ptr long ptr long long ptr ptr) -@ stdcall RtlCompressChunks(ptr long ptr long ptr long ptr) -@ stdcall RtlConvertLongToLargeInteger(long) -@ stdcall RtlConvertSidToUnicodeString(ptr ptr long) -@ stdcall RtlConvertUlongToLargeInteger(long) -@ stdcall RtlCopyLuid(ptr ptr) -@ stdcall RtlCopyRangeList(ptr ptr) -@ stdcall RtlCopySid(long ptr ptr) -@ stdcall RtlCopyString(ptr ptr) -@ stdcall RtlCopyUnicodeString(ptr ptr) -@ stdcall RtlCreateAcl(ptr long long) -@ stdcall RtlCreateAtomTable(long ptr) -@ stdcall RtlCreateHeap(long ptr long long ptr ptr) -@ stdcall RtlCreateRegistryKey(long wstr) -@ stdcall RtlCreateSecurityDescriptor(ptr long) -@ stdcall RtlCreateSystemVolumeInformationFolder(ptr) -@ stdcall RtlCreateUnicodeString(ptr wstr) -@ stdcall RtlCustomCPToUnicodeN(ptr wstr long ptr ptr long) -@ stdcall RtlDecompressBuffer(long ptr long ptr long ptr) -@ stdcall RtlDecompressChunks(ptr long ptr long ptr long ptr) -@ stdcall RtlDecompressFragment(long ptr long ptr long long ptr ptr) -@ stdcall RtlDelete(ptr) -@ stdcall RtlDeleteAce(ptr long) -@ stdcall RtlDeleteAtomFromAtomTable(ptr ptr) -@ stdcall RtlDeleteElementGenericTable(ptr ptr) -@ stdcall RtlDeleteElementGenericTableAvl(ptr ptr) -@ stdcall RtlDeleteNoSplay(ptr ptr) -@ stdcall RtlDeleteOwnersRanges(ptr ptr) -@ stdcall RtlDeleteRange(ptr long long long long ptr) -@ stdcall RtlDeleteRegistryValue(long wstr wstr) -@ stdcall RtlDescribeChunk(long ptr ptr ptr ptr) -@ stdcall RtlDestroyAtomTable(ptr) -@ stdcall RtlDestroyHeap(ptr) -@ stdcall RtlDowncaseUnicodeString(ptr ptr long) -@ stdcall RtlEmptyAtomTable(ptr long) -@ stdcall RtlEnlargedIntegerMultiply(long long) -@ stdcall RtlEnlargedUnsignedDivide(long long long ptr) -@ stdcall RtlEnlargedUnsignedMultiply(long long) -@ stdcall RtlEnumerateGenericTable(ptr long) -@ stdcall RtlEnumerateGenericTableAvl(ptr long) -@ stdcall RtlEnumerateGenericTableLikeADirectory(ptr ptr ptr long ptr ptr ptr) -@ stdcall RtlEnumerateGenericTableWithoutSplaying(ptr ptr) -@ stdcall RtlEnumerateGenericTableWithoutSplayingAvl(ptr ptr) -@ stdcall RtlEqualLuid(ptr ptr) -@ stdcall RtlEqualSid(ptr ptr) -@ stdcall RtlEqualString(ptr ptr long) -@ stdcall RtlEqualUnicodeString(ptr ptr long) -@ stdcall RtlExtendedIntegerMultiply(long long long) -@ stdcall RtlExtendedLargeIntegerDivide(long long long ptr) -@ stdcall RtlExtendedMagicDivide(long long long long long) -@ stdcall RtlFillMemory(ptr long long) -@ stdcall RtlFillMemoryUlong(ptr long long) -@ stdcall RtlFindClearBits(ptr long long) -@ stdcall RtlFindClearBitsAndSet(ptr long long) -@ stdcall RtlFindClearRuns(ptr ptr long long) -@ stdcall RtlFindFirstRunClear(ptr ptr) -@ stdcall RtlFindLastBackwardRunClear(ptr long ptr) -@ stdcall RtlFindLeastSignificantBit(long long) -@ stdcall RtlFindLongestRunClear(ptr ptr) -@ stdcall RtlFindMessage(ptr long long long ptr) -@ stdcall RtlFindMostSignificantBit(long long) -@ stdcall RtlFindNextForwardRunClear(ptr long ptr) -@ stdcall RtlFindRange(ptr long long long long long long long long ptr ptr ptr) -@ stdcall RtlFindSetBits(ptr long long) -@ stdcall RtlFindSetBitsAndClear(ptr long long) -@ stdcall RtlFindUnicodePrefix(ptr ptr long) -@ stdcall RtlFormatCurrentUserKeyPath(ptr) -@ stdcall RtlFreeAnsiString(ptr) -@ stdcall RtlFreeHeap(ptr long ptr) -@ stdcall RtlFreeOemString(ptr) -@ stdcall RtlFreeRangeList(ptr) -@ stdcall RtlFreeUnicodeString(ptr) -@ stdcall RtlGUIDFromString(ptr ptr) -@ stdcall RtlGenerate8dot3Name(ptr ptr long ptr) -@ stdcall RtlGetAce(ptr long ptr) -@ stdcall RtlGetCallersAddress(ptr ptr) -@ stdcall RtlGetCompressionWorkSpaceSize(long ptr ptr) -@ stdcall RtlGetDaclSecurityDescriptor(ptr ptr ptr ptr) -@ stdcall RtlGetDefaultCodePage(ptr ptr) -@ stdcall RtlGetElementGenericTable(ptr long) -@ stdcall RtlGetElementGenericTableAvl(ptr long) -@ stdcall RtlGetFirstRange(ptr ptr ptr) -@ stdcall RtlGetGroupSecurityDescriptor(ptr ptr ptr) -@ stdcall RtlGetNextRange(ptr ptr long) -@ stdcall RtlGetNtGlobalFlags() -@ stdcall RtlGetOwnerSecurityDescriptor(ptr ptr ptr) -@ stdcall RtlGetSaclSecurityDescriptor(ptr ptr ptr ptr) -@ stdcall RtlGetSetBootStatusData(ptr long long ptr long long) -@ stdcall RtlGetVersion(ptr) -@ stdcall RtlHashUnicodeString(ptr long long ptr) -@ stdcall RtlImageDirectoryEntryToData(ptr long long ptr) -@ stdcall RtlImageNtHeader(ptr) -@ stdcall RtlInitAnsiString(ptr str) -@ stdcall RtlInitAnsiStringEx(ptr str) -@ stdcall RtlInitCodePageTable(ptr ptr) -@ stdcall RtlInitString(ptr str) -@ stdcall RtlInitUnicodeString(ptr wstr) -@ stdcall RtlInitUnicodeStringEx(ptr wstr) -@ stdcall RtlInitializeBitMap(ptr ptr long) -@ stdcall RtlInitializeGenericTable(ptr ptr ptr ptr ptr) -@ stdcall RtlInitializeGenericTableAvl(ptr ptr ptr ptr ptr) -@ stdcall RtlInitializeRangeList(ptr) -@ stdcall RtlInitializeSid(ptr ptr long) -@ stdcall RtlInitializeUnicodePrefix(ptr) -@ stdcall RtlInsertElementGenericTable(ptr ptr long ptr) -@ stdcall RtlInsertElementGenericTableAvl(ptr ptr long ptr) -@ stdcall RtlInsertElementGenericTableFull(ptr ptr long ptr ptr long) -@ stdcall RtlInsertElementGenericTableFullAvl(ptr ptr long ptr ptr ptr) -@ stdcall RtlInsertUnicodePrefix(ptr ptr ptr) -@ stdcall RtlInt64ToUnicodeString(long long long ptr) -@ stdcall RtlIntegerToChar(long long long ptr) -@ stdcall RtlIntegerToUnicode(long long long ptr) -@ stdcall RtlIntegerToUnicodeString(long long ptr) -@ stdcall RtlInvertRangeList(ptr ptr) -@ stdcall RtlIpv4AddressToStringA(ptr ptr) -@ stdcall RtlIpv4AddressToStringExA(ptr long ptr ptr) -@ stdcall RtlIpv4AddressToStringExW(ptr long ptr ptr) -@ stdcall RtlIpv4AddressToStringW(ptr ptr) -@ stdcall RtlIpv4StringToAddressA(str long ptr ptr) -@ stdcall RtlIpv4StringToAddressExA(str long ptr ptr) -@ stdcall RtlIpv4StringToAddressExW(wstr long ptr ptr) -@ stdcall RtlIpv4StringToAddressW(wstr long ptr ptr) -@ stdcall RtlIpv6AddressToStringA(ptr ptr) -@ stdcall RtlIpv6AddressToStringExA(ptr long long ptr ptr) -@ stdcall RtlIpv6AddressToStringExW(ptr long long ptr ptr) -@ stdcall RtlIpv6AddressToStringW(ptr ptr) -@ stdcall RtlIpv6StringToAddressA(str ptr ptr) -@ stdcall RtlIpv6StringToAddressExA(str ptr ptr ptr) -@ stdcall RtlIpv6StringToAddressExW(wstr ptr ptr ptr) -@ stdcall RtlIpv6StringToAddressW(wstr ptr ptr) -@ stdcall RtlIsGenericTableEmpty(ptr) -@ stdcall RtlIsGenericTableEmptyAvl(ptr) -@ stdcall RtlIsNameLegalDOS8Dot3(ptr ptr ptr) -@ stdcall RtlIsRangeAvailable(ptr long long long long long long ptr ptr ptr) -@ stdcall RtlIsValidOemCharacter(ptr) -@ stdcall RtlLargeIntegerAdd(long long long long) -@ stdcall RtlLargeIntegerArithmeticShift(long long long) -@ stdcall RtlLargeIntegerDivide(long long long long ptr) -@ stdcall RtlLargeIntegerNegate(long long) -@ stdcall RtlLargeIntegerShiftLeft(long long long) -@ stdcall RtlLargeIntegerShiftRight(long long long) -@ stdcall RtlLargeIntegerSubtract(long long long long) -@ stdcall RtlLengthRequiredSid(long) -@ stdcall RtlLengthSecurityDescriptor(ptr) -@ stdcall RtlLengthSid(ptr) -@ stdcall RtlLockBootStatusData(ptr) -@ stdcall RtlLookupAtomInAtomTable(ptr wstr ptr) -@ stdcall RtlLookupElementGenericTable(ptr ptr) -@ stdcall RtlLookupElementGenericTableAvl(ptr ptr) -@ stdcall RtlLookupElementGenericTableFull(ptr ptr ptr ptr) -@ stdcall RtlLookupElementGenericTableFullAvl(ptr ptr ptr ptr) -@ stdcall RtlMapGenericMask(ptr ptr) -@ stdcall RtlMapSecurityErrorToNtStatus(long) -@ stdcall RtlMergeRangeLists(ptr ptr ptr long) -@ stdcall RtlMoveMemory(ptr ptr long) -@ stdcall RtlMultiByteToUnicodeN(ptr long ptr str long) -@ stdcall RtlMultiByteToUnicodeSize(ptr str long) -@ stdcall RtlNextUnicodePrefix(ptr long) -@ stdcall RtlNtStatusToDosError(long) -@ stdcall RtlNtStatusToDosErrorNoTeb(long) -@ stdcall RtlNumberGenericTableElements(ptr) -@ stdcall RtlNumberGenericTableElementsAvl(ptr) -@ stdcall RtlNumberOfClearBits(ptr) -@ stdcall RtlNumberOfSetBits(ptr) -@ stdcall RtlOemStringToCountedUnicodeString(ptr ptr long) -@ stdcall RtlOemStringToUnicodeSize(ptr) RtlxOemStringToUnicodeSize -@ stdcall RtlOemStringToUnicodeString(ptr ptr long) -@ stdcall RtlOemToUnicodeN(wstr long ptr ptr long) -@ stdcall RtlPinAtomInAtomTable(ptr ptr) -@ FASTCALL RtlPrefetchMemoryNonTemporal(ptr long) -@ stdcall RtlPrefixString(ptr ptr long) -@ stdcall RtlPrefixUnicodeString(ptr ptr long) -@ stdcall RtlQueryAtomInAtomTable(ptr ptr ptr ptr ptr ptr) -@ stdcall RtlQueryRegistryValues(long wstr ptr ptr ptr) -@ stdcall RtlQueryTimeZoneInformation(ptr) -@ stdcall RtlRaiseException(ptr) -@ stdcall RtlRandom(ptr) -@ stdcall RtlRandomEx(ptr) -@ stdcall RtlRealPredecessor(ptr) -@ stdcall RtlRealSuccessor(ptr) -@ stdcall RtlRemoveUnicodePrefix(ptr ptr) -@ stdcall RtlReserveChunk(long ptr ptr ptr long) -@ stdcall RtlSecondsSince1970ToTime(long ptr) -@ stdcall RtlSecondsSince1980ToTime(long ptr) -@ stdcall RtlSelfRelativeToAbsoluteSD(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall RtlSelfRelativeToAbsoluteSD2(ptr long) -@ stdcall RtlSetAllBits(ptr) -@ stdcall RtlSetBit(ptr long) -@ stdcall RtlSetBits(ptr long long) -@ stdcall RtlSetDaclSecurityDescriptor(ptr long ptr long) -@ stdcall RtlSetGroupSecurityDescriptor(ptr ptr long) -@ stdcall RtlSetOwnerSecurityDescriptor(ptr ptr long) -@ stdcall RtlSetSaclSecurityDescriptor(ptr long ptr long) -@ stdcall RtlSetTimeZoneInformation(ptr) -@ stdcall RtlSizeHeap(ptr long ptr) -@ stdcall RtlSplay(ptr) -@ stdcall RtlStringFromGUID(ptr ptr) -@ stdcall RtlSubAuthorityCountSid(ptr) -@ stdcall RtlSubAuthoritySid(ptr long) -@ stdcall RtlSubtreePredecessor(ptr) -@ stdcall RtlSubtreeSuccessor(ptr) -@ stdcall RtlTestBit(ptr long) -@ stdcall RtlTimeFieldsToTime(ptr ptr) -@ stdcall RtlTimeToElapsedTimeFields(ptr ptr) -@ stdcall RtlTimeToSecondsSince1970(ptr ptr) -@ stdcall RtlTimeToSecondsSince1980(ptr ptr) -@ stdcall RtlTimeToTimeFields(ptr ptr) -;RtlTraceDatabaseAdd -;RtlTraceDatabaseCreate -;RtlTraceDatabaseDestroy -;RtlTraceDatabaseEnumerate -;RtlTraceDatabaseFind -;RtlTraceDatabaseLock -;RtlTraceDatabaseUnlock -;RtlTraceDatabaseValidate -#ifndef __x86_64__ -@ FASTCALL RtlUlongByteSwap(long) -@ FASTCALL RtlUlonglongByteSwap(long long) -#endif -@ stdcall RtlUnicodeStringToAnsiSize(ptr) RtlxUnicodeStringToAnsiSize -@ stdcall RtlUnicodeStringToAnsiString(ptr ptr long) -@ stdcall RtlUnicodeStringToCountedOemString(ptr ptr long) -@ stdcall RtlUnicodeStringToInteger(ptr long ptr) -@ stdcall RtlUnicodeStringToOemSize(ptr) RtlxUnicodeStringToOemSize -@ stdcall RtlUnicodeStringToOemString(ptr ptr long) -@ stdcall RtlUnicodeToCustomCPN(ptr ptr long ptr wstr long) -@ stdcall RtlUnicodeToMultiByteN(ptr long ptr wstr long) -@ stdcall RtlUnicodeToMultiByteSize(ptr wstr long) -@ stdcall RtlUnicodeToOemN(ptr long ptr wstr long) -@ stdcall RtlUnlockBootStatusData(ptr) -@ stdcall RtlUnwind(ptr ptr ptr ptr) -@ stdcall RtlUpcaseUnicodeChar(long) -@ stdcall RtlUpcaseUnicodeString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeStringToAnsiString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeStringToCountedOemString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeStringToOemString(ptr ptr long) -@ stdcall RtlUpcaseUnicodeToCustomCPN(ptr ptr long ptr wstr long) -@ stdcall RtlUpcaseUnicodeToMultiByteN(ptr long ptr wstr long) -@ stdcall RtlUpcaseUnicodeToOemN(ptr long ptr wstr long) -@ stdcall RtlUpperChar(long) -@ stdcall RtlUpperString(ptr ptr) -#ifndef __x86_64__ -@ FASTCALL RtlUshortByteSwap(long) -#endif -@ stdcall RtlValidRelativeSecurityDescriptor(ptr long long) -@ stdcall RtlValidSecurityDescriptor(ptr) -@ stdcall RtlValidSid(ptr) -@ stdcall RtlVerifyVersionInfo(ptr long long long) -@ stdcall RtlVolumeDeviceToDosName(ptr ptr) -@ stdcall RtlWalkFrameChain(ptr long long) -@ stdcall RtlWriteRegistryValue(long wstr wstr long ptr long) -@ stdcall RtlZeroHeap(ptr long) -@ stdcall RtlZeroMemory(ptr long) -@ stdcall RtlxAnsiStringToUnicodeSize(ptr) -@ stdcall RtlxOemStringToUnicodeSize(ptr) -@ stdcall RtlxUnicodeStringToAnsiSize(ptr) -@ stdcall RtlxUnicodeStringToOemSize(ptr) -@ stdcall SeAccessCheck(ptr ptr ptr long long ptr ptr long ptr ptr) -@ stdcall SeAppendPrivileges(ptr ptr) -@ stdcall SeAssignSecurity(ptr ptr ptr long ptr ptr ptr) -@ stdcall SeAssignSecurityEx(ptr ptr ptr ptr long long ptr ptr ptr) -@ stdcall SeAuditHardLinkCreation(ptr ptr long) -@ stdcall SeAuditingFileEvents(long ptr) -@ stdcall SeAuditingFileEventsWithContext(long ptr ptr) -@ stdcall SeAuditingFileOrGlobalEvents(long ptr ptr) -@ stdcall SeAuditingHardLinkEvents(long ptr) -@ stdcall SeAuditingHardLinkEventsWithContext(long ptr ptr) -@ stdcall SeCaptureSecurityDescriptor(ptr long long long ptr) -@ stdcall SeCaptureSubjectContext(ptr) -@ stdcall SeCloseObjectAuditAlarm(ptr ptr long) -@ stdcall SeCreateAccessState(ptr ptr long ptr) -@ stdcall SeCreateClientSecurity(ptr ptr long ptr) -@ stdcall SeCreateClientSecurityFromSubjectContext(ptr ptr long ptr) -@ stdcall SeDeassignSecurity(ptr) -@ stdcall SeDeleteAccessState(ptr) -@ stdcall SeDeleteObjectAuditAlarm(ptr ptr) -@ extern SeExports -@ stdcall SeFilterToken(ptr long ptr ptr ptr ptr) -@ stdcall SeFreePrivileges(ptr) -@ stdcall SeImpersonateClient(ptr ptr) -@ stdcall SeImpersonateClientEx(ptr ptr) -@ stdcall SeLockSubjectContext(ptr) -@ stdcall SeMarkLogonSessionForTerminationNotification(ptr) -@ stdcall SeOpenObjectAuditAlarm(ptr ptr ptr ptr ptr long long long ptr) -@ stdcall SeOpenObjectForDeleteAuditAlarm(ptr ptr ptr ptr ptr long long long ptr) -@ stdcall SePrivilegeCheck(ptr ptr long) -@ stdcall SePrivilegeObjectAuditAlarm(ptr ptr long ptr long long) -@ extern SePublicDefaultDacl -@ stdcall SeQueryAuthenticationIdToken(ptr ptr) -@ stdcall SeQueryInformationToken(ptr long ptr) -@ stdcall SeQuerySecurityDescriptorInfo(ptr ptr ptr ptr) -@ stdcall SeQuerySessionIdToken(ptr ptr) -@ stdcall SeRegisterLogonSessionTerminatedRoutine(ptr) -@ stdcall SeReleaseSecurityDescriptor(ptr long long) -@ stdcall SeReleaseSubjectContext(ptr) -@ stdcall SeSetAccessStateGenericMapping(ptr ptr) -;SeSetAuditParameter -@ stdcall SeSetSecurityDescriptorInfo(ptr ptr ptr ptr long ptr) -@ stdcall SeSetSecurityDescriptorInfoEx(ptr ptr ptr ptr long long ptr) -@ stdcall SeSinglePrivilegeCheck(long long long) -@ extern SeSystemDefaultDacl -@ stdcall SeTokenImpersonationLevel(ptr) -@ stdcall SeTokenIsAdmin(ptr) -@ stdcall SeTokenIsRestricted(ptr) -@ stdcall SeTokenIsWriteRestricted(ptr) -@ stdcall SeTokenType(ptr) -@ stdcall SeUnlockSubjectContext(ptr) -@ stdcall SeUnregisterLogonSessionTerminatedRoutine(ptr) -@ stdcall SeValidSecurityDescriptor(long ptr) -@ stdcall VerSetConditionMask(long long long long) -@ cdecl VfFailDeviceNode(ptr long long long ptr ptr ptr) -;VfFailDriver -@ cdecl VfFailSystemBIOS(long long long ptr ptr ptr) -@ stdcall VfIsVerificationEnabled(long ptr) -#ifndef __x86_64__ -@ stdcall WRITE_REGISTER_BUFFER_UCHAR(ptr ptr long) -@ stdcall WRITE_REGISTER_BUFFER_ULONG(ptr ptr long) -@ stdcall WRITE_REGISTER_BUFFER_USHORT(ptr ptr long) -@ stdcall WRITE_REGISTER_UCHAR(ptr long) -@ stdcall WRITE_REGISTER_ULONG(ptr long) -@ stdcall WRITE_REGISTER_USHORT(ptr long) -#endif -;WmiFlushTrace -;WmiGetClock -;WmiQueryTrace -@ stdcall WmiQueryTraceInformation(long ptr long ptr ptr) -;WmiStartTrace -;WmiStopTrace -;WmiTraceFastEvent -@ cdecl WmiTraceMessage() -@ stdcall WmiTraceMessageVa(double long ptr long long) -;WmiUpdateTrace -;XIPDispatch -@ stdcall ZwAccessCheckAndAuditAlarm(ptr ptr ptr ptr ptr long ptr long ptr ptr ptr) -@ stdcall ZwAddBootEntry(ptr long) -@ stdcall ZwAddDriverEntry(ptr long) -@ stdcall ZwAdjustPrivilegesToken(ptr long ptr long ptr ptr) -@ stdcall ZwAlertThread(ptr) -@ stdcall ZwAllocateVirtualMemory(ptr ptr long ptr long long) -@ stdcall ZwAssignProcessToJobObject(ptr ptr) -@ stdcall ZwCancelIoFile(ptr ptr) -@ stdcall ZwCancelTimer(ptr ptr) -@ stdcall ZwClearEvent(ptr) -@ stdcall ZwClose(ptr) -@ stdcall ZwCloseObjectAuditAlarm(ptr ptr long) -@ stdcall ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall ZwCreateDirectoryObject(ptr long ptr) -@ stdcall ZwCreateEvent(ptr long ptr long long) -@ stdcall ZwCreateFile(ptr long ptr ptr ptr long long long long ptr long) -@ stdcall ZwCreateJobObject(ptr long ptr) -@ stdcall ZwCreateKey(ptr long ptr long ptr long ptr) -@ stdcall ZwCreateSection(ptr long ptr ptr long long ptr) -@ stdcall ZwCreateSymbolicLinkObject(ptr long ptr ptr) -@ stdcall ZwCreateTimer(ptr long ptr long) -@ stdcall ZwDeleteBootEntry(long) -@ stdcall ZwDeleteDriverEntry(long) -@ stdcall ZwDeleteFile(ptr) -@ stdcall ZwDeleteKey(ptr) -@ stdcall ZwDeleteValueKey(ptr ptr) -@ stdcall ZwDeviceIoControlFile(ptr ptr ptr ptr ptr long ptr long ptr long) -@ stdcall ZwDisplayString(ptr) -@ stdcall ZwDuplicateObject(ptr ptr ptr ptr long long long) -@ stdcall ZwDuplicateToken(ptr long ptr long long ptr) -@ stdcall ZwEnumerateBootEntries(ptr ptr) -@ stdcall ZwEnumerateDriverEntries(ptr ptr) -@ stdcall ZwEnumerateKey(ptr long long ptr long ptr) -@ stdcall ZwEnumerateValueKey(ptr long long ptr long ptr) -@ stdcall ZwFlushInstructionCache(ptr ptr long) -@ stdcall ZwFlushKey(ptr) -@ stdcall ZwFlushVirtualMemory(ptr ptr ptr ptr) -@ stdcall ZwFreeVirtualMemory(ptr ptr ptr long) -@ stdcall ZwFsControlFile(ptr ptr ptr ptr ptr long ptr long ptr long) -@ stdcall ZwInitiatePowerAction(long long long long) -@ stdcall ZwIsProcessInJob(ptr ptr) -@ stdcall ZwLoadDriver(ptr) -@ stdcall ZwLoadKey(ptr ptr) -@ stdcall ZwMakeTemporaryObject(ptr) -@ stdcall ZwMapViewOfSection(ptr ptr ptr long long ptr ptr long long long) -@ stdcall ZwModifyBootEntry(ptr) -@ stdcall ZwModifyDriverEntry(ptr) -@ stdcall ZwNotifyChangeKey(ptr ptr ptr ptr ptr long long ptr long long) -@ stdcall ZwOpenDirectoryObject(ptr long ptr) -@ stdcall ZwOpenEvent(ptr long ptr) -@ stdcall ZwOpenFile(ptr long ptr ptr long long) -@ stdcall ZwOpenJobObject(ptr long ptr) -@ stdcall ZwOpenKey(ptr long ptr) -@ stdcall ZwOpenProcess(ptr long ptr ptr) -@ stdcall ZwOpenProcessToken(ptr long ptr) -@ stdcall ZwOpenProcessTokenEx(ptr long long ptr) -@ stdcall ZwOpenSection(ptr long ptr) -@ stdcall ZwOpenSymbolicLinkObject(ptr long ptr) -@ stdcall ZwOpenThread(ptr long ptr ptr) -@ stdcall ZwOpenThreadToken(ptr long long ptr) -@ stdcall ZwOpenThreadTokenEx(ptr long long long ptr) -@ stdcall ZwOpenTimer(ptr long ptr) -@ stdcall ZwPowerInformation(long ptr long ptr long) -@ stdcall ZwPulseEvent(ptr ptr) -@ stdcall ZwQueryBootEntryOrder(ptr ptr) -@ stdcall ZwQueryBootOptions(ptr ptr) -@ stdcall ZwQueryDefaultLocale(long ptr) -@ stdcall ZwQueryDefaultUILanguage(ptr) -@ stdcall ZwQueryDirectoryFile(ptr ptr ptr ptr ptr ptr long long long ptr long) -@ stdcall ZwQueryDirectoryObject(ptr ptr long long long ptr ptr) -@ stdcall ZwQueryDriverEntryOrder(ptr ptr) -@ stdcall ZwQueryEaFile(ptr ptr ptr long long ptr long ptr long) -@ stdcall ZwQueryFullAttributesFile(ptr ptr) -@ stdcall ZwQueryInformationAtom(ptr long ptr long ptr) -@ stdcall ZwQueryInformationFile(ptr ptr ptr long long) -@ stdcall ZwQueryInformationJobObject(ptr long ptr long ptr) -@ stdcall ZwQueryInformationProcess(ptr long ptr long ptr) -@ stdcall ZwQueryInformationThread(ptr long ptr long ptr) -@ stdcall ZwQueryInformationToken(ptr long long long ptr) -@ stdcall ZwQueryInstallUILanguage(ptr) -@ stdcall ZwQueryKey(ptr long ptr long ptr) -@ stdcall ZwQueryObject(ptr long ptr long ptr) -@ stdcall ZwQuerySection(ptr long ptr long ptr) -@ stdcall ZwQuerySecurityObject(ptr long ptr long ptr) -@ stdcall ZwQuerySymbolicLinkObject(ptr ptr ptr) -@ stdcall ZwQuerySystemInformation(long ptr long ptr) -@ stdcall ZwQueryValueKey(ptr ptr long ptr long ptr) -@ stdcall ZwQueryVolumeInformationFile(ptr ptr ptr long long) -@ stdcall ZwReadFile(ptr ptr ptr ptr ptr ptr long ptr ptr) -@ stdcall ZwReplaceKey(ptr ptr ptr) -@ stdcall ZwRequestWaitReplyPort(ptr ptr ptr) -@ stdcall ZwResetEvent(ptr ptr) -@ stdcall ZwRestoreKey(ptr ptr long) -@ stdcall ZwSaveKey(ptr ptr) -@ stdcall ZwSaveKeyEx(ptr ptr long) -@ stdcall ZwSecureConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall ZwSetBootEntryOrder(ptr ptr) -@ stdcall ZwSetBootOptions(ptr long) -@ stdcall ZwSetDefaultLocale(long long) -@ stdcall ZwSetDefaultUILanguage(long) -@ stdcall ZwSetDriverEntryOrder(ptr ptr) -@ stdcall ZwSetEaFile(ptr ptr ptr long) -@ stdcall ZwSetEvent(ptr ptr) -@ stdcall ZwSetInformationFile(ptr ptr ptr long long) -@ stdcall ZwSetInformationJobObject(ptr long ptr long) -@ stdcall ZwSetInformationObject(ptr long ptr long) -@ stdcall ZwSetInformationProcess(ptr long ptr long) -@ stdcall ZwSetInformationThread(ptr long ptr long) -@ stdcall ZwSetSecurityObject(ptr long ptr) -@ stdcall ZwSetSystemInformation(long ptr long) -@ stdcall ZwSetSystemTime(ptr ptr) -@ stdcall ZwSetTimer(ptr ptr ptr ptr long long ptr) -@ stdcall ZwSetValueKey(ptr ptr long long ptr long) -@ stdcall ZwSetVolumeInformationFile(ptr ptr ptr long long) -@ stdcall ZwTerminateJobObject(ptr long) -@ stdcall ZwTerminateProcess(ptr long) -@ stdcall ZwTranslateFilePath(ptr long ptr long) -@ stdcall ZwUnloadDriver(ptr) -@ stdcall ZwUnloadKey(ptr) -@ stdcall ZwUnmapViewOfSection(ptr ptr) -@ stdcall ZwWaitForMultipleObjects(long ptr long long ptr) -@ stdcall ZwWaitForSingleObject(ptr long ptr) -@ stdcall ZwWriteFile(ptr ptr ptr ptr ptr ptr long ptr ptr) -@ stdcall ZwYieldExecution() -;_CIcos -;_CIsin -;_CIsqrt -#ifndef __x86_64 -@ cdecl _abnormal_termination() -#endif -@ cdecl -arch=i386 _alldiv() -@ cdecl -arch=i386 _alldvrm() -@ cdecl -arch=i386 _allmul() -@ cdecl -arch=i386 _alloca_probe() -@ cdecl -arch=i386 _allrem() -@ cdecl -arch=i386 _allshl() -@ cdecl -arch=i386 _allshr() -@ cdecl -arch=i386 _aulldiv() -@ cdecl -arch=i386 _aulldvrm() -@ cdecl -arch=i386 _aullrem() -@ cdecl -arch=i386 _aullshr() -#ifndef __x86_64 -@ cdecl _except_handler2() -@ cdecl _except_handler3() -@ cdecl _global_unwind2() -#endif -@ cdecl _itoa() -@ cdecl _itow() -#ifndef __x86_64 -@ cdecl _local_unwind2() -#endif -@ cdecl _purecall() -@ cdecl _snprintf() -@ cdecl _snwprintf() -@ cdecl _stricmp() -@ cdecl _strlwr() -@ cdecl _strnicmp() -@ cdecl _strnset() -@ cdecl _strrev() -@ cdecl _strset() -@ cdecl _strupr() -@ cdecl _vsnprintf() -@ cdecl _vsnwprintf() -@ cdecl _wcsicmp() -@ cdecl _wcslwr() -@ cdecl _wcsnicmp() -@ cdecl _wcsnset() -@ cdecl _wcsrev() -@ cdecl _wcsupr() -@ cdecl atoi() -@ cdecl atol() -@ cdecl isdigit() -@ cdecl islower() -@ cdecl isprint() -@ cdecl isspace() -@ cdecl isupper() -@ cdecl isxdigit() -@ cdecl mbstowcs() -@ cdecl mbtowc() -@ cdecl memchr() -@ cdecl memcpy() -@ cdecl memmove() -@ cdecl memset() -@ cdecl qsort() -@ cdecl rand() -@ cdecl sprintf() -@ cdecl srand() -@ cdecl strcat() -@ cdecl strchr() -@ cdecl strcmp() -@ cdecl strcpy() -@ cdecl strlen() -@ cdecl strncat() -@ cdecl strncmp() -@ cdecl strncpy() -@ cdecl strrchr() -@ cdecl strspn() -@ cdecl strstr() -@ cdecl swprintf() -@ cdecl tolower() -@ cdecl toupper() -@ cdecl towlower() -@ cdecl towupper() -@ stdcall vDbgPrintEx(long long str ptr) -@ stdcall vDbgPrintExWithPrefix(str long long str ptr) -@ cdecl vsprintf() -@ cdecl wcscat() -@ cdecl wcschr() -@ cdecl wcscmp() -@ cdecl wcscpy() -@ cdecl wcscspn() -@ cdecl wcslen() -@ cdecl wcsncat() -@ cdecl wcsncmp() -@ cdecl wcsncpy() -@ cdecl wcsrchr() -@ cdecl wcsspn() -@ cdecl wcsstr() -@ cdecl wcstombs() -@ cdecl wctomb() diff --git a/reactos/ntoskrnl/ntoskrnl.rbuild b/reactos/ntoskrnl/ntoskrnl.rbuild deleted file mode 100644 index 0de9334ffc2..00000000000 --- a/reactos/ntoskrnl/ntoskrnl.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - include - ntdll.S - - diff --git a/reactos/proxy.mak b/reactos/proxy.mak deleted file mode 100644 index fe9ce809f80..00000000000 --- a/reactos/proxy.mak +++ /dev/null @@ -1,21 +0,0 @@ -MAKEFLAGS += --no-print-directory - -$(DEFAULT): - @$(MAKE) -C $(TOP) $(DEFAULT) - -all: - @$(MAKE) -C $(TOP) all - -depends: - @$(MAKE) -C $(TOP) $(DEFAULT)_depends - -install: - @$(MAKE) -C $(TOP) $(DEFAULT)_install - -clean: - @$(MAKE) -C $(TOP) $(DEFAULT)_clean - -test: - @$(MAKE) -C $(TOP) $(DEFAULT)_test - -$(DEFAULT)_clean: clean diff --git a/reactos/rosbuild.bat b/reactos/rosbuild.bat deleted file mode 100644 index c8f5a7ce6c5..00000000000 --- a/reactos/rosbuild.bat +++ /dev/null @@ -1,117 +0,0 @@ -:: -:: This script is called from the Makefile command line within Visual Studio using the following parameters: -:: -:: %1 - $(build) -:: %2 - $(target) -:: -:: Examples: -:: -:: Call build.bat build ntoskrnl -:: Call build.bat clean win32k -:: - -@echo off - -if "%1"=="" goto :err_params -if "%2"=="" goto :err_params - - -:: Get the RosBE path... :: - -:: Set the command we'll use to check if RosBE exists -set _IS_ROSBE_INSTALLED_COMMAND="reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\ReactOS Build Environment for Windows" /v UninstallString" - -:: Check the key actually exists !!!!FIXME: Why is this returning 'The system cannot find the path specified.'!!!! -%_IS_ROSBE_INSTALLED_COMMAND% -IF NOT errorlevel 0 goto :err_no_rosbe - -:: This is a bit hackish. What we do is look for REG_SZ which is the second token on the second line and dump it into i -:: We then assign all remaining text to the next variable in the sequence, which is j. This leaves us with the path -for /F "tokens=2,* skip=1 delims=\ " %%i in ('%_IS_ROSBE_INSTALLED_COMMAND%') do ( - set _ROSBE_UNINSTALL_PATH_=%%j -) - - -:: Now strip the file name from the end of the path and we should have our RosBE install directory -set _ROSBE_PATH_DIR= -set _ROSBE_PATH_= -for %%i in ("%_ROSBE_UNINSTALL_PATH_%") do set _ROSBE_PATH_DIR=%%~di -for %%i in ("%_ROSBE_UNINSTALL_PATH_%") do set "_ROSBE_PATH_=%%~pi" -set "_ROSBE_FULL_PATH_=%_ROSBE_PATH_DIR%%_ROSBE_PATH_%" -::echo RosBE insall path = %_ROSBE_FULL_PATH_% - -:: Set the path which contains our build tools -set _ROSBE_BIN_PATH=%_ROSBE_FULL_PATH_%Tools - -:: Add the path to the search path -path=%path%;%_ROSBE_BIN_PATH% - -:: Set the make path -set _MAKE_COMMAND="" -if exist "%_ROSBE_BIN_PATH%\mingw32-make.exe" ( - set _MAKE_COMMAND=mingw32-make.exe -) -if exist "%_ROSBE_BIN_PATH%\make.exe" ( - set _MAKE_COMMAND=make.exe -) -if %_MAKE_COMMAND% == "" ( - goto err_no_make -) - -:: This file is located in the source root -set _ROS_SOURCE_ROOT=%~dp0 - -:: Change the current dir to the source root -cd %_ROS_SOURCE_ROOT% - -:: Run the requested build task -if "%1" == "build" ( - goto :build -) -if "%1" == "rebuild" ( - goto clean -) -if "%1" == "clean" ( - goto :clean -) -goto :err_params - -:clean -echo. -echo Cleaning... -echo. -call "%_MAKE_COMMAND%" -j 1 %2%_clean - -if "%1" == "rebuild" ( - goto :build -) - -goto :exit - -:build -echo. -echo Building... -echo. -call "%_MAKE_COMMAND%" -j 1 %2% - -goto :exit - -:err_no_make -echo. -echo Cannot find a make executable -goto :err_no_rosbe - -:err_no_rosbe -echo. -echo You need to have RosBE installed to use this configuration -echo. -exit 1 - -:err_params -echo. -echo Invalid parameters required, Check your command line. -echo. -exit 2 - -:exit -echo. diff --git a/reactos/subsystems/ntvdm/ntvdm.rbuild b/reactos/subsystems/ntvdm/ntvdm.rbuild deleted file mode 100644 index 24cd31e358c..00000000000 --- a/reactos/subsystems/ntvdm/ntvdm.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - ntdll - user32 - gdi32 - advapi32 - ntvdm.c - ntvdm.rc - diff --git a/reactos/subsystems/subsystems.rbuild b/reactos/subsystems/subsystems.rbuild deleted file mode 100644 index ad9def61d63..00000000000 --- a/reactos/subsystems/subsystems.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/reactos/subsystems/win/basesrv/basesrv.rbuild b/reactos/subsystems/win/basesrv/basesrv.rbuild deleted file mode 100644 index 92ea53c2e87..00000000000 --- a/reactos/subsystems/win/basesrv/basesrv.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - . - include - ntdll - csrsrv - main.c - init.c - server.c - basesrv.rc - diff --git a/reactos/subsystems/win/directory.rbuild b/reactos/subsystems/win/directory.rbuild deleted file mode 100644 index d7db9ccd360..00000000000 --- a/reactos/subsystems/win/directory.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/subsystems/win/winsrv/winsrv.rbuild b/reactos/subsystems/win/winsrv/winsrv.rbuild deleted file mode 100644 index 7d681c98f73..00000000000 --- a/reactos/subsystems/win/winsrv/winsrv.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - - . - include - ntdll - csrsrv - user32 - gdi32 - dllmain.c - init.c - server.c - winsrv.rc - diff --git a/reactos/subsystems/win32/csrss/csrsrv/csrsrv.rbuild b/reactos/subsystems/win32/csrss/csrsrv/csrsrv.rbuild deleted file mode 100644 index c779651ba1f..00000000000 --- a/reactos/subsystems/win32/csrss/csrsrv/csrsrv.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - - . - . - include - include/reactos/subsys - ntdll - pseh - smdll - smlib - - process.c - user.c - wapi.c - - procsup.c - thredsup.c - init.c - wait.c - session.c - server.c - srv.h - diff --git a/reactos/subsystems/win32/csrss/csrss.rbuild b/reactos/subsystems/win32/csrss/csrss.rbuild deleted file mode 100644 index 43f87773d8d..00000000000 --- a/reactos/subsystems/win32/csrss/csrss.rbuild +++ /dev/null @@ -1,21 +0,0 @@ - - - - - . - include - include/reactos/subsys - include/reactos/drivers - nt - ntdll - csrsrv - csrss.c - csrss.rc - - - - - - - - diff --git a/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild b/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild deleted file mode 100644 index fa462d82e8d..00000000000 --- a/reactos/subsystems/win32/csrss/win32csr/win32csr.rbuild +++ /dev/null @@ -1,34 +0,0 @@ - - - - - . - include - include/reactos/subsys - include/reactos/drivers - . - ntdll - user32 - gdi32 - advapi32 - delayimp - win32ksys - psapi - pseh - csrsrv - w32csr.h - alias.c - coninput.c - conoutput.c - console.c - desktopbg.c - dllmain.c - exitros.c - file.c - guiconsole.c - handle.c - harderror.c - lineinput.c - tuiconsole.c - win32csr.rc - diff --git a/reactos/subsystems/win32/win32.rbuild b/reactos/subsystems/win32/win32.rbuild deleted file mode 100644 index 7dc498f28dd..00000000000 --- a/reactos/subsystems/win32/win32.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/reactos/subsystems/win32/win32k/win32k.pspec b/reactos/subsystems/win32/win32k/win32k.pspec deleted file mode 100644 index 89a895e48ac..00000000000 --- a/reactos/subsystems/win32/win32k/win32k.pspec +++ /dev/null @@ -1,229 +0,0 @@ -#include "include/reactos/msvctarget.h" -#undef i386 - -@ stdcall -arch=i386 FLOATOBJ_AddFloatObj(ptr ptr) FLOATOBJ_Add -@ stdcall -arch=i386 FLOATOBJ_DivFloatObj(ptr ptr) FLOATOBJ_Div -@ stdcall -arch=i386 FLOATOBJ_MulFloatObj(ptr ptr) FLOATOBJ_Mul -@ stdcall -arch=i386 FLOATOBJ_SubFloatObj(ptr ptr) FLOATOBJ_Sub -@ stdcall BRUSHOBJ_hGetColorTransform(ptr) -@ stdcall BRUSHOBJ_pvAllocRbrush(ptr long) -@ stdcall BRUSHOBJ_pvGetRbrush(ptr) -@ stdcall BRUSHOBJ_ulGetBrushColor(ptr) -@ stdcall CLIPOBJ_bEnum(ptr long ptr) -@ stdcall CLIPOBJ_cEnumStart(ptr long long long long) -@ stdcall CLIPOBJ_ppoGetPath(ptr) -@ stdcall EngAcquireSemaphore(ptr) -@ stdcall EngAllocMem(long long long) -@ stdcall EngAllocPrivateUserMem(ptr ptr long) -@ stdcall EngAllocSectionMem(ptr long ptr long) -@ stdcall EngAllocUserMem(ptr long) -@ stdcall EngAlphaBlend(ptr ptr ptr ptr ptr ptr ptr) -@ stdcall EngAssociateSurface(ptr ptr long) -@ stdcall EngBitBlt(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr long) -@ stdcall EngBugCheckEx(long ptr ptr ptr ptr) NTOSKRNL.KeBugCheckEx -@ stdcall EngCheckAbort(ptr) -@ stdcall EngClearEvent(ptr) -@ stdcall EngComputeGlyphSet(long long long) -@ stdcall EngControlSprites(ptr long) -@ stdcall EngCopyBits(ptr ptr ptr ptr ptr ptr) -@ stdcall EngCreateBitmap(long long long long long ptr) -@ stdcall EngCreateClip() -@ stdcall EngCreateDeviceBitmap(ptr long long long) -@ stdcall EngCreateDeviceSurface(ptr long long long) -@ stdcall EngCreateDriverObj(ptr ptr ptr) -@ stdcall EngCreateEvent(ptr) -@ stdcall EngCreatePalette(long long long long long long) -@ stdcall EngCreatePath() -@ stdcall EngCreateSemaphore() -@ stdcall EngCreateWnd(ptr ptr ptr long long) -@ stdcall EngDebugBreak() NTOSKRNL.DbgBreakPoint -@ stdcall EngDebugPrint(ptr ptr ptr) -@ stdcall EngDeleteClip(ptr) -@ stdcall EngDeleteDriverObj(ptr long long) -@ stdcall EngDeleteEvent(ptr) -@ stdcall EngDeleteFile(ptr) -@ stdcall EngDeletePalette(ptr) -@ stdcall EngDeletePath(ptr) -@ stdcall EngDeleteSafeSemaphore(ptr) -@ stdcall EngDeleteSemaphore(ptr) -@ stdcall EngDeleteSurface(ptr) -@ stdcall EngDeleteWnd(ptr) -@ stdcall EngDeviceIoControl(ptr long ptr long ptr long ptr) -@ stdcall EngDitherColor(ptr long long long) -@ stdcall EngDxIoctl(long ptr long) -@ stdcall EngEnumForms(ptr long ptr long ptr ptr) -@ stdcall EngEraseSurface(ptr ptr long) -@ stdcall EngFileIoControl(ptr long ptr ptr ptr ptr ptr) -@ stdcall EngFileWrite(ptr ptr ptr ptr) -@ stdcall EngFillPath(ptr ptr ptr ptr ptr long long) -@ stdcall EngFindImageProcAddress(ptr ptr) -@ stdcall EngFindResource(ptr long long ptr) -@ stdcall EngFntCacheAlloc(long long) -@ stdcall EngFntCacheFault(long long) -@ stdcall EngFntCacheLookUp(long ptr) -@ stdcall EngFreeMem(ptr) -@ stdcall EngFreeModule(ptr) -@ stdcall EngFreePrivateUserMem(ptr ptr) -@ stdcall EngFreeSectionMem(ptr ptr) -@ stdcall EngFreeUserMem(ptr) -@ stdcall EngGetCurrentCodePage(ptr ptr) -@ stdcall EngGetCurrentProcessId() NTOSKRNL.PsGetCurrentProcessId -@ stdcall EngGetCurrentThreadId() NTOSKRNL.PsGetCurrentThreadId -@ stdcall EngGetDriverName(ptr) -@ stdcall EngGetFileChangeTime(ptr ptr) -@ stdcall EngGetFilePath(ptr ptr) -@ stdcall EngGetForm(ptr ptr long ptr long ptr) -@ stdcall EngGetLastError() -@ stdcall EngGetPrinter(ptr long ptr long ptr) -@ stdcall EngGetPrinterData(ptr ptr ptr ptr long ptr) -@ stdcall EngGetPrinterDataFileName(ptr) -@ stdcall EngGetPrinterDriver(ptr ptr long ptr long ptr) -@ stdcall EngGetProcessHandle() -@ stdcall EngGetTickCount() -@ stdcall EngGetType1FontList(ptr ptr long ptr ptr ptr) -@ stdcall EngGradientFill(ptr ptr ptr ptr long ptr long ptr ptr long) -@ stdcall EngHangNotification(ptr ptr) -@ stdcall EngInitializeSafeSemaphore(ptr) -@ stdcall EngIsSemaphoreOwned(ptr) -@ stdcall EngIsSemaphoreOwnedByCurrentThread(ptr) -@ stdcall EngLineTo(ptr ptr ptr long long long long ptr long) -@ stdcall EngLoadImage(ptr) -@ stdcall EngLoadModule(ptr) -@ stdcall EngLoadModuleForWrite(ptr long) -@ stdcall EngLockDirectDrawSurface(ptr) -@ stdcall EngLockDriverObj(ptr) -@ stdcall EngLockSurface(ptr) -@ stdcall EngLpkInstalled() -@ stdcall EngMapEvent(ptr ptr ptr ptr ptr) -@ stdcall EngMapFile(ptr long ptr) -@ stdcall EngMapFontFile(ptr ptr ptr) -@ stdcall EngMapFontFileFD(ptr ptr ptr) -@ stdcall EngMapModule(ptr ptr) -@ stdcall EngMapSection(ptr long ptr ptr) -@ stdcall EngMarkBandingSurface(ptr) -@ stdcall EngModifySurface(ptr ptr long long ptr ptr long ptr) -@ stdcall EngMovePointer(ptr long long ptr) -@ stdcall EngMulDiv(long long long) -@ stdcall EngMultiByteToUnicodeN(ptr long ptr ptr long) NTOSKRNL.RtlMultiByteToUnicodeN -@ stdcall EngMultiByteToWideChar(long ptr long ptr long) -@ stdcall EngNineGrid(ptr ptr ptr ptr ptr ptr ptr ptr ptr) -@ stdcall EngPaint(ptr ptr ptr ptr long) -@ stdcall EngPlgBlt(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr long) -@ stdcall EngProbeForRead(ptr long long) NTOSKRNL.ProbeForRead -@ stdcall EngProbeForReadAndWrite(ptr long long) NTOSKRNL.ProbeForWrite -@ stdcall EngQueryDeviceAttribute(ptr long ptr long ptr long) -@ stdcall EngQueryFileTimeStamp(ptr) -@ stdcall EngQueryLocalTime(ptr) -@ stdcall EngQueryPalette(ptr ptr long ptr) -@ stdcall EngQueryPerformanceCounter(ptr) -@ stdcall EngQueryPerformanceFrequency(ptr) -@ stdcall EngQuerySystemAttribute(long ptr) -@ stdcall EngReadStateEvent(ptr) -@ stdcall EngReleaseSemaphore(ptr) -@ stdcall EngRestoreFloatingPointState(ptr) -@ stdcall EngSaveFloatingPointState(ptr long) -@ stdcall EngSecureMem(ptr long) -@ stdcall EngSetEvent(ptr) -@ stdcall EngSetLastError(long) -@ stdcall EngSetPointerShape(ptr ptr ptr ptr long long long long ptr long) -@ stdcall EngSetPointerTag(ptr ptr ptr ptr long) -@ stdcall EngSetPrinterData(ptr ptr long ptr long) -@ stdcall EngSort(ptr long long ptr) -@ stdcall EngStretchBlt(ptr ptr ptr ptr ptr long long ptr ptr ptr long) -@ stdcall EngStretchBltROP(ptr ptr ptr ptr ptr long long ptr ptr ptr long ptr long) -@ stdcall EngStrokeAndFillPath(ptr ptr ptr ptr ptr ptr ptr ptr long long) -@ stdcall EngStrokePath(ptr ptr ptr ptr ptr ptr ptr long) -@ stdcall EngTextOut(ptr ptr ptr ptr ptr ptr ptr ptr ptr long) -@ stdcall EngTransparentBlt(ptr ptr ptr ptr ptr ptr long long) -@ stdcall EngUnicodeToMultiByteN(ptr long ptr ptr long) NTOSKRNL.RtlUnicodeToMultiByteN -@ stdcall EngUnloadImage(ptr) -@ stdcall EngUnlockDirectDrawSurface(ptr) -@ stdcall EngUnlockDriverObj(ptr) -@ stdcall EngUnlockSurface(ptr) -@ stdcall EngUnmapEvent(ptr) -@ stdcall EngUnmapFile(ptr) -@ stdcall EngUnmapFontFile(ptr) -@ stdcall EngUnmapFontFileFD(ptr) -@ stdcall EngUnsecureMem(ptr) -@ stdcall EngWaitForSingleObject(ptr ptr) -@ stdcall EngWideCharToMultiByte(long ptr long ptr long) -@ stdcall EngWritePrinter(ptr ptr long ptr) -@ stdcall -arch=i386 FLOATOBJ_Add(ptr ptr) -@ stdcall -arch=i386 FLOATOBJ_AddFloat(ptr long) -@ stdcall -arch=i386 FLOATOBJ_AddLong(ptr long) -@ stdcall -arch=i386 FLOATOBJ_Div(ptr ptr) -@ stdcall -arch=i386 FLOATOBJ_DivFloat(ptr long) -@ stdcall -arch=i386 FLOATOBJ_DivLong(ptr long) -@ stdcall -arch=i386 FLOATOBJ_Equal(ptr ptr) -@ stdcall -arch=i386 FLOATOBJ_EqualLong(ptr long) -@ stdcall -arch=i386 FLOATOBJ_GetFloat(ptr) -@ stdcall -arch=i386 FLOATOBJ_GetLong(ptr) -@ stdcall -arch=i386 FLOATOBJ_GreaterThan(ptr ptr) -@ stdcall -arch=i386 FLOATOBJ_GreaterThanLong(ptr long) -@ stdcall -arch=i386 FLOATOBJ_LessThan(ptr ptr) -@ stdcall -arch=i386 FLOATOBJ_LessThanLong(ptr long) -@ stdcall -arch=i386 FLOATOBJ_Mul(ptr ptr) -@ stdcall -arch=i386 FLOATOBJ_MulFloat(ptr long) -@ stdcall -arch=i386 FLOATOBJ_MulLong(ptr long) -@ stdcall -arch=i386 FLOATOBJ_Neg(ptr) -@ stdcall -arch=i386 FLOATOBJ_SetFloat(ptr long) -@ stdcall -arch=i386 FLOATOBJ_SetLong(ptr long) -@ stdcall -arch=i386 FLOATOBJ_Sub(ptr ptr) -@ stdcall -arch=i386 FLOATOBJ_SubFloat(ptr long) -@ stdcall -arch=i386 FLOATOBJ_SubLong(ptr long) -@ stdcall FONTOBJ_cGetAllGlyphHandles(ptr ptr) -@ stdcall FONTOBJ_cGetGlyphs(ptr long long ptr ptr) -@ stdcall FONTOBJ_pQueryGlyphAttrs(ptr long) -@ stdcall FONTOBJ_pfdg(ptr) -@ stdcall FONTOBJ_pifi(ptr) -@ stdcall FONTOBJ_pjOpenTypeTablePointer(ptr long ptr) -@ stdcall FONTOBJ_pvTrueTypeFontFile(ptr ptr) -@ stdcall FONTOBJ_pwszFontFilePaths(ptr ptr) -@ stdcall FONTOBJ_pxoGetXform(ptr) -@ stdcall FONTOBJ_vGetInfo(ptr long ptr) -@ stdcall HT_ComputeRGBGammaTable(long long long long long ptr) -@ stdcall HT_Get8BPPFormatPalette(ptr long long long) -@ stdcall HT_Get8BPPMaskPalette(ptr long long long long long) -@ stdcall HeapVidMemAllocAligned(ptr long long ptr ptr) -@ stdcall PALOBJ_cGetColors(ptr long long ptr) -@ stdcall PATHOBJ_bCloseFigure(ptr) -@ stdcall PATHOBJ_bEnum(ptr ptr) -@ stdcall PATHOBJ_bEnumClipLines(ptr long ptr) -@ stdcall PATHOBJ_bMoveTo(ptr long long) -@ stdcall PATHOBJ_bPolyBezierTo(ptr ptr long) -@ stdcall PATHOBJ_bPolyLineTo(ptr ptr long) -@ stdcall PATHOBJ_vEnumStart(ptr) -@ stdcall PATHOBJ_vEnumStartClipLines(ptr ptr ptr ptr) -@ stdcall PATHOBJ_vGetBounds(ptr ptr) -@ stdcall RtlAnsiCharToUnicodeChar(ptr) NTOSKRNL.RtlAnsiCharToUnicodeChar -@ stdcall RtlMultiByteToUnicodeN(ptr long ptr ptr long) NTOSKRNL.RtlMultiByteToUnicodeN -@ stdcall RtlRaiseException(ptr) NTOSKRNL.RtlRaiseException -@ stdcall RtlUnicodeToMultiByteN(ptr long ptr ptr long) NTOSKRNL.RtlUnicodeToMultiByteN -@ stdcall RtlUnicodeToMultiByteSize(ptr ptr long) NTOSKRNL.RtlUnicodeToMultiByteSize -@ stdcall RtlUnwind(ptr ptr ptr ptr) NTOSKRNL.RtlUnwind -@ stdcall RtlUpcaseUnicodeChar(long) NTOSKRNL.RtlUpcaseUnicodeChar -@ stdcall RtlUpcaseUnicodeToMultiByteN(ptr long ptr ptr long) NTOSKRNL.RtlUpcaseUnicodeToMultiByteN -@ stdcall STROBJ_bEnum(ptr ptr ptr) -@ stdcall STROBJ_bEnumPositionsOnly(ptr ptr ptr) -@ stdcall STROBJ_bGetAdvanceWidths(ptr long long ptr) -@ stdcall STROBJ_dwGetCodePage(ptr) -@ stdcall STROBJ_fxBreakExtra(ptr) -@ stdcall STROBJ_fxCharacterExtra(ptr) -@ stdcall STROBJ_vEnumStart(ptr) -@ stdcall VidMemFree(ptr ptr) -@ stdcall WNDOBJ_bEnum(ptr long ptr) -@ stdcall WNDOBJ_cEnumStart(ptr long long long) -@ stdcall WNDOBJ_vSetConsumer(ptr ptr) -@ stdcall XFORMOBJ_bApplyXform(ptr long long ptr ptr) EXFORMOBJ_bApplyXform -@ stdcall XFORMOBJ_iGetFloatObjXform(ptr ptr) EXFORMOBJ_iGetFloatObjXform -@ stdcall XFORMOBJ_iGetXform(ptr ptr) EXFORMOBJ_iGetXform -@ stdcall XLATEOBJ_cGetPalette(ptr long long ptr) -@ stdcall XLATEOBJ_hGetColorTransform(ptr) -@ stdcall XLATEOBJ_iXlate(ptr long) -@ stdcall XLATEOBJ_piVector(ptr) -@ cdecl _abnormal_termination() NTOSKRNL._abnormal_termination -@ cdecl _except_handler2() NTOSKRNL._except_handler2 -@ cdecl _global_unwind2() NTOSKRNL._global_unwind2 -@ cdecl _itoa() NTOSKRNL._itoa -@ cdecl _itow() NTOSKRNL._itow -@ cdecl _local_unwind2() NTOSKRNL._local_unwind2 diff --git a/reactos/subsystems/win32/win32k/win32k.rbuild b/reactos/subsystems/win32/win32k/win32k.rbuild deleted file mode 100644 index c4f7d130766..00000000000 --- a/reactos/subsystems/win32/win32k/win32k.rbuild +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - pseh - ntoskrnl - hal - ftfd - dxguid - win32k.rc - . - include - . - include - include - include/reactos/subsys - include/reactos/drivers - /wd4276 - - - pch.h - - - dib8gen.c - dib16gen.c - dib32gen.c - - - - dib1bpp.c - dib4bpp.c - dib8bpp.c - dib16bpp.c - dib24bpp.c - dib32bpp.c - dib.c - floodfill.c - stretchblt.c - alphablend.c - - - - dib24bpp_hline.s - dib32bpp_hline.s - dib32bpp_colorfill.s - - - - dib24bppc.c - dib32bppc.c - - - - alphablend.c - bitblt.c - engbrush.c - engevent.c - clip.c - copybits.c - debug.c - device.c - driverobj.c - error.c - float.c - - - floatobj.S - - - gradient.c - ldevobj.c - lineto.c - mapping.c - mem.c - engmisc.c - mouse.c - paint.c - pdevobj.c - perfcnt.c - rlecomp.c - semaphor.c - sort.c - string.c - stretchblt.c - surface.c - transblt.c - engwindow.c - xlate.c - - - dllmain.c - - - driver.c - file.c - math.c - rtlstr.c - copy.c - registry.c - usrheap.c - - - cos_asm.s - sin_asm.s - atan2_asm.s - floor_asm.s - ceil_asm.s - - - - - ddraw.c - dd.c - ddsurf.c - d3d.c - dvp.c - mocomp.c - eng.c - dxeng.c - - - accelerator.c - callback.c - callproc.c - caret.c - class.c - clipboard.c - csr.c - cursoricon.c - defwnd.c - desktop.c - display.c - event.c - focus.c - guicheck.c - hook.c - hotkey.c - input.c - keyboard.c - kbdlayout.c - menu.c - message.c - metric.c - misc.c - monitor.c - mouse.c - msgqueue.c - ntstubs.c - ntuser.c - painting.c - prop.c - scrollbar.c - session.c - simplecall.c - sysparams.c - timer.c - useratom.c - vis.c - windc.c - window.c - winpos.c - winsta.c - object.c - - - arc.c - bezier.c - bitblt.c - bitmaps.c - brush.c - cliprgn.c - coord.c - dcattr.c - dclife.c - dcobjs.c - dcstate.c - dcutil.c - device.c - dibobj.c - drawing.c - fillshap.c - font.c - freetype.c - gdibatch.c - gdidbg.c - gdiobj.c - gdipool.c - icm.c - line.c - metafile.c - palette.c - path.c - pen.c - polyfill.c - print.c - rect.c - region.c - stockobj.c - text.c - wingl.c - xformobj.c - - - stubs.c - umpdstubs.c - - - - include/reactos - sys-stubs.S - - diff --git a/reactos/tools/CMakeLists.txt b/reactos/tools/CMakeLists.txt index 13354b748b2..b5d8e8f7344 100644 --- a/reactos/tools/CMakeLists.txt +++ b/reactos/tools/CMakeLists.txt @@ -19,5 +19,4 @@ if(NOT MSVC) add_subdirectory(rsym) add_subdirectory(widl) add_subdirectory(wpp) -add_subdirectory(wrc) endif() diff --git a/reactos/tools/bin2c.mak b/reactos/tools/bin2c.mak deleted file mode 100644 index 2236efe89df..00000000000 --- a/reactos/tools/bin2c.mak +++ /dev/null @@ -1,36 +0,0 @@ -BIN2C_BASE = $(TOOLS_BASE) -BIN2C_BASE_ = $(BIN2C_BASE)$(SEP) - -BIN2C_INT = $(INTERMEDIATE_)$(BIN2C_BASE) -BIN2C_INT_ = $(BIN2C_INT)$(SEP) -BIN2C_OUT = $(OUTPUT_)$(BIN2C_BASE) -BIN2C_OUT_ = $(BIN2C_OUT)$(SEP) - -BIN2C_TARGET = \ - $(BIN2C_OUT_)bin2c$(EXEPOSTFIX) - -BIN2C_SOURCES = \ - $(BIN2C_BASE_)bin2c.c - -BIN2C_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(BIN2C_SOURCES:.c=.o)) - -BIN2C_HOST_CFLAGS = $(TOOLS_CFLAGS) - -BIN2C_HOST_LFLAGS = $(TOOLS_LFLAGS) - -.PHONY: bin2c -bin2c: $(BIN2C_TARGET) - -$(BIN2C_TARGET): $(BIN2C_OBJECTS) | $(BIN2C_OUT) - $(ECHO_HOSTLD) - ${host_gcc} $(BIN2C_OBJECTS) $(BIN2C_HOST_LFLAGS) -o $@ - -$(BIN2C_INT_)bin2c.o: $(BIN2C_BASE_)bin2c.c | $(BIN2C_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(BIN2C_HOST_CFLAGS) -c $< -o $@ - -.PHONY: bin2c_clean -bin2c_clean: - -@$(rm) $(BIN2C_TARGET) $(BIN2C_OBJECTS) 2>$(NUL) -clean: bin2c_clean diff --git a/reactos/tools/buildno/buildno.cpp b/reactos/tools/buildno/buildno.cpp deleted file mode 100644 index f211163b437..00000000000 --- a/reactos/tools/buildno/buildno.cpp +++ /dev/null @@ -1,421 +0,0 @@ -/* - * buildno - Generate the build number for ReactOS - * - * Copyright (c) 1999,2000 Emanuele Aliberti - * Copyright (c) 2006 Christoph von Wittich - * Copyright (c) 2008 Hervé Poussineau - * - * The build number is the day on which the build took - * place, as YYYYMMDD - * - * The build number is stored in the output file as a set of macros - * - * REVISIONS - * --------- - * 2008-01-12 (hpoussin) - * Add -t option to change the build tag - * 2006-09-09 (cwittich) - * Read binary entries files from SVN 1.4.x - * 2000-01-22 (ea) - * Fixed bugs: tm_year is (current_year - 1900), - * tm_month is 0-11 not 1-12 and code ignored TZ. - * 2000-12-10 (ea) - * Added -p option to make it simply print the - * version number, but skip buildno.h generation. - */ -#include -#include -#include -#include -#include "version.h" -#include "xml.h" - -#define FALSE 0 -#define TRUE 1 - -static const char * argv0 = ""; -static char * filename = NULL; -static char * build_tag = NULL; - -int count_wide_string( const wchar_t *str ) -{ - int i; - for( i = 0; str[i]; i++ ) - ; - return i; -} - -long -GetRev(char *Revision, size_t length) -{ - long revno = 0; - char *p; - - FILE *fp = NULL; - fp = fopen(".svn/entries", "r"); - if (fp != NULL) - { - if (fgets(Revision, length, fp) != NULL) - { - /* If the first character of the file is not a digit, - then it is probably in XML format. */ - if (isdigit(Revision[0])) - { - while (fgets(Revision, length, fp) != NULL) - { - revno = strtol(Revision, &p, 10); - if (revno != 0) - { - *p = '\0'; - fclose(fp); - return revno; - } - } - } - } - fclose(fp); - } - - try - { - XMLElement *head; - - try - { - head = XMLLoadFile(".svn/entries"); - } - catch(XMLFileNotFoundException) - { - head = XMLLoadFile("_svn/entries"); - } - XMLElement *entries = head->subElements[0]; - for (size_t i = 0; i < entries->subElements.size(); i++) - { - XMLElement *entry = entries->subElements[i]; - if ("entry" == entry->name) - { - bool GotName = false; - bool GotKind = false; - bool GotRevision = false; - for (size_t j = 0; j < entry->attributes.size(); j++) - { - XMLAttribute *Attribute = entry->attributes[j]; - if ("name" == Attribute->name && "" == Attribute->value) - { - GotName = true; - } - if ("kind" == Attribute->name && "dir" == Attribute->value) - { - GotKind = true; - } - if ("revision" == Attribute->name) - { - if (length <= Attribute->value.length() + 1) - { - strcpy(Revision, "revtoobig"); - } - else - { - strcpy(Revision, Attribute->value.c_str()); - revno = strtol(Revision, NULL, 10); - } - GotRevision = true; - } - if (GotName && GotKind && GotRevision) - { - delete head; - return revno; - } - } - } - } - - delete head; - } - catch(...) - { - ; - } - - strcpy(Revision, "UNKNOWN"); - return revno; -} - -void -write_h (int build, char *buildstr, long revno) -{ - FILE *h = NULL; - char* s; - char* s1; - unsigned int length; - int dllversion = KERNEL_VERSION_MAJOR + 42; - - s1 = s = (char *) malloc(256 * 1024); - - s = s + sprintf (s, "/* Do not edit - Machine generated */\n"); - - s = s + sprintf (s, "#ifndef _INC_REACTOS_BUILDNO\n" ); - s = s + sprintf (s, "#define _INC_REACTOS_BUILDNO\n" ); - - s = s + sprintf (s, "#define KERNEL_VERSION_BUILD\t%d\n", build); - s = s + sprintf (s, "#define KERNEL_VERSION_BUILD_HEX\t0x%lx\n", revno); - s = s + sprintf (s, "#define KERNEL_VERSION_BUILD_STR\t\"%s\"\n", buildstr); - s = s + sprintf (s, "#define KERNEL_VERSION_BUILD_RC\t\"%s\\0\"\n", buildstr); - s = s + sprintf (s, "#define KERNEL_RELEASE_RC\t\"%d.%d", - KERNEL_VERSION_MAJOR, KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\\0\"\n", build_tag); - s = s + sprintf (s, "#define KERNEL_RELEASE_STR\t\"%d.%d", - KERNEL_VERSION_MAJOR, - KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\"\n", build_tag); - s = s + sprintf (s, "#define KERNEL_VERSION_RC\t\"%d.%d", - KERNEL_VERSION_MAJOR, - KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\\0\"\n", build_tag); - s = s + sprintf (s, "#define KERNEL_VERSION_STR\t\"%d.%d", - KERNEL_VERSION_MAJOR, - KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\"\n", build_tag); - s = s + sprintf (s, "#define REACTOS_DLL_VERSION_MAJOR\t%d\n", dllversion); - s = s + sprintf (s, "#define REACTOS_DLL_RELEASE_RC\t\"%d.%d", - dllversion, KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\\0\"\n", build_tag); - s = s + sprintf (s, "#define REACTOS_DLL_RELEASE_STR\t\"%d.%d", - dllversion, - KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\"\n", build_tag); - s = s + sprintf (s, "#define REACTOS_DLL_VERSION_RC\t\"%d.%d", - dllversion, - KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\\0\"\n", build_tag); - s = s + sprintf (s, "#define REACTOS_DLL_VERSION_STR\t\"%d.%d", - dllversion, - KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - s = s + sprintf (s, ".%d", KERNEL_VERSION_PATCH_LEVEL); - } - s = s + sprintf (s, "%s\"\n", build_tag); - s = s + sprintf (s, "#endif\n/* EOF */\n"); - - h = fopen (filename, "rb"); - if (h != NULL) - { - fseek(h, 0, SEEK_END); - length = ftell(h); - if (length == strlen(s1)) - { - char* orig; - - orig = (char *) malloc(length); - if (orig == NULL) - { - fclose(h); - free(s1); - return; - } - fseek(h, 0, SEEK_SET); - fread(orig, 1, length, h); - if (memcmp(s1, orig, length) == 0) - { - fclose(h); - free(s1); - free(orig); - return; - } - free(orig); - } - fclose(h); - } - - h = fopen (filename, "wb"); - if (!h) - { - fprintf (stderr, - "%s: can not create file \"%s\"!\n", - argv0, - filename); - free(s1); - return; - } - fwrite(s1, 1, strlen(s1), h); - fclose(h); -} - -void -usage (void) -{ - fprintf ( - stderr, - "Usage: %s [-{p|q}] [-t tag] path-to-header\n\n" - " -p print version number and exit\n" - " -q run in quiet mode\n" - " -t specify a build tag\n", - argv0); - exit (EXIT_SUCCESS); -} - - -int -main (int argc, char * argv []) -{ - int i, length; - int print_only = FALSE; - int quiet = FALSE; - - int build = 0; - long revno; - char buildstr[64], revision[10]; - - time_t t1 = 0; - struct tm * t1_tm = NULL; - - argv0 = argv[0]; - - /* Check arguments */ - for (i = 1; i < argc; i++) - { - if (*argv[i] == '-') - { - switch (argv[i][1]) - { - case 'p': - print_only = TRUE; - break; - case 'q': - quiet = TRUE; - break; - case 't': - if (i + 1 != argc) - { - build_tag = argv[++i]; - break; - } - /* fall through */ - default: - usage(); - return EXIT_SUCCESS; - } - } - else if (!filename) - filename = argv[i]; - else - { - usage(); - return EXIT_SUCCESS; - } - } - if (!filename) - { - usage(); - return EXIT_SUCCESS; - } - - /* Set TZ information. */ - tzset (); - /* We are building TODAY! */ - if (! quiet) - { - printf ( "\nReactOS Build Number Generator\n\n"); - } - - time (& t1); /* current build time */ - t1_tm = gmtime (& t1); - - t1_tm->tm_year += 1900; - if (! quiet) - { - printf ( - "Current date: %4d-%02d-%02d\n\n", - t1_tm->tm_year, - (t1_tm->tm_mon + 1), - t1_tm->tm_mday); - } - - /* Compute build number. */ - build = t1_tm->tm_year * 10000 + (t1_tm->tm_mon + 1) * 100 + t1_tm->tm_mday; - - if (!build_tag) - { - /* Create default build tag */ - length = count_wide_string(KERNEL_VERSION_BUILD_TYPE); - build_tag = (char *)malloc(length+2); - if (length > 0) - { - build_tag[0] = '-'; - for (i = 0; KERNEL_VERSION_BUILD_TYPE[i]; i++) - { - build_tag[i + 1] = KERNEL_VERSION_BUILD_TYPE[i]; - } - build_tag[i+1] = 0; - } - else - build_tag[0] = 0; - } - else if (*build_tag) - { - /* Prepend '-' */ - length = strlen(build_tag); - char *new_build_tag = (char *)malloc(length + 2); - strcpy(new_build_tag, "-"); - strcat(new_build_tag, build_tag); - build_tag = new_build_tag; - } - - revno = GetRev(revision, sizeof(revision)); - sprintf(buildstr, "%d-r%s", build, revision); - - if (! quiet) - { - printf ( - "ROS Version : %d.%d", - KERNEL_VERSION_MAJOR, - KERNEL_VERSION_MINOR); - if (0 != KERNEL_VERSION_PATCH_LEVEL) - { - printf(".%d", KERNEL_VERSION_PATCH_LEVEL); - } - printf("%s (Build %s)\n\n", build_tag, buildstr); - } - /* (Over)write the include file, unless the user switched on -p. */ - if (! print_only) - { - write_h (build, buildstr, revno); - } - else - { - printf ("%s: no code generated", argv [0]); - } - - return EXIT_SUCCESS; -} - -/* EOF */ diff --git a/reactos/tools/buildno/buildno.mak b/reactos/tools/buildno/buildno.mak deleted file mode 100644 index e24d218b97d..00000000000 --- a/reactos/tools/buildno/buildno.mak +++ /dev/null @@ -1,57 +0,0 @@ -BUILDNO_BASE = $(TOOLS_BASE_)buildno -BUILDNO_BASE_ = $(BUILDNO_BASE)$(SEP) -BUILDNO_INT = $(INTERMEDIATE_)$(BUILDNO_BASE) -BUILDNO_INT_ = $(BUILDNO_INT)$(SEP) -BUILDNO_OUT = $(OUTPUT_)$(BUILDNO_BASE) -BUILDNO_OUT_ = $(BUILDNO_OUT)$(SEP) - -$(BUILDNO_INT): | $(TOOLS_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(BUILDNO_OUT): | $(TOOLS_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -BUILDNO_TARGET = \ - $(BUILDNO_OUT_)buildno$(EXEPOSTFIX) - -BUILDNO_SOURCES = $(addprefix $(BUILDNO_BASE_), \ - buildno.cpp \ - ) - -BUILDNO_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(BUILDNO_SOURCES:.cpp=.o)) - -BUILDNO_HOST_CXXFLAGS = -I$(TOOLS_BASE) -Iinclude/reactos $(TOOLS_CPPFLAGS) - -BUILDNO_HOST_LFLAGS = $(TOOLS_LFLAGS) - -BUILDNO_VERSION = include$(SEP)reactos$(SEP)version.h - -.PHONY: buildno -buildno: $(BUILDNO_TARGET) - -$(BUILDNO_TARGET): $(BUILDNO_OBJECTS) $(XML_SSPRINTF_OBJECTS) | $(BUILDNO_OUT) - $(ECHO_HOSTLD) - ${host_gpp} $^ $(BUILDNO_HOST_LFLAGS) -o $@ - -$(BUILDNO_INT_)buildno.o: $(BUILDNO_BASE_)buildno.cpp $(BUILDNO_VERSION) | $(BUILDNO_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(BUILDNO_HOST_CXXFLAGS) -c $< -o $@ - -.PHONY: buildno_clean -buildno_clean: - -@$(rm) $(BUILDNO_TARGET) $(BUILDNO_OBJECTS) 2>$(NUL) -clean: buildno_clean - -# Uncomment the following line if you want to automatically -# update build number after SVN update -#.PHONY: $(BUILDNO_TARGET) - -$(BUILDNO_H): $(BUILDNO_TARGET) - ${mkdir} $(INTERMEDIATE_)include$(SEP)reactos 2>$(NUL) - $(ECHO_BUILDNO) - $(Q)$(BUILDNO_TARGET) $(BUILDNO_QUIET) $(BUILDNO_H) diff --git a/reactos/tools/buildno/pch.h b/reactos/tools/buildno/pch.h deleted file mode 100644 index 1ffb3dfd38f..00000000000 --- a/reactos/tools/buildno/pch.h +++ /dev/null @@ -1,44 +0,0 @@ -// pre-compiled header stuff - -#pragma once - -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) // identifier was truncated to '255' characters in the debug information -#endif//_MSC_VER - -#include -#include -#include -#include - -#include -#ifndef RBUILD -#include -#include -#endif - -#ifdef _MSC_VER -#define MAX_PATH _MAX_PATH -#endif - -#ifndef WIN32 -#include -#include - -inline char * strlwr(char *x) -{ - char *y=x; - - while (*y) { - *y=tolower(*y); - y++; - } - return x; -} - -#define _finite __finite -#define _isnan __isnan -#define stricmp strcasecmp -#define MAX_PATH PATH_MAX -#define _MAX_PATH PATH_MAX -#endif diff --git a/reactos/tools/cabman/cabman.rbuild b/reactos/tools/cabman/cabman.rbuild deleted file mode 100644 index ef058bbbb92..00000000000 --- a/reactos/tools/cabman/cabman.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - . - zlibhost - cabinet.cxx - dfp.cxx - main.cxx - mszip.cxx - raw.cxx - diff --git a/reactos/tools/cdmake/cdmake.rbuild b/reactos/tools/cdmake/cdmake.rbuild deleted file mode 100644 index 49fb45312ff..00000000000 --- a/reactos/tools/cdmake/cdmake.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - cdmake.c - llmosrt.c - diff --git a/reactos/tools/gendib/gendib.mak b/reactos/tools/gendib/gendib.mak deleted file mode 100644 index 0f625325792..00000000000 --- a/reactos/tools/gendib/gendib.mak +++ /dev/null @@ -1,57 +0,0 @@ -GENDIB_BASE = $(TOOLS_BASE_)gendib -GENDIB_BASE_ = $(GENDIB_BASE)$(SEP) -GENDIB_INT = $(INTERMEDIATE_)$(GENDIB_BASE) -GENDIB_INT_ = $(GENDIB_INT)$(SEP) -GENDIB_OUT = $(OUTPUT_)$(GENDIB_BASE) -GENDIB_OUT_ = $(GENDIB_OUT)$(SEP) - -$(GENDIB_INT): | $(TOOLS_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(GENDIB_OUT): | $(TOOLS_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -GENDIB_TARGET = \ - $(GENDIB_OUT_)gendib$(EXEPOSTFIX) - -GENDIB_SOURCES = \ - $(GENDIB_BASE_)gendib.c - -GENDIB_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(GENDIB_SOURCES:.c=.o)) - -GENDIB_HOST_CFLAGS = $(TOOLS_CFLAGS) - -GENDIB_HOST_LFLAGS = $(TOOLS_LFLAGS) - -$(GENDIB_TARGET): $(GENDIB_OBJECTS) | $(GENDIB_OUT) - $(ECHO_HOSTLD) - ${host_gcc} $(GENDIB_OBJECTS) $(GENDIB_HOST_LFLAGS) -o $@ - -$(GENDIB_INT_)gendib.o: $(GENDIB_BASE_)gendib.c | $(GENDIB_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(GENDIB_HOST_CFLAGS) -c $< -o $@ - -.PHONY: gendib -gendib: $(GENDIB_TARGET) - -.PHONY: gendib_clean -gendib_clean: - -@$(rm) $(GENDIB_TARGET) $(GENDIB_OBJECTS) 2>$(NUL) -clean: gendib_clean - -GENDIB_DIB_DIR = $(INTERMEDIATE_)subsystems$(SEP)win32$(SEP)win32k$(SEP)dib - -GENDIB_DIB_FILES = \ - $(GENDIB_DIB_DIR)$(SEP)dib32gen.c \ - $(GENDIB_DIB_DIR)$(SEP)dib16gen.c \ - $(GENDIB_DIB_DIR)$(SEP)dib8gen.c - -$(GENDIB_DIB_FILES): $(GENDIB_TARGET) - ${mkdir} $(GENDIB_DIB_DIR) 2>$(NUL) - $(ECHO_GENDIB) - $(Q)$(GENDIB_TARGET) $(GENDIB_DIB_DIR) diff --git a/reactos/tools/geninc/geninc.rbuild b/reactos/tools/geninc/geninc.rbuild deleted file mode 100644 index 9d2be75348d..00000000000 --- a/reactos/tools/geninc/geninc.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - geninc.c - - - data.c - - diff --git a/reactos/tools/hpp/hpp.rbuild b/reactos/tools/hpp/hpp.rbuild deleted file mode 100644 index 165dd0c3d11..00000000000 --- a/reactos/tools/hpp/hpp.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - . - hpp.c - diff --git a/reactos/tools/kbdtool/kbdtool.rbuild b/reactos/tools/kbdtool/kbdtool.rbuild deleted file mode 100644 index ac715ddac17..00000000000 --- a/reactos/tools/kbdtool/kbdtool.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - data.c - main.c - output.c - parser.c - \ No newline at end of file diff --git a/reactos/tools/log2lines/log2lines.mak b/reactos/tools/log2lines/log2lines.mak deleted file mode 100644 index d19d6c09a9a..00000000000 --- a/reactos/tools/log2lines/log2lines.mak +++ /dev/null @@ -1,99 +0,0 @@ -RSYM_BASE = $(TOOLS_BASE)$(SEP)rsym -RSYM_BASE_ = $(RSYM_BASE)$(SEP) -LOG2LINES_BASE = $(TOOLS_BASE_)log2lines -LOG2LINES_BASE_ = $(LOG2LINES_BASE)$(SEP) - -LOG2LINES_INT = $(INTERMEDIATE_)$(LOG2LINES_BASE) -LOG2LINES_INT_ = $(LOG2LINES_INT)$(SEP) -LOG2LINES_OUT = $(OUTPUT_)$(LOG2LINES_BASE) -LOG2LINES_OUT_ = $(LOG2LINES_OUT)$(SEP) - -$(LOG2LINES_INT): | $(TOOLS_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(LOG2LINES_OUT): | $(TOOLS_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -LOG2LINES_TARGET = \ - $(LOG2LINES_OUT_)log2lines$(EXEPOSTFIX) - -LOG2LINES_SOURCES = \ - $(LOG2LINES_BASE_)list.c \ - $(LOG2LINES_BASE_)util.c \ - $(LOG2LINES_BASE_)options.c \ - $(LOG2LINES_BASE_)help.c \ - $(LOG2LINES_BASE_)cache.c \ - $(LOG2LINES_BASE_)image.c \ - $(LOG2LINES_BASE_)stat.c \ - $(LOG2LINES_BASE_)revision.c \ - $(LOG2LINES_BASE_)cmd.c \ - $(LOG2LINES_BASE_)match.c \ - $(LOG2LINES_BASE_)log2lines.c \ - $(RSYM_BASE_)rsym_common.c - -LOG2LINES_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(LOG2LINES_SOURCES:.c=.o)) - -LOG2LINES_HOST_CFLAGS = $(TOOLS_CFLAGS) -I $(RSYM_BASE) - -LOG2LINES_HOST_LFLAGS = $(TOOLS_LFLAGS) - -.PHONY: log2lines -log2lines: $(LOG2LINES_TARGET) - -$(LOG2LINES_TARGET): $(LOG2LINES_OBJECTS) | $(LOG2LINES_OUT) - $(ECHO_HOSTLD) - ${host_gcc} $(LOG2LINES_OBJECTS) $(LOG2LINES_HOST_LFLAGS) -o $@ - -$(LOG2LINES_INT_)log2lines.o: $(LOG2LINES_BASE_)log2lines.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)util.o: $(LOG2LINES_BASE_)util.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)list.o: $(LOG2LINES_BASE_)list.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)options.o: $(LOG2LINES_BASE_)options.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)help.o: $(LOG2LINES_BASE_)help.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)cache.o: $(LOG2LINES_BASE_)cache.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)image.o: $(LOG2LINES_BASE_)image.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)stat.o: $(LOG2LINES_BASE_)stat.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)revision.o: $(LOG2LINES_BASE_)revision.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)cmd.o: $(LOG2LINES_BASE_)cmd.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -$(LOG2LINES_INT_)match.o: $(LOG2LINES_BASE_)match.c | $(LOG2LINES_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(LOG2LINES_HOST_CFLAGS) -c $< -o $@ - -.PHONY: log2lines_clean -log2lines_clean: - -@$(rm) $(LOG2LINES_TARGET) $(LOG2LINES_OBJECTS) 2>$(NUL) -clean: log2lines_clean diff --git a/reactos/tools/mkhive/mkhive.rbuild b/reactos/tools/mkhive/mkhive.rbuild deleted file mode 100644 index 26a95fa232c..00000000000 --- a/reactos/tools/mkhive/mkhive.rbuild +++ /dev/null @@ -1,19 +0,0 @@ - - - - . - . - . - . - - -fshort-wchar - newinflibhost - cmlibhost - unicode - binhive.c - cmi.c - mkhive.c - reginf.c - registry.c - rtl.c - diff --git a/reactos/tools/mkshelllink/mkshelllink.rbuild b/reactos/tools/mkshelllink/mkshelllink.rbuild deleted file mode 100644 index afa27014578..00000000000 --- a/reactos/tools/mkshelllink/mkshelllink.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - mkshelllink.c - diff --git a/reactos/tools/nandflash/nandflash.rbuild b/reactos/tools/nandflash/nandflash.rbuild deleted file mode 100644 index b8529b7c846..00000000000 --- a/reactos/tools/nandflash/nandflash.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - main.c - diff --git a/reactos/tools/ofw_interface/ofw_interface.mak b/reactos/tools/ofw_interface/ofw_interface.mak deleted file mode 100644 index a6b2f8698fd..00000000000 --- a/reactos/tools/ofw_interface/ofw_interface.mak +++ /dev/null @@ -1,63 +0,0 @@ -OFW_INTERFACE_BASE = $(TOOLS_BASE_)ofw_interface -OFW_INTERFACE_BASE_ = $(OFW_INTERFACE_BASE)$(SEP) -OFW_INTERFACE_INT = $(INTERMEDIATE_)$(OFW_INTERFACE_BASE) -OFW_INTERFACE_INT_ = $(OFW_INTERFACE_INT)$(SEP) -OFW_INTERFACE_OUT = $(OUTPUT_)$(OFW_INTERFACE_BASE) -OFW_INTERFACE_OUT_ = $(OFW_INTERFACE_OUT)$(SEP) - -OFW_INTERFACE_OUTPUT = boot/freeldr/freeldr/arch/powerpc/ofw_calls.s -OFW_INTERFACE_SOURCE = boot/freeldr/freeldr/arch/powerpc/ofw.c -OFW_INTERFACE_HEADER = boot/freeldr/freeldr/include/of_call.h -OFW_INTERFACE_INPUT = $(OFW_INTERFACE_BASE_)calls.ofw -OFW_INTERFACE_SERVICE_FILES = \ - $(OFW_INTERFACE_OUTPUT) \ - $(OFW_INTERFACE_SOURCE) \ - $(OFW_INTERFACE_HEADER) - -$(OFW_INTERFACE_INT): | $(TOOLS_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(OFW_INTERFACE_OUT): | $(TOOLS_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -OFW_INTERFACE_TARGET = \ - $(OFW_INTERFACE_OUT_)ofw_interface$(EXEPOSTFIX) - -OFW_INTERFACE_SOURCES = $(addprefix $(OFW_INTERFACE_BASE_), \ - ofw_interface.cpp \ - ) - -OFW_INTERFACE_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(OFW_INTERFACE_SOURCES:.cpp=.o)) - -OFW_INTERFACE_HOST_CFLAGS = $(TOOLS_CFLAGS) - -OFW_INTERFACE_HOST_LFLAGS = $(TOOLS_LFLAGS) - -$(OFW_INTERFACE_TARGET): $(OFW_INTERFACE_OBJECTS) | $(OFW_INTERFACE_OUT) - $(ECHO_HOSTLD) - ${host_gpp} $(OFW_INTERFACE_OBJECTS) $(OFW_INTERFACE_HOST_LFLAGS) -o $@ - -$(OFW_INTERFACE_INT_)ofw_interface.o: $(OFW_INTERFACE_BASE_)ofw_interface.cpp | $(OFW_INTERFACE_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(OFW_INTERFACE_HOST_CFLAGS) -c $< -o $@ - -$(OFW_INTERFACE_SERVICE_FILES): $(OFW_INTERFACE_TARGET) $(OFW_INTERFACE_INPUT) - $(ECHO_OFW) - $(Q)$(OFW_INTERFACE_TARGET) \ - $(OFW_INTERFACE_INPUT) \ - $(OFW_INTERFACE_OUTPUT) \ - $(OFW_INTERFACE_SOURCE) \ - $(OFW_INTERFACE_HEADER) - -.PHONY: ofw_interface -ofw_interface: $(OFW_INTERFACE_TARGET) - -.PHONY: ofw_interface_clean -ofw_interface_clean: - -@$(rm) $(OFW_INTERFACE_TARGET) $(OFW_INTERFACE_OBJECTS) 2>$(NUL) -clean: ofw_interface_clean diff --git a/reactos/tools/pefixup.mak b/reactos/tools/pefixup.mak deleted file mode 100644 index aae563adb42..00000000000 --- a/reactos/tools/pefixup.mak +++ /dev/null @@ -1,36 +0,0 @@ -PEFIXUP_BASE = $(TOOLS_BASE) -PEFIXUP_BASE_ = $(PEFIXUP_BASE)$(SEP) - -PEFIXUP_INT = $(INTERMEDIATE_)$(PEFIXUP_BASE) -PEFIXUP_INT_ = $(PEFIXUP_INT)$(SEP) -PEFIXUP_OUT = $(OUTPUT_)$(PEFIXUP_BASE) -PEFIXUP_OUT_ = $(PEFIXUP_OUT)$(SEP) - -PEFIXUP_TARGET = \ - $(PEFIXUP_OUT_)pefixup$(EXEPOSTFIX) - -PEFIXUP_SOURCES = \ - $(PEFIXUP_BASE_)pefixup.c - -PEFIXUP_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(PEFIXUP_SOURCES:.c=.o)) - -PEFIXUP_HOST_CFLAGS = $(TOOLS_CFLAGS) - -PEFIXUP_HOST_LFLAGS = $(TOOLS_LFLAGS) - -.PHONY: pefixup -pefixup: $(PEFIXUP_TARGET) - -$(PEFIXUP_TARGET): $(PEFIXUP_OBJECTS) | $(PEFIXUP_OUT) - $(ECHO_HOSTLD) - ${host_gcc} $(PEFIXUP_OBJECTS) $(PEFIXUP_HOST_LFLAGS) -o $@ - -$(PEFIXUP_INT_)pefixup.o: $(PEFIXUP_BASE_)pefixup.c | $(PEFIXUP_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(PEFIXUP_HOST_CFLAGS) -c $< -o $@ - -.PHONY: pefixup_clean -pefixup_clean: - -@$(rm) $(PEFIXUP_TARGET) $(PEFIXUP_OBJECTS) 2>$(NUL) -clean: pefixup_clean diff --git a/reactos/tools/pipetools/pipetools.mak b/reactos/tools/pipetools/pipetools.mak deleted file mode 100644 index 22eca3d6cbf..00000000000 --- a/reactos/tools/pipetools/pipetools.mak +++ /dev/null @@ -1,47 +0,0 @@ -PIPETOOLS_BASE = $(TOOLS_BASE)$(SEP)pipetools -PIPETOOLS_BASE_ = $(PIPETOOLS_BASE)$(SEP) -PIPETOOLS_INT = $(INTERMEDIATE_)$(PIPETOOLS_BASE) -PIPETOOLS_INT_ = $(PIPETOOLS_INT)$(SEP) -PIPETOOLS_OUT = $(OUTPUT_)$(PIPETOOLS_BASE) -PIPETOOLS_OUT_ = $(PIPETOOLS_OUT)$(SEP) - -$(PIPETOOLS_INT): | $(TOOLS_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(PIPETOOLS_OUT): | $(TOOLS_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - - -PIPETOOLS_TARGET = \ - $(PIPETOOLS_OUT_)piperead$(EXEPOSTFIX) - -PIPETOOLS_SOURCES = \ - $(PIPETOOLS_BASE_)piperead.cpp - -PIPETOOLS_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(PIPETOOLS_SOURCES:.cpp=.o)) - -PIPETOOLS_HOST_CFLAGS = $(TOOLS_CFLAGS) - -PIPETOOLS_HOST_LFLAGS = $(TOOLS_LFLAGS) - -.PHONY: pipetools -pipetools: $(PIPETOOLS_TARGET) - -$(PIPETOOLS_TARGET): $(PIPETOOLS_OBJECTS) | $(PIPETOOLS_OUT) - $(ECHO_HOSTLD) - ${host_gcc} $(PIPETOOLS_OBJECTS) $(PIPETOOLS_HOST_LFLAGS) -o $@ - -$(PIPETOOLS_INT_)piperead.o: $(PIPETOOLS_BASE_)piperead.cpp | $(PIPETOOLS_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(PIPETOOLS_HOST_CFLAGS) -c $< -o $@ - - -.PHONY: pipetools_clean -pipetools_clean: - -@$(rm) $(PIPETOOLS_TARGET) $(PIPETOOLS_OBJECTS) 2>$(NUL) -clean: pipetools_clean diff --git a/reactos/tools/rbuild/automaticdependency.cpp b/reactos/tools/rbuild/automaticdependency.cpp deleted file mode 100644 index 65b5f0165f5..00000000000 --- a/reactos/tools/rbuild/automaticdependency.cpp +++ /dev/null @@ -1,560 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * Copyright (C) 2007 Hervé Poussineau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include -#include - -#include "rbuild.h" - -/* Read at most this amount of bytes from each file and assume that all #includes are located within this block */ -#define MAX_BYTES_TO_READ 4096 - -using std::string; -using std::vector; -using std::map; - -SourceFile::SourceFile ( AutomaticDependency* automaticDependency, - const Module& module, - const File& file, - SourceFile* parent ) - : file ( file ), - automaticDependency ( automaticDependency), - module ( module ), - youngestLastWriteTime ( 0 ) -{ - if (parent != NULL ) - parents.push_back ( parent ); -} - -void -SourceFile::Close () -{ - buf.resize ( 0 ); - p = end = NULL; -} - -void -SourceFile::Open () -{ - struct stat statbuf; - string filename = file.GetFullPath (); - - Close (); - FILE* f = fopen ( filename.c_str (), "rb" ); - if ( !f ) - throw FileNotFoundException ( filename ); - - if ( fstat ( fileno ( f ), &statbuf ) != 0 ) - { - fclose ( f ); - throw AccessDeniedException ( filename ); - } - lastWriteTime = statbuf.st_mtime; - - unsigned long len = (unsigned long) filelen ( f ); - if ( len > MAX_BYTES_TO_READ ) - len = MAX_BYTES_TO_READ; - buf.resize ( len ); - fread ( &buf[0], 1, len, f ); - fclose ( f ); - p = buf.c_str (); - end = p + len; -} - -void -SourceFile::SkipWhitespace () -{ - while ( p < end && isspace ( *p )) - p++; -} - -bool -SourceFile::ReadInclude ( string& filename, - bool& searchCurrentDirectory, - bool& includeNext) -{ - while ( p < end ) - { - if ( p != buf.c_str () ) - { - /* Go to end of line */ - while ( *p != '\n' && p < end ) - p++; - SkipWhitespace (); - } - if ( ( end - p > 13 ) && ( *p == '#') ) - { - bool include = false; - p++; - SkipWhitespace (); - if ( *p == 'i' ) - { - if ( strncmp ( p, "include ", 8 ) == 0 ) - { - p += 8; - includeNext = false; - include = true; - } - if ( strncmp ( p, "include_next ", 13 ) == 0 ) - { - p += 13; - includeNext = true; - include = true; - } - - if ( include ) - { - SkipWhitespace (); - if ( p < end ) - { - register char ch = *p; - if ( ch == '<' || ch == '"' ) - { - searchCurrentDirectory = (ch == '"'); - p++; - filename.resize ( MAX_PATH ); - int i = 0; - ch = *p; - while ( p < end && ch != '>' && ch != '"' && ch != '\n' ) - { - filename[i++] = *p; - p++; - if ( p < end ) - ch = *p; - } - filename.resize ( i ); - return true; - } - } - } - } - } - p++; - } - filename = ""; - searchCurrentDirectory = false; - includeNext = false; - return false; -} - -bool -SourceFile::IsParentOf ( const SourceFile* parent, - const SourceFile* child ) -{ - size_t i; - for ( i = 0; i < child->parents.size (); i++ ) - { - if ( child->parents[i] != NULL ) - { - if ( child->parents[i] == parent ) - return true; - } - } - for ( i = 0; i < child->parents.size (); i++ ) - { - if ( child->parents[i] != NULL ) - { - if ( IsParentOf ( parent, - child->parents[i] ) ) - return true; - } - } - return false; -} - -bool -SourceFile::IsIncludedFrom ( const File& file ) -{ - SourceFile* sourceFile = automaticDependency->RetrieveFromCache ( file ); - if ( sourceFile == NULL ) - return false; - - if ( sourceFile == this ) - return true; - - return IsParentOf ( sourceFile, - this ); -} - -bool -SourceFile::CanProcessFile ( const File& file ) -{ - string extension = GetExtension ( file.file ); - std::transform ( extension.begin (), extension.end (), extension.begin (), tolower ); - if ( extension == ".h" ) - return true; - if ( extension == ".c" ) - return true; - if ( extension == ".cpp" ) - return true; - if ( extension == ".rc" ) - return true; - if ( extension == ".s" ) - return true; - if ( extension == ".nls" ) - return true; - if ( extension == ".idl" ) - return true; - if ( automaticDependency->project.configuration.Verbose ) - printf ( "Skipping file %s, as its extension is not recognized\n", file.file.name.c_str () ); - return false; -} - -SourceFile* -SourceFile::ParseFile ( const File& file ) -{ - if ( !CanProcessFile ( file ) ) - return NULL; - - if ( IsIncludedFrom ( file ) ) - return NULL; - - SourceFile* sourceFile = automaticDependency->RetrieveFromCacheOrParse ( module, - file, - this ); - return sourceFile; -} - -void -SourceFile::Parse () -{ - Open (); - while ( p < end ) - { - string includedFilename; - - bool searchCurrentDirectory; - bool includeNext; - while ( ReadInclude ( includedFilename, - searchCurrentDirectory, - includeNext ) ) - { - File resolvedFile ( SourceDirectory, "", "", false, "", false ) ; - bool locatedFile = automaticDependency->LocateIncludedFile ( this, - module, - includedFilename, - searchCurrentDirectory, - includeNext, - resolvedFile ); - if ( locatedFile ) - { - SourceFile* sourceFile = ParseFile ( *new File ( resolvedFile ) ); - if ( sourceFile != NULL ) - files.push_back ( sourceFile ); - } else if ( automaticDependency->project.configuration.Verbose ) - printf ( "Unable to find %c%s%c, included in %s%c%s\n", - searchCurrentDirectory ? '\"' : '<', - includedFilename.c_str (), - searchCurrentDirectory ? '\"' : '>', - this->file.file.relative_path.c_str (), - cSep, - this->file.file.name.c_str () ); - } - p++; - } - Close (); -} - -AutomaticDependency::AutomaticDependency ( const Project& project ) - : project ( project ) -{ -} - -AutomaticDependency::~AutomaticDependency () -{ - std::map::iterator theIterator; - for ( theIterator = sourcefile_map.begin (); theIterator != sourcefile_map.end (); theIterator++ ) - delete theIterator->second; -} - -void -AutomaticDependency::ParseFiles () -{ - for( std::map::const_iterator p = project.modules.begin(); p != project.modules.end(); ++ p ) - ParseFiles ( *p->second ); -} - -void -AutomaticDependency::GetModuleFiles ( const Module& module, - vector& files ) const -{ - for ( size_t i = 0; i < module.non_if_data.files.size (); i++ ) - files.push_back ( module.non_if_data.files[i] ); - - /* FIXME: Collect files in IFs here */ - - if ( module.pch != NULL ) - { - const FileLocation& pch = *module.pch->file; - File *file = new File ( pch.directory, pch.relative_path, pch.name , false, "", true ); - files.push_back ( file ); - } -} - -void -AutomaticDependency::ParseFiles ( const Module& module ) -{ - vector files; - GetModuleFiles ( module, files ); - for ( size_t i = 0; i < files.size (); i++ ) - ParseFile ( module, *files[i] ); -} - -void -AutomaticDependency::ParseFile ( const Module& module, - const File& file ) -{ - RetrieveFromCacheOrParse ( module, - file, - NULL ); -} - -bool -AutomaticDependency::LocateIncludedFile ( const FileLocation& directory, - const string& includedFilename ) -{ - string path; - switch ( directory.directory ) - { - case SourceDirectory: - path = ""; - break; - case IntermediateDirectory: - path = Environment::GetIntermediatePath (); - break; - case OutputDirectory: - path = Environment::GetOutputPath (); - break; - default: - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %d.", - directory.directory ); - } - if ( directory.relative_path.length () > 0 ) - { - if ( path.length () > 0 ) - path += sSep; - path += directory.relative_path; - } - - string normalizedFilename = NormalizeFilename ( path + sSep + includedFilename ); - FILE* f = fopen ( normalizedFilename.c_str (), "rb" ); - if ( f != NULL ) - { - fclose ( f ); - return true; - } - return false; -} - -void -AutomaticDependency::GetIncludeDirectories ( vector& includes, - const Module& module ) -{ - size_t i; - for ( i = 0; i < module.non_if_data.includes.size (); i++ ) - includes.push_back( module.non_if_data.includes[i] ); - for ( i = 0; i < module.project.non_if_data.includes.size (); i++ ) - includes.push_back( module.project.non_if_data.includes[i] ); -} - -bool -AutomaticDependency::LocateIncludedFile ( SourceFile* sourceFile, - const Module& module, - const string& includedFilename, - bool searchCurrentDirectory, - bool includeNext, - File& resolvedFile ) -{ - vector includes; - string includedFileDir; - Include currentDirectory ( module.project, SourceDirectory, sourceFile->file.file.relative_path ); - if ( searchCurrentDirectory ) - includes.push_back ( ¤tDirectory ); - GetIncludeDirectories ( includes, module ); - - for ( size_t j = 0; j < includes.size (); j++ ) - { - Include& include = *includes[j]; - if ( LocateIncludedFile ( *include.directory, - includedFilename ) ) - { - if ( includeNext && - include.directory->directory == sourceFile->file.file.directory && - include.directory->relative_path == sourceFile->file.file.relative_path ) - { - includeNext = false; - continue; - } - resolvedFile.file.directory = include.directory->directory; - size_t index = includedFilename.find_last_of ( "/\\" ); - if ( index == string::npos ) - { - resolvedFile.file.name = includedFilename; - resolvedFile.file.relative_path = include.directory->relative_path; - } - else - { - resolvedFile.file.relative_path = NormalizeFilename ( - include.directory->relative_path + sSep + - includedFilename.substr ( 0, index ) ); - resolvedFile.file.name = includedFilename.substr ( index + 1 ); - } - return true; - } - } - return false; -} - -SourceFile* -AutomaticDependency::RetrieveFromCacheOrParse ( const Module& module, - const File& file, - SourceFile* parentSourceFile ) -{ - string filename = file.GetFullPath(); - SourceFile* sourceFile = sourcefile_map[filename]; - if ( sourceFile == NULL ) - { - sourceFile = new SourceFile ( this, - module, - file, - parentSourceFile ); - sourcefile_map[filename] = sourceFile; - sourceFile->Parse (); - } - else if ( parentSourceFile != NULL ) - sourceFile->parents.push_back ( parentSourceFile ); - return sourceFile; -} - -SourceFile* -AutomaticDependency::RetrieveFromCache ( const File& file ) -{ - string filename = file.GetFullPath(); - return sourcefile_map[filename]; -} - -void -AutomaticDependency::CheckAutomaticDependencies ( bool verbose ) -{ - ParseFiles (); - for( std::map::const_iterator p = project.modules.begin(); p != project.modules.end(); ++ p ) - { - Module& module = *p->second; - CheckAutomaticDependencies ( module, verbose ); - } -} - -void -AutomaticDependency::GetModulesToCheck ( Module& module, vector& modules ) -{ - modules.push_back ( &module ); - for ( size_t i = 0; i < module.non_if_data.libraries.size (); i++ ) - { - Library& library = *module.non_if_data.libraries[i]; - if ( library.importedModule->type != ObjectLibrary ) - break; - modules.push_back ( library.importedModule ); - } - - /* FIXME: Collect libraries in IFs here */ -} - -void -AutomaticDependency::CheckAutomaticDependenciesForModule ( Module& module, - bool verbose ) -{ - size_t mi; - vector modules; - GetModulesToCheck ( module, modules ); - for ( mi = 0; mi < modules.size (); mi++ ) - ParseFiles ( *modules[mi] ); - for ( mi = 0; mi < modules.size (); mi++ ) - CheckAutomaticDependencies ( *modules[mi], verbose ); -} - -void -AutomaticDependency::CheckAutomaticDependencies ( const Module& module, - bool verbose ) -{ - struct utimbuf timebuf; - vector files; - GetModuleFiles ( module, files ); - for ( size_t fi = 0; fi < files.size (); fi++ ) - { - File& file = *files[fi]; - SourceFile* sourceFile = RetrieveFromCache ( file ); - if ( sourceFile != NULL ) - { - CheckAutomaticDependenciesForFile ( sourceFile ); - assert ( sourceFile->youngestLastWriteTime != 0 ); - if ( sourceFile->youngestLastWriteTime > sourceFile->lastWriteTime ) - { - if ( verbose ) - { - printf ( "Marking %s%c%s for rebuild due to younger file %s%c%s\n", - sourceFile->file.file.relative_path.c_str (), - cSep, sourceFile->file.file.name.c_str (), - sourceFile->youngestFile->file.file.relative_path.c_str (), - cSep, sourceFile->youngestFile->file.file.name.c_str () ); - } - timebuf.actime = sourceFile->youngestLastWriteTime; - timebuf.modtime = sourceFile->youngestLastWriteTime; - utime ( sourceFile->file.GetFullPath ().c_str (), - &timebuf ); - } - } - } -} - -void -AutomaticDependency::CheckAutomaticDependenciesForFile ( SourceFile* sourceFile ) -{ - if ( sourceFile->youngestLastWriteTime > 0 ) - return; - - if ( sourceFile->files.size () == 0 ) - { - sourceFile->youngestLastWriteTime = sourceFile->lastWriteTime; - sourceFile->youngestFile = sourceFile; - return; - } - - for ( size_t i = 0; i < sourceFile->files.size (); i++ ) - { - SourceFile* childSourceFile = sourceFile->files[i]; - - CheckAutomaticDependenciesForFile ( childSourceFile ); - if ( ( childSourceFile->youngestLastWriteTime > sourceFile->youngestLastWriteTime ) || - ( childSourceFile->lastWriteTime > sourceFile->youngestLastWriteTime ) ) - { - if ( childSourceFile->youngestLastWriteTime > childSourceFile->lastWriteTime ) - { - sourceFile->youngestLastWriteTime = childSourceFile->youngestLastWriteTime; - sourceFile->youngestFile = childSourceFile->youngestFile; - } - else - { - sourceFile->youngestLastWriteTime = childSourceFile->lastWriteTime; - sourceFile->youngestFile = childSourceFile; - } - } - } -} diff --git a/reactos/tools/rbuild/autoregister.cpp b/reactos/tools/rbuild/autoregister.cpp deleted file mode 100644 index 2a5bdc436f2..00000000000 --- a/reactos/tools/rbuild/autoregister.cpp +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" - -#include "rbuild.h" - -using std::string; - -AutoRegister::AutoRegister ( const Project& project_, - const Module* module_, - const XMLElement& node_ ) - : XmlNode(project_, node_), - module(module_) -{ - Initialize(); -} - -bool -AutoRegister::IsSupportedModuleType ( ModuleType type ) -{ - if ( type == Win32DLL || - type == Win32OCX ) - { - return true; - } - else - { - return false; - } -} - -AutoRegisterType -AutoRegister::GetAutoRegisterType( const string& type ) -{ - if ( type == "DllRegisterServer" ) - return DllRegisterServer; - if ( type == "DllInstall" ) - return DllInstall; - if ( type == "Both" ) - return Both; - throw XMLInvalidBuildFileException ( - node.location, - " type attribute must be DllRegisterServer, DllInstall or Both." ); -} - -void -AutoRegister::Initialize () -{ - if ( !IsSupportedModuleType ( module->type ) ) - { - throw XMLInvalidBuildFileException ( - node.location, - " is not applicable for this module type." ); - } - - const XMLAttribute* att = node.GetAttribute ( "infsection", true ); - if ( !att ) - { - throw XMLInvalidBuildFileException ( - node.location, - " must have a 'infsection' attribute." ); - } - infSection = att->value; - - att = node.GetAttribute ( "type", true ); - if ( !att ) - { - throw XMLInvalidBuildFileException ( - node.location, - " must have a 'type' attribute." ); - } - type = GetAutoRegisterType ( att->value ); -} diff --git a/reactos/tools/rbuild/backend/backend.cpp b/reactos/tools/rbuild/backend/backend.cpp deleted file mode 100644 index 61d467ecf55..00000000000 --- a/reactos/tools/rbuild/backend/backend.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "../pch.h" - -#include "../rbuild.h" -#include "backend.h" - -using std::string; -using std::vector; -using std::map; - -map* -Backend::Factory::factories = NULL; -int -Backend::Factory::ref = 0; - -Backend::Factory::Factory ( const std::string& name_, const std::string& description_ ) -{ - string name(name_); - strlwr ( &name[0] ); - if ( !ref++ ) - factories = new map; - (*factories)[name] = this; - m_name = name; - m_description = description_; -} - -Backend::Factory::~Factory () -{ - if ( !--ref ) - { - delete factories; - factories = NULL; - } -} - -/*static*/ Backend* -Backend::Factory::Create ( const string& name, - Project& project, - Configuration& configuration ) -{ - string sname ( name ); - strlwr ( &sname[0] ); - if ( !factories || !factories->size () ) - throw InvalidOperationException ( __FILE__, - __LINE__, - "No registered factories" ); - Backend::Factory* f = (*factories)[sname]; - if ( !f ) - { - throw UnknownBackendException ( sname ); - return NULL; - } - return (*f) ( project, configuration ); -} - -Backend::Backend ( Project& project, - Configuration& configuration ) - : ProjectNode ( project ), - configuration ( configuration ) -{ -} - -Backend::~Backend() -{ -} - -string -Backend::GetFullPath ( const FileLocation& file ) const -{ - string directory; - switch ( file.directory ) - { - case SourceDirectory: - directory = ""; - break; - case IntermediateDirectory: - directory = Environment::GetIntermediatePath (); - break; - case OutputDirectory: - directory = Environment::GetOutputPath (); - break; - case InstallDirectory: - directory = Environment::GetInstallPath (); - break; - default: - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %d.", - file.directory ); - } - - if ( file.relative_path.length () > 0 ) - { - if ( directory.length () > 0 ) - directory += sSep; - directory += file.relative_path; - } - return directory; -} - -string -Backend::GetFullName ( const FileLocation& file ) const -{ - string directory = GetFullPath ( file ); - - if ( directory.length () > 0 ) - directory += sSep; - - return directory + file.name; -} diff --git a/reactos/tools/rbuild/backend/backend.h b/reactos/tools/rbuild/backend/backend.h deleted file mode 100644 index 7e9da13ed1d..00000000000 --- a/reactos/tools/rbuild/backend/backend.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include "../rbuild.h" - -class Backend; - -typedef Backend* BackendFactory ( Project& project, - Configuration& configuration ); - -class Backend -{ -public: - class Factory - { - static std::map* factories; - static int ref; - std::string m_name; - std::string m_description; - - protected: - - Factory ( const std::string& name_, const std::string& description_ ); - virtual ~Factory(); - - virtual Backend* operator() ( Project&, - Configuration& configuration ) = 0; - - public: - static Backend* Create ( const std::string& name, - Project& project, - Configuration& configuration ); - - static std::map::iterator map_begin(void) - { - return factories->begin(); - } - - static std::map::iterator map_end(void) - { - return factories->end(); - } - - const char *Name(void) { return m_name.c_str(); } - const char *Description(void) { return m_description.c_str(); } - }; - -protected: - Backend ( Project& project, - Configuration& configuration ); - -public: - virtual ~Backend(); - - virtual std::string GetFullName ( const FileLocation& file ) const; - virtual std::string GetFullPath ( const FileLocation& file ) const; - virtual void Process () = 0; - Project& ProjectNode; - Configuration& configuration; -}; diff --git a/reactos/tools/rbuild/backend/dependencymap/dependencymap.cpp b/reactos/tools/rbuild/backend/dependencymap/dependencymap.cpp deleted file mode 100644 index f12fa77b7d6..00000000000 --- a/reactos/tools/rbuild/backend/dependencymap/dependencymap.cpp +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (C) 2007 Christoph von Wittich - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include - -#include - -#include "dependencymap.h" -#include "../mingw/mingw.h" - -using std::string; -using std::vector; -using std::map; -using std::ifstream; - -#ifdef OUT -#undef OUT -#endif//OUT - - -static class DepMapFactory : public Backend::Factory -{ - public: - - DepMapFactory() : Factory("DepMap", "Dependency Map") {} - Backend *operator() (Project &project, - Configuration& configuration) - { - return new DepMapBackend(project, configuration); - } - -} factory; - - -DepMapBackend::DepMapBackend(Project &project, - Configuration& configuration) : Backend(project, configuration) -{ - -} - -void DepMapBackend::Process() -{ - string filename_depmap ( "dependencymap.xml" ); - printf ( "Creating dependecy map: %s\n", filename_depmap.c_str() ); - - m_DepMapFile = fopen ( filename_depmap.c_str(), "wb" ); - - if ( !m_DepMapFile ) - { - printf ( "Could not create file '%s'.\n", filename_depmap.c_str() ); - return; - } - - _generate_depmap ( m_DepMapFile ); - - fclose ( m_DepMapFile ); - printf ( "Done.\n" ); -} - -void -DepMapBackend::_clean_project_files ( void ) -{ - remove ( "dependencymap.xml" ); -} - - -void -DepMapBackend::_generate_depmap ( FILE* OUT ) -{ - /* add dependencies */ - - typedef map ModuleMap; - ModuleMap module_map; - - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module& module = *p->second; - if ((module.type != Iso) && - (module.type != LiveIso)) - { - vector ifs_list; - ifs_list.push_back ( &module.project.non_if_data ); - ifs_list.push_back ( &module.non_if_data ); - - module_data * current_data; - ModuleMap::iterator mod_it = module_map.find ( module.name ); - if (mod_it != module_map.end ()) - { - current_data = mod_it->second; - } - else - { - current_data = new module_data(); - if (current_data) - { - module_map.insert (std::make_pair(module.name, current_data)); - } - } - while ( ifs_list.size() ) - { - const IfableData& data = *ifs_list.back(); - ifs_list.pop_back(); - const vector& libs = data.libraries; - for ( size_t j = 0; j < libs.size(); j++ ) - { - ModuleMap::iterator it = module_map.find ( libs[j]->name ); - - if ( it != module_map.end ()) - { - module_data * data = it->second; - data->references.push_back ( module.name ); - } - else - { - module_data * data = new module_data(); - if ( data ) - { - data->references.push_back ( module.name ); - } - module_map.insert ( std::make_pair( libs[j]->name, data ) ); - } - current_data->libraries.push_back ( libs[j]->name ); - } - } - } - } - - fprintf ( m_DepMapFile, "\r\n" ); - fprintf ( m_DepMapFile, "\r\n" ); - fprintf ( m_DepMapFile, "\r\n" ); - - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module& module = *p->second; - - ModuleMap::iterator it = module_map.find ( module.name ); - if ( it != module_map.end () ) - { - module_data * data = it->second; - - - - fprintf ( m_DepMapFile, "\t\r\n" ); - fprintf ( m_DepMapFile, "\t\t%s\r\n", module.name.c_str () ); - fprintf ( m_DepMapFile, "\t\t%s\r\n", module.output->relative_path.c_str () ); - fprintf ( m_DepMapFile, "\t\t%u\r\n", (unsigned int)data->references.size () ); - fprintf ( m_DepMapFile, "\t\t%u\r\n", (unsigned int)data->libraries.size () ); -#if 0 - if ( data->references.size () ) - { - fprintf ( m_DepMapFile, "\t\r\n" ); - for ( size_t j = 0; j < data->references.size (); j++ ) - { - fprintf ( m_DepMapFile, "\t\t\r\n", data->references[j].c_str () ); - } - fprintf ( m_DepMapFile, "\t\r\n" ); - } - - if ( data->libraries.size () ) - { - fprintf ( m_DepMapFile, "\t\r\n" ); - for ( size_t j = 0; j < data->libraries.size (); j++ ) - { - fprintf ( m_DepMapFile, "\t\t\r\n", data->libraries[j].c_str () ); - } - fprintf ( m_DepMapFile, "\t\r\n" ); - } -#endif - fprintf ( m_DepMapFile, "\t\r\n" ); - } - } - - fprintf ( m_DepMapFile, "" ); -} - - -DepMapConfiguration::DepMapConfiguration ( const std::string &name ) -{ - /* nothing to do here */ -} - - diff --git a/reactos/tools/rbuild/backend/dependencymap/dependencymap.h b/reactos/tools/rbuild/backend/dependencymap/dependencymap.h deleted file mode 100644 index 96114f514fd..00000000000 --- a/reactos/tools/rbuild/backend/dependencymap/dependencymap.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2007 Christoph von Wittich - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include -#include -#include - -#include "../backend.h" - -class DepMapConfiguration -{ - public: - DepMapConfiguration(const std::string &name = ""); - virtual ~DepMapConfiguration() {} - std::string name; -}; - -class DepMapBackend : public Backend -{ - public: - - DepMapBackend(Project &project, - Configuration& configuration); - virtual ~DepMapBackend() {} - - virtual void Process(); - - private: - - FILE* m_DepMapFile; - - std::vector m_configurations; - void _generate_depmap ( FILE* OUT ); - void _clean_project_files ( void ); - - struct module_data - { - std::vector libraries; - std::vector references; - - module_data() - {} - ~module_data() - {} - }; - -}; diff --git a/reactos/tools/rbuild/backend/mingw/compilers/gcc.mak b/reactos/tools/rbuild/backend/mingw/compilers/gcc.mak deleted file mode 100644 index 074d107a262..00000000000 --- a/reactos/tools/rbuild/backend/mingw/compilers/gcc.mak +++ /dev/null @@ -1,158 +0,0 @@ -CFLAG_WERROR:=-Werror -CFLAG_CRTDLL:=-D_DLL -D__USE_CRTIMP - -CXXFLAG_WERROR:=-Werror -CXXFLAG_CRTDLL:=-D_DLL -D__USE_CRTIMP - -CPPFLAG_WERROR:=-Werror -CPPFLAG_UNICODE:=-DUNICODE -D_UNICODE - -# FIXME: disabled until RosBE stops sucking -# BUILTIN_CPPFLAGS+= -nostdinc - -#(module, source, dependencies, cflags, output) -define RBUILD_DEPENDS - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_DEPENDS) - $${gcc} -xc -MF $$@ $(4) -M -MP -MT $$@ $$< - -endef - -#(module, source, dependencies, cflags, output) -define RBUILD_CXX_DEPENDS - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_DEPENDS) - $${gpp} -MF $$@ $(4) -M -MP -MT $$@ $$< - -endef - -#(source, cflags) -RBUILD_PIPE_CPP=$${gcc} $(2) -xc -E $(1) -RBUILD_PIPE_CXX_CPP=$${gpp} $(2) -E $(1) - -#(module, source, dependencies, cflags, output) -define RBUILD_CPP - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_CPP) - ${call RBUILD_PIPE_CPP,$$<,$(4)} > $$@ - -endef - -#(module, source, dependencies, cflags, output) -define RBUILD_CXX_CPP - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_CPP) - ${call RBUILD_PIPE_CXX_CPP,$$<,$(4)} > $$@ - -endef - -#(module, source, dependencies, cflags, output) -define RBUILD_CC - -$(2): $${$(1)_precondition} - -ifeq ($(ROS_BUILDDEPS),full) - -${call RBUILD_DEPENDS,$(1),$(2),,${call RBUILD_cflags,$(1),$(4)},$(5).d} --include $(5).d - -$(5): $(2) $(5).d $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${gcc} -o $$@ ${call RBUILD_cflags,$(1),$(4)} -c $$< - -else - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${gcc} -o $$@ ${call RBUILD_cflags,$(1),$(4)} -c $$< - -endif - -endef - -#(module, source, dependencies, cflags, output) -define RBUILD_CXX - -$(2): $${$(1)_precondition} - -ifeq ($(ROS_BUILDDEPS),full) - -${call RBUILD_CXX_DEPENDS,$(1),$(2),,${call RBUILD_cxxflags,$(1),$(4)},$(5).d} --include $(5).d - -$(5): $(2) $(5).d $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${gpp} -o $$@ ${call RBUILD_cxxflags,$(1),$(4)} -c $$< - -else - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${gpp} -o $$@ ${call RBUILD_cxxflags,$(1),$(4)} -c $$< - -endif - -endef - -#(module, source, dependencies, cflags) -RBUILD_CC_RULE=${call RBUILD_CC,$(1),$(2),$(3),$(4),${call RBUILD_intermediate_path_unique,$(1),$(2)}.o} -RBUILD_CXX_RULE=${call RBUILD_CXX,$(1),$(2),$(3),$(4),${call RBUILD_intermediate_path_unique,$(1),$(2)}.o} - -#(module, source, dependencies, cflags) -define RBUILD_CC_PCH_RULE - -$(2): $${$(1)_precondition} - -ifeq ($$(ROS_BUILDDEPS),full) - -${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch.d: $(2) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_DEPENDS) - $${gcc} -MF $$@ ${call RBUILD_cflags,$(1),$(4)} -x c-header -M -MP -MT $$@ $$< - --include $$(intermediate_dir)$$(SEP).gch_$$(module_name)$$(SEP)$(notdir $(2)).gch.d - -${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch: $(2) ${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch.d $(3) | ${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1) - $$(ECHO_PCH) - $${gcc} -o $$@ ${call RBUILD_cflags,$(1),$(4)} -x c-header $$< - -else - -${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch: $(2) $(3) | ${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1) - $$(ECHO_PCH) - $${gcc} -o $$@ ${call RBUILD_cflags,$(1),$(4)} -x c-header $$< - -endif - -endef - -#(module, source, dependencies, cflags) -define RBUILD_CXX_PCH_RULE - -$(2): $${$(1)_precondition} - -ifeq ($$(ROS_BUILDDEPS),full) - -${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch.d: $(2) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_DEPENDS) - $${gpp} -MF $$@ ${call RBUILD_cxxflags,$(1),$(4)} -x c++-header -M -MP -MT $$@ $$< - --include $$(intermediate_dir)$$(SEP).gch_$$(module_name)$$(SEP)$(notdir $(2)).gch.d - -${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch: $(2) ${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch.d $(3) | ${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1) - $$(ECHO_PCH) - $${gpp} -o $$@ ${call RBUILD_cxxflags,$(1),$(4)} -x c++-header $$< - -else - -${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1)$$(SEP)$(notdir $(2)).gch: $(2) $(3) | ${call RBUILD_intermediate_dir,$(2)}$$(SEP).gch_$(1) - $$(ECHO_PCH) - $${gpp} -o $$@ ${call RBUILD_cxxflags,$(1),$(4)} -x c++-header $$< - -endif - -endef - diff --git a/reactos/tools/rbuild/backend/mingw/compilers/msc.mak b/reactos/tools/rbuild/backend/mingw/compilers/msc.mak deleted file mode 100644 index 53d520553a5..00000000000 --- a/reactos/tools/rbuild/backend/mingw/compilers/msc.mak +++ /dev/null @@ -1,101 +0,0 @@ -CFLAGS+= $(_CL_) -_CL_= - -CINCLUDES:=$(INCLUDE) $(CINCLUDES) -INCLUDE= - -CFLAG_WERROR:=/WX -CFLAG_CRTDLL:=/D_DLL /D__USE_CRTIMP /MD - -CXXFLAG_WERROR:=/WX -CXXFLAG_CRTDLL:=/D_DLL /D__USE_CRTIMP /MD - -CPPFLAG_WERROR:=/WX -CPPFLAG_UNICODE:=/DUNICODE /D_UNICODE - -BUILTIN_CPPFLAGS+= /X - -cl=$(Q)$(rbuild_helper_TARGET) "RBUILD_CL_" "$(notdir $<)" cl /nologo - -#(module, source, dependencies, cflags, output) -#TODO -RBUILD_CL_DEPENDS=$$(error Full dependencies are not implemented for Microsoft C/C++ Compiler yet) -RBUILD_DEPENDS=${call RBUILD_CL_DEPENDS,$(1),$(2),$(3),$(4) /TC,$(5)} -RBUILD_CXX_DEPENDS=${call RBUILD_CL_DEPENDS,$(1),$(2),$(3),$(4) /TP,$(5)} - -#(source, cflags) -RBUILD_PIPE_CL_CPP=$${cl} $(2) /E $(1) -RBUILD_PIPE_CPP=${call RBUILD_PIPE_CL_CPP,$(1),$(2) /TC} -RBUILD_PIPE_CXX_CPP=${call RBUILD_PIPE_CL_CPP,$(1),$(2) /TP} - -#(module, source, dependencies, cflags, output) -define RBUILD_CL_CPP - -$(5): $(2) $(3) $$(rbuild_helper_TARGET) | ${call RBUILD_dir,$(5)} - $$(ECHO_CPP) - ${call RBUILD_PIPE_CL_CPP,$$<,$(4)} > $$@ - -endef - -RBUILD_CPP=${call RBUILD_CL_CPP,$(1),$(2),$(3),$(4) /TC,$(5)} -RBUILD_CXX_CPP=${call RBUILD_CL_CPP,$(1),$(2),$(3),$(4) /TP,$(5)} - -#(module, source, dependencies, cflags, output) -define RBUILD_CC - -$(2): $${$(1)_precondition} - -ifeq ($(ROS_BUILDDEPS),full) - -${call RBUILD_DEPENDS,$(1),$(2),,${call RBUILD_cflags,$(1),$(4)},$(5).d} --include $(5).d - -$(5): $(2) $(5).d $(3) $$(rbuild_helper_TARGET) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${cl} /TC /Fo$$@ /Fd$(basename $$@).pdb ${call RBUILD_cflags,$(1),$(4)} /c $$< - -else - -$(5): $(2) $(3) $$(rbuild_helper_TARGET) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${cl} /TC /Fo$$@ /Fd$(basename $$@).pdb ${call RBUILD_cflags,$(1),$(4)} /c $$< - -endif - -endef - -#(module, source, dependencies, cflags, output) -define RBUILD_CXX - -$(2): $${$(1)_precondition} - -ifeq ($(ROS_BUILDDEPS),full) - -${call RBUILD_CXX_DEPENDS,$(1),$(2),,${call RBUILD_cflags,$(1),$(4)},$(5).d} --include $(5).d - -$(5): $(2) $(5).d $(3) $$(rbuild_helper_TARGET) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${cl} /TP /Fo$$@ /Fd$(basename $$@).pdb ${call RBUILD_cxxflags,$(1),$(4)} /c $$< - -else - -$(5): $(2) $(3) $$(rbuild_helper_TARGET) | ${call RBUILD_dir,$(5)} - $$(ECHO_CC) - $${cl} /TP /Fo$$@ /Fd$(basename $$@).pdb ${call RBUILD_cxxflags,$(1),$(4)} /c $$< - -endif - -endef - -#(module, source, dependencies, cflags) -RBUILD_CC_RULE=${call RBUILD_CC,$(1),$(2),$(3),$(4),${call RBUILD_intermediate_path_unique,$(1),$(2)}.o} -RBUILD_CXX_RULE=${call RBUILD_CXX,$(1),$(2),$(3),$(4),${call RBUILD_intermediate_path_unique,$(1),$(2)}.o} - -#(module, source, dependencies, cflags) -#TODO -RBUILD_CC_PCH_RULE=$$(error Precompiled headers are not implemented for Microsoft C/C++ Compiler yet) - -#(module, source, dependencies, cflags) -#TODO -RBUILD_CXX_PCH_RULE=$$(error Precompiled headers are not implemented for Microsoft C/C++ Compiler yet) diff --git a/reactos/tools/rbuild/backend/mingw/linkers/ld.mak b/reactos/tools/rbuild/backend/mingw/linkers/ld.mak deleted file mode 100644 index d7fc3b78e40..00000000000 --- a/reactos/tools/rbuild/backend/mingw/linkers/ld.mak +++ /dev/null @@ -1,90 +0,0 @@ -# -exclude-all-symbols disables autoexporting all symbols *if none were found* (either in a DEF file or using __declspec(dllexport) -LDFLAG_DLL:=--shared --exclude-all-symbols -LDFLAG_DRIVER:=--shared --subsystem=native --exclude-all-symbols -LDFLAG_NOSTDLIB:=--nostartfiles --nostdlib -LDFLAG_CONSOLE:=--subsystem=console -LDFLAG_WINDOWS:=--subsystem=windows -LDFLAG_NATIVE:=--subsystem=native - -LDFLAG_EXCLUDE_ALL_SYMBOLS=--exclude-all-symbols -DLLTOOL_FLAGS=--kill-at -ifeq ($(ARCH),amd64) - DLLTOOL_FLAGS= --no-leading-underscore -endif - -#~ #(module, objs, deps, ldflags, output, def, libs, entry, base) -#(module, objs, deps, ldflags, output, def, libs, entry, base, extralibs) -define RBUILD_LINK - -ifneq ($(6),) -${call RBUILD_intermediate_dir,$(5)}$$(SEP)lib${call RBUILD_name,$(5)}.a: $(6) | ${call RBUILD_intermediate_path,$(5)} - $$(ECHO_IMPLIB) - $${dlltool} --def $(6) $(DLLTOOL_FLAGS) --output-lib=$$@ - -${call RBUILD_intermediate_dir,$(5)}$$(SEP)lib${call RBUILD_name,$(5)}.delayimp.a: $(6) | ${call RBUILD_intermediate_path,$(5)} - $$(ECHO_IMPLIB) - $${dlltool} --def $(6) $(DLLTOOL_FLAGS) --output-delaylib=$$@ - -${call RBUILD_intermediate_path_noext,$(5)}.exp: $(6) | ${call RBUILD_intermediate_path,$(5)} - $$(ECHO_IMPLIB) - $${dlltool} --def $(6) $(DLLTOOL_FLAGS) --output-exp=$$@ - -$(1)_CLEANFILES+=\ - ${call RBUILD_intermediate_dir,$(5)}$$(SEP)lib$(notdir $(5)).a \ - ${call RBUILD_intermediate_dir,$(5)}$$(SEP)lib$(notdir $(5)).delayimp.a \ - ${call RBUILD_intermediate_path_noext,$(5)}.exp -endif - -# TODO: refactor this out of here and into rules.mak -${call RBUILD_intermediate_dir,$(5)}$$(SEP)$(1)_objs.rsp: $(2) $$(if $(6),${call RBUILD_intermediate_path_noext,$(5)}.exp) $(3) | ${call RBUILD_intermediate_dir,$(5)} - $$(ECHO_RSP) - -@$${rm} $$@ 2>$$(NUL) - $${cp} $$(NUL) $$@ >$$(NUL) - $$(foreach obj,$(2) $$(if $(6),${call RBUILD_intermediate_path_noext,$(5)}.exp),$$(Q)echo $$(QUOTE)$$(subst \,\\,$$(obj))$$(QUOTE)>>$$@$$(NL)) - -$(1)_CLEANFILES+=${call RBUILD_intermediate_dir,$(5)}$$(SEP)$(1)_objs.rsp - -$(5): ${call RBUILD_intermediate_dir,$(5)}$$(SEP)$(1)_objs.rsp $(7) $(3) $$(RSYM_TARGET) $$(PEFIXUP_TARGET) | ${call RBUILD_dir,$(5)} - $$(ECHO_LD) -#~ $${ld} --entry=$(8) --image-base=$(9) @${call RBUILD_intermediate_dir,$(5)}$$(SEP)$(1)_objs.rsp $(7) ${call RBUILD_ldflags,$(1),$(4)} -o $$@ - $${ld} --entry=$(8) --image-base=$(9) @${call RBUILD_intermediate_dir,$(5)}$$(SEP)$(1)_objs.rsp --start-group $(10) $(7) --end-group ${call RBUILD_ldflags,$(1),$(4)} -o $$@ -ifneq ($(or $(6),$$(MODULETYPE$$($(1)_TYPE)_KMODE)),) - $$(ECHO_PEFIXUP) - $$(Q)$$(PEFIXUP_TARGET) $$@ $(if $(6),-exports) $$(if $$(MODULETYPE$($(1)_TYPE)_KMODE),-sections) -endif -ifeq ($(ROS_BUILDMAP),full) - $$(ECHO_OBJDUMP) - $${objdump} -d -S $$@ > ${call RBUILD_output_path_noext,$(5)}.map -else -ifeq ($(ROS_BUILDMAP),yes) - $$(ECHO_NM) - $${nm} --numeric-sort $$@ > ${call RBUILD_output_path_noext,$(5)}.map -endif -endif -ifeq ($(ROS_BUILDNOSTRIP),yes) - $$(ECHO_CP) - $${cp} $(5) $(basename $(5)).nostrip$(suffix $(5)) 1>$(NUL) -endif -ifneq ($(ROS_GENERATE_RSYM),no) - $$(ECHO_RSYM) - $$(Q)$$(RSYM_TARGET) $$@ $$@ -endif -ifeq ($(ROS_LEAN_AND_MEAN),yes) - $$(ECHO_STRIP) - $${strip} -s -x -X $$@ -endif - -ifneq ($(ROS_BUILDMAP),) -$(1)_CLEANFILES+=${call RBUILD_output_path_noext,$(5)}.map -endif - -ifeq ($(ROS_BUILDNOSTRIP),yes) -$(1)_CLEANFILES+=$(basename $(5)).nostrip$(suffix $(5)) -endif - -endef - -#~ #(module, def, deps, ldflags, libs, entry, base) -#~ RBUILD_LINK_RULE=${call RBUILD_LINK,$(1),$(value $(1)_OBJS),$(3),$(4),$(value $(1)_TARGET),$(2),$(5) $(value $(1)_LIBS) $(5),$(6),$(7)} -#(module, def, deps, ldflags, libs, entry, base, extralibs) -RBUILD_LINK_RULE=${call RBUILD_LINK,$(1),$(value $(1)_OBJS),$(3),$(4),$(value $(1)_TARGET),$(2),$(value $(1)_LIBS),$(6),$(7),$(5)} diff --git a/reactos/tools/rbuild/backend/mingw/linkers/mslink.mak b/reactos/tools/rbuild/backend/mingw/linkers/mslink.mak deleted file mode 100644 index 464090415c4..00000000000 --- a/reactos/tools/rbuild/backend/mingw/linkers/mslink.mak +++ /dev/null @@ -1 +0,0 @@ -# TODO diff --git a/reactos/tools/rbuild/backend/mingw/mingw.cpp b/reactos/tools/rbuild/backend/mingw/mingw.cpp deleted file mode 100644 index 4d29b3e20c5..00000000000 --- a/reactos/tools/rbuild/backend/mingw/mingw.cpp +++ /dev/null @@ -1,1377 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * 2006 Christoph von Wittich - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "../../pch.h" - -#include "mingw.h" -#include -#include "modulehandler.h" - -#ifdef _MSC_VER -#define popen _popen -#define pclose _pclose -#endif//_MSC_VER - -using std::string; -using std::vector; -using std::set; -using std::map; - -typedef set set_string; - -const struct ModuleHandlerInformations ModuleHandlerInformations[] = { - { HostTrue, "", "", "" }, // BuildTool - { HostFalse, "", "", "" }, // StaticLibrary - { HostFalse, "", "", "" }, // ObjectLibrary - { HostFalse, "", "", "$(LDFLAG_DRIVER)" }, // Kernel - { HostFalse, "", "", "$(LDFLAG_DRIVER)" }, // KernelModeDLL - { HostFalse, "-D__NTDRIVER__", "", "$(LDFLAG_DRIVER)" }, // KernelModeDriver - { HostFalse, "", "", "$(LDFLAG_DLL)" }, // NativeDLL - { HostFalse, "-D__NTAPP__", "", "$(LDFLAG_NATIVE)" }, // NativeCUI - { HostFalse, "", "", "$(LDFLAG_DLL)" }, // Win32DLL - { HostFalse, "", "", "$(LDFLAG_DLL)" }, // Win32OCX - { HostFalse, "", "", "$(LDFLAG_CONSOLE)" }, // Win32CUI - { HostFalse, "", "", "$(LDFLAG_WINDOWS)" }, // Win32GUI - { HostFalse, "", "", "$(LDFLAG_DRIVER)" }, // BootLoader - { HostFalse, "", "-f bin", "" }, // BootSector - { HostFalse, "", "", "" }, // Iso - { HostFalse, "", "", "" }, // LiveIso - { HostFalse, "", "", "" }, // Test - { HostFalse, "", "", "" }, // RpcServer - { HostFalse, "", "", "" }, // RpcClient - { HostFalse, "", "", "" }, // Alias - { HostFalse, "", "", "" }, // BootProgram - { HostFalse, "", "", "$(LDFLAG_WINDOWS)" }, // Win32SCR - { HostFalse, "", "", "" }, // IdlHeader - { HostFalse, "", "", "" }, // IdlInterface - { HostFalse, "", "", "" }, // EmbeddedTypeLib - { HostFalse, "", "", "" }, // ElfExecutable - { HostFalse, "", "", "" }, // RpcProxy - { HostTrue, "", "", "" }, // HostStaticLibrary - { HostFalse, "", "", "" }, // Cabinet - { HostFalse, "", "", "$(LDFLAG_DLL)" }, // KeyboardLayout - { HostFalse, "", "", "" }, // MessageHeader -}; - -static std::string mscPath; -static std::string mslinkPath; - -string -MingwBackend::GetFullPath ( const FileLocation& file ) const -{ - MingwModuleHandler::PassThruCacheDirectory ( &file ); - - string directory; - switch ( file.directory ) - { - case SourceDirectory: - directory = ""; - break; - case IntermediateDirectory: - directory = "$(INTERMEDIATE)"; - break; - case OutputDirectory: - directory = "$(OUTPUT)"; - break; - case InstallDirectory: - directory = "$(INSTALL)"; - break; - case TemporaryDirectory: - directory = "$(TEMPORARY)"; - break; - default: - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %d.", - file.directory ); - } - - if ( file.relative_path.length () > 0 ) - { - if ( directory.length () > 0 ) - directory += sSep; - directory += file.relative_path; - } - return directory; -} - -string -MingwBackend::GetFullName ( const FileLocation& file ) const -{ - string directory; - switch ( file.directory ) - { - case SourceDirectory: - directory = ""; - break; - case IntermediateDirectory: - directory = "$(INTERMEDIATE)"; - break; - case OutputDirectory: - directory = "$(OUTPUT)"; - break; - case InstallDirectory: - directory = "$(INSTALL)"; - break; - case TemporaryDirectory: - directory = "$(TEMPORARY)"; - break; - default: - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %d.", - file.directory ); - } - - if ( file.relative_path.length () > 0 ) - { - if ( directory.length () > 0 ) - directory += sSep; - directory += file.relative_path; - } - - if ( directory.length () > 0 ) - directory += sSep; - - return directory + file.name; -} - -string -MingwBackend::GetFullNamePrefixSpaces ( const FileLocation& file ) const -{ - string fullname = GetFullName ( file ); - - size_t pos = 0; - while ( true ) - { - pos = fullname.find ( ' ', pos ); - if ( pos == fullname.npos ) - break; - fullname.replace ( pos, 1, "\\ " ); - pos += 2; - } - - return fullname; -} - -string -MingwBackend::v2s ( const vector& files, int wrap_at, bool prefixSpaces ) const -{ - if ( !files.size() ) - return ""; - string s; - int wrap_count = 0; - for ( size_t i = 0; i < files.size(); i++ ) - { - const FileLocation& file = files[i]; - if ( wrap_at > 0 && wrap_count++ == wrap_at ) - { - s += " \\\n\t\t"; - wrap_count = 1; - } - else if ( s.size() ) - s += " "; - if (prefixSpaces) - s += GetFullNamePrefixSpaces ( file ); - else - s += GetFullName ( file ); - } - return s; -} - -string -MingwBackend::v2s ( const string_list& v, int wrap_at ) const -{ - if ( !v.size() ) - return ""; - string s; - int wrap_count = 0; - for ( size_t i = 0; i < v.size(); i++ ) - { - if ( !v[i].size() ) - continue; - if ( wrap_at > 0 && wrap_count++ == wrap_at ) - { - s += " \\\n\t\t"; - wrap_count = 1; - } - else if ( s.size() ) - s += " "; - s += v[i]; - } - return s; -} - -static class MingwFactory : public Backend::Factory -{ -public: - MingwFactory() : Factory ( "mingw", "Minimalist GNU Win32" ) {} - Backend* operator() ( Project& project, - Configuration& configuration ) - { - return new MingwBackend ( project, - configuration ); - } -} factory; - - -MingwBackend::MingwBackend ( Project& project, - Configuration& configuration ) - : Backend ( project, configuration ), - manualBinutilsSetting( false ), - intermediateDirectory ( new Directory ( "" ) ), - outputDirectory ( new Directory ( "" ) ), - installDirectory ( new Directory ( "" ) ) -{ - compilerPrefix = ""; -} - -MingwBackend::~MingwBackend() -{ - delete intermediateDirectory; - delete outputDirectory; - delete installDirectory; -} - -string -MingwBackend::AddDirectoryTarget ( const string& directory, - Directory* directoryTree ) -{ - if ( directory.length () > 0) - directoryTree->Add ( directory.c_str() ); - return directoryTree->name; -} - -bool -MingwBackend::CanEnablePreCompiledHeaderSupportForModule ( const Module& module ) -{ - if ( !configuration.CompilationUnitsEnabled ) - return true; - - const vector& compilationUnits = module.non_if_data.compilationUnits; - size_t i; - for ( i = 0; i < compilationUnits.size (); i++ ) - { - CompilationUnit& compilationUnit = *compilationUnits[i]; - if ( compilationUnit.GetFiles ().size () != 1 ) - return false; - } - return true; -} - -void -MingwBackend::ProcessModules () -{ - printf ( "Processing modules..." ); - - vector v; - size_t i; - - for ( std::map::iterator p = ProjectNode.modules.begin (); p != ProjectNode.modules.end (); ++ p ) - fprintf ( fMakefile, "%s_TYPE:=%u\n", p->second->name.c_str(), p->second->type ); - - for ( std::map::iterator p = ProjectNode.modules.begin (); p != ProjectNode.modules.end (); ++ p ) - { - Module& module = *p->second; - if ( !module.enabled ) - continue; - MingwModuleHandler* h = MingwModuleHandler::InstanciateHandler ( - module, - this ); - h->AddImplicitLibraries ( module ); - if ( use_pch && CanEnablePreCompiledHeaderSupportForModule ( module ) ) - h->EnablePreCompiledHeaderSupport (); - v.push_back ( h ); - } - - size_t iend = v.size (); - - for ( i = 0; i < iend; i++ ) - v[i]->GenerateSourceMacro(); - for ( i = 0; i < iend; i++ ) - v[i]->GenerateObjectMacro(); - fprintf ( fMakefile, "\n" ); - for ( i = 0; i < iend; i++ ) - v[i]->GenerateTargetMacro(); - fprintf ( fMakefile, "\n" ); - - GenerateAllTarget ( v ); - GenerateRegTestsRunTarget (); - - for ( i = 0; i < iend; i++ ) - v[i]->GenerateOtherMacros(); - - for ( i = 0; i < iend; i++ ) - { - MingwModuleHandler& h = *v[i]; - h.GeneratePreconditionDependencies (); - h.Process (); - h.GenerateInvocations (); - h.GenerateCleanTarget (); - h.GenerateInstallTarget (); - h.GenerateDependsTarget (); - delete v[i]; - } - - printf ( "done\n" ); -} - -void -MingwBackend::Process () -{ - if ( configuration.CheckDependenciesForModuleOnly ) - CheckAutomaticDependenciesForModuleOnly (); - else - ProcessNormal (); -} - -void -MingwBackend::CheckAutomaticDependenciesForModuleOnly () -{ - if ( configuration.Dependencies == AutomaticDependencies ) - { - Module* module = ProjectNode.LocateModule ( configuration.CheckDependenciesForModuleOnlyModule ); - if ( module == NULL ) - { - printf ( "Module '%s' does not exist\n", - configuration.CheckDependenciesForModuleOnlyModule.c_str () ); - return; - } - - printf ( "Checking automatic dependencies for module '%s'...", - module->name.c_str () ); - AutomaticDependency automaticDependency ( ProjectNode ); - automaticDependency.CheckAutomaticDependenciesForModule ( *module, - configuration.Verbose ); - printf ( "done\n" ); - } -} - -void -MingwBackend::ProcessNormal () -{ - assert(sizeof(ModuleHandlerInformations)/sizeof(ModuleHandlerInformations[0]) == TypeDontCare); - - DetectCompiler (); - DetectBinutils (); - DetectNetwideAssembler (); - DetectPipeSupport (); - DetectPCHSupport (); - CreateMakefile (); - GenerateHeader (); - GenerateGlobalVariables (); - GenerateXmlBuildFilesMacro (); - ProcessModules (); - GenerateInstallTarget (); - GenerateTestTarget (); - GenerateDirectoryTargets (); - GenerateDirectories (); - GenerateTestSupportCode (); - GenerateCompilationUnitSupportCode (); - GenerateSysSetup (); - GenerateProxyMakefiles (); - CheckAutomaticDependencies (); - CloseMakefile (); -} - -void -MingwBackend::CreateMakefile () -{ - fMakefile = fopen ( ProjectNode.makefile.c_str (), "w" ); - if ( !fMakefile ) - throw AccessDeniedException ( ProjectNode.makefile ); - MingwModuleHandler::SetBackend ( this ); - MingwModuleHandler::SetMakefile ( fMakefile ); -} - -void -MingwBackend::CloseMakefile () const -{ - if (fMakefile) - fclose ( fMakefile ); -} - -void -MingwBackend::GenerateHeader () const -{ - fprintf ( fMakefile, "# THIS FILE IS AUTOMATICALLY GENERATED, EDIT '%s' INSTEAD\n\n", - ProjectNode.GetProjectFilename ().c_str () ); -} - -void -MingwBackend::GenerateGlobalProperties ( - const char* assignmentOperation, - const IfableData& data ) const -{ - for ( std::map::const_iterator p = data.properties.begin(); p != data.properties.end(); ++ p ) - { - Property& prop = *p->second; - - if (!prop.isInternal) - { - fprintf ( fMakefile, "%s := %s\n", - prop.name.c_str(), - prop.value.c_str() ); - } - } -} - -string -MingwBackend::GenerateProjectLDFLAGS () const -{ - string ldflags; - for ( size_t i = 0; i < ProjectNode.linkerFlags.size (); i++ ) - { - LinkerFlag& linkerFlag = *ProjectNode.linkerFlags[i]; - if ( ldflags.length () > 0 ) - ldflags += " "; - ldflags += linkerFlag.flag; - } - return ldflags; -} - -void -MingwBackend::GenerateGlobalVariables () const -{ - fputs ( "include tools$(SEP)rbuild$(SEP)backend$(SEP)mingw$(SEP)rules.mak\n", fMakefile ); - fprintf ( fMakefile, "include tools$(SEP)rbuild$(SEP)backend$(SEP)mingw$(SEP)linkers$(SEP)%s.mak\n", ProjectNode.GetLinkerSet ().c_str () ); - fprintf ( fMakefile, "include tools$(SEP)rbuild$(SEP)backend$(SEP)mingw$(SEP)compilers$(SEP)%s.mak\n", ProjectNode.GetCompilerSet ().c_str () ); - - if ( mscPath.length() ) - fprintf ( fMakefile, "export RBUILD_CL_PATH=%s\n", mscPath.c_str () ); - - if ( mslinkPath.length() ) - fprintf ( fMakefile, "export RBUILD_LINK_PATH=%s\n", mslinkPath.c_str () ); - - if ( configuration.Dependencies == FullDependencies ) - { - fprintf ( fMakefile, - "ifeq ($(ROS_BUILDDEPS),)\n" - "ROS_BUILDDEPS:=%s\n" - "endif\n", - "full" ); - } - - fprintf ( fMakefile, - "PREFIX := %s\n", - compilerPrefix.c_str () ); - fprintf ( fMakefile, - "nasm := $(Q)%s\n", - nasmCommand.c_str () ); - - GenerateGlobalProperties ( "=", ProjectNode.non_if_data ); - - if ( ProjectNode.configuration.Compiler == GnuGcc ) - { - fprintf ( fMakefile, "ifneq ($(OARCH),)\n" ); - fprintf ( fMakefile, "PROJECT_ASFLAGS += -march=$(OARCH)\n" ); - fprintf ( fMakefile, "PROJECT_CFLAGS += -march=$(OARCH)\n" ); - fprintf ( fMakefile, "PROJECT_CXXFLAGS += -march=$(OARCH)\n" ); - fprintf ( fMakefile, "endif\n" ); - fprintf ( fMakefile, "ifneq ($(TUNE),)\n" ); - fprintf ( fMakefile, "PROJECT_CFLAGS += -mtune=$(TUNE)\n" ); - fprintf ( fMakefile, "PROJECT_CXXFLAGS += -mtune=$(TUNE)\n" ); - fprintf ( fMakefile, "endif\n" ); - - if ( usePipe ) - { - fprintf ( fMakefile, "PROJECT_CFLAGS += -pipe\n" ); - fprintf ( fMakefile, "PROJECT_CXXFLAGS += -pipe\n" ); - fprintf ( fMakefile, "PROJECT_ASFLAGS += -pipe\n" ); - } - - // Would be nice to have our own C++ runtime - fputs ( "BUILTIN_CXXINCLUDES+= $(TARGET_CPPFLAGS)\n", fMakefile ); - - fprintf ( fMakefile, "PROJECT_CCLIBS := \"$(shell ${TARGET_CC} -print-libgcc-file-name)\"\n" ); - - fprintf ( fMakefile, "PROJECT_CXXLIBS := \"$(shell ${TARGET_CPP} -print-file-name=libsupc++.a)\" \"$(shell ${TARGET_CPP} -print-file-name=libstdc++.a)\" \"$(shell ${TARGET_CPP} -print-libgcc-file-name)\" \"$(shell ${TARGET_CPP} -print-file-name=libmingw32.a)\" \"$(shell ${TARGET_CPP} -print-file-name=libmingwex.a)\"" ); - - /* hack to get _get_output_format, needed by libmingwex */ - if (Environment::GetArch() == "i386") - fprintf ( fMakefile, " \"$(shell ${TARGET_CPP} -print-file-name=libcoldname.a)\" "); - fprintf ( fMakefile,"\n"); - } - MingwModuleHandler::GenerateParameters ( "PROJECT", "+=", ProjectNode.non_if_data ); - MingwModuleHandler::GenerateParameters ( "PROJECT_HOST", "+=", ProjectNode.host_non_if_data ); - - fprintf ( fMakefile, "PROJECT_LDFLAGS := %s\n", GenerateProjectLDFLAGS ().c_str () ); - - // TODO: use symbolic names for module types - for ( size_t i = 0; i < sizeof(ModuleHandlerInformations) / sizeof(ModuleHandlerInformations[0]); ++ i ) - { - if ( ModuleHandlerInformations[i].cflags && ModuleHandlerInformations[i].cflags[0] ) - { - fprintf ( fMakefile, - "MODULETYPE%d_%sFLAGS:=%s\n", - (int)i, - "C", - ModuleHandlerInformations[i].cflags ); - } - - if ( ModuleHandlerInformations[i].nasmflags && ModuleHandlerInformations[i].nasmflags[0] ) - { - fprintf ( fMakefile, - "MODULETYPE%d_%sFLAGS:=%s\n", - (int)i, - "NASM", - ModuleHandlerInformations[i].nasmflags ); - } - - if ( ModuleHandlerInformations[i].linkerflags && ModuleHandlerInformations[i].linkerflags[0] ) - { - fprintf ( fMakefile, - "MODULETYPE%d_%sFLAGS:=%s\n", - (int)i, - "LD", - ModuleHandlerInformations[i].linkerflags ); - } - } - - fprintf ( fMakefile, - "MODULETYPE%d_KMODE:=yes\n", - (int)Kernel ); - - fprintf ( fMakefile, - "MODULETYPE%d_KMODE:=yes\n", - (int)KernelModeDLL ); - - fprintf ( fMakefile, - "MODULETYPE%d_KMODE:=yes\n", - (int)KernelModeDriver ); - - fprintf ( fMakefile, "\n" ); -} - -bool -MingwBackend::IncludeInAllTarget ( const Module& module ) const -{ - if ( MingwModuleHandler::ReferenceObjects ( module ) ) - return false; - if ( module.type == BootSector ) - return false; - if ( module.type == Iso ) - return false; - if ( module.type == LiveIso ) - return false; - if ( module.type == Test ) - return false; - if ( module.type == Alias ) - return false; - return true; -} - -void -MingwBackend::GenerateAllTarget ( const vector& handlers ) const -{ - fprintf ( fMakefile, "all:" ); - int wrap_count = 0; - size_t iend = handlers.size (); - for ( size_t i = 0; i < iend; i++ ) - { - const Module& module = handlers[i]->module; - if ( IncludeInAllTarget ( module ) ) - { - if ( wrap_count++ == 5 ) - fprintf ( fMakefile, " \\\n\t\t" ), wrap_count = 0; - fprintf ( fMakefile, - " %s", - GetTargetMacro(module).c_str () ); - } - } - fprintf ( fMakefile, "\n\t\n\n" ); -} - -void -MingwBackend::GenerateRegTestsRunTarget () const -{ - fprintf ( fMakefile, - "REGTESTS_RUN_TARGET = regtests.dll\n" ); - fprintf ( fMakefile, - "$(REGTESTS_RUN_TARGET): $(REGTESTS_TARGET)\n" ); - fprintf ( fMakefile, - "\t$(cp) $(REGTESTS_TARGET) $(REGTESTS_RUN_TARGET)\n" ); - fprintf ( fMakefile, "\n" ); -} - -void -MingwBackend::GenerateXmlBuildFilesMacro() const -{ - fprintf ( fMakefile, - "XMLBUILDFILES = %s \\\n", - ProjectNode.GetProjectFilename ().c_str () ); - string xmlbuildFilenames; - int numberOfExistingFiles = 0; - struct stat statbuf; - time_t SystemTime, lastWriteTime; - - for ( size_t i = 0; i < ProjectNode.xmlbuildfiles.size (); i++ ) - { - XMLInclude& xmlbuildfile = *ProjectNode.xmlbuildfiles[i]; - if ( !xmlbuildfile.fileExists ) - continue; - numberOfExistingFiles++; - if ( xmlbuildFilenames.length () > 0 ) - xmlbuildFilenames += " "; - - FILE* f = fopen ( xmlbuildfile.topIncludeFilename.c_str (), "rb" ); - if ( !f ) - throw FileNotFoundException ( NormalizeFilename ( xmlbuildfile.topIncludeFilename ) ); - - if ( fstat ( fileno ( f ), &statbuf ) != 0 ) - { - fclose ( f ); - throw AccessDeniedException ( NormalizeFilename ( xmlbuildfile.topIncludeFilename ) ); - } - - lastWriteTime = statbuf.st_mtime; - SystemTime = time(NULL); - - if (SystemTime != -1) - { - if (difftime (lastWriteTime, SystemTime) > 0) - throw InvalidDateException ( NormalizeFilename ( xmlbuildfile.topIncludeFilename ) ); - } - - fclose ( f ); - - xmlbuildFilenames += NormalizeFilename ( xmlbuildfile.topIncludeFilename ); - if ( numberOfExistingFiles % 5 == 4 || i == ProjectNode.xmlbuildfiles.size () - 1 ) - { - fprintf ( fMakefile, - "\t%s", - xmlbuildFilenames.c_str ()); - if ( i == ProjectNode.xmlbuildfiles.size () - 1 ) - { - fprintf ( fMakefile, "\n" ); - } - else - { - fprintf ( fMakefile, - " \\\n" ); - } - xmlbuildFilenames.resize ( 0 ); - } - numberOfExistingFiles++; - } - fprintf ( fMakefile, "\n" ); -} - -void -MingwBackend::GenerateTestSupportCode () -{ - printf ( "Generating test support code..." ); - TestSupportCode testSupportCode ( ProjectNode ); - testSupportCode.GenerateTestSupportCode ( configuration.Verbose ); - printf ( "done\n" ); -} - -void -MingwBackend::GenerateCompilationUnitSupportCode () -{ - if ( configuration.CompilationUnitsEnabled ) - { - printf ( "Generating compilation unit support code..." ); - CompilationUnitSupportCode compilationUnitSupportCode ( ProjectNode ); - compilationUnitSupportCode.Generate ( configuration.Verbose ); - printf ( "done\n" ); - } -} - -void -MingwBackend::GenerateSysSetup () -{ - printf ( "Generating syssetup.inf..." ); - SysSetupGenerator sysSetupGenerator ( ProjectNode ); - sysSetupGenerator.Generate (); - printf ( "done\n" ); -} - -string -MingwBackend::GetProxyMakefileTree () const -{ - if ( configuration.GenerateProxyMakefilesInSourceTree ) - return ""; - else - return Environment::GetOutputPath (); -} - -void -MingwBackend::GenerateProxyMakefiles () -{ - printf ( "Generating proxy makefiles..." ); - ProxyMakefile proxyMakefile ( ProjectNode ); - proxyMakefile.GenerateProxyMakefiles ( configuration.Verbose, - GetProxyMakefileTree () ); - printf ( "done\n" ); -} - -void -MingwBackend::CheckAutomaticDependencies () -{ - if ( configuration.Dependencies == AutomaticDependencies ) - { - printf ( "Checking automatic dependencies..." ); - AutomaticDependency automaticDependency ( ProjectNode ); - automaticDependency.CheckAutomaticDependencies ( configuration.Verbose ); - printf ( "done\n" ); - } -} - -void -MingwBackend::GenerateDirectories () -{ - printf ( "Creating directories..." ); - intermediateDirectory->GenerateTree ( IntermediateDirectory, configuration.Verbose ); - outputDirectory->GenerateTree ( OutputDirectory, configuration.Verbose ); - if ( !configuration.MakeHandlesInstallDirectories ) - installDirectory->GenerateTree ( InstallDirectory, configuration.Verbose ); - printf ( "done\n" ); -} - -bool -MingwBackend::TryToDetectThisCompiler ( const string& compiler ) -{ - string command = ssprintf ( - "%s -v 1>%s 2>%s", - FixSeparatorForSystemCommand(compiler).c_str (), - NUL, - NUL ); - int exitcode = system ( command.c_str () ); - return (bool) (exitcode == 0); -} - -void -MingwBackend::DetectCompiler () -{ - printf ( "Detecting compiler..." ); - - bool detectedCompiler = false; - bool supportedCompiler = false; - string compilerVersion; - - if ( ProjectNode.configuration.Compiler == GnuGcc ) - { - const string& TARGET_CCValue = Environment::GetVariable ( "TARGET_CC" ); - const string& ROS_PREFIXValue = Environment::GetVariable ( "ROS_PREFIX" ); - - if ( TARGET_CCValue.length () > 0 ) - { - compilerPrefix = ""; - compilerCommand = TARGET_CCValue; - detectedCompiler = TryToDetectThisCompiler ( compilerCommand ); - } - - if ( !detectedCompiler ) - { - if ( ROS_PREFIXValue.length () > 0 ) - { - compilerPrefix = ROS_PREFIXValue; - compilerCommand = compilerPrefix + "-gcc"; - detectedCompiler = TryToDetectThisCompiler ( compilerCommand ); - } - } -#if defined(WIN32) - if ( !detectedCompiler ) - { - compilerPrefix = ""; - compilerCommand = "gcc"; - detectedCompiler = TryToDetectThisCompiler ( compilerCommand ); - } -#endif - if ( !detectedCompiler ) - { - compilerPrefix = "mingw32"; - compilerCommand = compilerPrefix + "-gcc"; - detectedCompiler = TryToDetectThisCompiler ( compilerCommand ); - } - - if ( detectedCompiler ) - compilerVersion = GetCompilerVersion ( compilerCommand ); - - supportedCompiler = IsSupportedCompilerVersion ( compilerVersion ); - } - else if ( ProjectNode.configuration.Compiler == MicrosoftC ) - { - compilerCommand = "cl"; - detectedCompiler = DetectMicrosoftCompiler ( compilerVersion, mscPath ); - supportedCompiler = true; // TODO - } - - if ( detectedCompiler ) - { - if ( supportedCompiler ) - printf ( "detected (%s %s)\n", compilerCommand.c_str (), compilerVersion.c_str() ); - else - { - printf ( "detected (%s), but with unsupported version (%s)\n", - compilerCommand.c_str (), - compilerVersion.c_str () ); - throw UnsupportedBuildToolException ( compilerCommand, compilerVersion ); - } - } - else - printf ( "not detected\n" ); - -} - -bool -MingwBackend::TryToDetectThisNetwideAssembler ( const string& assembler ) -{ - string command = ssprintf ( - "%s -h 1>%s 2>%s", - FixSeparatorForSystemCommand(assembler).c_str (), - NUL, - NUL ); - int exitcode = system ( command.c_str () ); - return (bool) (exitcode == 0); -} - -string -MingwBackend::GetVersionString ( const string& versionCommand ) -{ - FILE *fp; - int ch, i; - size_t newline; - char buffer[81]; - - fp = popen ( versionCommand.c_str () , "r" ); - for( i = 0; - ( i < 80 ) && - ( feof ( fp ) == 0 && - ( ( ch = fgetc( fp ) ) != -1 ) ); - i++ ) - { - buffer[i] = (char) ch; - } - buffer[i] = '\0'; - pclose ( fp ); - - char separators[] = " ()\n"; - char *token; - char *prevtoken = NULL; - - string version; - - token = strtok ( buffer, separators ); - while ( token != NULL ) - { - prevtoken = token; - version = string( prevtoken ); - if ( (newline = version.find('\n')) != std::string::npos ) - version.erase(newline, 1); - if ( version.find('.') != std::string::npos ) - break; - token = strtok ( NULL, separators ); - } - return version; -} - -string -MingwBackend::GetNetwideAssemblerVersion ( const string& nasmCommand ) -{ - string versionCommand; - if ( nasmCommand.find("yasm") != std::string::npos ) - { - versionCommand = ssprintf ( "%s --version", - nasmCommand.c_str (), - NUL, - NUL ); - } - else - { - versionCommand = ssprintf ( "%s -v", - nasmCommand.c_str (), - NUL, - NUL ); - } - return GetVersionString( versionCommand ); -} - -string -MingwBackend::GetCompilerVersion ( const string& compilerCommand ) -{ - string versionCommand = ssprintf ( "%s --version", - compilerCommand.c_str (), - NUL, - NUL ); - return GetVersionString( versionCommand ); -} - -string -MingwBackend::GetBinutilsVersion ( const string& binutilsCommand ) -{ - string versionCommand = ssprintf ( "%s -v", - binutilsCommand.c_str (), - NUL, - NUL ); - return GetVersionString( versionCommand ); -} - -bool -MingwBackend::IsSupportedCompilerVersion ( const string& compilerVersion ) -{ - if ( strcmp ( compilerVersion.c_str (), "4.4.0") < 0 ) - return false; - else - return true; -} - -bool -MingwBackend::TryToDetectThisBinutils ( const string& binutils ) -{ - string command = ssprintf ( - "%s -v 1>%s 2>%s", - FixSeparatorForSystemCommand(binutils).c_str (), - NUL, - NUL ); - int exitcode = system ( command.c_str () ); - return (exitcode == 0); -} - -string -MingwBackend::GetBinutilsVersionDate ( const string& binutilsCommand ) -{ - FILE *fp; - int ch, i; - char buffer[81]; - - string versionCommand = ssprintf ( "%s -v", - binutilsCommand.c_str (), - NUL, - NUL ); - fp = popen ( versionCommand.c_str () , "r" ); - for( i = 0; - ( i < 80 ) && - ( feof ( fp ) == 0 && - ( ( ch = fgetc( fp ) ) != -1 ) ); - i++ ) - { - buffer[i] = (char) ch; - } - buffer[i] = '\0'; - pclose ( fp ); - - char separators[] = " "; - char *token; - char *prevtoken = NULL; - - token = strtok ( buffer, separators ); - while ( token != NULL ) - { - prevtoken = token; - token = strtok ( NULL, separators ); - } - string version = string ( prevtoken ); - int lastDigit = version.find_last_not_of ( "\t\r\n" ); - if ( lastDigit != -1 ) - return string ( version, 0, lastDigit+1 ); - else - return version; -} - -bool -MingwBackend::IsSupportedBinutilsVersion ( const string& binutilsVersion ) -{ - int digit = binutilsVersion.find_last_of("."); - if(digit == -1) - { - printf("Unable to detect binutils version!\n"); - return false; - } - - string date = string(binutilsVersion, digit + 1); - if(date.length() == 8) - { - /* This is a real date in the format YYYYMMDD. - Check whether we have at least Binutils 20091016 (the oldest one - we were still using after upgrading to RosBE 1.5). */ - if(strcmp(date.c_str(), "20091016") < 0) - return false; - } - else - { - /* This is no date, so binutilsVersion should just contain the version - number. - Binutils 2.20 will hopefully contain the required features. */ - if(strcmp(binutilsVersion.c_str(), "2.20") < 0) - return false; - } - - return true; -} - -void -MingwBackend::DetectBinutils () -{ - printf ( "Detecting binutils..." ); - - bool detectedBinutils = false; - bool supportedBinutils = false; - string binutilsVersion; - - if ( ProjectNode.configuration.Linker == GnuLd ) - { - const string& ROS_PREFIXValue = Environment::GetVariable ( "ROS_PREFIX" ); - - if ( ROS_PREFIXValue.length () > 0 ) - { - binutilsPrefix = ROS_PREFIXValue; - binutilsCommand = binutilsPrefix + "-ld"; - manualBinutilsSetting = true; - detectedBinutils = true; - } -#if defined(WIN32) - if ( !detectedBinutils ) - { - binutilsPrefix = ""; - binutilsCommand = "ld"; - detectedBinutils = TryToDetectThisBinutils ( binutilsCommand ); - } -#endif - if ( !detectedBinutils ) - { - binutilsPrefix = "mingw32"; - binutilsCommand = binutilsPrefix + "-ld"; - detectedBinutils = TryToDetectThisBinutils ( binutilsCommand ); - } - if ( detectedBinutils ) - { - binutilsVersion = GetBinutilsVersionDate ( binutilsCommand ); - supportedBinutils = IsSupportedBinutilsVersion ( binutilsVersion ); - } - } - else if ( ProjectNode.configuration.Linker == MicrosoftLink ) - { - compilerCommand = "link"; - detectedBinutils = DetectMicrosoftLinker ( binutilsVersion, mslinkPath ); - supportedBinutils = true; // TODO - } - - if ( detectedBinutils ) - { - if ( supportedBinutils ) - printf ( "detected (%s %s)\n", binutilsCommand.c_str (), binutilsVersion.c_str() ); - else - { - printf ( "detected (%s), but with unsupported version (%s)\n", - binutilsCommand.c_str (), - binutilsVersion.c_str () ); - throw UnsupportedBuildToolException ( binutilsCommand, binutilsVersion ); - } - } - else - printf ( "not detected\n" ); - -} - -void -MingwBackend::DetectNetwideAssembler () -{ - printf ( "Detecting netwide assembler..." ); - - nasmCommand = "nasm"; - bool detectedNasm = TryToDetectThisNetwideAssembler ( nasmCommand ); -#if defined(WIN32) - if ( !detectedNasm ) - { - nasmCommand = "nasmw"; - detectedNasm = TryToDetectThisNetwideAssembler ( nasmCommand ); - } -#endif - if ( !detectedNasm ) - { - nasmCommand = "yasm"; - detectedNasm = TryToDetectThisNetwideAssembler ( nasmCommand ); - } - if ( detectedNasm ) - printf ( "detected (%s %s)\n", nasmCommand.c_str (), GetNetwideAssemblerVersion( nasmCommand ).c_str() ); - else - printf ( "not detected\n" ); -} - -void -MingwBackend::DetectPipeSupport () -{ - if ( ProjectNode.configuration.Compiler == GnuGcc ) - { - printf ( "Detecting compiler -pipe support..." ); - - string pipe_detection = "tools" + sSep + "rbuild" + sSep + "backend" + sSep + "mingw" + sSep + "pipe_detection.c"; - string pipe_detectionObjectFilename = ReplaceExtension ( pipe_detection, - ".o" ); - string command = ssprintf ( - "%s -pipe -c %s -o %s 1>%s 2>%s", - FixSeparatorForSystemCommand(compilerCommand).c_str (), - pipe_detection.c_str (), - pipe_detectionObjectFilename.c_str (), - NUL, - NUL ); - int exitcode = system ( command.c_str () ); - FILE* f = fopen ( pipe_detectionObjectFilename.c_str (), "rb" ); - if ( f ) - { - usePipe = (exitcode == 0); - fclose ( f ); - unlink ( pipe_detectionObjectFilename.c_str () ); - } - else - usePipe = false; - - if ( usePipe ) - printf ( "detected\n" ); - else - printf ( "not detected\n" ); - } - else - usePipe = false; -} - -void -MingwBackend::DetectPCHSupport () -{ - printf ( "Detecting compiler pre-compiled header support..." ); - - if ( configuration.PrecompiledHeadersEnabled && ProjectNode.configuration.Compiler == GnuGcc ) - { - string path = "tools" + sSep + "rbuild" + sSep + "backend" + sSep + "mingw" + sSep + "pch_detection.h"; - string cmd = ssprintf ( - "%s -c %s 1>%s 2>%s", - FixSeparatorForSystemCommand(compilerCommand).c_str (), - path.c_str (), - NUL, - NUL ); - system ( cmd.c_str () ); - path += ".gch"; - - FILE* f = fopen ( path.c_str (), "rb" ); - if ( f ) - { - use_pch = true; - fclose ( f ); - unlink ( path.c_str () ); - } - else - use_pch = false; - - if ( use_pch ) - printf ( "detected\n" ); - else - printf ( "not detected\n" ); - } - else - { - use_pch = false; - printf ( "disabled\n" ); - } -} - -void -MingwBackend::GetNonModuleInstallTargetFiles ( - vector& out ) const -{ - for ( size_t i = 0; i < ProjectNode.installfiles.size (); i++ ) - { - const InstallFile& installfile = *ProjectNode.installfiles[i]; - out.push_back ( *installfile.target ); - } -} - -void -MingwBackend::GetModuleInstallTargetFiles ( - vector& out ) const -{ - for ( std::map::const_iterator p = ProjectNode.modules.begin (); p != ProjectNode.modules.end (); ++ p ) - { - const Module& module = *p->second; - if ( !module.enabled ) - continue; - if ( module.install ) - out.push_back ( *module.install ); - } -} - -void -MingwBackend::GetInstallTargetFiles ( - vector& out ) const -{ - GetNonModuleInstallTargetFiles ( out ); - GetModuleInstallTargetFiles ( out ); -} - -void -MingwBackend::OutputInstallTarget ( const FileLocation& source, - const FileLocation& target ) -{ - fprintf ( fMakefile, - "%s: %s | %s\n", - GetFullName ( target ).c_str (), - GetFullName ( source ).c_str (), - GetFullPath ( target ).c_str () ); - fprintf ( fMakefile, - "\t$(ECHO_CP)\n" ); - fprintf ( fMakefile, - "\t${cp} %s %s 1>$(NUL)\n", - GetFullName ( source ).c_str (), - GetFullName ( target ).c_str () ); -} - -void -MingwBackend::OutputNonModuleInstallTargets () -{ - for ( size_t i = 0; i < ProjectNode.installfiles.size (); i++ ) - { - const InstallFile& installfile = *ProjectNode.installfiles[i]; - OutputInstallTarget ( *installfile.source, *installfile.target ); - } -} - -const Module& -MingwBackend::GetAliasedModuleOrModule ( const Module& module ) const -{ - if ( module.aliasedModuleName.size () > 0 ) - { - const Module* aliasedModule = ProjectNode.LocateModule ( module.aliasedModuleName ); - assert ( aliasedModule ); - return *aliasedModule; - } - else - return module; -} - -void -MingwBackend::OutputModuleInstallTargets () -{ - for ( std::map::const_iterator p = ProjectNode.modules.begin (); p != ProjectNode.modules.end (); ++ p ) - { - const Module& module = *p->second; - if ( !module.enabled ) - continue; - if ( module.install ) - { - const Module& aliasedModule = GetAliasedModuleOrModule ( module ); - OutputInstallTarget ( *aliasedModule.output, *module.install ); - } - } -} - -string -MingwBackend::GetRegistrySourceFiles () const -{ - return "boot" + sSep + "bootdata" + sSep + "hivecls_$(ARCH).inf " - "boot" + sSep + "bootdata" + sSep + "hivedef_$(ARCH).inf " - "boot" + sSep + "bootdata" + sSep + "hivesft_$(ARCH).inf " - "boot" + sSep + "bootdata" + sSep + "hivesys_$(ARCH).inf " - "boot" + sSep + "bootdata" + sSep + "hiveinst_$(ARCH).inf "; -} - -string -MingwBackend::GetRegistryTargetFiles () const -{ - string system32ConfigDirectory = "system32" + sSep + "config"; - FileLocation system32 ( InstallDirectory, system32ConfigDirectory, "" ); - - vector registry_files; - registry_files.push_back ( FileLocation ( InstallDirectory, system32ConfigDirectory, "default" ) ); - registry_files.push_back ( FileLocation ( InstallDirectory, system32ConfigDirectory, "sam" ) ); - registry_files.push_back ( FileLocation ( InstallDirectory, system32ConfigDirectory, "security" ) ); - registry_files.push_back ( FileLocation ( InstallDirectory, system32ConfigDirectory, "software" ) ); - registry_files.push_back ( FileLocation ( InstallDirectory, system32ConfigDirectory, "system" ) ); - - return v2s( registry_files, 6, true ); -} - -void -MingwBackend::OutputRegistryInstallTarget () -{ - FileLocation system32 ( InstallDirectory, "system32" + sSep + "config", "" ); - - string registrySourceFiles = GetRegistrySourceFiles (); - string registryTargetFiles = GetRegistryTargetFiles (); - fprintf ( fMakefile, - "install_registry: %s\n", - registryTargetFiles.c_str () ); - fprintf ( fMakefile, - "%s: %s %s $(mkhive_TARGET)\n", - registryTargetFiles.c_str (), - registrySourceFiles.c_str (), - GetFullPath ( system32 ).c_str () ); - fprintf ( fMakefile, - "\t$(ECHO_MKHIVE)\n" ); - fprintf ( fMakefile, - "\t$(mkhive_TARGET) %s %s\n", - GetFullPath ( system32 ).c_str (), - registrySourceFiles.c_str() ); - fprintf ( fMakefile, - "\n" ); -} - -void -MingwBackend::GenerateInstallTarget () -{ - vector vInstallTargetFiles; - GetInstallTargetFiles ( vInstallTargetFiles ); - string installTargetFiles = v2s ( vInstallTargetFiles, 5, true ); - string registryTargetFiles = GetRegistryTargetFiles (); - - fprintf ( fMakefile, - "install: %s %s\n", - installTargetFiles.c_str (), - registryTargetFiles.c_str () ); - OutputNonModuleInstallTargets (); - OutputModuleInstallTargets (); - OutputRegistryInstallTarget (); - fprintf ( fMakefile, - "\n" ); -} - -void -MingwBackend::GetModuleTestTargets ( - vector& out ) const -{ - for ( std::map::const_iterator p = ProjectNode.modules.begin (); p != ProjectNode.modules.end (); ++ p ) - { - const Module& module = *p->second; - if ( !module.enabled ) - continue; - if ( module.type == Test ) - out.push_back ( module.name ); - } -} - -void -MingwBackend::GenerateTestTarget () -{ - vector vTestTargets; - GetModuleTestTargets ( vTestTargets ); - string testTargets = v2s ( vTestTargets, 5 ); - - fprintf ( fMakefile, - "test: %s\n", - testTargets.c_str () ); - fprintf ( fMakefile, - "\n" ); -} - -void -MingwBackend::GenerateDirectoryTargets () -{ - intermediateDirectory->CreateRule ( fMakefile, "$(INTERMEDIATE)" ); - outputDirectory->CreateRule ( fMakefile, "$(OUTPUT)" ); - installDirectory->CreateRule ( fMakefile, "$(INSTALL)" ); -} diff --git a/reactos/tools/rbuild/backend/mingw/mingw.h b/reactos/tools/rbuild/backend/mingw/mingw.h deleted file mode 100644 index cd3fecf7c6f..00000000000 --- a/reactos/tools/rbuild/backend/mingw/mingw.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include "../backend.h" - -#ifdef WIN32 - #define NUL "NUL" -#else - #define NUL "/dev/null" -#endif - -class Directory; -class MingwModuleHandler; - - -class MingwBackend : public Backend -{ -public: - MingwBackend ( Project& project, - Configuration& configuration ); - ~MingwBackend (); - virtual void Process (); - std::string AddDirectoryTarget ( const std::string& directory, - Directory* directoryTree ); - const Module& GetAliasedModuleOrModule ( const Module& module ) const; - bool compilerNeedsHelper; - std::string compilerPrefix; - std::string compilerCommand; - std::string nasmCommand; - std::string binutilsPrefix; - bool binutilsNeedsHelper; - std::string binutilsCommand; - bool usePipe, manualBinutilsSetting; - Directory* intermediateDirectory; - Directory* outputDirectory; - Directory* installDirectory; - - std::string GetFullName ( const FileLocation& file ) const; - std::string GetFullPath ( const FileLocation& file ) const; - std::string GetFullNamePrefixSpaces ( const FileLocation& file ) const; - std::string GetRegistrySourceFiles () const; - std::string GetRegistryTargetFiles () const; - std::string v2s ( const std::vector& files, int wrap_at, bool prefixSpaces = false ) const; - std::string v2s ( const string_list& v, int wrap_at ) const; - -private: - void CreateMakefile (); - void CloseMakefile () const; - void GenerateHeader () const; - void GenerateGlobalProperties ( const char* assignmentOperation, - const IfableData& data ) const; - std::string GenerateProjectLDFLAGS () const; - void GenerateDirectories (); - void GenerateGlobalVariables () const; - bool IncludeInAllTarget ( const Module& module ) const; - void GenerateAllTarget ( const std::vector& handlers ) const; - void GenerateRegTestsRunTarget () const; - void GenerateXmlBuildFilesMacro() const; - void GenerateTestSupportCode (); - void GenerateCompilationUnitSupportCode (); - void GenerateSysSetup (); - std::string GetProxyMakefileTree () const; - void GenerateProxyMakefiles (); - void CheckAutomaticDependencies (); - bool TryToDetectThisCompiler ( const std::string& compiler ); - void DetectCompiler (); - std::string GetCompilerVersion ( const std::string& compilerCommand ); - bool IsSupportedCompilerVersion ( const std::string& compilerVersion ); - bool TryToDetectThisNetwideAssembler ( const std::string& assembler ); - bool TryToDetectThisBinutils ( const std::string& binutils ); - std::string GetBinutilsVersion ( const std::string& binutilsCommand ); - std::string GetBinutilsVersionDate ( const std::string& binutilsCommand ); - bool IsSupportedBinutilsVersion ( const std::string& binutilsVersion ); - std::string GetVersionString ( const std::string& versionCommand ); - std::string GetNetwideAssemblerVersion ( const std::string& nasmCommand ); - void DetectBinutils (); - void DetectNetwideAssembler (); - void DetectPipeSupport (); - void DetectPCHSupport (); - bool CanEnablePreCompiledHeaderSupportForModule ( const Module& module ); - void ProcessModules (); - void CheckAutomaticDependenciesForModuleOnly (); - void ProcessNormal (); - std::string GetNonModuleInstallDirectories ( const std::string& installDirectory ); - std::string GetInstallDirectories ( const std::string& installDirectory ); - void GetNonModuleInstallFiles ( std::vector& out ) const; - void GetInstallFiles ( std::vector& out ) const; - void GetNonModuleInstallTargetFiles ( std::vector& out ) const; - void GetModuleInstallTargetFiles ( std::vector& out ) const; - void GetInstallTargetFiles ( std::vector& out ) const; - void OutputInstallTarget ( const FileLocation& source, const FileLocation& target ); - void OutputNonModuleInstallTargets (); - void OutputModuleInstallTargets (); - void OutputRegistryInstallTarget (); - void GenerateInstallTarget (); - void GetModuleTestTargets ( std::vector& out ) const; - void GenerateTestTarget (); - void GenerateDirectoryTargets (); - FILE* fMakefile; - bool use_pch; - bool DetectMicrosoftCompiler ( std::string& version, std::string& path ); - bool DetectMicrosoftLinker ( std::string& version, std::string& path ); -}; - - -class ProxyMakefile -{ -public: - ProxyMakefile ( const Project& project ); - ~ProxyMakefile (); - void GenerateProxyMakefiles ( bool verbose, - std::string outputTree ); - static bool GenerateProxyMakefile ( const Module& module ); - -private: - std::string GeneratePathToParentDirectory ( int numberOfParentDirectories ); - std::string GetPathToTopDirectory ( Module& module ); - void GenerateProxyMakefileForModule ( Module& module, - bool verbose, - std::string outputTree ); - const Project& project; -}; - -struct ModuleHandlerInformations -{ - HostType DefaultHost; - const char* cflags; - const char* nasmflags; - const char* linkerflags; -}; - -extern const struct ModuleHandlerInformations ModuleHandlerInformations[]; diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp deleted file mode 100644 index ff6c993b0d4..00000000000 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp +++ /dev/null @@ -1,3185 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * 2007-2008 Hervé Poussineau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "../../pch.h" -#include -#include - -#include "../../rbuild.h" -#include "mingw.h" -#include "modulehandler.h" -#include "rule.h" - -using std::set; -using std::string; -using std::vector; - -#define CLEAN_FILE(f) clean_files.push_back ( (f).name.length () > 0 ? backend->GetFullName ( f ) : backend->GetFullPath ( f ) ); -#define IsStaticLibrary( module ) ( ( module.type == StaticLibrary ) || ( module.type == HostStaticLibrary ) ) - -MingwBackend* -MingwModuleHandler::backend = NULL; -FILE* -MingwModuleHandler::fMakefile = NULL; - -string -PrefixFilename ( - const string& filename, - const string& prefix ) -{ - if ( !prefix.length() ) - return filename; - string out; - const char* pfilename = filename.c_str(); - const char* p1 = strrchr ( pfilename, '/' ); - const char* p2 = strrchr ( pfilename, '\\' ); - if ( p1 || p2 ) - { - if ( p2 > p1 ) - p1 = p2; - out += string(pfilename,p1-pfilename) + cSep; - pfilename = p1 + 1; - } - out += prefix + pfilename; - return out; -} - -string -GetTargetMacro ( const Module& module, bool with_dollar ) -{ - string s ( module.name ); - s += "_TARGET"; - if ( with_dollar ) - return ssprintf ( "$(%s)", s.c_str() ); - return s; -} - -MingwModuleHandler::MingwModuleHandler ( - const Module& module_ ) - - : module(module_) -{ - use_pch = false; -} - -MingwModuleHandler::~MingwModuleHandler() -{ -} - -/*static*/ void -MingwModuleHandler::SetBackend ( MingwBackend* backend_ ) -{ - backend = backend_; -} - -/*static*/ void -MingwModuleHandler::SetMakefile ( FILE* f ) -{ - fMakefile = f; -} - -void -MingwModuleHandler::EnablePreCompiledHeaderSupport () -{ - use_pch = true; -} - -/*static*/ const FileLocation* -MingwModuleHandler::PassThruCacheDirectory (const FileLocation* file ) -{ - switch ( file->directory ) - { - case SourceDirectory: - break; - case IntermediateDirectory: - backend->AddDirectoryTarget ( file->relative_path, backend->intermediateDirectory ); - break; - case OutputDirectory: - backend->AddDirectoryTarget ( file->relative_path, backend->outputDirectory ); - break; - case InstallDirectory: - backend->AddDirectoryTarget ( file->relative_path, backend->installDirectory ); - break; - default: - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %d.", - file->directory ); - } - - return file; -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetTargetFilename ( - const Module& module, - string_list* pclean_files ) -{ - FileLocation *target = new FileLocation ( *module.output ); - if ( pclean_files ) - { - string_list& clean_files = *pclean_files; - CLEAN_FILE ( *target ); - } - return target; -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetImportLibraryFilename ( - const Module& module, - string_list* pclean_files, - bool delayimp ) -{ - FileLocation *target; - - if (module.HasImportLibrary()) - { - if (delayimp) - { - target = new FileLocation ( *module.delayImportLibrary->target ); - } - else - target = new FileLocation ( *module.importLibrary->target ); - } - else - target = new FileLocation ( *module.dependency ); - - if ( pclean_files ) - { - string_list& clean_files = *pclean_files; - CLEAN_FILE ( *target ); - } - return target; -} - -/* caller needs to delete the returned object */ -MingwModuleHandler* -MingwModuleHandler::InstanciateHandler ( - const Module& module, - MingwBackend* backend ) -{ - MingwModuleHandler* handler; - switch ( module.type ) - { - case StaticLibrary: - case HostStaticLibrary: - case ObjectLibrary: - case RpcServer: - case RpcClient: - case RpcProxy: - case MessageHeader: - case IdlHeader: - case IdlInterface: - case EmbeddedTypeLib: - case BootSector: - handler = new MingwModuleHandler( module ); - break; - case BuildTool: - handler = new MingwBuildToolModuleHandler ( module ); - break; - case Kernel: - handler = new MingwKernelModuleHandler ( module ); - break; - case NativeCUI: - handler = new MingwNativeCUIModuleHandler ( module ); - break; - case Win32CUI: - handler = new MingwWin32CUIModuleHandler ( module ); - break; - case Win32SCR: - case Win32GUI: - handler = new MingwWin32GUIModuleHandler ( module ); - break; - case KeyboardLayout: - case KernelModeDLL: - case KernelModeDriver: - handler = new MingwKernelModeDLLModuleHandler ( module ); - break; - case NativeDLL: - handler = new MingwNativeDLLModuleHandler ( module ); - break; - case Win32DLL: - handler = new MingwWin32DLLModuleHandler ( module ); - break; - case Win32OCX: - handler = new MingwWin32OCXModuleHandler ( module ); - break; - case BootLoader: - handler = new MingwBootLoaderModuleHandler ( module ); - break; - case BootProgram: - handler = new MingwBootProgramModuleHandler ( module ); - break; - case Iso: - handler = new MingwIsoModuleHandler ( module ); - break; - case LiveIso: - handler = new MingwLiveIsoModuleHandler ( module ); - break; - case Test: - handler = new MingwTestModuleHandler ( module ); - break; - case Alias: - handler = new MingwAliasModuleHandler ( module ); - break; - case Cabinet: - handler = new MingwCabinetModuleHandler ( module ); - break; - case ElfExecutable: - handler = new MingwElfExecutableModuleHandler ( module ); - break; - default: - throw UnknownModuleTypeException ( - module.node.location, - module.type ); - break; - } - return handler; -} - -string -MingwModuleHandler::GetWorkingDirectory () const -{ - return "."; -} - -string -MingwModuleHandler::GetBasename ( const string& filename ) const -{ - size_t index = filename.find_last_of ( '.' ); - if ( index != string::npos ) - return filename.substr ( 0, index ); - return ""; -} - -string -MingwModuleHandler::GetCompilationUnitDependencies ( - const CompilationUnit& compilationUnit ) const -{ - if ( compilationUnit.GetFiles ().size () <= 1 ) - return ""; - vector sourceFiles; - for ( size_t i = 0; i < compilationUnit.GetFiles ().size (); i++ ) - { - const File& file = *compilationUnit.GetFiles ()[i]; - sourceFiles.push_back ( backend->GetFullName ( file.file ) ); - } - return string ( " " ) + backend->v2s ( sourceFiles, 10 ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetModuleArchiveFilename () const -{ - if ( IsStaticLibrary ( module ) ) - return GetTargetFilename ( module, NULL ); - return NULL; -} - -/*static*/ bool -MingwModuleHandler::ReferenceObjects ( - const Module& module ) -{ - if ( module.type == ObjectLibrary ) - return true; - if ( module.type == RpcServer ) - return true; - if ( module.type == RpcClient ) - return true; - if ( module.type == RpcProxy ) - return true; - if ( module.type == IdlHeader ) - return true; - if ( module.type == IdlInterface ) - return true; - if ( module.type == MessageHeader) - return true; - return false; -} - -void -MingwModuleHandler::OutputCopyCommand ( const FileLocation& source, - const FileLocation& destination ) -{ - fprintf ( fMakefile, "# OUTPUT COPY COMMAND\n" ); - fprintf ( fMakefile, - "\t$(ECHO_CP)\n" ); - fprintf ( fMakefile, - "\t${cp} \"%s\" \"%s\" 1>$(NUL)\n", - backend->GetFullName ( source ).c_str (), - backend->GetFullName ( *PassThruCacheDirectory ( &destination ) ).c_str () ); -} - -void -MingwModuleHandler::OutputCopyCommandSingle ( const FileLocation& source, - const FileLocation& destination ) -{ - fprintf ( fMakefile, - "%s : %s\n", - backend->GetFullNamePrefixSpaces ( *PassThruCacheDirectory ( &destination ) ).c_str (), - backend->GetFullNamePrefixSpaces ( source ).c_str () ); - fprintf ( fMakefile, - "\t$(ECHO_CP)\n" ); - fprintf ( fMakefile, - "\t${cp} \"%s\" \"%s\" 1>$(NUL)\n", - backend->GetFullName ( source ).c_str (), - backend->GetFullName ( *PassThruCacheDirectory ( &destination ) ).c_str () ); -} - -string -MingwModuleHandler::GetImportLibraryDependency ( - const Module& importedModule, - bool delayimp ) -{ - string dep; - if ( ReferenceObjects ( importedModule ) ) - { - const vector& compilationUnits = importedModule.non_if_data.compilationUnits; - size_t i; - - dep = GetTargetMacro ( importedModule ); - for ( i = 0; i < compilationUnits.size (); i++ ) - { - CompilationUnit& compilationUnit = *compilationUnits[i]; - const FileLocation& compilationName = compilationUnit.GetFilename (); - const FileLocation *objectFilename = GetObjectFilename ( &compilationName, importedModule ); - if ( GetExtension ( *objectFilename ) == ".h" ) - dep += ssprintf ( " $(%s_HEADERS)", importedModule.name.c_str () ); - else if ( GetExtension ( *objectFilename ) == ".rc" ) - dep += ssprintf ( " $(%s_MCHEADERS)", importedModule.name.c_str () ); - delete objectFilename; - } - } - else - { - const FileLocation *library_target = GetImportLibraryFilename ( importedModule, NULL, delayimp ); - dep = backend->GetFullName ( *library_target ); - delete library_target; - } - - if ( IsStaticLibrary ( importedModule ) || importedModule.type == ObjectLibrary ) - { - const std::vector& libraries = importedModule.non_if_data.libraries; - - for ( size_t i = 0; i < libraries.size (); ++ i ) - { - dep += " "; - dep += GetImportLibraryDependency ( *libraries[i]->importedModule, libraries[i]->delayimp ); - } - } - - return dep; -} - -void -MingwModuleHandler::GetTargets ( const Module& dependencyModule, - string_list& targets ) -{ - if ( dependencyModule.invocations.size () > 0 ) - { - for ( size_t i = 0; i < dependencyModule.invocations.size (); i++ ) - { - Invoke& invoke = *dependencyModule.invocations[i]; - invoke.GetTargets ( targets ); - } - } - else - targets.push_back ( GetImportLibraryDependency ( dependencyModule, false ) ); -} - -void -MingwModuleHandler::GetModuleDependencies ( - string_list& dependencies ) -{ - size_t iend = module.dependencies.size (); - - if ( iend == 0 ) - return; - - for ( size_t i = 0; i < iend; i++ ) - { - const Dependency& dependency = *module.dependencies[i]; - const Module& dependencyModule = *dependency.dependencyModule; - GetTargets ( dependencyModule, - dependencies ); - } - vector v; - GetDefinitionDependencies ( v ); - - for ( size_t i = 0; i < v.size (); i++ ) - { - const FileLocation& file = v[i]; - dependencies.push_back ( backend->GetFullName ( file ) ); - } -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetObjectFilename ( - const FileLocation* sourceFile, - const Module& module ) const -{ - DirectoryLocation destination_directory; - string newExtension; - string extension = GetExtension ( *sourceFile ); - - if ( module.type == BootSector ) - return new FileLocation ( *module.output ); - else if (extension == ".rc") - newExtension = "_" + module.name + ".coff"; - else if (extension == ".mc") - newExtension = ".rc"; - else if (extension == ".idl") - { - if ( module.type == RpcServer ) - newExtension = "_s.o"; - else if ( module.type == RpcClient ) - newExtension = "_c.o"; - else if ( module.type == RpcProxy ) - newExtension = "_p.o"; - else if ( module.type == IdlInterface ) - newExtension = "_i.o"; - else - newExtension = ".h"; - } - else - newExtension = "_" + module.name + ".o"; - - if ( module.type == BootSector ) - destination_directory = OutputDirectory; - else - destination_directory = IntermediateDirectory; - - const FileLocation *obj_file = new FileLocation( - destination_directory, - sourceFile->relative_path, - ReplaceExtension ( sourceFile->name, newExtension ) ); - PassThruCacheDirectory ( obj_file ); - - return obj_file; -} - -string -MingwModuleHandler::GetModuleCleanTarget ( const Module& module ) const -{ - return module.name + "_clean"; -} - -void -MingwModuleHandler::GetReferencedObjectLibraryModuleCleanTargets ( vector& moduleNames ) const -{ - for ( size_t i = 0; i < module.non_if_data.libraries.size (); i++ ) - { - Library& library = *module.non_if_data.libraries[i]; - if ( library.importedModule->type == ObjectLibrary ) - moduleNames.push_back ( GetModuleCleanTarget ( *library.importedModule ) ); - } -} - -void -MingwModuleHandler::GenerateCleanTarget () const -{ - if ( module.type == Alias ) - return; - - fprintf ( fMakefile, "# CLEAN TARGET\n" ); - fprintf ( fMakefile, - ".PHONY: %s_clean\n", - module.name.c_str() ); - vector referencedModuleNames; - GetReferencedObjectLibraryModuleCleanTargets ( referencedModuleNames ); - fprintf ( fMakefile, - "%s: %s\n\t-@${rm}", - GetModuleCleanTarget ( module ).c_str(), - backend->v2s ( referencedModuleNames, 10 ).c_str () ); - for ( size_t i = 0; i < clean_files.size(); i++ ) - { - if ( ( i + 1 ) % 10 == 9 ) - fprintf ( fMakefile, " 2>$(NUL)\n\t-@${rm}" ); - fprintf ( fMakefile, " %s", clean_files[i].c_str() ); - } - fprintf ( fMakefile, " 2>$(NUL)\n" ); - - // Clean files generated by external rules - fprintf ( fMakefile, "\t-@${rm} $(%s_CLEANFILES) 2>$(NUL)\n", module.name.c_str() ); - - if( ProxyMakefile::GenerateProxyMakefile(module) ) - { - DirectoryLocation root; - - if ( backend->configuration.GenerateProxyMakefilesInSourceTree ) - root = SourceDirectory; - else - root = OutputDirectory; - - FileLocation proxyMakefile ( root, - module.output->relative_path, - "GNUmakefile" ); - fprintf ( fMakefile, "\t-@${rm} %s 2>$(NUL)\n", - backend->GetFullName ( proxyMakefile ).c_str () ); - } - - fprintf ( fMakefile, "clean: %s_clean\n\n", module.name.c_str() ); -} - -void -MingwModuleHandler::GenerateInstallTarget () const -{ - if ( !module.install ) - return; - fprintf ( fMakefile, "# INSTALL TARGET\n" ); - fprintf ( fMakefile, ".PHONY: %s_install\n", module.name.c_str() ); - fprintf ( fMakefile, - "%s_install: %s\n", - module.name.c_str (), - backend->GetFullName ( *module.install ).c_str () ); -} - -void -MingwModuleHandler::GenerateDependsTarget () const -{ - fprintf ( fMakefile, "# DEPENDS TARGET\n" ); - fprintf ( fMakefile, - ".PHONY: %s_depends\n", - module.name.c_str() ); - fprintf ( fMakefile, - "%s_depends: $(RBUILD_TARGET)\n", - module.name.c_str () ); - fprintf ( fMakefile, - "\t$(ECHO_RBUILD)\n" ); - fprintf ( fMakefile, - "\t$(Q)$(RBUILD_TARGET) $(RBUILD_FLAGS) -dm%s mingw\n", - module.name.c_str () ); -} - -static -const char * const CompilerPrefixTable [ CompilerTypesCount ] = -{ - "C", - "CXX", - "CPP", - "AS", - "MIDL", - "RC", - "NASM", -}; - -/* static */ void -MingwModuleHandler::GenerateParameters ( - const char* prefix, - const char* assignmentOperation, - const IfableData& data ) -{ - for ( unsigned type = CompilerTypeCC; type < CompilerTypesCount; ++ type ) - { - CompilerType compiler = static_cast < CompilerType > ( type ); - - // Includes - std::string includes = GenerateIncludeParametersFromVector ( data.includes, compiler ); - - if ( includes.size() ) - { - fprintf ( fMakefile, - "%s_%sINCLUDES%s%s\n", - prefix, - CompilerPrefixTable [ compiler ], - assignmentOperation, - includes.c_str () ); - } - - // Defines - std::string defines = GenerateDefineParametersFromVector ( data.defines, compiler ); - - if ( defines.size() ) - { - fprintf ( fMakefile, - "%s_%sDEFINES%s%s\n", - prefix, - CompilerPrefixTable [ compiler ], - assignmentOperation, - defines.c_str () ); - } - - // Flags - std::string flags = GenerateCompilerParametersFromVector ( data.compilerFlags, compiler ); - - if ( flags.size() ) - { - fprintf ( fMakefile, - "%s_%sFLAGS%s%s\n", - prefix, - CompilerPrefixTable [ compiler ], - assignmentOperation, - flags.c_str () ); - } - } -} - -/* static */ string -MingwModuleHandler::GenerateGccDefineParametersFromVector ( - const vector& defines, - set& used_defs) -{ - string parameters; - - for ( size_t i = 0; i < defines.size (); i++ ) - { - Define& define = *defines[i]; - if (used_defs.find(define.name) != used_defs.end()) - continue; - if (define.redefine) - { - if (parameters.length () > 0) - parameters += " "; - parameters += "-U"; - parameters += define.name; - } - if (parameters.length () > 0) - parameters += " "; - if (define.arguments.length ()) - parameters += "$(QT)"; - parameters += "-D"; - parameters += define.name; - parameters += define.arguments; - if (define.value.length () > 0) - { - parameters += "="; - parameters += define.value; - } - if (define.arguments.length ()) - parameters += "$(QT)"; - used_defs.insert(used_defs.begin(),define.name); - } - return parameters; -} - -/* static */ string -MingwModuleHandler::GenerateDefineParametersFromVector ( - const std::vector& defines, - CompilerType compiler ) -{ - string parameters; - - for ( size_t i = 0; i < defines.size (); i++ ) - { - Define& define = *defines[i]; - if (!define.IsCompilerSet (compiler)) - continue; - if (define.redefine) - { - if (parameters.length () > 0) - parameters += " "; - parameters += "-U"; - parameters += define.name; - } - if (parameters.length () > 0) - parameters += " "; - if (define.arguments.length ()) - parameters += "$(QT)"; - parameters += "-D"; - parameters += define.name; - parameters += define.arguments; - if (define.value.length () > 0) - { - parameters += "="; - parameters += define.value; - } - if (define.arguments.length ()) - parameters += "$(QT)"; - } - return parameters; -} - -string -MingwModuleHandler::ConcatenatePaths ( - const string& path1, - const string& path2 ) const -{ - if ( ( path1.length () == 0 ) || ( path1 == "." ) || ( path1 == "./" ) ) - return path2; - if ( path1[path1.length ()] == cSep ) - return path1 + path2; - else - return path1 + cSep + path2; -} - -/* static */ string -MingwModuleHandler::GenerateIncludeParametersFromVector ( const vector& includes, const CompilerType type ) -{ - string parameters, path_prefix; - for ( size_t i = 0; i < includes.size (); i++ ) - { - Include& include = *includes[i]; - if ( include.IsCompilerSet( type ) ) - parameters += " -I" + backend->GetFullPath ( *include.directory ); - } - return parameters; -} - -/* static */ string -MingwModuleHandler::GenerateCompilerParametersFromVector ( const vector& compilerFlags, const CompilerType type ) -{ - string parameters; - for ( size_t i = 0; i < compilerFlags.size (); i++ ) - { - CompilerFlag& compilerFlag = *compilerFlags[i]; - if ( compilerFlag.IsCompilerSet( type ) ) - parameters += " " + compilerFlag.flag; - } - return parameters; -} - -string -MingwModuleHandler::GenerateLinkerParametersFromVector ( const vector& linkerFlags ) const -{ - string parameters; - for ( size_t i = 0; i < linkerFlags.size (); i++ ) - { - LinkerFlag& linkerFlag = *linkerFlags[i]; - if ( parameters.length () > 0 ) - parameters += " "; - parameters += linkerFlag.flag; - } - return parameters; -} - -string -MingwModuleHandler::GenerateImportLibraryDependenciesFromVector ( - const vector& libraries ) -{ - string dependencies ( "" ); - int wrap_count = 0; - for ( size_t i = 0; i < libraries.size (); i++ ) - { - if ( wrap_count++ == 5 ) - dependencies += " \\\n\t\t", wrap_count = 0; - else if ( dependencies.size () > 0 ) - dependencies += " "; - dependencies += GetImportLibraryDependency ( *libraries[i]->importedModule, libraries[i]->delayimp ); - } - return dependencies; -} - -string -MingwModuleHandler::GenerateLinkerParameters () const -{ - return GenerateLinkerParametersFromVector ( module.linkerFlags ); -} - -void -MingwModuleHandler::GenerateMacros ( - const char* assignmentOperation, - const IfableData& data, - const vector* linkerFlags, - set& used_defs ) -{ - if ( linkerFlags != NULL ) - { - string linkerParameters = GenerateLinkerParametersFromVector ( *linkerFlags ); - if ( linkerParameters.size () > 0 ) - { - fprintf ( - fMakefile, - "%s %s %s\n", - linkerflagsMacro.c_str (), - assignmentOperation, - linkerParameters.c_str() ); - } - } - - if ( data.libraries.size () > 0 ) - { - // Check if host and target modules are not mixed up - HostType current = ModuleHandlerInformations[module.type].DefaultHost; - std::vector::const_iterator it; - for ( it = data.libraries.begin(); it != data.libraries.end(); ++it ) - { - HostType imported = ModuleHandlerInformations[(*it)->importedModule->type].DefaultHost; - if (current != imported) - { - throw InvalidOperationException ( __FILE__, - __LINE__, - "Module '%s' imports module '%s', which is not of the right type", - module.name.c_str (), - (*it)->importedModule->name.c_str () ); - } - } - - string deps = GenerateImportLibraryDependenciesFromVector ( data.libraries ); - if ( deps.size () > 0 ) - { - fprintf ( - fMakefile, - "%s %s %s\n", - libsMacro.c_str(), - assignmentOperation, - deps.c_str() ); - } - } -} - -void -MingwModuleHandler::CleanupCompilationUnitVector ( vector& compilationUnits ) -{ - for ( size_t i = 0; i < compilationUnits.size (); i++ ) - delete compilationUnits[i]; -} - -void -MingwModuleHandler::GetModuleSpecificCompilationUnits ( vector& compilationUnits ) -{ -} - -void -MingwModuleHandler::GenerateSourceMacros ( - const IfableData& data ) -{ - size_t i; - - const vector& compilationUnits = data.compilationUnits; - vector headers; - if ( compilationUnits.size () > 0 ) - { - fprintf ( - fMakefile, - "%s =", - sourcesMacro.c_str () ); - for ( i = 0; i < compilationUnits.size(); i++ ) - { - CompilationUnit& compilationUnit = *compilationUnits[i]; - const FileLocation& compilationName = compilationUnit.GetFilename (); - fprintf ( - fMakefile, - "%s%s", - ( i%10 == 9 ? " \\\n\t" : " " ), - backend->GetFullName ( compilationName ).c_str () ); - } - fprintf ( fMakefile, "\n" ); - } - - vector sourceCompilationUnits; - GetModuleSpecificCompilationUnits ( sourceCompilationUnits ); - for ( i = 0; i < sourceCompilationUnits.size (); i++ ) - { - const FileLocation& compilationName = sourceCompilationUnits[i]->GetFilename (); - fprintf ( - fMakefile, - "%s += %s\n", - sourcesMacro.c_str(), - backend->GetFullName ( compilationName ).c_str () ); - } - CleanupCompilationUnitVector ( sourceCompilationUnits ); -} - -void -MingwModuleHandler::GenerateObjectMacros ( - const IfableData& data ) -{ - size_t i; - const char* assignmentOperation = "="; - - const vector& compilationUnits = data.compilationUnits; - vector headers; - vector mcheaders; - vector mcresources; - if ( compilationUnits.size () > 0 ) - { - for ( i = 0; i < compilationUnits.size (); i++ ) - { - CompilationUnit& compilationUnit = *compilationUnits[i]; - if ( compilationUnit.IsFirstFile () ) - { - const FileLocation& compilationName = compilationUnit.GetFilename (); - const FileLocation *object_file = GetObjectFilename ( &compilationName, module ); - fprintf ( fMakefile, - "%s := %s\n", - objectsMacro.c_str(), - backend->GetFullName ( *object_file ).c_str () ); - delete object_file; - assignmentOperation = "+="; - break; - } - } - fprintf ( - fMakefile, - "%s %s", - objectsMacro.c_str (), - assignmentOperation ); - for ( i = 0; i < compilationUnits.size(); i++ ) - { - CompilationUnit& compilationUnit = *compilationUnits[i]; - if ( !compilationUnit.IsFirstFile () ) - { - const FileLocation& compilationName = compilationUnit.GetFilename (); - const FileLocation *objectFilename = GetObjectFilename ( &compilationName, module ); - if ( GetExtension ( *objectFilename ) == ".h" ) - headers.push_back ( objectFilename ); - else if ( GetExtension ( *objectFilename ) == ".rc" ) - { - const FileLocation *headerFilename = GetMcHeaderFilename ( &compilationUnit.GetFilename () ); - mcheaders.push_back ( headerFilename ); - mcresources.push_back ( objectFilename ); - } - else - { - fprintf ( - fMakefile, - "%s%s", - ( i%10 == 9 ? " \\\n\t" : " " ), - backend->GetFullName ( *objectFilename ).c_str () ); - delete objectFilename; - } - } - } - fprintf ( fMakefile, "\n" ); - } - if ( headers.size () > 0 ) - { - fprintf ( - fMakefile, - "%s_HEADERS %s", - module.name.c_str (), - assignmentOperation ); - for ( i = 0; i < headers.size (); i++ ) - { - fprintf ( - fMakefile, - "%s%s", - ( i%10 == 9 ? " \\\n\t" : " " ), - backend->GetFullName ( *headers[i] ).c_str () ); - delete headers[i]; - } - fprintf ( fMakefile, "\n" ); - } - - if ( mcheaders.size () > 0 ) - { - fprintf ( - fMakefile, - "%s_MCHEADERS %s", - module.name.c_str (), - assignmentOperation ); - for ( i = 0; i < mcheaders.size (); i++ ) - { - fprintf ( - fMakefile, - "%s%s", - ( i%10 == 9 ? " \\\n\t" : " " ), - backend->GetFullName ( *mcheaders[i] ).c_str () ); - delete mcheaders[i]; - } - fprintf ( fMakefile, "\n" ); - } - - if ( mcresources.size () > 0 ) - { - fprintf ( - fMakefile, - "%s_RESOURCES %s", - module.name.c_str (), - assignmentOperation ); - for ( i = 0; i < mcresources.size (); i++ ) - { - fprintf ( - fMakefile, - "%s%s", - ( i%10 == 9 ? " \\\n\t" : " " ), - backend->GetFullName ( *mcresources[i] ).c_str () ); - delete mcresources[i]; - } - fprintf ( fMakefile, "\n" ); - } - - vector sourceCompilationUnits; - GetModuleSpecificCompilationUnits ( sourceCompilationUnits ); - for ( i = 0; i < sourceCompilationUnits.size (); i++ ) - { - const FileLocation& compilationName = sourceCompilationUnits[i]->GetFilename (); - const FileLocation *object_file = GetObjectFilename ( &compilationName, module ); - fprintf ( - fMakefile, - "%s += %s\n", - objectsMacro.c_str(), - backend->GetFullName ( *object_file ).c_str () ); - delete object_file; - } - CleanupCompilationUnitVector ( sourceCompilationUnits ); - - if ( module.IsSpecDefinitionFile() ) - { - const FileLocation *stubs_file = new FileLocation( - IntermediateDirectory, - module.importLibrary->source->relative_path, - ReplaceExtension ( module.importLibrary->source->name, "_" + module.name + ".stubs.o" ) ); - - fprintf ( - fMakefile, - "%s += %s\n", - objectsMacro.c_str(), - backend->GetFullName ( *stubs_file ).c_str () ); - - delete stubs_file; - } - - if ( module.type == RpcProxy ) - { - const FileLocation *dlldata_file = GetDlldataFilename(); - - fprintf ( - fMakefile, - "%s += %s\n", - objectsMacro.c_str(), - ReplaceExtension ( backend->GetFullName ( *dlldata_file ), ".o" ).c_str() ); - - delete dlldata_file; - } -} - -const FileLocation* -MingwModuleHandler::GetDlldataFilename() const -{ - std::string dlldata_path = ""; - size_t dlldata_path_len = module.xmlbuildFile.find_last_of(cSep); - - if ( dlldata_path_len != std::string::npos && dlldata_path_len != 0 ) - dlldata_path = module.xmlbuildFile.substr(0, dlldata_path_len); - - return new FileLocation( IntermediateDirectory, dlldata_path, module.name + ".dlldata.c" ); -} - -const FileLocation* -MingwModuleHandler::GetPrecompiledHeaderPath () const -{ - if ( !module.pch || !use_pch ) - return NULL; - return new FileLocation ( IntermediateDirectory, - module.pch->file->relative_path, - ".gch_" + module.name ); -} - -const FileLocation* -MingwModuleHandler::GetPrecompiledHeaderFilename () const -{ - if ( !module.pch || !use_pch ) - return NULL; - return new FileLocation ( IntermediateDirectory, - module.pch->file->relative_path + "/.gch_" + module.name, - module.pch->file->name + ".gch" ); -} - -Rule windresRule ( "$(eval $(call RBUILD_WRC_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_unique).coff", - "$(intermediate_path_unique).res", - "$(intermediate_path_unique).res.d", - "$(intermediate_dir)$(SEP)", NULL ); -Rule winebuildPRule ( "$(eval $(call RBUILD_WINEBUILD_WITH_CPP_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags),$(module_dllname)))\n", - "$(intermediate_path_unique).spec", - "$(intermediate_path_unique).spec.d", - "$(intermediate_path_unique).auto.def", - "$(intermediate_path_unique).stubs.c", - "$(intermediate_path_unique).stubs.o", - "$(intermediate_path_unique).stubs.o.d", - "$(intermediate_dir)$(SEP)", NULL ); -Rule winebuildRule ( "$(eval $(call RBUILD_WINEBUILD_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags),$(module_dllname)))\n", - "$(intermediate_path_unique).auto.def", - "$(intermediate_path_unique).stubs.c", - "$(intermediate_path_unique).stubs.o", - "$(intermediate_path_unique).stubs.o.d", - "$(intermediate_dir)$(SEP)", NULL ); -Rule gasRule ( "$(eval $(call RBUILD_GAS_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_unique).o", - "$(intermediate_path_unique).o.d", NULL ); -Rule gccRule ( "$(eval $(call RBUILD_CC_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_unique).o", - "$(intermediate_path_unique).o.d", NULL ); -Rule gccHostRule ( "$(eval $(call RBUILD_HOST_GCC_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_unique).o", NULL ); -Rule gppRule ( "$(eval $(call RBUILD_CXX_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_unique).o", - "$(intermediate_path_unique).o.d", NULL ); -Rule gppHostRule ( "$(eval $(call RBUILD_HOST_GPP_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_unique).o", NULL ); -Rule widlHeaderRule ( "$(eval $(call RBUILD_WIDL_HEADER_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_noext).h", - "$(intermediate_dir)$(SEP)", NULL ); -Rule widlServerRule ( "$(eval $(call RBUILD_WIDL_SERVER_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_noext)_s.h", - "$(intermediate_path_noext)_s.c", - "$(intermediate_path_noext)_s.o", - "$(intermediate_dir)$(SEP)", NULL ); -Rule widlClientRule ( "$(eval $(call RBUILD_WIDL_CLIENT_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_noext)_c.h", - "$(intermediate_path_noext)_c.c", - "$(intermediate_path_noext)_c.o", - "$(intermediate_dir)$(SEP)", NULL ); -Rule widlProxyRule ( "$(eval $(call RBUILD_WIDL_PROXY_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_noext)_p.h", - "$(intermediate_path_noext)_p.c", - "$(intermediate_path_noext)_p.o", - "$(intermediate_dir)$(SEP)", NULL ); -Rule widlInterfaceRule ( "$(eval $(call RBUILD_WIDL_INTERFACE_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_path_noext)_i.c", - "$(intermediate_path_noext)_i.o", - "$(intermediate_dir)$(SEP)", NULL ); -Rule widlDlldataRule ( "$(eval $(call RBUILD_WIDL_DLLDATA_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags),$(bare_dependencies)))\n", - "$(intermediate_path_noext).o", NULL ); -Rule widlTlbRule ( "$(eval $(call RBUILD_WIDL_TLB_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_dir)$(SEP)", NULL ); -Rule pchRule ( "$(eval $(call RBUILD_CC_PCH_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch", - "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch.d", - "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)", NULL ); -Rule pchCxxRule ( "$(eval $(call RBUILD_CXX_PCH_RULE,$(module_name),$(source),$(dependencies),$(compiler_flags)))\n", - "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch", - "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)$(source_name).gch.d", - "$(intermediate_dir)$(SEP).gch_$(module_name)$(SEP)", NULL ); -Rule bootRule ( "$(eval $(call RBUILD_NASM,$(module_name),$(source),$(dependencies),,$(module_output)))\n", - "$(module_output)", - "$(OUTPUT)$(SEP)$(source_dir)$(SEP)", NULL ); -Rule nasmRule ( "$(eval $(call RBUILD_NASM,$(module_name),$(source),$(dependencies),,$(intermediate_path_unique).o))\n", - "$(intermediate_path_unique).o", - "$(intermediate_dir)$(SEP)", NULL ); - -/* TODO: move these to rules.mak */ -Rule wmcRule ( "$(intermediate_path_noext).rc $(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h: $(wmc_TARGET) $(source) | $(intermediate_dir)\n" - "\t$(ECHO_WMC)\n" - "\t$(Q)$(wmc_TARGET) -i -H $(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h -o $(intermediate_path_noext).rc $(source)\n", - "$(intermediate_path_noext).rc", - "$(INTERMEDIATE)$(SEP)include$(SEP)reactos$(SEP)$(source_name_noext).h", - "$(intermediate_dir)$(SEP)", NULL ); -/* TODO: if possible, move these to rules.mak */ -Rule arRule1 ( "$(intermediate_path_noext).a: $($(module_name)_OBJS) $(dependencies) | $(intermediate_dir)\n", - "$(intermediate_path_noext).a", - "$(intermediate_dir)$(SEP)", NULL ); -Rule arRule2 ( "\t$(ECHO_AR)\n" - "\t${ar} -rc $@ $($(module_name)_OBJS)\n", - NULL ); -Rule arHostRule2 ( "\t$(ECHO_HOSTAR)\n" - "\t${host_ar} -rc $@ $($(module_name)_OBJS)\n", - NULL ); - -Rule emptyRule ( "", NULL ); - -void -MingwModuleHandler::GenerateGccCommand ( - const FileLocation* sourceFile, - const Rule *rule, - const string& extraDependencies ) -{ - const FileLocation *pchFilename = GetPrecompiledHeaderFilename (); - string dependencies = extraDependencies; - - if ( pchFilename ) - { - dependencies += " " + backend->GetFullName ( *pchFilename ); - delete pchFilename; - } - - /* WIDL generated headers may be used */ - vector rpcDependencies; - GetRpcHeaderDependencies ( rpcDependencies ); - if ( rpcDependencies.size () > 0 ) - dependencies += " " + backend->v2s ( rpcDependencies, 5 ); - - rule->Execute ( fMakefile, backend, module, sourceFile, clean_files, dependencies ); -} - -string -MingwModuleHandler::GetPropertyValue ( const Module& module, const std::string& name ) -{ - const Property* property = module.project.LookupProperty(name); - - if (property) - return property->value; - else - return string ( "" ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetRpcServerHeaderFilename ( const FileLocation *base ) const -{ - string newname = GetBasename ( base->name ) + "_s.h"; - return new FileLocation ( IntermediateDirectory, base->relative_path, newname ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetRpcClientHeaderFilename ( const FileLocation *base ) const -{ - string newname = GetBasename ( base->name ) + "_c.h"; - return new FileLocation ( IntermediateDirectory, base->relative_path, newname ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetRpcProxyHeaderFilename ( const FileLocation *base ) const -{ - string newname = GetBasename ( base->name ) + "_p.h"; - return new FileLocation ( IntermediateDirectory, base->relative_path, newname ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetIdlHeaderFilename ( const FileLocation *base ) const -{ - string newname = GetBasename ( base->name ) + ".h"; - return new FileLocation ( IntermediateDirectory, base->relative_path, newname ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetMcHeaderFilename ( const FileLocation *base ) const -{ - string newname = GetBasename ( base->name ) + ".h"; - return new FileLocation ( IntermediateDirectory, "include/reactos" , newname ); -} - -void -MingwModuleHandler::GenerateCommands ( - const CompilationUnit& compilationUnit, - const string& extraDependencies ) -{ - const FileLocation& sourceFile = compilationUnit.GetFilename (); - string extension = GetExtension ( sourceFile ); - std::transform ( extension.begin (), extension.end (), extension.begin (), tolower ); - - struct - { - HostType host; - ModuleType type; - string extension; - Rule* rule; - } rules[] = { - { HostDontCare, TypeDontCare, ".s", &gasRule }, - { HostDontCare, BootSector, ".asm", &bootRule }, - { HostDontCare, TypeDontCare, ".asm", &nasmRule }, - { HostDontCare, TypeDontCare, ".rc", &windresRule }, - { HostDontCare, TypeDontCare, ".mc", &wmcRule }, - { HostDontCare, RpcServer, ".idl", &widlServerRule }, - { HostDontCare, RpcClient, ".idl", &widlClientRule }, - { HostDontCare, RpcProxy, ".idl", &widlProxyRule }, - { HostDontCare, IdlInterface, ".idl", &widlInterfaceRule }, - { HostDontCare, EmbeddedTypeLib, ".idl", &widlTlbRule }, - { HostDontCare, TypeDontCare, ".idl", &widlHeaderRule }, - { HostTrue, TypeDontCare, ".c", &gccHostRule }, - { HostTrue, TypeDontCare, ".cc", &gppHostRule }, - { HostTrue, TypeDontCare, ".cpp", &gppHostRule }, - { HostTrue, TypeDontCare, ".cxx", &gppHostRule }, - { HostFalse, TypeDontCare, ".c", &gccRule }, - { HostFalse, TypeDontCare, ".cc", &gppRule }, - { HostFalse, TypeDontCare, ".cpp", &gppRule }, - { HostFalse, TypeDontCare, ".cxx", &gppRule }, - { HostFalse, Cabinet, ".*", &emptyRule } - }; - size_t i; - Rule *customRule = NULL; - - for ( i = 0; i < sizeof ( rules ) / sizeof ( rules[0] ); i++ ) - { - if ( rules[i].host != HostDontCare && rules[i].host != ModuleHandlerInformations[module.type].DefaultHost ) - continue; - if ( rules[i].type != TypeDontCare && rules[i].type != module.type ) - continue; - if ( rules[i].extension != extension && rules[i].extension != ".*") - continue; - customRule = rules[i].rule; - break; - } - - if ( extension == ".c" || extension == ".cc" || extension == ".cpp" || extension == ".cxx" ) - { - GenerateGccCommand ( &sourceFile, - customRule, - GetCompilationUnitDependencies ( compilationUnit ) + extraDependencies ); - } - else if ( customRule ) - customRule->Execute ( fMakefile, backend, module, &sourceFile, clean_files ); - else - { - throw InvalidOperationException ( __FILE__, - __LINE__, - "Unsupported filename extension '%s' in file '%s'", - extension.c_str (), - backend->GetFullName ( sourceFile ).c_str () ); - } -} - -void -MingwModuleHandler::GenerateBuildMapCode ( const FileLocation *mapTarget ) -{ - fprintf ( fMakefile, "# BUILD MAP CODE\n" ); - - fprintf ( fMakefile, - "ifeq ($(ROS_BUILDMAP),full)\n" ); - - FileLocation mapFilename ( OutputDirectory, - module.output->relative_path, - GetBasename ( module.output->name ) + ".map" ); - CLEAN_FILE ( mapFilename ); - - fprintf ( fMakefile, - "\t$(ECHO_OBJDUMP)\n" ); - fprintf ( fMakefile, - "\t$(Q)${objdump} -d -S %s > %s\n", - mapTarget ? backend->GetFullName ( *mapTarget ).c_str () : "$@", - backend->GetFullName ( mapFilename ).c_str () ); - - fprintf ( fMakefile, - "else\n" ); - fprintf ( fMakefile, - "ifeq ($(ROS_BUILDMAP),yes)\n" ); - - fprintf ( fMakefile, - "\t$(ECHO_NM)\n" ); - fprintf ( fMakefile, - "\t$(Q)${nm} --numeric-sort %s > %s\n", - mapTarget ? backend->GetFullName ( *mapTarget ).c_str () : "$@", - backend->GetFullName ( mapFilename ).c_str () ); - - fprintf ( fMakefile, - "endif\n" ); - - fprintf ( fMakefile, - "endif\n" ); -} - -void -MergeStringVector ( const Backend* backend, - const vector& input, - vector& output ) -{ - int wrap_at = 25; - string s; - int wrap_count = -1; - for ( size_t i = 0; i < input.size (); i++ ) - { - if ( wrap_count++ == wrap_at ) - { - output.push_back ( s ); - s = ""; - wrap_count = 0; - } - else if ( s.size () > 0) - s += " "; - s += backend->GetFullName ( input[i] ); - } - if ( s.length () > 0 ) - output.push_back ( s ); -} - -void -MingwModuleHandler::GetObjectsVector ( const IfableData& data, - vector& objectFiles ) const -{ - for ( size_t i = 0; i < data.compilationUnits.size (); i++ ) - { - CompilationUnit& compilationUnit = *data.compilationUnits[i]; - const FileLocation& compilationName = compilationUnit.GetFilename (); - const FileLocation *object_file = GetObjectFilename ( &compilationName, module ); - objectFiles.push_back ( *object_file ); - delete object_file; - } -} - -void -MingwModuleHandler::GenerateCleanObjectsAsYouGoCode () const -{ - if ( backend->configuration.CleanAsYouGo ) - { - vector objectFiles; - GetObjectsVector ( module.non_if_data, - objectFiles ); - vector lines; - MergeStringVector ( backend, - objectFiles, - lines ); - for ( size_t i = 0; i < lines.size (); i++ ) - { - fprintf ( fMakefile, - "\t-@${rm} %s 2>$(NUL)\n", - lines[i].c_str () ); - } - } -} - -void -MingwModuleHandler::GenerateLinkerCommand () const -{ - string definitionFilename; - - const FileLocation *DefinitionFilename = GetDefinitionFilename (); - - if ( DefinitionFilename ) { - definitionFilename = backend->GetFullName (*DefinitionFilename); - delete DefinitionFilename; - } - - string linkerScriptArgument; - if ( module.linkerScript != NULL ) { - if ( module.project.configuration.Linker == GnuLd ) - linkerScriptArgument = ssprintf ( " -T %s", backend->GetFullName ( *module.linkerScript->file ).c_str () ); - else - fprintf ( stderr, - "Linker doesn't support linker scripts: linker script %s ignored for module %s\n", - backend->GetFullName ( *module.linkerScript->file ).c_str (), - module.name.c_str() ); - } - - string extraLibraries; - if ( ModuleHandlerInformations[module.type].DefaultHost == HostFalse ) { - if ( module.cplusplus ) { - switch ( module.type ) - { - case Win32DLL: - case Win32OCX: - case Win32CUI: - case Win32GUI: - case Win32SCR: - extraLibraries = "$$(PROJECT_CXXLIBS)"; - break; - - default: - extraLibraries = "$$(PROJECT_CCLIBS)"; - break; - } - } else - extraLibraries = "$$(PROJECT_CCLIBS)"; - } - - delete PassThruCacheDirectory ( new FileLocation ( module.output->directory, module.output->relative_path, "" ) ); - delete PassThruCacheDirectory ( new FileLocation ( IntermediateDirectory, module.output->relative_path, "" ) ); - - fprintf ( fMakefile, - "$(eval $(call RBUILD_LINK_RULE,%s,%s,%s,%s,%s,%s,%s))\n", - module.name.c_str(), - definitionFilename.c_str(), - module.xmlbuildFile.c_str(), - linkerScriptArgument.c_str(), - extraLibraries.c_str(), - module.GetEntryPoint().c_str(), - module.baseaddress.c_str() ); -} - -void -MingwModuleHandler::GenerateObjectFileTargets ( const IfableData& data ) -{ - size_t i; - string moduleDependencies; - - const vector& compilationUnits = data.compilationUnits; - for ( i = 0; i < compilationUnits.size (); i++ ) - { - CompilationUnit& compilationUnit = *compilationUnits[i]; - const FileLocation& compilationName = compilationUnit.GetFilename (); - const FileLocation *objectFilename = GetObjectFilename ( &compilationName, module ); - if ( GetExtension ( *objectFilename ) == ".h" ) - moduleDependencies += ssprintf ( " $(%s_HEADERS)", module.name.c_str () ); - else if ( GetExtension ( *objectFilename ) == ".rc" ) - moduleDependencies += ssprintf ( " $(%s_RESOURCES)", module.name.c_str () ); - delete objectFilename; - } - - for ( i = 0; i < compilationUnits.size (); i++ ) - { - GenerateCommands ( *compilationUnits[i], - moduleDependencies ); - } - - vector sourceCompilationUnits; - GetModuleSpecificCompilationUnits ( sourceCompilationUnits ); - for ( i = 0; i < sourceCompilationUnits.size (); i++ ) - { - GenerateCommands ( *sourceCompilationUnits[i], - moduleDependencies ); - } - CleanupCompilationUnitVector ( sourceCompilationUnits ); - - if ( module.type == RpcProxy ) - { - widlDlldataRule.Execute ( fMakefile, - backend, - module, - GetDlldataFilename(), - clean_files, - ssprintf ( "$(%s_SOURCES)", module.name.c_str ()) ); - } -} - -void -MingwModuleHandler::GenerateObjectFileTargets () -{ - if ( module.pch && use_pch ) - { - - std::map vars; - - /* WIDL generated headers may be used */ - string dependencies; - vector rpcDependencies; - GetRpcHeaderDependencies ( rpcDependencies ); - if ( rpcDependencies.size () > 0 ) - dependencies = " " + backend->v2s ( rpcDependencies, 5 ); - - if ( module.cplusplus ) - pchCxxRule.Execute ( fMakefile, backend, module, module.pch->file, clean_files, dependencies ); - else - pchRule.Execute ( fMakefile, backend, module, module.pch->file, clean_files, dependencies ); - } - - GenerateObjectFileTargets ( module.non_if_data ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GenerateArchiveTarget () -{ - const FileLocation *archiveFilename = GetModuleArchiveFilename (); - - if ( archiveFilename == NULL ) - return NULL; - - const FileLocation *definitionFilename = GetDefinitionFilename (); - - fprintf ( fMakefile, "# ARCHIVE TARGET\n" ); - - if ( IsStaticLibrary ( module ) && definitionFilename ) - { - arRule1.Execute ( fMakefile, - backend, - module, - archiveFilename, - clean_files, - backend->GetFullName ( *definitionFilename ).c_str () ); - - fprintf ( fMakefile, - "\t${dlltool} --def %s --kill-at --output-lib $@\n", - backend->GetFullName ( *definitionFilename ).c_str () ); - } - else - arRule1.Execute ( fMakefile, backend, module, archiveFilename, clean_files ); - - if ( definitionFilename ) - delete definitionFilename; - - if(module.type == HostStaticLibrary) - arHostRule2.Execute ( fMakefile, backend, module, archiveFilename, clean_files ); - else - arRule2.Execute ( fMakefile, backend, module, archiveFilename, clean_files ); - - GenerateCleanObjectsAsYouGoCode (); - - fprintf ( fMakefile, "\n" ); - - return archiveFilename; -} - -/*static*/ string -MingwModuleHandler::GetObjectsMacro ( const Module& module ) -{ - return ssprintf ( "$(%s_OBJS)", - module.name.c_str () ); -} - -string -MingwModuleHandler::GetLibsMacro () const -{ - return ssprintf ( "$(%s_LIBS)", module.name.c_str () ); -} - -string -MingwModuleHandler::GetLinkerMacro () const -{ - return ssprintf ( "$(%s_LDFLAGS)", - module.name.c_str () ); -} - -string -MingwModuleHandler::GetDebugFormat () -{ - if (Environment::GetArch() == "amd64") - { - return "dwarf-2"; - } - return "stabs+"; -} - -string -MingwModuleHandler::GetModuleTargets ( const Module& module ) -{ - if ( ReferenceObjects ( module ) ) - return GetObjectsMacro ( module ); - else - { - const FileLocation *target_file = GetTargetFilename ( module, NULL ); - string target = backend->GetFullName ( *target_file ).c_str (); - delete target_file; - return target; - } -} - -void -MingwModuleHandler::GenerateSourceMacro () -{ - sourcesMacro = ssprintf ( "%s_SOURCES", module.name.c_str ()); - - if ( module.type == RpcProxy || module.type == Cabinet ) - GenerateSourceMacros ( module.non_if_data ); - - // future references to the macro will be to get its values - sourcesMacro = ssprintf ("$(%s)", sourcesMacro.c_str ()); -} - -void -MingwModuleHandler::GenerateObjectMacro () -{ - objectsMacro = ssprintf ("%s_OBJS", module.name.c_str ()); - - GenerateObjectMacros ( module.non_if_data ); - - // future references to the macro will be to get its values - objectsMacro = ssprintf ("$(%s)", objectsMacro.c_str ()); -} - -void -MingwModuleHandler::GenerateTargetMacro () -{ - fprintf ( fMakefile, - "%s := %s\n", - GetTargetMacro ( module, false ).c_str (), - GetModuleTargets ( module ).c_str () ); -} - -void -MingwModuleHandler::GetRpcHeaderDependencies ( - vector& dependencies ) const -{ - for ( size_t i = 0; i < module.non_if_data.libraries.size (); i++ ) - { - Library& library = *module.non_if_data.libraries[i]; - if ( library.importedModule->type == RpcServer || - library.importedModule->type == RpcClient || - library.importedModule->type == RpcProxy || - library.importedModule->type == IdlHeader ) - { - for ( size_t j = 0; j < library.importedModule->non_if_data.compilationUnits.size (); j++ ) - { - CompilationUnit& compilationUnit = *library.importedModule->non_if_data.compilationUnits[j]; - const FileLocation& sourceFile = compilationUnit.GetFilename (); - string extension = GetExtension ( sourceFile ); - if ( extension == ".idl" || extension == ".IDL" ) - { - string basename = GetBasename ( sourceFile.name ); - if ( library.importedModule->type == RpcServer ) - { - const FileLocation *header = GetRpcServerHeaderFilename ( &sourceFile ); - dependencies.push_back ( *header ); - delete header; - } - if ( library.importedModule->type == RpcClient ) - { - const FileLocation *header = GetRpcClientHeaderFilename ( &sourceFile ); - dependencies.push_back ( *header ); - delete header; - } - if ( library.importedModule->type == RpcProxy ) - { - const FileLocation *header = GetRpcProxyHeaderFilename ( &sourceFile ); - dependencies.push_back ( *header ); - delete header; - } - if ( library.importedModule->type == IdlHeader ) - { - const FileLocation *header = GetIdlHeaderFilename ( &sourceFile ); - dependencies.push_back ( *header ); - delete header; - } - } - } - } - } -} - -void -MingwModuleHandler::GenerateOtherMacros () -{ - set used_defs; - - linkerflagsMacro = ssprintf ("%s_LDFLAGS", module.name.c_str ()); - libsMacro = ssprintf("%s_LIBS", module.name.c_str ()); - - const FileLocation * pchPath = GetPrecompiledHeaderPath (); - - if ( pchPath ) - { - string pchPathStr = backend->GetFullName ( *pchPath ); - delete pchPath; - - fprintf ( fMakefile, - "%s_%sINCLUDES+= -I%s\n", - module.name.c_str(), - CompilerPrefixTable[CompilerTypeCC], - pchPathStr.c_str() ); - - fprintf ( fMakefile, - "%s_%sINCLUDES+= -I%s\n", - module.name.c_str(), - CompilerPrefixTable[CompilerTypeCXX], - pchPathStr.c_str() ); - } - - const char * toolPrefix = ""; - - if ( ModuleHandlerInformations[module.type].DefaultHost == HostTrue ) - toolPrefix = "HOST_"; - - // FIXME: this is very ugly and generates lots of useless entries - for ( unsigned type = CompilerTypeCC; type < CompilerTypesCount; ++ type ) - { - string flags; - - if ( module.dynamicCRT ) - flags += ssprintf ( " $(%s%sFLAG_CRTDLL)", toolPrefix, CompilerPrefixTable[type] ); - - // FIXME: this duplicates the flag for CPP and C/CXX - if ( !module.allowWarnings ) - flags += ssprintf ( " $(%s%sFLAG_WERROR)", toolPrefix, CompilerPrefixTable[type] ); - - if ( module.isUnicode ) - flags += ssprintf ( " $(%s%sFLAG_UNICODE)", toolPrefix, CompilerPrefixTable[type] ); - - if ( flags.size() ) - { - fprintf ( fMakefile, - "%s_%sFLAGS+=%s\n", - module.name.c_str(), - CompilerPrefixTable[type], - flags.c_str() ); - } - } - - GenerateParameters ( module.name.c_str(), "+=", module.non_if_data ); - - GenerateMacros ( - "+=", - module.non_if_data, - &module.linkerFlags, - used_defs ); - - fprintf ( fMakefile, "\n\n" ); -} - -void -MingwModuleHandler::GenerateRules () -{ - SpecFileType spec; - - fprintf ( fMakefile, "# RULES\n" ); - string targetMacro = GetTargetMacro ( module ); - //CLEAN_FILE ( targetMacro ); - CLEAN_FILE ( FileLocation ( SourceDirectory, "", targetMacro ) ); - - // generate phony target for module name - fprintf ( fMakefile, ".PHONY: %s\n", - module.name.c_str () ); - string dependencies = GetTargetMacro ( module ); - if ( module.type == Test ) - dependencies += " $(regtests_run_TARGET)"; - fprintf ( fMakefile, "%s: %s\n\n", - module.name.c_str (), - dependencies.c_str () ); - if ( module.type == Test ) - { - fprintf ( fMakefile, - "\t@%s\n", - targetMacro.c_str ()); - } - - if ( !ReferenceObjects ( module ) ) - { - const FileLocation* ar_target = GenerateArchiveTarget (); - - if ( ar_target ) - delete ar_target; - } - - - spec = module.IsSpecDefinitionFile(); - - if(spec) - { - Rule * defRule; - - if (spec == PSpec) - defRule = &winebuildPRule; - else - defRule = &winebuildRule; - - defRule->Execute ( fMakefile, backend, module, module.importLibrary->source, clean_files ); - } - - GenerateObjectFileTargets (); -} - -void -MingwModuleHandler::GetInvocationDependencies ( - const Module& module, - string_list& dependencies ) -{ - for ( size_t i = 0; i < module.invocations.size (); i++ ) - { - Invoke& invoke = *module.invocations[i]; - if ( invoke.invokeModule == &module ) - /* Protect against circular dependencies */ - continue; - invoke.GetTargets ( dependencies ); - } -} - -void -MingwModuleHandler::GenerateInvocations () const -{ - if ( module.invocations.size () == 0 ) - return; - - fprintf ( fMakefile, "# INVOCATIONS\n" ); - - size_t iend = module.invocations.size (); - for ( size_t i = 0; i < iend; i++ ) - { - const Invoke& invoke = *module.invocations[i]; - - if ( invoke.invokeModule->type != BuildTool ) - { - throw XMLInvalidBuildFileException ( - module.node.location, - "Only modules of type buildtool can be invoked." ); - } - - string invokeTarget = module.GetInvocationTarget ( i ); - string_list invoke_targets; - assert ( invoke_targets.size() ); - invoke.GetTargets ( invoke_targets ); - fprintf ( fMakefile, - ".PHONY: %s\n\n", - invokeTarget.c_str () ); - fprintf ( fMakefile, - "%s:", - invokeTarget.c_str () ); - size_t j, jend = invoke_targets.size(); - for ( j = 0; j < jend; j++ ) - { - fprintf ( fMakefile, - " %s", - invoke_targets[i].c_str () ); - } - fprintf ( fMakefile, "\n\n%s", invoke_targets[0].c_str () ); - for ( j = 1; j < jend; j++ ) - fprintf ( fMakefile, - " %s", - invoke_targets[i].c_str () ); - fprintf ( fMakefile, - ": %s\n", - NormalizeFilename ( backend->GetFullName ( *invoke.invokeModule->output ) ).c_str () ); - fprintf ( fMakefile, "\t$(ECHO_INVOKE)\n" ); - fprintf ( fMakefile, - "\t%s %s\n\n", - NormalizeFilename ( backend->GetFullName ( *invoke.invokeModule->output ) ).c_str (), - invoke.GetParameters ().c_str () ); - } -} - -string -MingwModuleHandler::GetPreconditionDependenciesName () const -{ - return module.name + "_precondition"; -} - -void -MingwModuleHandler::GetDefaultDependencies ( - string_list& dependencies ) const -{ - /* Avoid circular dependency */ - if ( ModuleHandlerInformations[module.type].DefaultHost == HostTrue ) - return; - - if (module.name != "psdk" && - module.name != "dxsdk") - { - dependencies.push_back ( "$(psdk_TARGET) $(psdk_HEADERS)" ); - dependencies.push_back ( "$(dxsdk_TARGET) $(dxsdk_HEADERS)" ); - } - - if (module.name != "errcodes" && - module.name != "bugcodes" && - module.name != "ntstatus") - { - dependencies.push_back ( "$(errcodes_TARGET) $(ERRCODES_MCHEADERS)" ); - dependencies.push_back ( "$(bugcodes_TARGET) $(BUGCODES_MCHEADERS)" ); - dependencies.push_back ( "$(ntstatus_TARGET) $(NTSTATUS_MCHEADERS)" ); - } - - ///* Check if any dependent library relies on the generated headers */ - //for ( size_t i = 0; i < module.project.modules.size (); i++ ) - //{ - // const Module& m = *module.project.modules[i]; - // for ( size_t j = 0; j < m.non_if_data.compilationUnits.size (); j++ ) - // { - // CompilationUnit& compilationUnit = *m.non_if_data.compilationUnits[j]; - // const FileLocation& sourceFile = compilationUnit.GetFilename (); - // string extension = GetExtension ( sourceFile ); - // if (extension == ".mc" || extension == ".MC" ) - // { - // string dependency = ssprintf ( "$(%s_MCHEADERS)", m.name.c_str () ); - // dependencies.push_back ( dependency ); - // } - // } - //} -} - -void -MingwModuleHandler::GeneratePreconditionDependencies () -{ - fprintf ( fMakefile, "# PRECONDITION DEPENDENCIES\n" ); - string preconditionDependenciesName = GetPreconditionDependenciesName (); - string_list dependencies; - GetDefaultDependencies ( dependencies ); - GetModuleDependencies ( dependencies ); - - GetInvocationDependencies ( module, dependencies ); - - if ( dependencies.size() ) - { - fprintf ( fMakefile, - "%s =", - preconditionDependenciesName.c_str () ); - for ( size_t i = 0; i < dependencies.size(); i++ ) - fprintf ( fMakefile, - " %s", - dependencies[i].c_str () ); - fprintf ( fMakefile, "\n\n" ); - } - - fprintf ( fMakefile, "\n" ); -} - -/* caller needs to delete the returned object */ -const FileLocation* -MingwModuleHandler::GetDefinitionFilename () const -{ - if ( module.importLibrary == NULL ) - return NULL; - - if ( module.IsSpecDefinitionFile () ) - { - return new FileLocation ( IntermediateDirectory, - module.importLibrary->source->relative_path, - GetBasename ( module.importLibrary->source->name ) + "_" + module.name + ".auto.def" ); - } - else - { - return new FileLocation ( SourceDirectory, - module.importLibrary->source->relative_path, - module.importLibrary->source->name ); - } -} - -void -MingwModuleHandler::GetSpecObjectDependencies ( - vector& dependencies, - const FileLocation *file ) const -{ - dependencies.push_back ( FileLocation ( IntermediateDirectory, - file->relative_path, - GetBasename ( file->name ) + "_" + module.name + ".stubs.c" ) ); -} - -void -MingwModuleHandler::GetMcObjectDependencies ( - vector& dependencies, - const FileLocation *file ) const -{ - string basename = GetBasename ( file->name ); - - FileLocation defDependency ( IntermediateDirectory, - "include/reactos", - basename + ".h" ); - dependencies.push_back ( defDependency ); - - FileLocation stubsDependency ( IntermediateDirectory, - file->relative_path, - basename + ".rc" ); - dependencies.push_back ( stubsDependency ); -} - -void -MingwModuleHandler::GetWidlObjectDependencies ( - vector& dependencies, - const FileLocation *file ) const -{ - string basename = GetBasename ( file->name ); - const FileLocation *generatedHeaderFilename = GetRpcServerHeaderFilename ( file ); - - FileLocation serverSourceDependency ( IntermediateDirectory, - file->relative_path, - basename + "_s.c" ); - dependencies.push_back ( serverSourceDependency ); - dependencies.push_back ( *generatedHeaderFilename ); - - delete generatedHeaderFilename; -} - -void -MingwModuleHandler::GetDefinitionDependencies ( - vector& dependencies ) const -{ - const vector& compilationUnits = module.non_if_data.compilationUnits; - for ( size_t i = 0; i < compilationUnits.size (); i++ ) - { - const CompilationUnit& compilationUnit = *compilationUnits[i]; - const FileLocation& sourceFile = compilationUnit.GetFilename (); - string extension = GetExtension ( sourceFile ); - - if (extension == ".spec" || extension == ".pspec") - GetSpecObjectDependencies ( dependencies, &sourceFile ); - - if (extension == ".idl") - { - if ( ( module.type == RpcServer ) || ( module.type == RpcClient ) || ( module.type == RpcProxy ) ) - GetWidlObjectDependencies ( dependencies, &sourceFile ); - } - } -} - -enum DebugSupportType -{ - DebugKernelMode, - DebugUserMode -}; - -static void -MingwAddDebugSupportLibraries ( Module& module, DebugSupportType type ) -{ - Library* pLibrary; - - switch(type) - { - case DebugKernelMode: - pLibrary = new Library ( module, "debugsup_ntoskrnl" ); - break; - - case DebugUserMode: - pLibrary = new Library ( module, "debugsup_ntdll" ); - break; - - default: - assert(0); - } - - module.non_if_data.libraries.push_back(pLibrary); -} - -static void -MingwAddCRTLibrary( Module &module ) -{ - const char * crtAttr = module.CRT.c_str (); - const char * crtLib = NULL; - - if ( stricmp ( crtAttr, "libc" ) == 0 ) - crtLib = "crt"; - else if ( stricmp ( crtAttr, "msvcrt" ) == 0 ) - crtLib = "msvcrt"; - else if ( stricmp ( crtAttr, "libcntpr" ) == 0 ) - crtLib = "libcntpr"; - else if ( stricmp ( crtAttr, "ntdll" ) == 0 ) - crtLib = "ntdll"; - - if ( crtLib ) - { - Library* pLibrary = new Library ( module, std::string ( crtLib ) ); - - if ( pLibrary->importedModule == NULL) - { - throw XMLInvalidBuildFileException ( - module.node.location, - "module '%s' trying to import non-existant C runtime module '%s'", - module.name.c_str(), - crtLib ); - } - - module.non_if_data.libraries.push_back ( pLibrary ); - } -} - -MingwBuildToolModuleHandler::MingwBuildToolModuleHandler ( const Module& module_ ) - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwBuildToolModuleHandler::Process () -{ - GenerateBuildToolModuleTarget (); -} - -void -MingwBuildToolModuleHandler::GenerateBuildToolModuleTarget () -{ - string targetMacro ( GetTargetMacro (module) ); - string objectsMacro = GetObjectsMacro ( module ); - string libsMacro = GetLibsMacro (); - - GenerateRules (); - - fprintf ( fMakefile, "# BUILD TOOL MODULE TARGET\n" ); - - string linker; - if ( module.cplusplus ) - linker = "${host_gpp}"; - else - linker = "${host_gcc}"; - - const FileLocation *target_file = GetTargetFilename ( module, NULL ); - fprintf ( fMakefile, "%s: %s %s | %s\n", - targetMacro.c_str (), - objectsMacro.c_str (), - libsMacro.c_str (), - backend->GetFullPath ( *target_file ).c_str () ); - fprintf ( fMakefile, "\t$(ECHO_HOSTLD)\n" ); - fprintf ( fMakefile, - "\t%s %s -o $@ %s %s\n\n", - linker.c_str (), - GetLinkerMacro ().c_str (), - objectsMacro.c_str (), - libsMacro.c_str () ); - - delete target_file; -} - - -MingwKernelModuleHandler::MingwKernelModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwKernelModuleHandler::Process () -{ - GenerateKernelModuleTarget (); -} - -void -MingwKernelModuleHandler::GenerateKernelModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwKernelModeDLLModuleHandler::MingwKernelModeDLLModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - - -void -MingwKernelModeDLLModuleHandler::AddImplicitLibraries ( Module& module ) -{ - MingwAddCRTLibrary ( module ); - MingwAddDebugSupportLibraries ( module, DebugKernelMode ); -} - -void -MingwKernelModeDLLModuleHandler::Process () -{ - GenerateKernelModeDLLModuleTarget (); -} - -void -MingwKernelModeDLLModuleHandler::GenerateKernelModeDLLModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwNativeDLLModuleHandler::MingwNativeDLLModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwNativeDLLModuleHandler::AddImplicitLibraries ( Module& module ) -{ - MingwAddCRTLibrary ( module ); - MingwAddDebugSupportLibraries ( module, DebugUserMode ); -} - -void -MingwNativeDLLModuleHandler::Process () -{ - GenerateNativeDLLModuleTarget (); -} - -void -MingwNativeDLLModuleHandler::GenerateNativeDLLModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwNativeCUIModuleHandler::MingwNativeCUIModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwNativeCUIModuleHandler::AddImplicitLibraries ( Module& module ) -{ - MingwAddCRTLibrary ( module ); - MingwAddDebugSupportLibraries ( module, DebugUserMode ); -} - -void -MingwNativeCUIModuleHandler::Process () -{ - GenerateNativeCUIModuleTarget (); -} - -void -MingwNativeCUIModuleHandler::GenerateNativeCUIModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwWin32DLLModuleHandler::MingwWin32DLLModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -MingwWin32OCXModuleHandler::MingwWin32OCXModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -static void -MingwAddImplicitLibraries( Module &module ) -{ - Library* pLibrary; - - if ( module.type != Win32DLL - && module.type != Win32OCX - && module.type != Win32CUI - && module.type != Win32GUI - && module.type != Win32SCR) - { - return; - } - - if ( module.isDefaultEntryPoint ) - { - if ( module.IsDLL () ) - { - //pLibrary = new Library ( module, "__mingw_dllmain" ); - //module.non_if_data.libraries.insert ( module.non_if_data.libraries.begin(), pLibrary ); - } - else - { - pLibrary = new Library ( module, module.isUnicode ? "mingw_wmain" : "mingw_main" ); - module.non_if_data.libraries.insert ( module.non_if_data.libraries.begin(), pLibrary ); - } - } - - pLibrary = new Library ( module, "mingw_common" ); - module.non_if_data.libraries.push_back ( pLibrary ); - - MingwAddCRTLibrary ( module ); - MingwAddDebugSupportLibraries ( module, DebugUserMode ); -} - -void -MingwWin32DLLModuleHandler::AddImplicitLibraries ( Module& module ) -{ - MingwAddImplicitLibraries ( module ); -} - -void -MingwWin32DLLModuleHandler::Process () -{ - GenerateWin32DLLModuleTarget (); -} - -void -MingwWin32DLLModuleHandler::GenerateWin32DLLModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -void -MingwWin32OCXModuleHandler::AddImplicitLibraries ( Module& module ) -{ - MingwAddImplicitLibraries ( module ); -} - -void -MingwWin32OCXModuleHandler::Process () -{ - GenerateWin32OCXModuleTarget (); -} - -void -MingwWin32OCXModuleHandler::GenerateWin32OCXModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwWin32CUIModuleHandler::MingwWin32CUIModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwWin32CUIModuleHandler::AddImplicitLibraries ( Module& module ) -{ - MingwAddImplicitLibraries ( module ); -} - -void -MingwWin32CUIModuleHandler::Process () -{ - GenerateWin32CUIModuleTarget (); -} - -void -MingwWin32CUIModuleHandler::GenerateWin32CUIModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwWin32GUIModuleHandler::MingwWin32GUIModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwWin32GUIModuleHandler::AddImplicitLibraries ( Module& module ) -{ - MingwAddImplicitLibraries ( module ); -} - -void -MingwWin32GUIModuleHandler::Process () -{ - GenerateWin32GUIModuleTarget (); -} - -void -MingwWin32GUIModuleHandler::GenerateWin32GUIModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwBootLoaderModuleHandler::MingwBootLoaderModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwBootLoaderModuleHandler::Process () -{ - GenerateBootLoaderModuleTarget (); -} - -void -MingwBootLoaderModuleHandler::GenerateBootLoaderModuleTarget () -{ - fprintf ( fMakefile, "# BOOT LOADER MODULE TARGET\n" ); - string targetMacro ( GetTargetMacro (module) ); - string objectsMacro = GetObjectsMacro ( module ); - string libsMacro = GetLibsMacro (); - - GenerateRules (); - - string objectsDir = "${call RBUILD_intermediate_dir,$(" + module.name + "_TARGET)}"; - string rspFile = objectsDir + "$(SEP)" + module.name + "_objs.rsp"; - - /* Generate the rsp rule */ - fprintf(fMakefile, "%s: $(%s_OBJS) %s | %s\n" - "\t$(ECHO_RSP)\n" - "\t-@${rm} $@ 2>$(NUL)\n" - "\t${cp} $(NUL) $@ >$(NUL)\n" - "\t$(foreach obj,$(%s_LIBS),$(Q)echo $(QUOTE)$(subst \\,\\\\,$(obj))$(QUOTE)>>$@$(NL))\n\n", - rspFile.c_str(), - module.name.c_str(), - module.xmlbuildFile.c_str(), - objectsDir.c_str(), - module.name.c_str()); - - const FileLocation *target_file = GetTargetFilename ( module, NULL ); - fprintf ( fMakefile, "%s: %s %s | %s\n", - targetMacro.c_str (), - rspFile.c_str(), - libsMacro.c_str (), - backend->GetFullPath ( *target_file ).c_str () ); - - fprintf ( fMakefile, "\t$(ECHO_LD)\n" ); - - string linkerScriptArgument; - if ( module.linkerScript != NULL ) { - linkerScriptArgument = ssprintf(" -T %s", backend->GetFullName(*module.linkerScript->file).c_str()); - } - - /* Link the stripped booloader */ - fprintf(fMakefile, - "\t${ld} --strip-all --subsystem native --entry=%s --image-base=%s @%s $(PROJECT_CCLIBS) " - "$(BUILTIN_LDFLAGS) $(PROJECT_LDFLAGS) $(LDFLAG_DRIVER) %s -o $@\n", - module.GetEntryPoint().c_str(), - module.baseaddress.c_str(), - rspFile.c_str(), - linkerScriptArgument.c_str() ); - - /* Link an unstripped version */ - fprintf(fMakefile, - "ifeq ($(ROS_BUILDNOSTRIP),yes)\n" - "\t${ld} --subsystem native --entry=%s --image-base=%s @%s $(PROJECT_CCLIBS) " - "$(BUILTIN_LDFLAGS) $(PROJECT_LDFLAGS) $(LDFLAG_DRIVER) %s -o %s$(SEP)%s.nostrip.sys\n" - "endif\n", - module.GetEntryPoint().c_str(), - module.baseaddress.c_str(), - rspFile.c_str(), - linkerScriptArgument.c_str(), - backend->GetFullPath(*target_file).c_str(), - module.name.c_str()); -} - - -MingwBootProgramModuleHandler::MingwBootProgramModuleHandler ( - const Module& module_ ) - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwBootProgramModuleHandler::Process () -{ - GenerateBootProgramModuleTarget (); -} - -void -MingwBootProgramModuleHandler::GenerateBootProgramModuleTarget () -{ - fprintf ( fMakefile, "# BOOT PROGRAM MODULE TARGET\n" ); - - string targetName ( module.output->name ); - string targetMacro ( GetTargetMacro (module) ); - string workingDirectory = GetWorkingDirectory (); - FileLocation junk_tmp ( TemporaryDirectory, - "", - module.name + ".junk.tmp" ); - FileLocation junk_elf ( TemporaryDirectory, - "", - module.name + ".junk.elf" ); - FileLocation junk_cpy ( TemporaryDirectory, - "", - module.name + ".junk.elf" ); - CLEAN_FILE ( junk_tmp ); - CLEAN_FILE ( junk_elf ); - CLEAN_FILE ( junk_cpy ); - string objectsMacro = GetObjectsMacro ( module ); - string libsMacro = GetLibsMacro (); - const Module *payload = module.project.LocateModule ( module.payload ); - - GenerateRules (); - - const FileLocation *target_file = GetTargetFilename ( module, NULL ); - fprintf ( fMakefile, "%s: %s %s %s | %s\n", - targetMacro.c_str (), - objectsMacro.c_str (), - libsMacro.c_str (), - payload->name.c_str (), - backend->GetFullPath ( *target_file ).c_str () ); - - fprintf ( fMakefile, "\t$(ECHO_BOOTPROG)\n" ); - - fprintf ( fMakefile, "\t$(%s_PREPARE) $(OUTPUT)$(SEP)%s %s\n", - module.buildtype.c_str (), - NormalizeFilename( backend->GetFullName ( *payload->output ) ).c_str (), - backend->GetFullName ( junk_cpy ).c_str () ); - - fprintf ( fMakefile, "\t${objcopy} $(%s_FLATFORMAT) %s %s\n", - module.buildtype.c_str (), - backend->GetFullName ( junk_cpy ).c_str (), - backend->GetFullName ( junk_tmp ).c_str () ); - - fprintf ( fMakefile, "\t${ld} $(%s_LINKFORMAT) %s %s -o %s\n", - module.buildtype.c_str (), - libsMacro.c_str (), - backend->GetFullName ( junk_tmp ).c_str (), - backend->GetFullName ( junk_elf ).c_str () ); - - fprintf ( fMakefile, "\t${objcopy} $(%s_COPYFORMAT) %s $(INTERMEDIATE)$(SEP)%s\n", - module.buildtype.c_str (), - backend->GetFullName ( junk_elf ).c_str (), - backend->GetFullName ( *module.output ) .c_str () ); - - fprintf ( fMakefile, - "\t-@${rm} %s %s %s 2>$(NUL)\n", - backend->GetFullName ( junk_tmp ).c_str (), - backend->GetFullName ( junk_elf ).c_str (), - backend->GetFullName ( junk_cpy ).c_str () ); - - delete target_file; -} - - -MingwIsoModuleHandler::MingwIsoModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwIsoModuleHandler::Process () -{ - GenerateIsoModuleTarget (); -} - -void -MingwIsoModuleHandler::OutputBootstrapfileCopyCommands ( - const string& bootcdDirectory, - vector& destinations ) -{ - for ( std::map::const_iterator p = module.project.modules.begin (); p != module.project.modules.end (); ++ p ) - { - const Module& m = *p->second; - if ( !m.enabled ) - continue; - if ( m.bootstrap != NULL ) - { - FileLocation targetFile ( OutputDirectory, - m.bootstrap->base.length () > 0 - ? bootcdDirectory + sSep + m.bootstrap->base - : bootcdDirectory, - m.bootstrap->nameoncd ); - OutputCopyCommandSingle ( *m.output, targetFile ); - destinations.push_back ( targetFile ); - } - } -} - -void -MingwIsoModuleHandler::OutputCdfileCopyCommands ( - const string& bootcdDirectory, - std::vector& destinations ) -{ - for ( size_t i = 0; i < module.project.cdfiles.size (); i++ ) - { - const CDFile& cdfile = *module.project.cdfiles[i]; - FileLocation targetFile ( OutputDirectory, - cdfile.target->relative_path.length () > 0 - ? bootcdDirectory + sSep + cdfile.target->relative_path - : bootcdDirectory, - cdfile.target->name ); - OutputCopyCommandSingle ( *cdfile.source, targetFile ); - destinations.push_back ( targetFile ); - } - for ( size_t i = 0; i < module.cdfiles.size (); i++ ) - { - const CDFile& cdfile = *module.cdfiles[i]; - FileLocation targetFile ( OutputDirectory, - cdfile.target->relative_path.length () > 0 - ? bootcdDirectory + sSep + cdfile.target->relative_path - : bootcdDirectory, - cdfile.target->name ); - OutputCopyCommandSingle ( *cdfile.source, targetFile ); - destinations.push_back ( targetFile ); - } -} - -void -MingwIsoModuleHandler::GetBootstrapCdDirectories ( vector& out, - const string& bootcdDirectory ) -{ - for ( std::map::const_iterator p = module.project.modules.begin (); p != module.project.modules.end (); ++ p ) - { - const Module& m = *p->second; - if ( !m.enabled ) - continue; - if ( m.bootstrap != NULL ) - { - FileLocation targetDirectory ( OutputDirectory, - m.bootstrap->base.length () > 0 - ? bootcdDirectory + sSep + m.bootstrap->base - : bootcdDirectory, - "" ); - out.push_back ( targetDirectory ); - } - } -} - -void -MingwIsoModuleHandler::GetNonModuleCdDirectories ( vector& out, - const string& bootcdDirectory ) -{ - for ( size_t i = 0; i < module.project.cdfiles.size (); i++ ) - { - const CDFile& cdfile = *module.project.cdfiles[i]; - FileLocation targetDirectory ( OutputDirectory, - cdfile.target->relative_path.length () > 0 - ? bootcdDirectory + sSep + cdfile.target->relative_path - : bootcdDirectory, - "" ); - out.push_back( targetDirectory ); - } -} - -void -MingwIsoModuleHandler::GetCdDirectories ( vector& out, - const string& bootcdDirectory ) -{ - GetBootstrapCdDirectories ( out, bootcdDirectory ); - GetNonModuleCdDirectories ( out, bootcdDirectory ); -} - -void -MingwIsoModuleHandler::GetBootstrapCdFiles ( - vector& out ) const -{ - for ( std::map::const_iterator p = module.project.modules.begin (); p != module.project.modules.end (); ++ p ) - { - const Module& m = *p->second; - if ( !m.enabled ) - continue; - if ( m.bootstrap != NULL ) - { - out.push_back ( *m.output ); - } - } -} - -void -MingwIsoModuleHandler::GetNonModuleCdFiles ( - vector& out ) const -{ - for ( size_t i = 0; i < module.project.cdfiles.size (); i++ ) - { - const CDFile& cdfile = *module.project.cdfiles[i]; - out.push_back ( *cdfile.source ); - } -} - -void -MingwIsoModuleHandler::GetCdFiles ( - vector& out ) const -{ - GetBootstrapCdFiles ( out ); - GetNonModuleCdFiles ( out ); -} - -void -MingwIsoModuleHandler::GenerateIsoModuleTarget () -{ - fprintf ( fMakefile, "# ISO MODULE TARGET\n" ); - string bootcdDirectory = module.name; - FileLocation bootcd ( OutputDirectory, - bootcdDirectory, - "" ); - FileLocation bootcdReactos ( OutputDirectory, - bootcdDirectory + sSep + Environment::GetCdOutputPath (), - "" ); - - // bootsector - const Module* bootModule = module.bootSector->bootSectorModule; - - if (!bootModule) - { - throw InvalidOperationException ( module.node.location.c_str(), - 0, - "Invalid bootsector. module '%s' requires ", - module.name.c_str ()); - } - - const FileLocation *isoboot = bootModule->output; - - // prepare reactos.dff and reactos.inf - FileLocation reactosDff ( SourceDirectory, - "boot" + sSep + "bootdata" + sSep + "packages", - "reactos.dff" ); - FileLocation reactosInf ( bootcdReactos.directory, - bootcdReactos.relative_path, - "reactos.inf" ); - - /* - We use only the name and not full FileLocation(ouput) because Iso/LiveIso are an exception to the general rule. - Iso/LiveIso outputs are generated in code base root - */ - string IsoName = module.output->name; - - fprintf ( fMakefile, ".PHONY: %s_CABINET\n\n", - module.name.c_str () ); - fprintf ( fMakefile, "%s_CABINET: all $(cabman_TARGET) %s | %s\n", - module.name.c_str (), - backend->GetFullName ( reactosDff ).c_str (), - backend->GetFullPath ( bootcdReactos ).c_str () ); - fprintf ( fMakefile, - "\t$(Q)$(cabman_TARGET) -C %s -L %s -I -P $(OUTPUT)\n", - backend->GetFullName ( reactosDff ).c_str (), - backend->GetFullPath ( bootcdReactos ).c_str () ); - fprintf ( fMakefile, - "\t$(Q)$(cabman_TARGET) -C %s -RC %s -L %s -N -P $(OUTPUT)\n", - backend->GetFullName ( reactosDff ).c_str (), - backend->GetFullName ( reactosInf ).c_str (), - backend->GetFullPath ( bootcdReactos ).c_str ()); - fprintf ( fMakefile, - "\t-@${rm} %s 2>$(NUL)\n\n", - backend->GetFullName ( reactosInf ).c_str () ); - - std::vector sourceFiles; - OutputBootstrapfileCopyCommands ( bootcdDirectory, sourceFiles ); - OutputCdfileCopyCommands ( bootcdDirectory, sourceFiles ); - - fprintf( fMakefile, - "\n%s_OBJS := %s\n\n", - module.name.c_str (), - backend->v2s ( sourceFiles, 5, true ).c_str () ); - - fprintf ( fMakefile, ".PHONY: %s\n\n", - module.name.c_str ()); - fprintf ( fMakefile, - "%s: $(%s_OBJS) %s_CABINET %s $(cdmake_TARGET) | %s\n", - module.name.c_str (), - module.name.c_str (), - module.name.c_str (), - backend->GetFullName ( *isoboot ).c_str (), - backend->GetFullPath ( FileLocation ( OutputDirectory, - bootcdDirectory, - "" ) ).c_str () ); - - fprintf ( fMakefile, "\t$(ECHO_CDMAKE)\n" ); - fprintf ( fMakefile, - "\t$(Q)$(cdmake_TARGET) -v -j -m -b %s %s REACTOS %s\n", - backend->GetFullName ( *isoboot ).c_str (), - backend->GetFullPath ( bootcd ).c_str (), - IsoName.c_str() ); - fprintf ( fMakefile, - "\n" ); -} - - -MingwLiveIsoModuleHandler::MingwLiveIsoModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwLiveIsoModuleHandler::Process () -{ - GenerateLiveIsoModuleTarget (); -} - -void -MingwLiveIsoModuleHandler::CreateDirectory ( const string& directory ) -{ - FileLocation dir ( OutputDirectory, - directory, - "" ); - MingwModuleHandler::PassThruCacheDirectory ( &dir ); -} - -void -MingwLiveIsoModuleHandler::OutputModuleCopyCommands ( string& livecdDirectory, - string& reactosDirectory, - std::vector& destinations ) -{ - for ( std::map::const_iterator p = module.project.modules.begin (); p != module.project.modules.end (); ++ p ) - { - const Module& m = *p->second; - if ( !m.enabled ) - continue; - if ( m.install ) - { - const Module& aliasedModule = backend->GetAliasedModuleOrModule ( m ); - FileLocation destination ( OutputDirectory, - m.install->relative_path.length () > 0 - ? livecdDirectory + sSep + reactosDirectory + sSep + m.install->relative_path - : livecdDirectory + sSep + reactosDirectory, - m.install->name ); - OutputCopyCommandSingle ( *aliasedModule.output, - destination); - destinations.push_back ( destination ); - } - } -} - -void -MingwLiveIsoModuleHandler::OutputNonModuleCopyCommands ( string& livecdDirectory, - string& reactosDirectory, - std::vector& destinations ) -{ - for ( size_t i = 0; i < module.project.installfiles.size (); i++ ) - { - const InstallFile& installfile = *module.project.installfiles[i]; - FileLocation target ( OutputDirectory, - installfile.target->relative_path.length () > 0 - ? livecdDirectory + sSep + reactosDirectory + sSep + installfile.target->relative_path - : livecdDirectory + sSep + reactosDirectory, - installfile.target->name ); - OutputCopyCommandSingle ( *installfile.source, target ); - destinations.push_back ( target ); - } -} - -void -MingwLiveIsoModuleHandler::OutputProfilesDirectoryCommands ( string& livecdDirectory, - vector& destinations ) -{ - CreateDirectory ( livecdDirectory + sSep + "Profiles" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "All Users") ; - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "All Users" + sSep + "Desktop" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "Default User" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "Default User" + sSep + "Desktop" ); - CreateDirectory ( livecdDirectory + sSep + "Profiles" + sSep + "Default User" + sSep + "My Documents" ); - - FileLocation livecdIni ( SourceDirectory, - "boot" + sSep + "bootdata", - "livecd.ini" ); - FileLocation destination ( OutputDirectory, - livecdDirectory, - "freeldr.ini" ); - OutputCopyCommandSingle ( livecdIni, - destination ); - destinations.push_back ( destination ); -} - -void -MingwLiveIsoModuleHandler::OutputLoaderCommands ( string& livecdDirectory, - std::vector& destinations ) -{ - FileLocation freeldr ( OutputDirectory, - "boot" + sSep + "freeldr" + sSep + "freeldr", - "freeldr.sys" ); - FileLocation destination ( OutputDirectory, - livecdDirectory + sSep + "loader", - "setupldr.sys" ); - OutputCopyCommandSingle ( freeldr, - destination ); - destinations.push_back ( destination ); -} - -void -MingwLiveIsoModuleHandler::OutputMakeLinkCommand ( const string name, - const string application, - const string &path, - vector& destinations ) -{ - FileLocation location ( OutputDirectory, path, name + ".lnk" ); - fprintf ( fMakefile, - "%s : $(mkshelllink_TARGET)\n", - backend->GetFullNamePrefixSpaces ( *PassThruCacheDirectory ( &location ) ).c_str () ); - fprintf ( fMakefile, - "\t$(Q)$(mkshelllink_TARGET) -o \"%s\" -g {450D8FBA-AD25-11D0-98A8-0800361B1103} -c %s -i %s -m livecd_start.cmd\n", - backend->GetFullName ( location ).c_str (), - application.c_str (), - application.c_str () ); - destinations.push_back ( location ); -} - -void -MingwLiveIsoModuleHandler::OutputShortcutCommands ( string& livecdDirectory, - vector& destinations ) -{ - string allUsersDir = livecdDirectory + sSep + "Profiles" + sSep + "All Users"; - string defaultUserDir = livecdDirectory + sSep + "Profiles" + sSep + "Default User"; - FileLocation helperSource ( SourceDirectory, "boot" + sSep + "bootdata", "livecd_start.cmd" ); - FileLocation helperDest ( OutputDirectory, defaultUserDir + sSep + "My Documents", "livecd_start.cmd" ); - OutputCopyCommandSingle ( helperSource, helperDest ); - destinations.push_back ( helperDest ); - - string desktopDir = allUsersDir + sSep + "Desktop"; - OutputMakeLinkCommand ( "Command Prompt", "cmd.exe", desktopDir, destinations ); - - string startMenuDir = allUsersDir + sSep + "Start Menu"; - OutputMakeLinkCommand ( "ReactOS Explorer", "explorer.exe", startMenuDir + sSep + "Programs", destinations ); - - string adminToolsDir = startMenuDir + sSep + "Programs" + sSep + "Administrative Tools"; - OutputMakeLinkCommand ( "Device Manager", "devmgmt.exe", adminToolsDir, destinations ); - OutputMakeLinkCommand ( "Event Viewer", "eventvwr.exe", adminToolsDir, destinations ); - OutputMakeLinkCommand ( "Service Manager", "servman.exe", adminToolsDir, destinations ); - OutputMakeLinkCommand ( "System Configuration", "msconfig.exe", adminToolsDir, destinations ); - - string accessibilityDir = startMenuDir + sSep + "Programs" + sSep + "Accessibility"; - OutputMakeLinkCommand ( "Magnify", "magnify.exe", accessibilityDir, destinations ); - - string accessoriesDir = startMenuDir + sSep + "Programs" + sSep + "Accessories"; - OutputMakeLinkCommand ( "Calculator", "calc.exe", accessoriesDir, destinations ); - OutputMakeLinkCommand ( "Command Prompt", "cmd.exe", accessoriesDir, destinations ); - OutputMakeLinkCommand ( "Paint", "mspaint.exe", accessoriesDir, destinations ); - OutputMakeLinkCommand ( "Notepad", "notepad.exe", accessoriesDir, destinations ); - OutputMakeLinkCommand ( "Remote desktop", "mstsc.exe", accessoriesDir, destinations ); - OutputMakeLinkCommand ( "WordPad", "wordpad.exe", accessoriesDir, destinations ); - - string entertainmentDir = startMenuDir + sSep + "Programs" + sSep + "Entertainment"; - OutputMakeLinkCommand ( "Audiorecorder", "sndrec32.exe", entertainmentDir, destinations ); - OutputMakeLinkCommand ( "Multimedia Player", "mplay32.exe", entertainmentDir, destinations ); - OutputMakeLinkCommand ( "Volume Control", "sndvol32.exe", entertainmentDir, destinations ); - - string gamesDir = startMenuDir + sSep + "Programs" + sSep + "Games"; - OutputMakeLinkCommand ( "Solitaire", "sol.exe", gamesDir, destinations ); - OutputMakeLinkCommand ( "Spider Solitaire", "spider.exe", gamesDir, destinations ); - OutputMakeLinkCommand ( "WineMine", "winmine.exe", gamesDir, destinations ); - - string sysToolsDir = startMenuDir + sSep + "Programs" + sSep + "System Tools"; - OutputMakeLinkCommand ( "Character Map", "charmap.exe", sysToolsDir, destinations ); - OutputMakeLinkCommand ( "Keyboard Layout Switcher", "kbswitch.exe", sysToolsDir, destinations ); - OutputMakeLinkCommand ( "ReactX Diagnostic", "dxdiag.exe", sysToolsDir, destinations ); - OutputMakeLinkCommand ( "Regedit", "regedit.exe", sysToolsDir, destinations ); -} - -void -MingwLiveIsoModuleHandler::OutputRegistryCommands ( string& livecdDirectory ) -{ - string registrySourceFiles = backend->GetRegistrySourceFiles (); - fprintf ( fMakefile, "# REGISTRY COMMANDS\n" ); - FileLocation reactosSystem32ConfigDirectory ( OutputDirectory, - livecdDirectory + sSep + "reactos" + sSep + "system32" + sSep + "config", - "" ); - fprintf ( fMakefile, - "\t$(ECHO_MKHIVE)\n" ); - fprintf ( fMakefile, - "\t$(Q)$(mkhive_TARGET) %s %s boot%cbootdata%clivecd.inf\n", - backend->GetFullPath ( reactosSystem32ConfigDirectory ).c_str (), - registrySourceFiles.c_str(), - cSep, cSep ); -} - -void -MingwLiveIsoModuleHandler::GenerateLiveIsoModuleTarget () -{ - fprintf ( fMakefile, "# LIVE ISO MODULE TARGET\n" ); - string livecdDirectory = module.name; - FileLocation livecd ( OutputDirectory, livecdDirectory, "" ); - - string IsoName; - - // bootsector - const Module* bootModule = module.bootSector->bootSectorModule; - - if (!bootModule) - { - throw InvalidOperationException ( module.node.location.c_str(), - 0, - "Invalid bootsector. module '%s' requires ", - module.name.c_str ()); - } - - const FileLocation *isoboot = bootModule->output; - - /* - We use only the name and not full FileLocation(ouput) because Iso/LiveIso are an exception to the general rule. - Iso/LiveIso outputs are generated in code base root - */ - IsoName = module.output->name; - - string reactosDirectory = "reactos"; - string livecdReactosNoFixup = livecdDirectory + sSep + reactosDirectory; - FileLocation livecdReactos ( OutputDirectory, - livecdReactosNoFixup, - "" ); - CLEAN_FILE ( livecdReactos ); - - std::vector sourceFiles; - OutputModuleCopyCommands ( livecdDirectory, - reactosDirectory, - sourceFiles ); - OutputNonModuleCopyCommands ( livecdDirectory, - reactosDirectory, - sourceFiles ); - OutputProfilesDirectoryCommands ( livecdDirectory, sourceFiles ); - OutputLoaderCommands ( livecdDirectory, sourceFiles ); - OutputShortcutCommands ( livecdDirectory, sourceFiles ); - - fprintf( fMakefile, - "\n%s_OBJS := %s\n\n", - module.name.c_str (), - backend->v2s ( sourceFiles, 5, true ).c_str () ); - - fprintf ( fMakefile, ".PHONY: %s\n\n", - module.name.c_str ()); - fprintf ( fMakefile, - "%s : $(%s_OBJS) %s %s $(mkhive_TARGET) $(cdmake_TARGET)\n", - module.name.c_str (), - module.name.c_str (), - backend->GetFullName ( *isoboot) .c_str (), - backend->GetFullPath ( FileLocation ( OutputDirectory, - livecdDirectory, - "" ) ).c_str () ); - OutputRegistryCommands ( livecdDirectory ); - fprintf ( fMakefile, "\t$(ECHO_CDMAKE)\n" ); - fprintf ( fMakefile, - "\t$(Q)$(cdmake_TARGET) -v -m -j -b %s %s REACTOS %s\n", - backend->GetFullName( *isoboot ).c_str (), - backend->GetFullPath ( livecd ).c_str (), - IsoName.c_str() ); - fprintf ( fMakefile, - "\n" ); -} - - -MingwTestModuleHandler::MingwTestModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwTestModuleHandler::Process () -{ - GenerateTestModuleTarget (); -} - -/* caller needs to delete the returned object */ -void -MingwTestModuleHandler::GetModuleSpecificCompilationUnits ( vector& compilationUnits ) -{ - compilationUnits.push_back ( new CompilationUnit ( new File ( IntermediateDirectory, module.output->relative_path + sSep + "..", module.name + "_hooks.c", false, "", false ) ) ); - compilationUnits.push_back ( new CompilationUnit ( new File ( IntermediateDirectory, module.output->relative_path + sSep + "..", module.name + "_stubs.S", false, "", false ) ) ); - compilationUnits.push_back ( new CompilationUnit ( new File ( IntermediateDirectory, module.output->relative_path + sSep + "..", module.name + "_startup.c", false, "", false ) ) ); -} - -void -MingwTestModuleHandler::GenerateTestModuleTarget () -{ - GenerateRules (); - GenerateLinkerCommand (); -} - - -MingwAliasModuleHandler::MingwAliasModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwAliasModuleHandler::Process () -{ -} - - -MingwCabinetModuleHandler::MingwCabinetModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwCabinetModuleHandler::Process () -{ - fprintf ( fMakefile, "# CABINET MODULE TARGET\n" ); - string targetMacro ( GetTargetMacro (module) ); - - GenerateRules (); - - const FileLocation *target_file = GetTargetFilename ( module, NULL ); - fprintf ( fMakefile, "%s: $(cabman_TARGET) | %s\n", - targetMacro.c_str (), - backend->GetFullPath ( *target_file ).c_str () ); - - fprintf ( fMakefile, "\t$(ECHO_CABMAN)\n" ); - fprintf ( fMakefile, - "\t$(Q)$(cabman_TARGET) -M raw -S %s $(%s_SOURCES)\n", // Escape the asterisk for Make - targetMacro.c_str (), - module.name.c_str()); -} - -MingwElfExecutableModuleHandler::MingwElfExecutableModuleHandler ( - const Module& module_ ) - - : MingwModuleHandler ( module_ ) -{ -} - -void -MingwElfExecutableModuleHandler::Process () -{ - string targetName ( module.output->name ); - string targetMacro ( GetTargetMacro (module) ); - string workingDirectory = GetWorkingDirectory (); - string objectsMacro = GetObjectsMacro ( module ); - string libsMacro = GetLibsMacro (); - string debugFormat = GetDebugFormat (); - - fprintf ( fMakefile, "# ELF EXECUTABLE TARGET\n" ); - GenerateRules (); - - const FileLocation *target_file = GetTargetFilename ( module, NULL ); - fprintf ( fMakefile, "%s: %s %s | %s\n", - targetMacro.c_str (), - objectsMacro.c_str (), - libsMacro.c_str (), - backend->GetFullPath ( *target_file ).c_str () ); - - fprintf ( fMakefile, "\t$(ECHO_BOOTPROG)\n" ); - - fprintf ( fMakefile, "\t${gcc} $(%s_LINKFORMAT) %s %s -g%s -o %s\n", - module.buildtype.c_str(), - objectsMacro.c_str(), - libsMacro.c_str(), - debugFormat.c_str(), - targetMacro.c_str () ); - - delete target_file; - fprintf ( fMakefile, "#/ELF EXECUTABLE TARGET\n" ); -} diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.h b/reactos/tools/rbuild/backend/mingw/modulehandler.h deleted file mode 100644 index e4536d245f5..00000000000 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.h +++ /dev/null @@ -1,378 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include "../backend.h" -#include "mingw.h" - -class MingwBackend; -class Rule; - -extern std::string -GetTargetMacro ( const Module&, bool with_dollar = true ); - -extern std::string -PrefixFilename ( - const std::string& filename, - const std::string& prefix ); - -class MingwModuleHandler -{ -public: - MingwModuleHandler ( const Module& module_ ); - virtual ~MingwModuleHandler(); - - static void SetBackend ( MingwBackend* backend_ ); - static void SetMakefile ( FILE* f ); - void EnablePreCompiledHeaderSupport (); - - static const FileLocation* PassThruCacheDirectory (const FileLocation* fileLocation ); - - static const FileLocation* GetTargetFilename ( - const Module& module, - string_list* pclean_files ); - - static const FileLocation* GetImportLibraryFilename ( - const Module& module, - string_list* pclean_files, - bool delayimp ); - - static std::string GenerateGccDefineParametersFromVector ( const std::vector& defines, std::set &used_defs ); - static std::string GenerateDefineParametersFromVector ( const std::vector& defines, CompilerType compiler ); - static std::string GenerateCompilerParametersFromVector ( const std::vector& compilerFlags, const CompilerType type ); - static std::string GenerateIncludeParametersFromVector ( const std::vector& includes, CompilerType compiler ); - - static void GenerateParameters ( const char* prefix, - const char* assignmentOperation, - const IfableData& data ); - - std::string GetModuleTargets ( const Module& module ); - void GetObjectsVector ( const IfableData& data, - std::vector& objectFiles ) const; - void GenerateSourceMacro(); - void GenerateObjectMacro(); - void GenerateTargetMacro(); - void GenerateOtherMacros(); - - static MingwModuleHandler* InstanciateHandler ( const Module& module_, - MingwBackend* backend_ ); - void GeneratePreconditionDependencies (); - virtual void Process () { GenerateRules (); } - void GenerateInvocations () const; - void GenerateCleanTarget () const; - void GenerateInstallTarget () const; - void GenerateDependsTarget () const; - static bool ReferenceObjects ( const Module& module ); - virtual void AddImplicitLibraries ( Module& module ) { return; } - - void OutputCopyCommand ( const FileLocation& source, - const FileLocation& destination ); - void OutputCopyCommandSingle ( const FileLocation& source, - const FileLocation& destination ); -protected: - virtual void GetModuleSpecificCompilationUnits ( std::vector& compilationUnits ); - std::string GetWorkingDirectory () const; - std::string GetBasename ( const std::string& filename ) const; - std::string GetCompilationUnitDependencies ( const CompilationUnit& compilationUnit ) const; - const FileLocation* GetModuleArchiveFilename () const; - std::string GetImportLibraryDependency ( const Module& importedModule, bool delayimp ); - void GetTargets ( const Module& dependencyModule, - string_list& targets ); - void GetModuleDependencies ( string_list& dependencies ); - std::string GetAllDependencies () const; - const FileLocation* GetObjectFilename ( const FileLocation* sourceFile, - const Module& module ) const; - - std::string GetPreconditionDependenciesName () const; - static std::string GetObjectsMacro ( const Module& ); - std::string GetLinkingDependenciesMacro () const; - std::string GetLibsMacro () const; - std::string GetLinkerMacro () const; - static std::string GetDebugFormat (); - void GenerateCleanObjectsAsYouGoCode () const; - void GenerateLinkerCommand () const; - void GenerateBuildMapCode ( const FileLocation *mapTarget = NULL ); - void GenerateRules (); - void GenerateImportLibraryTargetIfNeeded (); - void GetDefinitionDependencies ( std::vector& dependencies ) const; - std::string GetLinkingDependencies () const; - static MingwBackend* backend; - static FILE* fMakefile; - bool use_pch; -private: - std::string ConcatenatePaths ( const std::string& path1, - const std::string& path2 ) const; - std::string GenerateLinkerParametersFromVector ( const std::vector& linkerFlags ) const; - std::string GenerateImportLibraryDependenciesFromVector ( const std::vector& libraries ); - std::string GenerateLinkerParameters () const; - void GenerateMacros ( const char* op, - const IfableData& data, - const std::vector* linkerFlags, - std::set& used_defs ); - void GenerateSourceMacros ( const IfableData& data ); - void GenerateObjectMacros ( const IfableData& data ); - const FileLocation* GetPrecompiledHeaderFilename () const; - const FileLocation* GetPrecompiledHeaderPath () const; - const FileLocation* GetDlldataFilename () const; - void GenerateGccCommand ( const FileLocation* sourceFile, - const Rule *rule, - const std::string& extraDependencies ); - void GenerateCommands ( const CompilationUnit& compilationUnit, - const std::string& extraDependencies ); - void GenerateObjectFileTargets ( const IfableData& data ); - void GenerateObjectFileTargets (); - const FileLocation* GenerateArchiveTarget (); - void GetMcObjectDependencies ( std::vector& dependencies, - const FileLocation *file ) const; - void GetSpecObjectDependencies ( std::vector& dependencies, - const FileLocation *file ) const; - void GetSpecImplibDependencies ( std::vector& dependencies, - const FileLocation *file ) const; - void GetWidlObjectDependencies ( std::vector& dependencies, - const FileLocation *file ) const; - void GetDefaultDependencies ( string_list& dependencies ) const; - void GetInvocationDependencies ( const Module& module, string_list& dependencies ); - SpecFileType IsSpecDefinitionFile () const; - const FileLocation* GetDefinitionFilename () const; - void GenerateBuildNonSymbolStrippedCode (); - void CleanupCompilationUnitVector ( std::vector& compilationUnits ); - void GetRpcHeaderDependencies ( std::vector& dependencies ) const; - void GetMcHeaderDependencies ( std::vector& dependencies ) const; - static std::string GetPropertyValue ( const Module& module, const std::string& name ); - const FileLocation* GetRpcServerHeaderFilename ( const FileLocation *base ) const; - const FileLocation* GetRpcClientHeaderFilename ( const FileLocation *base ) const; - const FileLocation* GetRpcProxyHeaderFilename ( const FileLocation *base ) const; - const FileLocation* GetIdlHeaderFilename ( const FileLocation *base ) const; - const FileLocation* GetMcHeaderFilename ( const FileLocation *base ) const; - std::string GetModuleCleanTarget ( const Module& module ) const; - void GetReferencedObjectLibraryModuleCleanTargets ( std::vector& moduleNames ) const; -public: - const Module& module; - string_list clean_files; - std::string commonflagsMacro; - std::string cflagsMacro; - std::string cxxflagsMacro; - std::string nasmflagsMacro; - std::string windresflagsMacro; - std::string widlflagsMacro; - std::string linkerflagsMacro; - std::string sourcesMacro; - std::string objectsMacro; - std::string libsMacro; - std::string linkDepsMacro; -}; - - -class MingwBuildToolModuleHandler : public MingwModuleHandler -{ -public: - MingwBuildToolModuleHandler ( const Module& module ); - virtual void Process (); -private: - void GenerateBuildToolModuleTarget (); -}; - - -class MingwKernelModuleHandler : public MingwModuleHandler -{ -public: - MingwKernelModuleHandler ( const Module& module ); - virtual void Process (); -private: - void GenerateKernelModuleTarget (); -}; - - -class MingwKernelModeDLLModuleHandler : public MingwModuleHandler -{ -public: - MingwKernelModeDLLModuleHandler ( const Module& module ); - virtual void Process (); - void AddImplicitLibraries ( Module& module ); -private: - void GenerateKernelModeDLLModuleTarget (); -}; - - -class MingwNativeDLLModuleHandler : public MingwModuleHandler -{ -public: - MingwNativeDLLModuleHandler ( const Module& module ); - virtual void Process (); - void AddImplicitLibraries ( Module& module ); -private: - void GenerateNativeDLLModuleTarget (); -}; - - -class MingwNativeCUIModuleHandler : public MingwModuleHandler -{ -public: - MingwNativeCUIModuleHandler ( const Module& module ); - virtual void Process (); - void AddImplicitLibraries ( Module& module ); -private: - void GenerateNativeCUIModuleTarget (); -}; - - -class MingwWin32DLLModuleHandler : public MingwModuleHandler -{ -public: - MingwWin32DLLModuleHandler ( const Module& module ); - virtual void Process (); - void AddImplicitLibraries ( Module& module ); -private: - void GenerateWin32DLLModuleTarget (); -}; - - -class MingwWin32OCXModuleHandler : public MingwModuleHandler -{ -public: - MingwWin32OCXModuleHandler ( const Module& module ); - virtual void Process (); - void AddImplicitLibraries ( Module& module ); -private: - void GenerateWin32OCXModuleTarget (); -}; - - -class MingwWin32CUIModuleHandler : public MingwModuleHandler -{ -public: - MingwWin32CUIModuleHandler ( const Module& module ); - virtual void Process (); - void AddImplicitLibraries ( Module& module ); -private: - void GenerateWin32CUIModuleTarget (); -}; - - -class MingwWin32GUIModuleHandler : public MingwModuleHandler -{ -public: - MingwWin32GUIModuleHandler ( const Module& module ); - virtual void Process (); - void AddImplicitLibraries ( Module& module ); -private: - void GenerateWin32GUIModuleTarget (); -}; - - -class MingwBootLoaderModuleHandler : public MingwModuleHandler -{ -public: - MingwBootLoaderModuleHandler ( const Module& module ); - virtual void Process (); -private: - void GenerateBootLoaderModuleTarget (); -}; - - -class MingwBootProgramModuleHandler : public MingwModuleHandler -{ -public: - MingwBootProgramModuleHandler ( const Module& module ); - virtual void Process (); - std::string GetProgTextAddrMacro (); -private: - void GenerateBootProgramModuleTarget (); -}; - - -class MingwIsoModuleHandler : public MingwModuleHandler -{ -public: - MingwIsoModuleHandler ( const Module& module ); - virtual void Process (); -private: - void GenerateIsoModuleTarget (); - void GetBootstrapCdDirectories ( std::vector& out, const std::string& bootcdDirectory ); - void GetNonModuleCdDirectories ( std::vector& out, const std::string& bootcdDirectory ); - void GetCdDirectories ( std::vector& out, const std::string& bootcdDirectory ); - void GetBootstrapCdFiles ( std::vector& out ) const; - void GetNonModuleCdFiles ( std::vector& out ) const; - void GetCdFiles ( std::vector& out ) const; - void OutputBootstrapfileCopyCommands ( const std::string& bootcdDirectory, - std::vector& destinations ); - void OutputCdfileCopyCommands ( const std::string& bootcdDirectory, - std::vector& destinations ); -}; - - -class MingwLiveIsoModuleHandler : public MingwModuleHandler -{ -public: - MingwLiveIsoModuleHandler ( const Module& module ); - virtual void Process (); -private: - void GenerateLiveIsoModuleTarget (); - void CreateDirectory ( const std::string& directory ); - void OutputModuleCopyCommands ( std::string& livecdDirectory, - std::string& livecdReactos, - std::vector& destinations ); - void OutputNonModuleCopyCommands ( std::string& livecdDirectory, - std::string& livecdReactos, - std::vector& destinations ); - void OutputProfilesDirectoryCommands ( std::string& livecdDirectory, - std::vector& destinations ); - void OutputLoaderCommands ( std::string& livecdDirectory, - std::vector& destinations ); - void OutputMakeLinkCommand ( const std::string name, - const std::string application, - const std::string &path, - std::vector& destinations ); - void OutputShortcutCommands ( std::string& livecdDirectory, - std::vector& destinations ); - void OutputRegistryCommands ( std::string& livecdDirectory ); -}; - - -class MingwTestModuleHandler : public MingwModuleHandler -{ -public: - MingwTestModuleHandler ( const Module& module ); - virtual void Process (); -protected: - virtual void GetModuleSpecificCompilationUnits ( std::vector& compilationUnits ); -private: - void GenerateTestModuleTarget (); -}; - -class MingwAliasModuleHandler : public MingwModuleHandler -{ -public: - MingwAliasModuleHandler ( const Module& module ); - virtual void Process (); -}; - -class MingwCabinetModuleHandler : public MingwModuleHandler -{ -public: - MingwCabinetModuleHandler ( const Module& module ); - virtual void Process (); -}; - -class MingwElfExecutableModuleHandler : public MingwModuleHandler -{ -public: - MingwElfExecutableModuleHandler ( const Module& module ); - virtual void Process (); -}; diff --git a/reactos/tools/rbuild/backend/mingw/mstools_detection.cpp b/reactos/tools/rbuild/backend/mingw/mstools_detection.cpp deleted file mode 100644 index bc8ea8b68ad..00000000000 --- a/reactos/tools/rbuild/backend/mingw/mstools_detection.cpp +++ /dev/null @@ -1,2295 +0,0 @@ -/* - * Copyright (C) 2009 KJK::Hyperion - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#if defined(WIN32) - -#define UNICODE -#define _UNICODE - -#define NOMINMAX - -#include "../../pch.h" - -#include "mingw.h" - -#ifndef ARRAYSIZE -#define ARRAYSIZE(X_) (sizeof(X_) / sizeof((X_)[0])) -#endif - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(_CPPLIB_VER) -#include -typedef std::filebuf stdio_filebuf; -#elif defined(__GLIBCXX__) -#include -typedef __gnu_cxx::stdio_sync_filebuf stdio_filebuf; -#else -#error Unknown or unsupported C++ standard library -#endif - - - -namespace -{ - -#if 1 -HRESULT dispPropGet(IDispatch * object, DISPID dispid, VARIANTARG * args, UINT ccArgs, VARTYPE vt, VARIANT& result) -{ - HRESULT hr; - - DISPPARAMS params = {}; - params.rgvarg = args; - params.cArgs = ccArgs; - - hr = object->Invoke(dispid, IID_NULL, 0, DISPATCH_PROPERTYGET | (ccArgs ? DISPATCH_METHOD : 0), ¶ms, &result, NULL, NULL); - - if(SUCCEEDED(hr)) - hr = VariantChangeType(&result, &result, 0, vt); - - return hr; -} - -HRESULT dispPropGet(IDispatch * object, const OLECHAR * name, VARIANTARG * args, UINT ccArgs, VARTYPE vt, VARIANT& result) -{ - HRESULT hr; - - DISPID dispid; - hr = object->GetIDsOfNames(IID_NULL, const_cast(&name), 1, 0, &dispid); - - if(SUCCEEDED(hr)) - hr = dispPropGet(object, dispid, args, ccArgs, vt, result); - - return hr; -} - -VARIANT dispPropGet(HRESULT& hr, IDispatch * object, DISPID dispid, VARTYPE vt) -{ - VARIANT ret; - VariantInit(&ret); - - if(SUCCEEDED(hr)) - hr = dispPropGet(object, dispid, 0, 0, vt, ret); - - return ret; -} - -VARIANT dispPropGet(HRESULT& hr, IDispatch * object, const OLECHAR * name, VARTYPE vt) -{ - VARIANT ret; - VariantInit(&ret); - - if(SUCCEEDED(hr)) - hr = dispPropGet(object, name, 0, 0, vt, ret); - - return ret; -} - -HRESULT dispInvoke(IDispatch * object, DISPID dispid, VARIANTARG * args, UINT ccArgs, VARTYPE vt, VARIANT& result) -{ - HRESULT hr; - - DISPPARAMS params = {}; - params.rgvarg = args; - params.cArgs = ccArgs; - - hr = object->Invoke(dispid, IID_NULL, 0, DISPATCH_METHOD, ¶ms, &result, NULL, NULL); - - if(SUCCEEDED(hr)) - hr = VariantChangeType(&result, &result, 0, vt); - - return hr; -} - -HRESULT dispInvoke(IDispatch * object, DISPID dispid, const VARIANTARG& arg, VARTYPE vt, VARIANT& result) -{ - return dispInvoke(object, dispid, const_cast(&arg), 1, vt, result); -} - -HRESULT dispInvoke(IDispatch * object, DISPID dispid, VARTYPE vt, VARIANT& result) -{ - return dispInvoke(object, dispid, NULL, 0, vt, result); -} - -HRESULT dispInvoke(IDispatch * object, VARIANTARG * args, UINT ccArgs, VARTYPE vt, VARIANT& result) -{ - return dispInvoke(object, DISPID_VALUE, args, ccArgs, vt, result); -} - -HRESULT dispInvoke(IDispatch * object, VARTYPE vt, VARIANT& result) -{ - return dispInvoke(object, DISPID_VALUE, NULL, 0, vt, result); -} - -HRESULT dispInvoke(IDispatch * object, const VARIANTARG& arg, VARTYPE vt, VARIANT& result) -{ - return dispInvoke(object, DISPID_VALUE, const_cast(&arg), 1, vt, result); -} - -HRESULT dispInvoke(IDispatch * object, const OLECHAR * name, VARIANTARG * args, UINT ccArgs, VARTYPE vt, VARIANT& result) -{ - HRESULT hr; - - DISPID dispid; - hr = object->GetIDsOfNames(IID_NULL, const_cast(&name), 1, 0, &dispid); - - if(SUCCEEDED(hr)) - hr = dispInvoke(object, dispid, args, ccArgs, vt, result); - - return hr; -} - -HRESULT dispInvoke(IDispatch * object, const OLECHAR * name, const VARIANTARG& arg, VARTYPE vt, VARIANT& result) -{ - return dispInvoke(object, name, const_cast(&arg), 1, vt, result); -} - -HRESULT dispInvoke(IDispatch * object, const OLECHAR * name, VARTYPE vt, VARIANT& result) -{ - return dispInvoke(object, name, NULL, 0, vt, result); -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, DISPID dispid, VARIANTARG * args, UINT ccArgs, VARTYPE vt) -{ - VARIANT ret; - VariantInit(&ret); - - if(SUCCEEDED(hr)) - hr = dispInvoke(object, dispid, args, ccArgs, vt, ret); - - return ret; -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, const OLECHAR * name, VARIANTARG * args, UINT ccArgs, VARTYPE vt) -{ - VARIANT ret; - VariantInit(&ret); - - if(SUCCEEDED(hr)) - hr = dispInvoke(object, name, args, ccArgs, vt, ret); - - return ret; -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, DISPID dispid, const VARIANTARG& arg, VARTYPE vt) -{ - return dispInvoke(hr, object, dispid, const_cast(&arg), 1, vt); -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, DISPID dispid, VARTYPE vt) -{ - return dispInvoke(hr, object, dispid, NULL, 0, vt); -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, VARIANTARG * args, UINT ccArgs, VARTYPE vt) -{ - return dispInvoke(hr, object, DISPID(DISPID_VALUE), args, ccArgs, vt); -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, VARTYPE vt) -{ - return dispInvoke(hr, object, DISPID(DISPID_VALUE), NULL, 0, vt); -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, const VARIANTARG& arg, VARTYPE vt) -{ - return dispInvoke(hr, object, DISPID(DISPID_VALUE), const_cast(&arg), 1, vt); -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, const OLECHAR * name, const VARIANTARG& arg, VARTYPE vt) -{ - return dispInvoke(hr, object, name, const_cast(&arg), 1, vt); -} - -VARIANT dispInvoke(HRESULT& hr, IDispatch * object, const OLECHAR * name, VARTYPE vt) -{ - return dispInvoke(hr, object, name, NULL, 0, vt); -} - -VARIANT oleString(HRESULT& hr, const OLECHAR * sz) -{ - VARIANT v; - VariantInit(&v); - - if(SUCCEEDED(hr)) - { - V_VT(&v) = VT_BSTR; - V_BSTR(&v) = SysAllocString(sz); - - if(!V_BSTR(&v)) - hr = E_OUTOFMEMORY; - } - - if(FAILED(hr)) - { - V_VT(&v) = VT_ERROR; - V_ERROR(&v) = hr; - } - - return v; -} - -#endif - -#if 1 -namespace knuth_morris_pratt -{ - -namespace details -{ - -template -typename std::iterator_traits::iterator_category iterator_category(const Iter&) -{ - return typename std::iterator_traits::iterator_category(); -} - -template -struct type_equals -{ - enum { value = 0 }; -}; - -template -struct type_equals -{ - enum { value = 1 }; -}; - -template -void advance_substr(Iter& pos, Iter, diff_type, diff_type rel, const std::bidirectional_iterator_tag&) -{ - std::advance(pos, rel); -} - -template -void advance_substr(Iter& pos, Iter begin, diff_type absol, diff_type rel, const std::forward_iterator_tag&) -{ - if(rel > 0) - std::advance(pos, rel); - else - { - pos = begin; - std::advance(pos, absol); - } -} - -template -void advance_substr(Iter& pos, Iter begin, diff_type absol, diff_type rel) -{ - advance_substr(pos, begin, absol, rel, iterator_category(pos)); -} - -template -struct fixed_table -{ -public: - typedef typename std::iterator_traits::difference_type value_type; - typedef value_type * pointer; - typedef value_type& reference; - typedef const value_type * const_pointer; - typedef const value_type& const_reference; - typedef typename std::allocator::difference_type difference_type; - typedef typename std::allocator::size_type size_type; - -private: - value_type m_table[(N)]; - -public: - static pointer address(reference r) { return &r; } - static const_pointer address(const_reference r) { return &r; } - static size_type max_size() { return (N); } - static void construct(pointer p, const T& v) { p->T(v); } - static void destroy(pointer p) { p->~T(); } - template struct rebind { typedef fixed_table other; }; - - template pointer allocate(size_type n, const Other * hint) - { - assert(n <= (N)); - assert(hint == 0); - return m_table; - } - - pointer allocate(size_type n) - { - assert(n <= (N)); - return m_table; - } - - void deallocate(pointer p, size_type n) const - { - assert(p == m_table); - assert(n <= (N)); - } -}; - -void validate_range_iterator_category(const std::input_iterator_tag&) { } -void validate_substr_iterator_category(const std::forward_iterator_tag&) { } - -template -RangeIter search_cornercase_neg(RangeIter, RangeIter end, SubstrIter) -{ - return end; -} - -template -RangeIter search_cornercase0(RangeIter begin, RangeIter, SubstrIter) -{ - return begin; -} - -template -RangeIter search_cornercase1(RangeIter begin, RangeIter end, SubstrIter substrBegin) -{ - RangeIter pos = std::find(begin, end, *substrBegin); - - if(type_equals::iterator_category, std::input_iterator_tag>::value && pos != end) - ++ pos; - - return pos; -} - -template -void search_createtable_dynamic -( - SubstrIter beginSubstr, - typename std::iterator_traits::difference_type substrSize, - TableType table, - TableSize -) -{ - typedef typename std::iterator_traits::difference_type substr_diff_type; - typedef typename TableType::pointer table_type; - typedef TableSize table_size_type; - - substr_diff_type i(2); - SubstrIter pi = beginSubstr; - std::advance(pi, substr_diff_type(1)); - - substr_diff_type j(0); - SubstrIter pj = beginSubstr; - std::advance(pj, substr_diff_type(0)); - - while(i < substrSize) - { - if(*pi == *pj) - { - substr_diff_type new_j = j; - ++ new_j; - - table[static_cast(i)] = new_j; - - ++ i; ++ pi; - ++ j; ++ pj; - } - else if(j > 0) - { - substr_diff_type new_j = table[i]; - details::advance_substr(pj, beginSubstr, new_j, new_j - j); - j = new_j; - } - else - { - table[i] = 0; - ++ i; ++ pi; - } - } -} - -template -void search_createtable_static -( - const S (& substr)[N], - D (& table)[N] -) -{ - typedef std::ptrdiff_t substr_diff_type; - - table[0] = substr_diff_type(-1); - table[1] = substr_diff_type(0); - - substr_diff_type pos = 2; - substr_diff_type cnd = 0; - - while(pos < static_cast(N)) - { - if(substr[pos - 1] == substr[cnd]) - { - table[pos] = cnd + 1; - ++ pos; - ++ cnd; - } - else if(cnd > 0) - cnd = table[cnd]; - else - { - table[pos] = 0; - ++ pos; - } - } -} - -template -RangeIter search -( - const RangeIter& begin, - const RangeIter& end, - const SubstrIter beginSubstr, - typename std::iterator_traits::difference_type substrSize, - Table table, - TableSize -) -{ - details::validate_range_iterator_category(details::iterator_category(begin)); - details::validate_substr_iterator_category(details::iterator_category(beginSubstr)); - - typedef typename std::iterator_traits::difference_type substr_diff_type; - typedef Table table_type; - typedef TableSize table_size_type; - - // Find the next match - substr_diff_type iSubstr(0); // i - RangeIter pCurMatch = begin; // m - RangeIter pCurElem = begin; // m + i - SubstrIter pCurSubstrElem = beginSubstr; // i - - while(pCurElem != end) - { - if(*pCurSubstrElem == *pCurElem) - { - ++ iSubstr; // ++ i - - if(iSubstr == substrSize) - { - // For input iterators, we return the end of the match - if(type_equals::iterator_category, std::input_iterator_tag>::value) - ++ pCurElem; // return m + i + 1 - // For all other iterators, we return the beginning of the match - else - pCurElem = pCurMatch; // return m - - break; - } - - ++ pCurElem; // ++ i - ++ pCurSubstrElem; // ++ i - } - else - { - substr_diff_type table_iSubstr = table[static_cast(iSubstr)]; // T[i] - substr_diff_type iSubstr_backtracked = iSubstr - table_iSubstr; // i - T[i] - assert(iSubstr_backtracked >= substr_diff_type(0)); - - if(!type_equals::iterator_category, std::input_iterator_tag>::value) - std::advance(pCurMatch, iSubstr_backtracked); // m = m + i - T[i] - - if(iSubstr > substr_diff_type(0)) // i > 0 - { - iSubstr = table_iSubstr; // i = T[i] - pCurSubstrElem = beginSubstr; - std::advance(pCurSubstrElem, iSubstr); // i = T[i] - } - else - std::advance(pCurElem, iSubstr_backtracked); - } - } - - return pCurElem; -} - -}; - -template -RangeIter search(RangeIter begin, RangeIter end, SubstrIter beginSubstr, SubstrIter endSubstr, AllocTable& allocTable) -{ - typename std::iterator_traits::difference_type substrSize = std::distance(beginSubstr, endSubstr); - - if(substrSize < 0) - return knuth_morris_pratt::details::search_cornercase_neg(begin, end, beginSubstr); - - if(substrSize == 0) - return knuth_morris_pratt::details::search_cornercase0(begin, end, beginSubstr); - - if(substrSize == 1) - return knuth_morris_pratt::details::search_cornercase1(begin, end, beginSubstr); - - typedef typename AllocTable::size_type table_size; - typedef typename AllocTable::pointer table_type; - - table_size tableSize = static_cast(substrSize); - table_type table = allocTable.allocate(tableSize); - - RangeIter pos = knuth_morris_pratt::details::search(begin, end, beginSubstr, substrSize, table, tableSize); - - allocTable.deallocate(table, tableSize); - - return pos; -} - -template -RangeIter search(RangeIter begin, RangeIter end, SubstrIter beginSubstr, SubstrIter endSubstr) -{ - std::allocator::difference_type> allocTable; - return knuth_morris_pratt::search(begin, end, beginSubstr, endSubstr, allocTable); -} - -template -RangeIter search(RangeIter begin, RangeIter end, const SubstrElem (& substr)[(N)]) -{ - if((N) == 0) - return knuth_morris_pratt::details::search_cornercase0(begin, end, substr); - - if((N) == 1) - return knuth_morris_pratt::details::search_cornercase1(begin, end, substr); - - if((N) * sizeof(SubstrElem) <= 4096) - { - ptrdiff_t table[N]; - knuth_morris_pratt::details::search_createtable_static(substr, table); - return knuth_morris_pratt::details::search(begin, end, substr, (N), table, sizeof(table)); - } - else - return knuth_morris_pratt::search(begin, end, substr, substr + (N)); -} - -} -#endif - -#if 1 -template -std::basic_string replace(const std::basic_string& str, const CharT (& substr)[(N)], ReplIter replBegin, ReplIter replEnd) -{ - if((N) == 0) - return str; - - std::basic_string newStr; - typename std::basic_string::const_iterator cur = str.begin(); - typename std::basic_string::const_iterator end = str.end(); - - while(cur != end) - { - typename std::basic_string::const_iterator found = knuth_morris_pratt::search(cur, end, *reinterpret_cast(&substr)); - - newStr.append(cur, found); - cur = found; - - if(found != end) - { - newStr.append(replBegin, replEnd); - advance(cur, (N) - 1); - } - } - - return newStr; -} - -template -std::basic_string replace(const std::basic_string& str, const CharT (& substr)[(N)], const CharT (& repl)[(M)]) -{ - return replace(str, substr, repl, repl + ((M) - 1)); -} - -template -std::basic_string replace(const std::basic_string& str, const CharT (& substr)[(N)], const std::basic_string& repl) -{ - return replace(str, substr, repl.begin(), repl.end()); -} - -template -std::basic_string replace(const std::basic_string& str, const std::basic_string& substr, const CharT (& repl)[(M)]) -{ - return replace(str, substr.begin(), substr.end(), repl, repl + ((M) - 1)); -} - -template -std::basic_string replace(const std::basic_string& str, const std::basic_string& substr, const std::basic_string& repl) -{ - return replace(str, substr.begin(), substr.end(), repl.begin(), repl.end()); -} - -template -struct type_equals -{ - enum { value = 0 }; -}; - -template -struct type_equals -{ - enum { value = 1 }; -}; - -template -bool advance_between_impl(InIter& cur, const InIter& begin, const InIter& end, Dist off, const std::input_iterator_tag&) -{ - if(Dist(0) < off) - for(; off != Dist(0) && cur != end; -- off) - ++ cur; - - return off == Dist(0); -} - -template -bool advance_between_impl(InIter& cur, const InIter& begin, const InIter& end, Dist off, const std::bidirectional_iterator_tag&) -{ - if(Dist(0) < off) - for(; off != Dist(0) && cur != end; -- off) - ++ cur; - else - for(; off != Dist(0) && cur != begin; ++ off) - ++ cur; - - return off == Dist(0); -} - -template -bool advance_between_impl(InIter& cur, const InIter& begin, const InIter& end, Dist off, const std::random_access_iterator_tag&) -{ - bool ret; - - if(Dist(0) < off) - { - Dist max = distance(cur, end); - ret = off == max || off < max; - } - else - { - Dist max = distance(cur, end); - ret = abs(off) == max || abs(off) < max; - } - - if(ret) - advance(cur, off); - - return ret; -} - -template -bool advance_between(InIter& cur, const InIter& begin, const InIter& end, Dist off) -{ - return advance_between_impl(cur, begin, end, off, typename std::iterator_traits::iterator_category()); -} - -template -class range_streambuf_base: public std::basic_streambuf -{ -public: - typedef typename std::basic_streambuf::int_type int_type; - typedef typename std::basic_streambuf::pos_type pos_type; - typedef typename std::basic_streambuf::off_type off_type; - -protected: - InIter m_cur; - InIter m_end; - int_type m_ungetc; - int_type m_putbackc; - - int_type get_char() - { - int_type c = m_ungetc; - - if(c == Traits::eof()) - { - if(m_cur != m_end) - { - c = *m_cur; - ++ m_cur; - } - } - else - m_ungetc = Traits::eof(); - - return c; - } - - int_type unget_char(int_type c) - { - if(c == Traits::eof()) - return c; - - if(m_ungetc == Traits::eof()) - m_ungetc = c; - else - return Traits::eof(); - - return c; - } - -protected: - range_streambuf_base(const InIter& begin, const InIter& end): - m_cur(begin), - m_end(end), - m_ungetc(Traits::eof()), - m_putbackc(Traits::eof()) - { - } - -public: - virtual int_type pbackfail(int_type c) - { - int_type ret; - - if(Traits::eq_int_type(c, Traits::eof())) - { - if(!Traits::eq_int_type(m_putbackc, Traits::eof())) - ret = unget_char(m_putbackc); - else - ret = Traits::eof(); - } - else - ret = unget_char(c); - - m_putbackc = Traits::eof(); - return ret; - } - - virtual std::streamsize showmanyc() const - { - return std::streamsize(-1); - } - - virtual int_type underflow() - { - return unget_char(get_char()); - } - - virtual int_type uflow() - { - m_putbackc = get_char(); - return m_putbackc; - } - - virtual std::streamsize xsgetn(Elem * p, std::streamsize n) - { - return _Xsgetn_s(p, std::numeric_limits::max(), n); - } - - virtual std::streamsize _Xsgetn_s(Elem * p, size_t cb, std::streamsize n) - { - std::streamsize i; - size_t ib; - - for(i = 0, ib = 0; i < n && ib < cb; ++ i, ++ ib, ++ p) - { - int_type c = get_char(); - - if(c == Traits::eof()) - break; - - *p = Traits::to_char_type(c); - } - - if(i > 0) - m_putbackc = p[-1]; - else - m_putbackc = Traits::eof(); - - return i; - } - - virtual pos_type seekoff(off_type off, std::ios_base::seekdir dir, std::ios_base::openmode mode) - { - if(((off == 0 && dir == std::ios_base::end) || (off >= 0 && dir == std::ios_base::cur)) && !(mode & std::ios_base::out)) - { - m_ungetc = Traits::eof(); - - if(dir == std::ios_base::end) - m_cur = m_end; - - advance_between(m_cur, m_cur, m_end, off); - } - - return pos_type(-1); - } -}; - -template -class range_streambuf_base: - public range_streambuf_base -{ -public: - typedef typename range_streambuf_base::int_type int_type; - typedef typename range_streambuf_base::pos_type pos_type; - typedef typename range_streambuf_base::off_type off_type; - -private: - typedef range_streambuf_base super; - InIter m_begin; - -protected: - range_streambuf_base(const InIter& begin, const InIter& end): - m_begin(begin), - range_streambuf_base(begin, end) - { - } - -public: - virtual pos_type seekoff(off_type off, std::ios_base::seekdir dir, std::ios_base::openmode mode) - { - if(!(mode & std::ios_base::out) && off >= 0) - { - if(dir == std::ios_base::beg) - super::m_cur = m_begin; - else if(dir != std::ios_base::cur) - super::m_cur = super::m_end; - - advance_between(super::m_cur, m_begin, super::m_end, off); - } - - return pos_type(-1); - } -}; - -template -class range_streambuf_base: public std::basic_streambuf -{ -public: - typedef typename std::basic_streambuf::int_type int_type; - typedef typename std::basic_streambuf::pos_type pos_type; - typedef typename std::basic_streambuf::off_type off_type; - -protected: - InIter m_begin; - InIter m_cur; - InIter m_end; - -protected: - range_streambuf_base(const InIter& begin, const InIter& end): - m_begin(begin), - m_cur(begin), - m_end(end) - { - } - -public: - virtual int_type pbackfail(int_type c) - { - int_type ret = Traits::eof(); - - if(m_cur != m_begin) - { - InIter prev = m_cur; - -- prev; - - if(Traits::eq_int_type(c, Traits::eof()) || Traits::eq_int_type(c, Traits::to_int_type(*prev))) - { - -- m_cur; - ret = Traits::to_int_type(*m_cur); - } - } - - return ret; - } - - virtual std::streamsize showmanyc() const - { - return std::streamsize(-1); - } - - virtual int_type underflow() - { - if(m_cur != m_end) - return *m_cur; - else - return Traits::eof(); - } - - virtual int_type uflow() - { - int_type c = Traits::eof(); - - if(m_cur != m_end) - { - c = *m_cur; - ++ m_cur; - } - - return c; - } - - virtual std::streamsize xsgetn(Elem * p, std::streamsize n) - { - return _Xsgetn_s(p, std::numeric_limits::max(), n); - } - - virtual std::streamsize _Xsgetn_s(Elem * p, size_t cb, std::streamsize n) - { - std::streamsize i; - size_t ib; - - for(i = 0, ib = 0; i < n && ib < cb && m_cur != m_end; ++ i, ++ ib, ++ p, ++ m_cur) - *p = Traits::to_char_type(*m_cur); - - return i; - } - - virtual pos_type seekoff(off_type off, std::ios_base::seekdir dir, std::ios_base::openmode mode) - { - if(mode & std::ios_base::out) - return pos_type(-1); - - if(dir == std::ios_base::beg) - m_cur = m_begin; - else if(dir != std::ios_base::cur) - m_cur = m_end; - - if(!advance_between(m_cur, m_begin, m_end, off)) - return pos_type(-1); - - return m_cur - m_begin; - } -}; - -template -class range_streambuf_base: - public range_streambuf_base -{ -private: - typedef range_streambuf_base super; - -protected: - range_streambuf_base(const InIter& begin, const InIter& end): - range_streambuf_base(begin, end) - { - } - -public: - virtual std::streamsize showmanyc() const - { - return distance(super::m_cur, super::m_end); - } - - virtual std::streamsize _Xsgetn_s(Elem * p, size_t cb, std::streamsize n) - { - std::streamsize maxn = showmanyc(); - - if(n > maxn) - n = maxn; - - if(cb > static_cast(n)) - cb = static_cast(n); - - std::copy(super::m_cur, super::m_cur + cb, p); - return cb; - } -}; - -template::value_type, class Traits = typename std::char_traits > -class range_streambuf: - public range_streambuf_base::iterator_category> -{ -public: - range_streambuf(const InIter& begin, const InIter& end): - range_streambuf_base::iterator_category>(begin, end) { } -}; - -#endif - -struct version_tuple -{ -private: - unsigned short m_fields[4]; - -public: - version_tuple(): m_fields() {} - - version_tuple(unsigned short major, unsigned short minor, unsigned short build_major = 0, unsigned short build_minor = 0) - { - m_fields[0] = major; - m_fields[1] = minor; - m_fields[2] = build_major; - m_fields[3] = build_minor; - } - - version_tuple(const version_tuple& That) - { - m_fields[0] = That.m_fields[0]; - m_fields[1] = That.m_fields[1]; - m_fields[2] = That.m_fields[2]; - m_fields[3] = That.m_fields[3]; - } - - const version_tuple& operator=(const version_tuple& That) - { - m_fields[0] = That.m_fields[0]; - m_fields[1] = That.m_fields[1]; - m_fields[2] = That.m_fields[2]; - m_fields[3] = That.m_fields[3]; - return *this; - } - - unsigned short get_major() const - { - return m_fields[0]; - } - - unsigned short get_minor() const - { - return m_fields[1]; - } - - unsigned short get_build_major() const - { - return m_fields[2]; - } - - unsigned short get_build_minor() const - { - return m_fields[3]; - } - - bool operator==(const version_tuple& That) const - { - return memcmp(this->m_fields, That.m_fields, sizeof(this->m_fields)) == 0; - } - - bool operator<(const version_tuple& That) const - { - return std::lexicographical_compare - ( - &(this->m_fields[0]) + 0, - &(this->m_fields[0]) + ARRAYSIZE(this->m_fields), - &(That.m_fields[0]) + 0, - &(That.m_fields[0]) + ARRAYSIZE(That.m_fields) - ); - } - - bool operator<=(const version_tuple& That) const - { - return (*this == That) || (*this < That); - } - - bool operator>(const version_tuple& That) const - { - return !(*this <= That); - } - - bool operator>=(const version_tuple& That) const - { - return !(*this < That); - } -}; - -template std::basic_ostream& operator<<(std::basic_ostream& ostr, const version_tuple& v) -{ - std::ios_base::fmtflags flags = ostr.flags(); - ostr.flags(std::ios_base::dec); - ostr << v.get_major(); - ostr << Tr::to_char_type('.'); - ostr << v.get_minor(); - ostr << Tr::to_char_type('.'); - ostr << v.get_build_major(); - ostr << Tr::to_char_type('.'); - ostr << v.get_build_minor(); - ostr.flags(flags); - return ostr; -} - -template std::basic_istream& operator>>(std::basic_istream& istr, version_tuple& v) -{ - const std::ctype& ct = std::use_facet >(istr.getloc()); - unsigned short a = 0, b = 0, c = 0, d = 0; - Elem ch; - - std::ios_base::fmtflags flags = istr.setf(std::ios_base::dec); - - if(istr >> a) - { - istr >> ch; - - if(ch == ct.widen('.')) - { - if(istr >> b) - { - istr >> ch; - - if(ch == ct.widen('.')) - { - if(istr >> c) - { - istr >> ch; - - if(ch == ct.widen('.')) - istr >> d; - else - istr.putback(ch); - } - } - else - istr.putback(ch); - - if(istr) - { - v = version_tuple(a, b, c, d); - istr.flags(flags); - return istr; - } - } - } - else - istr.putback(ch); - } - - istr.flags(flags); - istr.setstate(std::ios_base::failbit); - return istr; -} - -struct cl_version: public version_tuple -{ -private: - bool m_optimizing; - -public: - cl_version(): m_optimizing() {} - - cl_version(const version_tuple& version_number, bool optimizing = false): - version_tuple(version_number), m_optimizing(optimizing) {} - - cl_version - ( - unsigned short major, - unsigned short minor, - unsigned short build_major = 0, - unsigned short build_minor = 0, - bool optimizing = false, - bool analyze = false - ): - version_tuple(major, minor, build_major, build_minor), m_optimizing(optimizing) {} - - cl_version(const cl_version& That): version_tuple(That), m_optimizing(That.m_optimizing) {} - - const cl_version& operator=(const cl_version& That) - { - version_tuple::operator=(That); - m_optimizing = That.m_optimizing; - return *this; - } - - bool is_optimizing() const - { - return m_optimizing; - } - - bool operator==(const cl_version& That) const - { - return this->m_optimizing == That.m_optimizing && this->version_tuple::operator==(That); - } - - bool operator<(const cl_version& That) const - { - return (!this->m_optimizing && That.m_optimizing) || this->version_tuple::operator<(That); - } - - bool operator<=(const cl_version& That) const - { - return (*this == That) || (*this < That); - } - - bool operator>(const cl_version& That) const - { - return !(*this <= That); - } - - bool operator>=(const cl_version& That) const - { - return !(*this < That); - } - - operator bool() const - { - return get_major() || get_minor() || get_build_major() || get_build_minor(); - } -}; - -struct link_version: public version_tuple -{ -public: - link_version() {} - - link_version(const version_tuple& version_number): version_tuple(version_number) {} - - link_version - ( - unsigned short major, - unsigned short minor, - unsigned short build_major = 0, - unsigned short build_minor = 0 - ): - version_tuple(major, minor, build_major, build_minor) {} - - link_version(const link_version& That): version_tuple(That) {} - - const link_version& operator=(const link_version& That) - { - version_tuple::operator=(That); - return *this; - } - - bool operator==(const cl_version& That) const - { - return this->version_tuple::operator==(That); - } - - bool operator<(const cl_version& That) const - { - return this->version_tuple::operator<(That); - } - - bool operator<=(const cl_version& That) const - { - return (*this == That) || (*this < That); - } - - bool operator>(const cl_version& That) const - { - return !(*this <= That); - } - - bool operator>=(const cl_version& That) const - { - return !(*this < That); - } - - operator bool() const - { - return get_major() || get_minor() || get_build_major() || get_build_minor(); - } -}; - -template -struct type_holder -{ - typedef T type; -}; - -template -std::basic_string get_env(const Elem * name, const type_holder&, const type_holder&) -{ - DWORD cchValue = 0; - std::vector value; - - for(;;) - { - value.resize(cchValue); - - if(type_equals::value) - cchValue = GetEnvironmentVariableA(reinterpret_cast(name), reinterpret_cast(cchValue ? &(value[0]) : NULL), cchValue); - else if(type_equals::value) - cchValue = GetEnvironmentVariableW(reinterpret_cast(name), reinterpret_cast(cchValue ? &(value[0]) : NULL), cchValue); - - if(cchValue == 0) - return std::basic_string(); - - if(cchValue <= value.size()) - break; - } - - value.resize(cchValue); - return std::basic_string(value.begin(), value.end()); -} - -template -std::basic_string get_env(const Elem * name) -{ - return get_env(name, type_holder(), type_holder()); -} - -template -std::basic_string get_env(const Elem * name) -{ - return get_env(name, type_holder(), type_holder::allocator_type>()); -} - -template -std::basic_string get_env(const Elem * name) -{ - return get_env(name, type_holder::traits_type>(), type_holder::allocator_type>()); -} - -template -void set_env(const Elem * name, const Elem * value) -{ - if(type_equals::value) - SetEnvironmentVariableA(reinterpret_cast(name), reinterpret_cast(value)); - else if(type_equals::value) - SetEnvironmentVariableW(reinterpret_cast(name), reinterpret_cast(value)); -} - -template -FILE * pipe_open(const CharT * commandLine, const CharT * mode) -{ - if(type_equals::value) - return _popen(reinterpret_cast(commandLine), reinterpret_cast(mode)); - else if(type_equals::value) - return _wpopen(reinterpret_cast(commandLine), reinterpret_cast(mode)); - else - return NULL; -} - -template -FILE * pipe_open_override_path(const CharT * commandLine, const CharT * mode, const CharT2 * newPath) -{ - FILE * pipe = NULL; - const CharT2 path[] = { 'P', 'A', 'T', 'H', 0 }; - - std::basic_string oldPath; - - if(newPath) - { - oldPath = get_env(path); - set_env(path, newPath); - } - - try - { - pipe = pipe_open(commandLine, mode); - } - catch(...) - { - if(pipe != NULL) - fclose(pipe); - - if(newPath) - set_env(path, oldPath.c_str()); - - throw; - } - - if(newPath) - set_env(path, oldPath.c_str()); - - return pipe; -} - -template -std::pair tokenize(InIter begin, InIter end, IsSep isSeparator) -{ - InIter beginToken = std::find_if(begin, end, std::not1(isSeparator)); - InIter endToken = std::find_if(beginToken, end, isSeparator); - return std::make_pair(beginToken, endToken); -} - -std::locale clocale("C"); -const std::ctype& cctype = std::use_facet >(clocale); - -template -struct is_ctype_l: public std::binary_function -{ -public: - result_type operator()(const first_argument_type& locale, second_argument_type c) const - { - return std::use_facet >(locale).is(Mask, c); - } -}; - -typedef is_ctype_l is_space_l; - -template -struct is_ctype: public std::unary_function -{ -private: - const std::locale& m_locale; - is_ctype_l m_is_ctype_l; - -public: - is_ctype(const std::locale& locale): m_locale(locale) {} - - result_type operator()(argument_type c) const - { - return m_is_ctype_l(m_locale, c); - } -}; - -typedef is_ctype is_space; - -template -std::pair string_literal_token(const Elem (& lit)[N]) -{ - return std::make_pair(lit, lit + ((N) - 1)); -} - -template -bool token_equals(const std::pair& tokenX, const std::pair& tokenY) -{ - return std::distance(tokenX.first, tokenX.second) == std::distance(tokenY.first, tokenY.second) && std::equal(tokenX.first, tokenX.second, tokenY.first); -} - -std::pair GetClArchToken(const std::string& arch) -{ - if(arch == "i386") - return string_literal_token("80x86"); - else if(arch == "amd64") - return string_literal_token("x64"); - else if(arch == "arm") - return string_literal_token("ARM"); - else - return string_literal_token(""); -} - -template -cl_version CheckClVersion(const std::string& arch, const Elem * pathOverride) -{ - stdio_filebuf clVersionInfoBuf(pipe_open_override_path(_T("cl /nologo- 2>&1 >nul archToken = GetClArchToken(arch); - - version_tuple clVersionNumber; - bool clOptimizing = false; - bool clTargetArch = false; - - std::string clVersionLine; - getline(clVersionInfo, clVersionLine); - - for - ( - std::pair token = tokenize(clVersionLine.begin(), clVersionLine.end(), is_space(clocale)); - token.first != token.second; - token = tokenize(token.second, clVersionLine.end(), is_space(clocale)) - ) - { - // Is the compiler optimizing? - if(token_equals(token, string_literal_token("Optimizing"))) - { - clOptimizing = true; - continue; - } - - // Is this the version number? - range_streambuf tokenBuf(token.first, token.second); - std::istream tokenStream(&tokenBuf); - - if(tokenStream >> clVersionNumber) - continue; - - // Does the compiler support the target architecture? - if(token_equals(token, archToken)) - { - clTargetArch = true; - continue; - } - } - - if(clTargetArch) - return cl_version(clVersionNumber, clOptimizing); - else - return cl_version(); -} - -cl_version CheckClVersion(const std::string& arch) -{ - return CheckClVersion(arch, (const char *)0); -} - -std::pair GetLinkArchToken(const std::string& arch) -{ - if(arch == "i386") - return string_literal_token(_T("X86")); - else if(arch == "amd64") - return string_literal_token(_T("X64")); - else if(arch == "arm") - return string_literal_token(_T("ARM")); - else - return string_literal_token(_T("")); -} - -template -link_version CheckLinkVersion(const std::string& arch, const Elem * pathOverride) -{ - std::pair archToken = GetLinkArchToken(arch); - - std::basic_string<_TCHAR> linkCmdLine; - linkCmdLine.append(_T("link /nologo- /machine:\"")); - linkCmdLine.append(archToken.first, archToken.second); - linkCmdLine.append(_T("\" nul")); - - stdio_filebuf linkOutputBuf(pipe_open_override_path(linkCmdLine.c_str(), _T("rt"), pathOverride)); - std::istream linkOutput(&linkOutputBuf); - - link_version linkVersion; - - std::string linkOutputLine; - - if(getline(linkOutput, linkOutputLine)) - { - for - ( - std::pair token = tokenize(linkOutputLine.begin(), linkOutputLine.end(), is_space(clocale)); - token.first != token.second; - token = tokenize(token.second, linkOutputLine.end(), is_space(clocale)) - ) - { - range_streambuf tokenBuf(token.first, token.second); - std::istream tokenStream(&tokenBuf); - - version_tuple linkVersionNumber; - - if(tokenStream >> linkVersionNumber) - { - linkVersion = linkVersionNumber; - break; - } - } - } - - if(linkVersion) - { - bool linkArchCheckFail = false; - - while(!linkArchCheckFail && getline(linkOutput, linkOutputLine)) - { - linkArchCheckFail = - knuth_morris_pratt::search(linkOutputLine.begin(), linkOutputLine.end(), "LNK4012") != linkOutputLine.end() || - knuth_morris_pratt::search(linkOutputLine.begin(), linkOutputLine.end(), "LNK1146") != linkOutputLine.end(); - } - - if(linkArchCheckFail) - linkVersion = link_version(); - } - - return linkVersion; -} - -link_version CheckLinkVersion(const std::string& arch) -{ - return CheckLinkVersion(arch, (const char *)0); -} - -template -void CharsToString(HRESULT& hr, std::basic_string& str, const Elem * beginChars, const Elem * endChars) -{ - if(SUCCEEDED(hr)) - str = std::basic_string(beginChars, endChars); -} - -template -void CharsToString(HRESULT& hr, std::basic_string& str, const WCHAR * beginChars, const WCHAR * endChars) -{ - if(!SUCCEEDED(hr)) - return; - - UINT cchChars = endChars - beginChars; - int cch = WideCharToMultiByte(CP_ACP, 0, beginChars, cchChars, NULL, 0, NULL, NULL); - - if(cch <= 0) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - return; - } - - CHAR * psz = new CHAR[cch]; - - if(psz == NULL) - { - hr = E_OUTOFMEMORY; - return; - } - - cch = WideCharToMultiByte(CP_ACP, 0, beginChars, cchChars, psz, cch, NULL, NULL); - - if(cch <= 0) - hr = HRESULT_FROM_WIN32(GetLastError()); - else - str = std::basic_string(psz, psz + cch); - - delete[] psz; -} - -template -void CharsToString(HRESULT& hr, std::basic_string& str, const CHAR * beginChars, const CHAR * endChars) -{ - if(!SUCCEEDED(hr)) - return; - - UINT cchChars = endChars - beginChars; - int cch = MultiByteToWideChar(CP_ACP, 0, beginChars, cchChars, NULL, 0); - - if(cch <= 0) - { - hr = HRESULT_FROM_WIN32(GetLastError()); - return; - } - - WCHAR * psz = new WCHAR[cch]; - - if(psz == NULL) - { - hr = E_OUTOFMEMORY; - return; - } - - cch = MultiByteToWideChar(CP_ACP, 0, beginChars, cchChars, psz, cch); - - if(cch <= 0) - hr = HRESULT_FROM_WIN32(GetLastError()); - else - str = std::basic_string(psz, psz + cch); - - delete[] psz; -} - -template -void BSTRToString(HRESULT& hr, std::basic_string& str, BSTR bstr) -{ - CharsToString(hr, str, bstr, bstr + SysStringLen(bstr)); -} - -std::vector SplitPath(const std::string& strPath) -{ - std::vector path; - std::string::const_iterator cur = strPath.begin(); - std::string::const_iterator end = strPath.end(); - - while(!(cur == end)) - { - std::string::const_iterator itemBegin = cur; - std::string::const_iterator itemEnd = std::find(cur, end, ';'); - - if(!(itemBegin == itemEnd)) - path.push_back(std::string(itemBegin, itemEnd)); - - cur = itemEnd; - - if(!(cur == end)) - ++ cur; - } - - return path; -} - -std::vector ParsePlatformPath(HRESULT& hr, IDispatch * pPlatform, BSTR bstrPath) -{ - std::vector path; - - if(FAILED(hr)) - return path; - - VARIANT varPath; - VariantInit(&varPath); - V_VT(&varPath) = VT_BSTR; - V_BSTR(&varPath) = bstrPath; - - VARIANT varRet = dispInvoke(hr, pPlatform, OLESTR("Evaluate"), varPath, VT_BSTR); - - std::string strPath; - BSTRToString(hr, strPath, V_BSTR(&varRet)); - - VariantClear(&varRet); - - path = SplitPath(strPath); - return path; -} - -VARIANT GetDTEProjectEngine(HRESULT& hr, IDispatch * pDTE) -{ - VARIANT varVCProjects = oleString(hr, OLESTR("VCProjects")); - VARIANT varVCProjectEngine = oleString(hr, OLESTR("VCProjectEngine")); - VARIANT varProjects = dispInvoke(hr, pDTE, OLESTR("GetObject"), varVCProjects, VT_DISPATCH); - VARIANT varProjectsProperties = dispPropGet(hr, V_DISPATCH(&varProjects), OLESTR("Properties"), VT_DISPATCH); - VARIANT varProjectEngineProperty = dispInvoke(hr, V_DISPATCH(&varProjectsProperties), varVCProjectEngine, VT_DISPATCH); - VARIANT varRet = dispPropGet(hr, V_DISPATCH(&varProjectEngineProperty), OLESTR("Object"), VT_DISPATCH); - VariantClear(&varProjectEngineProperty); - VariantClear(&varProjectsProperties); - VariantClear(&varProjects); - VariantClear(&varVCProjectEngine); - VariantClear(&varVCProjects); - return varRet; -} - -VARIANT GetDTEPlatformPath(HRESULT& hr, IDispatch * pDTE, BSTR bstrPlatformName, const OLECHAR * pszPathName) -{ - VARIANTARG argsProperties[2] = { oleString(hr, OLESTR("VCDirectories")), oleString(hr, OLESTR("Projects")) }; - - VARIANT varProperties; - VariantInit(&varProperties); - - if(SUCCEEDED(hr)) - hr = dispPropGet(pDTE, OLESTR("Properties"), argsProperties, ARRAYSIZE(argsProperties), VT_DISPATCH, varProperties); - - VARIANT varPathName = oleString(hr, pszPathName); - VARIANT varPath = dispInvoke(hr, V_DISPATCH(&varProperties), varPathName, VT_BSTR); - - VARIANT varRet; - VariantInit(&varRet); - - if(SUCCEEDED(hr)) - { - const OLECHAR * pCur = V_BSTR(&varPath); - const OLECHAR * pEnd = V_BSTR(&varPath) + SysStringLen(V_BSTR(&varPath)); - - while(!(pCur == pEnd)) - { - const OLECHAR * pBeginName = pCur; - const OLECHAR * pEndName = std::find(pBeginName, pEnd, OLESTR('|')); - const OLECHAR * pBeginValue = pEndName == pEnd ? pEndName : pEndName + 1; - const OLECHAR * pEndValue = std::find(pBeginValue, pEnd, OLESTR('|')); - - pCur = pEndValue; - - if(!(pCur == pEnd)) - ++ pCur; - - BSTR bstrName = SysAllocStringLen(pBeginName, pEndName - pBeginName); - - if(bstrName) - { - hr = VarBstrCmp(bstrName, bstrPlatformName, 0, NORM_IGNORECASE); - - if(hr == VARCMP_EQ) - { - BSTR bstrRet = SysAllocStringLen(pBeginValue, pEndValue - pBeginValue); - - if(bstrRet) - { - V_VT(&varRet) = VT_BSTR; - V_BSTR(&varRet) = bstrRet; - } - else - hr = E_OUTOFMEMORY; - } - - SysFreeString(bstrName); - - if(FAILED(hr) || hr == VARCMP_EQ) - break; - } - else - { - hr = E_OUTOFMEMORY; - break; - } - } - } - - VariantClear(&varPath); - VariantClear(&varPathName); - VariantClear(&varProperties); - VariantClear(&argsProperties[1]); - VariantClear(&argsProperties[0]); - - if(SUCCEEDED(hr) && V_VT(&varRet) != VT_BSTR) - { - VariantClear(&varRet); - varRet = oleString(hr, OLESTR("")); - } - - return varRet; -} - -cl_version msCompilerVersion; -std::string msCompilerPath; -std::vector msCompilerIncludeDirs; // TODO: use this -std::string msCompilerSource; // TODO: use this - -link_version msLinkerVersion; -std::string msLinkerPath; -std::vector msLinkerLibDirs; // TODO: use this -std::string msLinkerSource; // TODO: use this - -void ProcessVCPlatform(HRESULT& hr, const std::string& arch, bool wantCompiler, bool wantLinker, IDispatch * pVCProjectEngine, IDispatch * pPlatform, BSTR bstrPath, BSTR bstrInclude, BSTR bstrLib) -{ - if(FAILED(hr)) - return; - - std::basic_string strPath = replace(std::basic_string(bstrPath, SysStringLen(bstrPath)), OLESTR("$(PATH)"), OLESTR("%PATH%")); - - VARIANT varPath; - VariantInit(&varPath); - V_VT(&varPath) = VT_BSTR; - V_BSTR(&varPath) = SysAllocStringLen(strPath.c_str(), strPath.size()); - - if(!V_BSTR(&varPath)) - hr = E_OUTOFMEMORY; - - VARIANT varRet = dispInvoke(hr, pPlatform, OLESTR("Evaluate"), varPath, VT_BSTR); - - if(SUCCEEDED(hr)) - { - std::basic_string strPathOverride = replace - ( - std::basic_string(V_BSTR(&varRet), V_BSTR(&varRet) + SysStringLen(V_BSTR(&varRet))), - OLESTR("%PATH%"), - get_env(OLESTR("PATH")) - ); - - cl_version clVersion; - link_version linkVersion; - - if(wantCompiler) - clVersion = CheckClVersion(arch, strPathOverride.c_str()); - - if(wantLinker) - linkVersion = CheckLinkVersion(arch, strPathOverride.c_str()); - - // TODO: need a way to choose the desired tools and which version - // BUGBUG: for now, only set the new version if both tools are the highest version yet - if((!wantCompiler || (clVersion && clVersion > msCompilerVersion)) && (!wantLinker || (linkVersion && linkVersion > msLinkerVersion))) - { - std::string strPath; - BSTRToString(hr, strPath, V_BSTR(&varRet)); - strPath = replace(strPath, "%PATH%", "$(PATH)"); - - std::vector include = ParsePlatformPath(hr, pPlatform, bstrInclude); - std::vector lib = ParsePlatformPath(hr, pPlatform, bstrLib); - - if(SUCCEEDED(hr)) - { - if(wantCompiler) - { - msCompilerVersion = clVersion; - msCompilerPath = strPath; - msCompilerIncludeDirs = include; - //msCompilerSource; // TODO: fill this in - } - - if(wantLinker) - { - msLinkerVersion = linkVersion; - msLinkerPath = strPath; - msLinkerLibDirs = lib; - //msLinkerSource; // TODO: fill this in - } - } - } - } - - VariantClear(&varPath); - VariantClear(&varRet); -} - -bool IsVCPlatformSupported(HRESULT& hr, const std::string& arch, IDispatch * pPlatform) -{ - bool ret = false; - - VARIANT varPlatformName = dispPropGet(hr, pPlatform, OLESTR("Name"), VT_BSTR); - - if(arch == "i386") - { - VARIANT varWin32 = oleString(hr, OLESTR("Win32")); - - if(SUCCEEDED(hr)) - { - hr = VarBstrCmp(V_BSTR(&varWin32), V_BSTR(&varPlatformName), 0, NORM_IGNORECASE); - ret = hr == VARCMP_EQ; - } - - VariantClear(&varWin32); - } - else if(arch == "amd64") - { - VARIANT varX64 = oleString(hr, OLESTR("x64")); - - if(SUCCEEDED(hr)) - { - hr = VarBstrCmp(V_BSTR(&varX64), V_BSTR(&varPlatformName), 0, NORM_IGNORECASE); - ret = hr == VARCMP_EQ; - } - - VariantClear(&varX64); - } - else if(arch == "arm") - { - VARIANT varARM = oleString(hr, OLESTR("ARM")); - VARIANT varARCHFAM = oleString(hr, OLESTR("ARCHFAM")); - VARIANT varArchFamily = dispInvoke(hr, pPlatform, OLESTR("GetMacroValue"), varARCHFAM, VT_BSTR); - - if(SUCCEEDED(hr)) - { - hr = VarBstrCmp(V_BSTR(&varARM), V_BSTR(&varArchFamily), 0, NORM_IGNORECASE); - ret = hr == VARCMP_EQ; - } - - VariantClear(&varArchFamily); - VariantClear(&varARCHFAM); - VariantClear(&varARM); - } - - VariantClear(&varPlatformName); - - return SUCCEEDED(hr) && ret; -} - -void EnumerateVCTools(const std::string& arch, bool wantCompiler, bool wantLinker, const OLECHAR * szProductTag) -{ - size_t cchProductTag = std::wcslen(szProductTag); - HRESULT hr; - - hr = OleInitialize(NULL); - - if(SUCCEEDED(hr)) - { - std::basic_string strProductKey; - CharsToString(hr, strProductKey, szProductTag, szProductTag + cchProductTag); - - if(SUCCEEDED(hr)) - { - strProductKey = TEXT("SOFTWARE\\Microsoft\\") + strProductKey; - - HKEY hkVisualStudio; - hr = HRESULT_FROM_WIN32(RegOpenKeyEx(HKEY_LOCAL_MACHINE, strProductKey.c_str(), 0, KEY_ENUMERATE_SUB_KEYS, &hkVisualStudio)); - - if(SUCCEEDED(hr)) - { - for(DWORD i = 0; ; ++ i) - { - TCHAR szProductVersion[255 + 1]; - DWORD cchProductVersion = ARRAYSIZE(szProductVersion); - - hr = HRESULT_FROM_WIN32(RegEnumKeyEx(hkVisualStudio, i, szProductVersion, &cchProductVersion, NULL, NULL, NULL, NULL)); - - if(SUCCEEDED(hr)) - { - std::basic_string strProductVersion; - CharsToString(hr, strProductVersion, szProductVersion, szProductVersion + cchProductVersion); - - if(SUCCEEDED(hr)) - { - std::basic_string strDTEProgId(szProductTag, szProductTag + cchProductTag); - strDTEProgId += OLESTR(".DTE."); - strDTEProgId += strProductVersion; - - CLSID clsidDTE; - hr = CLSIDFromProgID(strDTEProgId.c_str(), &clsidDTE); - - if(SUCCEEDED(hr)) - { - IDispatch * pDTE; - hr = CoCreateInstance(clsidDTE, NULL, CLSCTX_ALL, IID_IDispatch, (void **)(void *)&pDTE); - - if(SUCCEEDED(hr)) - { - VARIANT varProjectEngine = GetDTEProjectEngine(hr, pDTE); - VARIANT varPlatforms = dispPropGet(hr, V_DISPATCH(&varProjectEngine), OLESTR("Platforms"), VT_DISPATCH); - VARIANT varCount = dispPropGet(hr, V_DISPATCH(&varPlatforms), OLESTR("Count"), VT_I4); - VARIANT varI; - VariantInit(&varI); - V_VT(&varI) = VT_I4; - - for(V_I4(&varI) = 1; V_I4(&varI) <= V_I4(&varCount); ++ V_I4(&varI)) - { - VARIANT varPlatform = dispInvoke(hr, V_DISPATCH(&varPlatforms), varI, VT_DISPATCH); - - if(IsVCPlatformSupported(hr, arch, V_DISPATCH(&varPlatform))) - { - VARIANT varPlatformName = dispPropGet(hr, V_DISPATCH(&varPlatform), OLESTR("Name"), VT_BSTR); - VARIANT varPath = GetDTEPlatformPath(hr, pDTE, V_BSTR(&varPlatformName), OLESTR("ExecutableDirectories")); - VARIANT varInclude = GetDTEPlatformPath(hr, pDTE, V_BSTR(&varPlatformName), OLESTR("IncludeDirectories")); - VARIANT varLib = GetDTEPlatformPath(hr, pDTE, V_BSTR(&varPlatformName), OLESTR("LibraryDirectories")); - - ProcessVCPlatform(hr, arch, wantCompiler, wantLinker, V_DISPATCH(&varProjectEngine), V_DISPATCH(&varPlatform), V_BSTR(&varPath), V_BSTR(&varInclude), V_BSTR(&varLib)); - - VariantClear(&varLib); - VariantClear(&varInclude); - VariantClear(&varPath); - VariantClear(&varPlatformName); - } - - VariantClear(&varPlatform); - } - - VariantClear(&varI); - VariantClear(&varCount); - VariantClear(&varPlatforms); - VariantClear(&varProjectEngine); - - pDTE->Release(); - } - } - - // TODO: print an error message here - } - - hr = S_OK; - } - else if(hr == HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS)) - { - hr = S_OK; - break; - } - else - break; - } - } - } - - OleUninitialize(); - } -} - -const TCHAR * GetDDKArchPath(const std::string& arch) -{ - if(arch == "i386") - return TEXT("x86"); - else if(arch == "amd64") - return TEXT("amd64"); - else - return NULL; -} - -void EnumerateDDKTools(const std::string& arch, bool wantCompiler, bool wantLinker) -{ - const TCHAR * pszArchPath = GetDDKArchPath(arch); - - if(pszArchPath == NULL) - return; - - HRESULT hr; - - HKEY hkDDK; - hr = HRESULT_FROM_WIN32(RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\WINDDK"), 0, KEY_ENUMERATE_SUB_KEYS, &hkDDK)); - - if(SUCCEEDED(hr)) - { - for(DWORD i = 0; ; ++ i) - { - TCHAR szDDKVersion[255 + ARRAYSIZE(TEXT("\\Setup"))]; - DWORD cchDDKVersion = ARRAYSIZE(szDDKVersion); - - hr = HRESULT_FROM_WIN32(RegEnumKeyEx(hkDDK, i, szDDKVersion, &cchDDKVersion, NULL, NULL, NULL, NULL)); - - if(SUCCEEDED(hr)) - { - memcpy(szDDKVersion + cchDDKVersion, TEXT("\\Setup"), sizeof(TEXT("\\Setup"))); - - HKEY hkDDKVersion; - hr = HRESULT_FROM_WIN32(RegOpenKeyEx(hkDDK, szDDKVersion, 0, KEY_QUERY_VALUE, &hkDDKVersion)); - - if(SUCCEEDED(hr)) - { - TCHAR szDDKPath[MAX_PATH]; - DWORD cbDDKPath = sizeof(szDDKPath); - DWORD dwType = 0; - - hr = HRESULT_FROM_WIN32(RegQueryValueEx(hkDDKVersion, TEXT("BUILD"), NULL, &dwType, reinterpret_cast(szDDKPath), &cbDDKPath)); - - if(SUCCEEDED(hr) && dwType == REG_SZ) - { -#if defined(_X86_) - static const TCHAR * const a_szBinPaths[] = { TEXT("x86") }; -#elif defined(_AMD64_) - // Prefer native tools, fall back on x86 if necessary - static const TCHAR * const a_szBinPaths[] = { TEXT("amd64"), TEXT("x86") }; -#elif defined(_IA64_) - // Prefer native tools, fall back on x86 if necessary - static const TCHAR * const a_szBinPaths[] = { TEXT("ia64"), TEXT("x86") }; -#endif - szDDKPath[cbDDKPath / sizeof(TCHAR)] = 0; - std::basic_string strDDKPath(szDDKPath); - strDDKPath += TEXT("\\bin\\"); - - std::basic_string::size_type cchCutoff = strDDKPath.length(); - - for(unsigned i = 0; i < ARRAYSIZE(a_szBinPaths); ++ i) - { - strDDKPath.resize(cchCutoff); - strDDKPath += a_szBinPaths[i]; - strDDKPath += TEXT("\\"); - strDDKPath += pszArchPath; - - cl_version clVersion; - link_version linkVersion; - - if(wantCompiler) - clVersion = CheckClVersion(arch, strDDKPath.c_str()); - - if(wantLinker) - linkVersion = CheckLinkVersion(arch, strDDKPath.c_str()); - - if((!wantCompiler || (clVersion && clVersion > msCompilerVersion)) && (!wantLinker || (linkVersion && linkVersion > msLinkerVersion))) - { - std::string strPath; - CharsToString(hr, strPath, strDDKPath.c_str(), strDDKPath.c_str() + strDDKPath.length()); - - if(SUCCEEDED(hr)) - { - if(wantCompiler) - { - msCompilerVersion = clVersion; - msCompilerPath = strPath; - msCompilerIncludeDirs.clear(); - //msCompilerSource; // TODO: fill this in - } - - if(wantLinker) - { - msLinkerVersion = linkVersion; - msLinkerPath = strPath; - msLinkerLibDirs.clear(); - //msLinkerSource; // TODO: fill this in - } - } - else - break; - } - } - } - - RegCloseKey(hkDDKVersion); - } - } - else if(hr == HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS)) - { - hr = S_OK; - break; - } - - if(FAILED(hr)) - break; - } - - RegCloseKey(hkDDK); - } -} - -void DetectEnvironmentVCTools(const std::string& arch, bool wantCompiler, bool wantLinker) -{ - cl_version clVersion; - link_version linkVersion; - - if(wantCompiler) - clVersion = CheckClVersion(arch); - - if(wantLinker) - linkVersion = CheckLinkVersion(arch); - - if((!wantCompiler || (clVersion && clVersion > msCompilerVersion)) && (!wantLinker || (linkVersion && linkVersion > msLinkerVersion))) - { - if(wantCompiler) - { - msCompilerVersion = clVersion; - msCompilerPath.clear(); - msCompilerIncludeDirs = SplitPath(get_env("INCLUDE")); - msCompilerSource = "environment"; - } - - if(wantLinker) - { - msLinkerVersion = linkVersion; - msLinkerPath.clear(); - msLinkerLibDirs = SplitPath(get_env("LIB")); - msLinkerSource = "environment"; - } - } -} - -void EnumerateMicrosoftTools(const std::string& arch, bool wantCompiler, bool wantLinker) -{ - DetectEnvironmentVCTools(arch, wantCompiler, wantLinker); - - if(!msCompilerVersion || !msLinkerVersion) - { - EnumerateVCTools(arch, wantCompiler, wantLinker, OLESTR("VisualStudio")); - EnumerateVCTools(arch, wantCompiler, wantLinker, OLESTR("VCExpress")); - EnumerateDDKTools(arch, wantCompiler, wantLinker); - } -} - -} - -bool -MingwBackend::DetectMicrosoftCompiler ( std::string& version, std::string& path ) -{ - bool wantCompiler = ProjectNode.configuration.Compiler == MicrosoftC; - bool wantLinker = ProjectNode.configuration.Linker == MicrosoftLink; - - if ( wantCompiler && !msCompilerVersion ) - EnumerateMicrosoftTools ( Environment::GetArch(), wantCompiler, wantLinker ); - - bool ret = wantCompiler && msCompilerVersion; - - if ( ret ) - { - compilerNeedsHelper = true; - compilerCommand = "cl"; - - std::ostringstream compilerVersion; - compilerVersion << msCompilerVersion; - version = compilerVersion.str(); - path = msCompilerPath; - } - - return ret; -} - -bool -MingwBackend::DetectMicrosoftLinker ( std::string& version, std::string& path ) -{ - bool wantCompiler = ProjectNode.configuration.Compiler == MicrosoftC; - bool wantLinker = ProjectNode.configuration.Linker == MicrosoftLink; - - if ( wantLinker && !msLinkerVersion ) - EnumerateMicrosoftTools ( Environment::GetArch(), wantCompiler, wantLinker ); - - bool ret = wantLinker && msLinkerVersion; - - if ( ret ) - { - binutilsNeedsHelper = msLinkerPath.length() != 0; - binutilsCommand = "link"; - - std::ostringstream linkerVersion; - linkerVersion << msLinkerVersion; - version = linkerVersion.str(); - path = msLinkerPath; - } - - return ret; -} - -#endif - -// TODO? attempt to support Microsoft tools on non-Windows? -#if !defined(WIN32) - -#include "../../pch.h" - -#include "mingw.h" - -bool -MingwBackend::DetectMicrosoftCompiler ( std::string&, std::string& ) -{ - return false; -} - -bool -MingwBackend::DetectMicrosoftLinker ( std::string&, std::string& ) -{ - return false; -} - -#endif - -// EOF diff --git a/reactos/tools/rbuild/backend/mingw/pch_detection.h b/reactos/tools/rbuild/backend/mingw/pch_detection.h deleted file mode 100644 index 3c26c8e4494..00000000000 --- a/reactos/tools/rbuild/backend/mingw/pch_detection.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -/* This file is intentionally left empty */ diff --git a/reactos/tools/rbuild/backend/mingw/pipe_detection.c b/reactos/tools/rbuild/backend/mingw/pipe_detection.c deleted file mode 100644 index 229c4a56d42..00000000000 --- a/reactos/tools/rbuild/backend/mingw/pipe_detection.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -int -main ( int argc, char** argv ) -{ - return 0; -} diff --git a/reactos/tools/rbuild/backend/mingw/proxymakefile.cpp b/reactos/tools/rbuild/backend/mingw/proxymakefile.cpp deleted file mode 100644 index 9e3c9dbf0b5..00000000000 --- a/reactos/tools/rbuild/backend/mingw/proxymakefile.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "../../pch.h" - -#include "mingw.h" -#include - -using std::string; -using std::vector; - -ProxyMakefile::ProxyMakefile ( const Project& project ) - : project ( project ) -{ -} - -ProxyMakefile::~ProxyMakefile () -{ -} - -bool -ProxyMakefile::GenerateProxyMakefile ( const Module& module ) -{ - return module.output->directory == OutputDirectory; -} - -void -ProxyMakefile::GenerateProxyMakefiles ( bool verbose, - string outputTree ) -{ - for ( std::map::const_iterator p = project.modules.begin (); p != project.modules.end (); ++ p ) - { - Module& module = *p->second; - if ( !module.enabled ) - continue; - if ( !GenerateProxyMakefile ( module ) ) - continue; - GenerateProxyMakefileForModule ( module, - verbose, - outputTree ); - } -} - -string -ProxyMakefile::GeneratePathToParentDirectory ( int numberOfParentDirectories ) -{ - string path = ""; - for ( int i = 0; i < numberOfParentDirectories; i++ ) - { - if ( path != "" ) - path += sSep; - path += ".."; - } - return path; -} - -string -ProxyMakefile::GetPathToTopDirectory ( Module& module ) -{ - int numberOfDirectories = 1; - string basePath = module.output->relative_path; - for ( size_t i = 0; i < basePath.length (); i++ ) - { - if ( basePath[i] == cSep ) - numberOfDirectories++; - } - return GeneratePathToParentDirectory ( numberOfDirectories ); -} - -void -ProxyMakefile::GenerateProxyMakefileForModule ( Module& module, - bool verbose, - string outputTree ) -{ - char* buf; - char* s; - - if ( verbose ) - { - printf ( "\nGenerating proxy makefile for %s", - module.name.c_str () ); - } - - string base; - string pathToTopDirectory; - if ( outputTree.length () > 0 ) - { - base = outputTree + sSep + module.output->relative_path; - pathToTopDirectory = working_directory; - } - else - { - base = module.output->relative_path; - pathToTopDirectory = GetPathToTopDirectory ( module ); - } - string proxyMakefile = NormalizeFilename ( base + sSep + "GNUmakefile" ); - string defaultTarget = module.name; - - buf = (char*) malloc ( 10*1024 ); - if ( buf == NULL ) - throw OutOfMemoryException (); - - s = buf; - s = s + sprintf ( s, "# This file is automatically generated.\n" ); - s = s + sprintf ( s, "\n" ); - s = s + sprintf ( s, "TOP = %s\n", pathToTopDirectory.c_str () ); - s = s + sprintf ( s, "DEFAULT = %s\n", defaultTarget.c_str () ); - s = s + sprintf ( s, "include $(TOP)/proxy.mak\n" ); - - FileSupportCode::WriteIfChanged ( buf, proxyMakefile, true ); - - free ( buf ); -} diff --git a/reactos/tools/rbuild/backend/mingw/rule.cpp b/reactos/tools/rbuild/backend/mingw/rule.cpp deleted file mode 100644 index 12199dc03a7..00000000000 --- a/reactos/tools/rbuild/backend/mingw/rule.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (C) 2008 Hervé Poussineau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "../../rbuild.h" -#include "modulehandler.h" -#include "rule.h" - -using std::string; - -static void -ReplaceVariable( string& str, - const string& name, - const string& value ) -{ - size_t i = str.find ( name ); - while ( i != string::npos ) - { - str.replace ( i, name.length (), value ); - i = str.find ( name ); - } -} - -static std::string -FixString ( const string& str, Backend *backend, const Module& module, const FileLocation *source, - const std::string& additional_dependencies, const std::string& compiler_flags, - const std::map& custom_variables ) -{ - string ret = str; - - for ( std::map::const_iterator p = custom_variables.begin(); p != custom_variables.end(); ++ p ) - { - ReplaceVariable ( ret, "$(" + p->first + ")", p->second ); - } - - string dep = additional_dependencies; - - dep += " " + module.xmlbuildFile; - - if ( source ) - { - ReplaceVariable ( ret, "$(source_noext)", ReplaceExtension ( backend->GetFullName ( *source ), "" ) ); - ReplaceVariable ( ret, "$(source)", backend->GetFullName ( *source ) ); - ReplaceVariable ( ret, "$(source_dir)", source->relative_path ); - ReplaceVariable ( ret, "$(source_name)", source->name ); - ReplaceVariable ( ret, "$(source_name_noext)", ReplaceExtension ( source->name , "" ) ); - ReplaceVariable ( ret, "$(source_path)", backend->GetFullPath ( *source ) ); - ReplaceVariable ( ret, "$(intermediate_dir)", backend->GetFullPath ( FileLocation ( IntermediateDirectory, source->relative_path, "" ) ) ); - ReplaceVariable ( ret, "$(intermediate_path_noext)", ReplaceExtension ( backend->GetFullName ( FileLocation ( IntermediateDirectory, source->relative_path, source->name ) ), "" ) ); - ReplaceVariable ( ret, "$(intermediate_path_unique)", ReplaceExtension ( backend->GetFullName ( FileLocation ( IntermediateDirectory, source->relative_path, source->name ) ), "" ) + "_" + module.name ); - } - ReplaceVariable ( ret, "$(dependencies)", dep ); - ReplaceVariable ( ret, "$(bare_dependencies)", additional_dependencies ); - ReplaceVariable ( ret, "$(module_name)", module.name ); - ReplaceVariable ( ret, "$(module_dllname)", module.GetDllName() ); - ReplaceVariable ( ret, "$(module_output)", GetTargetMacro ( module, true ) ); - ReplaceVariable ( ret, "$(SEP)", sSep ); - - ReplaceVariable ( ret, "$(compiler_flags)", compiler_flags ); - - return ret; -} - -Rule::Rule( const std::string& command, const char *generatedFile1, ... ) - : command ( command ) -{ - va_list ap; - const char *s; - - s = generatedFile1; - va_start ( ap, generatedFile1 ); - while ( s ) - { - generatedFiles.push_back ( s ); - s = va_arg ( ap, const char* ); - } - va_end ( ap ); -} - - -void Rule::Execute ( FILE *outputFile, - MingwBackend *backend, - const Module& module, - const FileLocation *source, - string_list& clean_files, - const std::string& additional_dependencies, - const std::string& compiler_flags, - const std::map& custom_variables ) const -{ - string cmd = FixString ( command, backend, module, source, additional_dependencies, compiler_flags, custom_variables ); - - fprintf ( outputFile, "%s", cmd.c_str () ); - - for ( size_t i = 0; i < generatedFiles.size (); i++ ) - { - string file = FixString ( generatedFiles[i], backend, module, source, "", "", custom_variables ); - if ( file[file.length () - 1] != cSep ) - { - clean_files.push_back ( file ); - continue; - } - - if ( file[0] != '$' ) - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %s.", - file.c_str () ); - - size_t pos = file.find_first_of ( cSep ); - string relative_path = file.substr ( pos + 1, file.length () - pos - 2 ); - string dir = file.substr ( 0, pos ); - if ( dir == "$(INTERMEDIATE)" ) - backend->AddDirectoryTarget ( relative_path, backend->intermediateDirectory ); - else if ( dir == "$(OUTPUT)" ) - backend->AddDirectoryTarget ( relative_path, backend->outputDirectory ); - else if ( dir == "$(INSTALL)" ) - backend->AddDirectoryTarget ( relative_path, backend->installDirectory ); - else - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %s.", - dir.c_str () ); - } -} - - -void Rule::Execute ( FILE *outputFile, - MingwBackend *backend, - const Module& module, - const FileLocation *source, - string_list& clean_files, - const std::string& additional_dependencies, - const std::string& compiler_flags ) const -{ - this->Execute ( outputFile, - backend, - module, - source, - clean_files, - additional_dependencies, - compiler_flags, - std::map() ); -} diff --git a/reactos/tools/rbuild/backend/mingw/rule.h b/reactos/tools/rbuild/backend/mingw/rule.h deleted file mode 100644 index 1c9c9a5bf86..00000000000 --- a/reactos/tools/rbuild/backend/mingw/rule.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2008 Hervé Poussineau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include "mingw.h" - -#include - -class Rule -{ -public: - Rule ( const std::string& command, const char *generatedFile1, ... ); - void Execute ( FILE *outputFile, - MingwBackend *backend, - const Module& module, - const FileLocation *source, - string_list& clean_files, - const std::string& additional_dependencies = "", - const std::string& compiler_flags = "" ) const; - void Execute ( FILE *outputFile, - MingwBackend *backend, - const Module& module, - const FileLocation *source, - string_list& clean_files, - const std::string& additional_dependencies, - const std::string& compiler_flags, - const std::map& custom_variables ) const; -private: - const std::string command; - string_list generatedFiles; -}; diff --git a/reactos/tools/rbuild/backend/mingw/rules.mak b/reactos/tools/rbuild/backend/mingw/rules.mak deleted file mode 100644 index 9ea5eb46916..00000000000 --- a/reactos/tools/rbuild/backend/mingw/rules.mak +++ /dev/null @@ -1,364 +0,0 @@ -RBUILD_fullpath=${subst <<<,,${subst $(SEP)<<<,,${subst /,$(SEP),${subst \\,$(SEP),$(1)}}<<<}} - -RBUILD_compress_prefix=${subst >>>,,${subst >>>$($(2)),$$($(2)),>>>$(1)}} -RBUILD_compress_prefixes=${call RBUILD_compress_prefix,${call RBUILD_compress_prefix,${call RBUILD_compress_prefix,${call RBUILD_compress_prefix,${call RBUILD_compress_prefix,$(1),INTERMEDIATE},OUTPUT},CDOUTPUT},TEMPORARY},INSTALL} - -RBUILD_strip_prefix=${subst >>>,,${subst >>>$($(2)),,>>>$(1)}} -RBUILD_strip_prefixes=${subst >>>,,${subst >>>$(SEP),,>>>${call RBUILD_strip_prefix,${call RBUILD_strip_prefix,${call RBUILD_strip_prefix,${call RBUILD_strip_prefix,${call RBUILD_strip_prefix,$(1),INTERMEDIATE},OUTPUT},CDOUTPUT},TEMPORARY},INSTALL}}} - -#(source) -RBUILD_intermediate_path_noext=${call RBUILD_intermediate_dir,$(1)}$(SEP)$(basename $(notdir $(1))) -RBUILD_output_path_noext=${call RBUILD_output_dir,$(1)}$(SEP)$(basename $(notdir $(1))) - -#(module, source) -RBUILD_intermediate_path_unique=${call RBUILD_intermediate_path_noext,$(2)}_$(1) -RBUILD_output_dir=${call RBUILD_output_path_noext,$(2)}_$(1) - -#(source) -RBUILD_intermediate_dir=${call RBUILD_fullpath,$(value INTERMEDIATE)$(SEP)$(dir ${call RBUILD_strip_prefixes,$(1)})} -RBUILD_output_dir=${call RBUILD_fullpath,$(value OUTPUT)$(SEP)$(dir ${call RBUILD_strip_prefixes,$(1)})} - -#(source) -RBUILD_name=$(basename $(notdir $(1))) -RBUILD_noext=$(dir $(1))$(basename $(notdir $(1))) - -#(source) -RBUILD_dir=${call RBUILD_fullpath,$(dir ${call RBUILD_compress_prefixes,$(1)})} - -#(module, flags, includes, compiler, prefix) -RBUILD_compiler_flags=\ -$$(BUILTIN_$(5)$(4)FLAGS) \ -$$(PROJECT_$(5)$(4)FLAGS) \ -$$(MODULETYPE$($(1)_TYPE)_$(4)FLAGS) \ -$$($(1)_$(4)FLAGS) \ -$(2) \ -$$($(5)$(4)FLAGS) - -#(module, flags, includes, compiler, prefix) -RBUILD_compiler_flags_with_cpp=\ -$$($(5)$(4)INCLUDES) $$(CPPINCLUDES) \ -$(3) \ -$$($(1)_$(4)INCLUDES) $$($(1)_CPPINCLUDES) \ -$$(MODULETYPE$($(1)_TYPE)_$(4)INCLUDES) $$(MODULETYPE$($(1)_TYPE)_CPPINCLUDES) \ -$$(PROJECT_$(5)$(4)INCLUDES) $$(PROJECT_$(5)CPPINCLUDES) \ -$$(BUILTIN_$(5)$(4)INCLUDES) $$(BUILTIN_$(5)CPPINCLUDES) \ -$$(BUILTIN_$(5)CPPDEFINES) $$(BUILTIN_$(5)CPPFLAGS) $$(BUILTIN_$(5)$(4)DEFINES) $$(BUILTIN_$(5)$(4)FLAGS) \ -$$(PROJECT_$(5)CPPDEFINES) $$(PROJECT_$(5)CPPFLAGS) $$(PROJECT_$(5)$(4)DEFINES) $$(PROJECT_$(5)$(4)FLAGS) \ -$$(MODULETYPE$($(1)_TYPE)_CPPDEFINES) $$(MODULETYPE$($(1)_TYPE)_CPPFLAGS) $$(MODULETYPE$($(1)_TYPE)_$(4)DEFINES) $$(MODULETYPE$($(1)_TYPE)_$(4)FLAGS) \ -$$($(1)_CPPDEFINES) $$($(1)_CPPFLAGS) $$($(1)_$(4)DEFINES) $$($(1)_$(4)FLAGS) \ -$(2) \ -$$(CPPDEFINES) $$(CPPFLAGS) $$($(5)$(4)DEFINES) $$($(5)$(4)FLAGS) - -#(module, flags, includes, compiler, prefix) -RBUILD_compiler_flags_builtin_cpp=\ -$$($(5)$(4)INCLUDES) $$(CPPINCLUDES) \ -$(3) \ -$$($(1)_$(4)INCLUDES) $$($(1)_CPPINCLUDES) \ -$$(MODULETYPE$($(1)_TYPE)_$(4)INCLUDES) $$(MODULETYPE$($(1)_TYPE)_CPPINCLUDES) \ -$$(PROJECT_$(5)$(4)INCLUDES) $$(PROJECT_$(5)CPPINCLUDES) \ -$$(BUILTIN_$(5)$(4)INCLUDES) $$(BUILTIN_$(5)CPPINCLUDES) \ -$$(BUILTIN_$(5)CPPDEFINES) $$(BUILTIN_$(5)$(4)DEFINES) $$(BUILTIN_$(5)$(4)FLAGS) \ -$$(PROJECT_$(5)CPPDEFINES) $$(PROJECT_$(5)$(4)DEFINES) $$(PROJECT_$(5)$(4)FLAGS) \ -$$(MODULETYPE$($(1)_TYPE)_CPPDEFINES) $$(MODULETYPE$($(1)_TYPE)_$(4)DEFINES) $$(MODULETYPE$($(1)_TYPE)_$(4)FLAGS) \ -$$($(1)_CPPDEFINES) $$($(1)_$(4)DEFINES) $$($(1)_$(4)FLAGS) \ -$(2) \ -$$(CPPDEFINES) $$($(5)$(4)DEFINES) $$($(5)$(4)FLAGS) - -#(module, flags, includes, compiler, prefix) -RBUILD_compiler_flags_with_includes=\ -$$($(5)$(4)INCLUDES) \ -$(3) \ -$$($(1)_$(4)INCLUDES) $$($(1)_CPPINCLUDES) \ -$$(MODULETYPE$($(1)_TYPE)_$(4)INCLUDES) \ -$$(PROJECT_$(5)$(4)INCLUDES) \ -$$(BUILTIN_$(5)$(4)INCLUDES) \ -$$(BUILTIN_$(5)$(4)FLAGS) \ -$$(PROJECT_$(5)$(4)FLAGS) \ -$$(MODULETYPE$($(1)_TYPE)_$(4)FLAGS) \ -$$($(1)_$(4)FLAGS) \ -$(2) \ -$$($(5)$(4)FLAGS) - -#(module, flags, includes, compiler, prefix) -RBUILD_compiler_flags_cpp=\ -$$($(5)$(4)INCLUDES) $$(CPPINCLUDES) \ -$(3) \ -$$($(1)_$(4)INCLUDES) $$($(1)_CPPINCLUDES) \ -$$(MODULETYPE$($(1)_TYPE)_$(4)INCLUDES) $$(MODULETYPE$($(1)_TYPE)_CPPINCLUDES) \ -$$(PROJECT_$(5)$(4)INCLUDES) $$(PROJECT_$(5)CPPINCLUDES) \ -$$(BUILTIN_$(5)$(4)INCLUDES) $$(BUILTIN_$(5)CPPINCLUDES) \ -$$(BUILTIN_$(5)CPPFLAGS) $$(BUILTIN_$(5)CPPDEFINES) $$(BUILTIN_$(5)$(4)DEFINES) \ -$$(PROJECT_$(5)CPPFLAGS) $$(PROJECT_$(5)CPPDEFINES) $$(PROJECT_$(5)$(4)DEFINES) \ -$$(MODULETYPE$($(1)_TYPE)_CPPFLAGS) $$(MODULETYPE$($(1)_TYPE)_CPPDEFINES) $$(MODULETYPE$($(1)_TYPE)_$(4)DEFINES) \ -$$($(1)_CPPFLAGS) $$($(1)_CPPDEFINES) $$($(1)_$(4)DEFINES) \ -$(2) \ -$$(CPPFLAGS) $$(CPPDEFINES) $$($(5)$(4)DEFINES) - -#(module, flags, includes) -RBUILD_cflags=${call RBUILD_compiler_flags_with_cpp,$(1),$(2),$(3),C} -RBUILD_cxxflags=${call RBUILD_compiler_flags_with_cpp,$(1),$(2),$(3),CXX} -#~ RBUILD_asflags=${call RBUILD_compiler_flags_with_cpp,$(1),$(2),$(3),AS} -RBUILD_asflags=${call RBUILD_compiler_flags_builtin_cpp,$(1),$(2),$(3),AS} -RBUILD_nasmflags=${call RBUILD_compiler_flags_builtin_cpp,$(1),$(2),$(3),NASM} -RBUILD_rc_pp_flags=${call RBUILD_compiler_flags_cpp,$(1),-DRC_INVOKED=1 -D__WIN32__=1 -D__FLAT__=1,$(3) -I.,RC} -RBUILD_rc_flags=${call RBUILD_compiler_flags_with_includes,$(1),$(2),$(3),RC} -RBUILD_spec_pp_flags=${call RBUILD_compiler_flags_cpp,$(1),,$(3),SPEC} -RBUILD_spec_flags=${call RBUILD_compiler_flags,$(1),$(2),,SPEC} -RBUILD_midlflags=${call RBUILD_compiler_flags_builtin_cpp,$(1),$(2),$(3),MIDL} -RBUILD_host_cflags=${call RBUILD_compiler_flags_with_cpp,$(1),$(2),$(3),C,HOST_} -RBUILD_host_cxxflags=${call RBUILD_compiler_flags_with_cpp,$(1),$(2),$(3),CXX,HOST_} -RBUILD_ldflags=${call RBUILD_compiler_flags,$(1),$(2),,LD} - -RCFLAG_UNICODE:=-DUNICODE -D_UNICODE - -BUILTIN_ASDEFINES+= -D__ASM__ -BUILTIN_RCFLAGS+= --nostdinc -BUILTIN_RCDEFINES+= -DRC_INVOKED -BUILTIN_NASMFLAGS+= -f win32 - -#(module, source, dependencies, cflags, output) -define RBUILD_GAS - -$(2): $${$(1)_precondition} - -ifeq ($(ROS_BUILDDEPS),full) - -$(5).d: $(2) | ${call RBUILD_dir,$(5)} - $$(ECHO_DEPENDS) - $${gas} -MF $$@ ${call RBUILD_asflags,$(1),$(4)} -M -MP -MT $$@ $$< - --include $(5).d - -$(5): $(2) $(5).d $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_AS) - $${gas} -o $$@ ${call RBUILD_asflags,$(1),$(4)} -c $$< - -else - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_AS) - $${gas} -o $$@ ${call RBUILD_asflags,$(1),$(4)} -c $$< - -endif - -endef - -#(module, source, dependencies, cflags) -RBUILD_GAS_RULE=${call RBUILD_GAS,$(1),$(2),$(3),$(4),${call RBUILD_intermediate_path_unique,$(1),$(2)}.o} - -#(module, source, dependencies, cflags, output) -define RBUILD_NASM - -$(2): $${$(1)_precondition} - -$(5): $(2) $(3) | ${call RBUILD_dir,$(5)} - $$(ECHO_NASM) - $${nasm} -o $$@ ${call RBUILD_nasmflags,$(1),$(4)} $$< - -endef - -# TODO: module_dllname -> ${call RBUILD_module_dllname,$(1)} - -#(module, source, dependencies, cflags, module_dllname, output) -define RBUILD_WINEBUILD_DEF - -$(6): $(2) $$(winebuild_TARGET) | ${call RBUILD_intermediate_dir,$(6)} - $$(ECHO_WINEBLD) - $$(Q)$$(winebuild_TARGET) $$(WINEBUILD_FLAGS) -o $$@ --def -E $$< --filename $(5) ${call RBUILD_spec_flags,$(1),$(4)} - -endef - -#(module, source, dependencies, cflags, module_dllname, output) -define RBUILD_WINEBUILD_STUBS - -$(6): $(2) $$(winebuild_TARGET) | ${call RBUILD_intermediate_dir,$(6)} - $$(ECHO_WINEBLD) - $$(Q)$$(winebuild_TARGET) $$(WINEBUILD_FLAGS) -o $$@ --pedll $$< --filename $(5) ${call RBUILD_spec_flags,$(1),$(4)} - -endef - -#(module, source, dependencies, cflags, module_dllname) -define RBUILD_WINEBUILD_WITH_CPP_RULE - -ifeq ($$(ROS_BUILDDEPS),full) - -${call RBUILD_DEPENDS,$(1),$(2),,${call RBUILD_spec_pp_flags,$(1),$(4)},${call RBUILD_intermediate_path_unique,$(1),$(2)}.spec.d} --include ${call RBUILD_intermediate_path_unique,$(1),$(2)}.spec.d - -${call RBUILD_CPP,$(1),$(2),${call RBUILD_intermediate_path_unique,$(1),$(2)}.spec.d $(3),${call RBUILD_spec_pp_flags,$(1),$(4)},${call RBUILD_intermediate_path_unique,$(1),$(2)}.spec} - -else - -${call RBUILD_CPP,$(1),$(2),$(3),${call RBUILD_spec_pp_flags,$(1),$(4)},${call RBUILD_intermediate_path_unique,$(1),$(2)}.spec} - -endif - -${call RBUILD_WINEBUILD_DEF,$(1),${call RBUILD_intermediate_path_unique,$(1),$(2)}.spec,,$(4),$(5),${call RBUILD_intermediate_path_unique,$(1),$(2)}.auto.def} -${call RBUILD_WINEBUILD_STUBS,$(1),${call RBUILD_intermediate_path_unique,$(1),$(2)}.spec,,$(4),$(5),${call RBUILD_intermediate_path_unique,$(1),$(2)}.stubs.c} -${call RBUILD_CC,$(1),${call RBUILD_intermediate_path_unique,$(1),$(2)}.stubs.c,,,${call RBUILD_intermediate_path_unique,$(1),$(2)}.stubs.o} - -endef - -#(module, source, dependencies, cflags, module_dllname) -define RBUILD_WINEBUILD_RULE - -${call RBUILD_WINEBUILD_DEF,$(1),$(2),$(3),$(4),$(5),${call RBUILD_intermediate_path_unique,$(1),$(2)}.auto.def} -${call RBUILD_WINEBUILD_STUBS,$(1),$(2),$(3),$(4),$(5),${call RBUILD_intermediate_path_unique,$(1),$(2)}.stubs.c} -${call RBUILD_CC,$(1),${call RBUILD_intermediate_path_unique,$(1),$(2)}.stubs.c,,,${call RBUILD_intermediate_path_unique,$(1),$(2)}.stubs.o} - -endef - -# FIXME: wrc butchers localized strings and doesn't implement -M, so we have to use an external preprocessor -#(module, source, dependencies, cflags) -define RBUILD_WRC_RULE - -$(2): $${$(1)_precondition} - -ifeq ($$(ROS_BUILDDEPS),full) - -${call RBUILD_DEPENDS,$(1),$(2),,${call RBUILD_rc_pp_flags,$(1),$(4)},${call RBUILD_intermediate_path_unique,$(1),$(2)}.res.d} --include ${call RBUILD_intermediate_path_unique,$(1),$(2)}.coff.d - -${call RBUILD_intermediate_path_unique,$(1),$(2)}.res: $(2) ${call RBUILD_intermediate_path_unique,$(1),$(2)}.res.d $(3) $$(wrc_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_RC) - ${call RBUILD_PIPE_CPP,$$<,${call RBUILD_rc_pp_flags,$(1),$(4)}} | $$(wrc_TARGET) -o $$@ ${call RBUILD_rc_flags,$(1),$(4),-I${call RBUILD_dir,$(2)}} - -else - -${call RBUILD_intermediate_path_unique,$(1),$(2)}.res: $(2) $(3) $$(wrc_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_RC) -ifeq ($(ARCH),amd64) - $$(Q)$$(wrc_TARGET) --input=$$< -o $$@ ${call RBUILD_rc_pp_flags,$(1),$(4)} ${call RBUILD_rc_flags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -else - ${call RBUILD_PIPE_CPP,$$<,${call RBUILD_rc_pp_flags,$(1),$(4)}} | $$(wrc_TARGET) -o $$@ ${call RBUILD_rc_flags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -endif - -endif - -${call RBUILD_intermediate_path_unique,$(1),$(2)}.coff: ${call RBUILD_intermediate_path_unique,$(1),$(2)}.res | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_CVTRES) - $${windres} -i $$< -o $$@ -J res -O coff - -endef - -define RBUILD_WIDL - -endef - -define RBUILD_WIDL_HEADER_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_path_noext,$(2)}.h: $(2) $(3) $$(widl_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_WIDL) - $$(Q)$$(widl_TARGET) ${call RBUILD_midlflags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -h -o $$@ $$< - -endef - -#(module, source, dependencies, cflags) -define RBUILD_WIDL_CLIENT_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_path_noext,$(2)}_c.c ${call RBUILD_intermediate_path_noext,$(2)}_c.h: ${call RBUILD_intermediate_path_noext,$(2)}_c - -${call RBUILD_intermediate_path_noext,$(2)}_c: $(2) $(3) $$(widl_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_WIDL) - $$(Q)$$(widl_TARGET) ${call RBUILD_midlflags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -Oif -h -H ${call RBUILD_intermediate_path_noext,$(2)}_c.h -c -C ${call RBUILD_intermediate_path_noext,$(2)}_c.c $(2) - $${checkpoint} $$@>$(NUL) - -${call RBUILD_CC,$(1),${call RBUILD_intermediate_path_noext,$(2)}_c.c,,,${call RBUILD_intermediate_path_noext,$(2)}_c.o} - -endef - -#(module, source, dependencies, cflags) -define RBUILD_WIDL_SERVER_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_path_noext,$(2)}_s.c ${call RBUILD_intermediate_path_noext,$(2)}_s.h: ${call RBUILD_intermediate_path_noext,$(2)}_s - -${call RBUILD_intermediate_path_noext,$(2)}_s: $(2) $(3) $$(widl_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_WIDL) - $$(Q)$$(widl_TARGET) ${call RBUILD_midlflags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -Oif -h -H ${call RBUILD_intermediate_path_noext,$(2)}_s.h -s -S ${call RBUILD_intermediate_path_noext,$(2)}_s.c $(2) - $${checkpoint} $$@>$(NUL) - -${call RBUILD_CC,$(1),${call RBUILD_intermediate_path_noext,$(2)}_s.c,,,${call RBUILD_intermediate_path_noext,$(2)}_s.o} - -endef - -#(module, source, dependencies, cflags) -define RBUILD_WIDL_PROXY_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_path_noext,$(2)}_p.c ${call RBUILD_intermediate_path_noext,$(2)}_p.h: ${call RBUILD_intermediate_path_noext,$(2)}_p - -${call RBUILD_intermediate_path_noext,$(2)}_p: $(2) $(3) $$(widl_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_WIDL) - $$(Q)$$(widl_TARGET) ${call RBUILD_midlflags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -h -H ${call RBUILD_intermediate_path_noext,$(2)}_p.h -p -P ${call RBUILD_intermediate_path_noext,$(2)}_p.c $(2) - $${checkpoint} $$@>$(NUL) - -${call RBUILD_CC,$(1),${call RBUILD_intermediate_path_noext,$(2)}_p.c,,,${call RBUILD_intermediate_path_noext,$(2)}_p.o} - -endef - -#(module, source, dependencies, cflags) -define RBUILD_WIDL_INTERFACE_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_path_noext,$(2)}_i.c: $(2) $(3) $$(widl_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_WIDL) - $$(Q)$$(widl_TARGET) ${call RBUILD_midlflags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -u -o $$@ $$< - -${call RBUILD_CC,$(1),${call RBUILD_intermediate_path_noext,$(2)}_i.c,,,${call RBUILD_intermediate_path_noext,$(2)}_i.o} - -endef - -# FIXME: this rule sucks -#(module, source, dependencies, cflags, bare_dependencies) -define RBUILD_WIDL_DLLDATA_RULE - -$(2): $(3) ${$(1)_precondition} $$(widl_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_WIDL) - $$(Q)$$(widl_TARGET) ${call RBUILD_midlflags,$(1),$(4)} --dlldata-only -o $(2) $(5) - -${call RBUILD_CC,$(1),$(2),,,${call RBUILD_intermediate_path_noext,$(2)}.o} - -endef - -#(module, source, dependencies, cflags) -define RBUILD_WIDL_TLB_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_dir,$(2)}$$(SEP)$(1).tlb: $(2) $(3) $$(widl_TARGET) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_WIDL) - $$(Q)$$(widl_TARGET) ${call RBUILD_midlflags,$(1),$(4),-I${call RBUILD_dir,$(2)}} -t -o $$@ $$< - -endef - -#(module, source, dependencies, cflags) -define RBUILD_HOST_GCC_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_path_unique,$(1),$(2)}.o: $(2) $(3) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_HOSTCC) - $${host_gcc} -o $$@ ${call RBUILD_host_cflags,$(1),$(4)} -c $$< - -endef - -#(module, source, dependencies, cflags) -define RBUILD_HOST_GPP_RULE - -$(2): $${$(1)_precondition} - -${call RBUILD_intermediate_path_unique,$(1),$(2)}.o: $(2) $(3) | ${call RBUILD_intermediate_dir,$(2)} - $$(ECHO_HOSTCC) - $${host_gpp} -o $$@ ${call RBUILD_host_cxxflags,$(1),$(4)} -c $$< - -endef - -# EOF diff --git a/reactos/tools/rbuild/backend/msbuild/msbuild.cpp b/reactos/tools/rbuild/backend/msbuild/msbuild.cpp deleted file mode 100644 index 82a009371ab..00000000000 --- a/reactos/tools/rbuild/backend/msbuild/msbuild.cpp +++ /dev/null @@ -1,270 +0,0 @@ -/* - * Copyright (C) 2007 Christoph von Wittich - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include - -#include - -#include "msbuild.h" -#include "../mingw/mingw.h" - -using std::string; -using std::vector; -using std::map; -using std::ifstream; - -#ifdef OUT -#undef OUT -#endif//OUT - - -static class MsBuildFactory : public Backend::Factory -{ - public: - - MsBuildFactory() : Factory("MsBuild", "Ms Build") {} - Backend *operator() (Project &project, - Configuration& configuration) - { - return new MsBuildBackend(project, configuration); - } - -} factory; - - -MsBuildBackend::MsBuildBackend(Project &project, - Configuration& configuration) : Backend(project, configuration) -{ - -} - -void MsBuildBackend::Process() -{ - if ( configuration.CleanAsYouGo ) { - _clean_project_files(); - return; - } - - ProcessModules(); -} - -void -MsBuildBackend::_generate_makefile ( const Module& module ) -{ - string makefile = module.output->relative_path + "\\makefile"; - FILE* OUT = fopen ( makefile.c_str(), "wb" ); - fprintf ( OUT, "!INCLUDE $(NTMAKEENV)\\makefile.def\r\n" ); - fclose ( OUT ); -} - -void -MsBuildBackend::_generate_sources ( const Module& module ) -{ - size_t i; - - string module_type = GetExtension(*module.output); - vector source_files, resource_files, includes, libraries; - vector header_files, common_defines, compiler_flags; - vector vars, values; - string sourcesfile = module.output->relative_path + "\\sources"; - string proj_path = module.output->relative_path; - - FILE* OUT = fopen ( sourcesfile.c_str(), "wb" ); - fprintf ( OUT, "TARGETNAME=%s\r\n", module.name.c_str() ); - - vector ifs_list; - ifs_list.push_back ( &module.project.non_if_data ); - ifs_list.push_back ( &module.non_if_data ); - while ( ifs_list.size() ) - { - const IfableData& data = *ifs_list.back(); - ifs_list.pop_back(); - const vector& files = data.files; - for ( i = 0; i < files.size(); i++ ) - { - source_files.push_back ( files[i]->file.name ); - } - const vector& incs = data.includes; - for ( i = 0; i < incs.size(); i++ ) - { - string path = Path::RelativeFromDirectory ( - incs[i]->directory->relative_path, - module.output->relative_path ); - - includes.push_back ( path ); - } - const vector& libs = data.libraries; - for ( i = 0; i < libs.size(); i++ ) - { - libraries.push_back ( libs[i]->name ); - } - const vector& cflags = data.compilerFlags; - for ( i = 0; i < cflags.size(); i++ ) - { - compiler_flags.push_back ( cflags[i]->flag ); - } - const vector& defs = data.defines; - for ( i = 0; i < defs.size(); i++ ) - { - if ( defs[i]->value[0] ) - { - const string& escaped = _replace_str(defs[i]->value, "\"","""); - common_defines.push_back( defs[i]->name + "=" + escaped ); - } - else - { - common_defines.push_back( defs[i]->name ); - } - } - } - - if (module_type == ".sys") - fprintf ( OUT, "TARGETTYPE=DRIVER\r\n" ); - else if (module_type == ".dll") - { - fprintf ( OUT, "TARGETTYPE=LIBRARY\r\n" ); - - } - else if (module_type == ".exe") - fprintf ( OUT, "TARGETTYPE=PROGRAM\r\n" ); - - fprintf ( OUT, "\r\nMSC_WARNING_LEVEL=/W3 /WX\r\n\r\n" ); - - /* Disable deprecated function uage warnings */ - fprintf ( OUT, "C_DEFINES=$(C_DEFINES) /DSTDCALL=__stdcall /DDDKAPI=__stdcall /wd4996\r\n" ); - - - /* includes */ - fprintf ( OUT, "INCLUDES=.; \\\r\n" ); - for ( i = 1; i < includes.size() -1; i++ ) - { - const string& include = includes[i]; - - /* don't include psdk / ddk / crt */ - std::string::size_type pos = include.find("ddk"); - std::string::size_type pos2 = include.find("psdk"); - std::string::size_type pos3 = include.find("crt"); - if ((std::string::npos == pos) && (std::string::npos == pos2) && (std::string::npos == pos3)) - fprintf ( OUT, "\t%s; \\\r\n", include.c_str() ); - } - if (includes.size() > 1) - { - const string& include = includes[includes.size()-1]; - fprintf ( OUT, "\t%s \r\n\r\n", include.c_str() ); - } - - fprintf ( OUT, "TARGETLIBS= $(DDK_LIB_PATH)\\ntstrsafe.lib\r\n\r\n" ); - - string source_file = ""; - if (source_files.size() > 0) - { - source_file = DosSeparator(source_files[0]); - fprintf ( OUT, "SOURCES=%s \\\r\n", source_file.c_str() ); - - for ( size_t isrcfile = 1; isrcfile < source_files.size()-1; isrcfile++ ) - { - source_file = DosSeparator(source_files[isrcfile]); - fprintf ( OUT, "\t%s \\\r\n", source_file.c_str() ); - } - } - if (source_files.size() > 1) - { - source_file = DosSeparator(source_files[source_files.size()-1]); - fprintf ( OUT, "\t%s \r\n", source_file.c_str() ); - } - - fprintf ( OUT, "TARGET_DESTINATION=retail\r\n" ); - - - fclose ( OUT ); -} - -void MsBuildBackend::ProcessModules() -{ - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module &module = *p->second; - _generate_makefile ( module ); - _generate_sources ( module ); - } -} - -void -MsBuildBackend::_clean_project_files ( void ) -{ - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module& module = *p->second; - printf("Cleaning project %s %s\n", module.name.c_str (), module.output->relative_path.c_str () ); - - string makefile = module.output->relative_path + "\\makefile"; - string sourcesfile = module.output->relative_path + "\\sources"; - - string basepath = module.output->relative_path; - remove ( makefile.c_str() ); - remove ( sourcesfile.c_str() ); - } -} - -MsBuildConfiguration::MsBuildConfiguration ( const std::string &name ) -{ - /* nothing to do here */ -} - -const Property* -MsBuildBackend::_lookup_property ( const Module& module, const std::string& name ) const -{ - std::map::const_iterator p; - - /* Check local values */ - p = module.non_if_data.properties.find(name); - - if ( p != module.non_if_data.properties.end() ) - return p->second; - - // TODO FIXME - should we check local if-ed properties? - p = module.project.non_if_data.properties.find(name); - - if ( p != module.project.non_if_data.properties.end() ) - return p->second; - - // TODO FIXME - should we check global if-ed properties? - return NULL; -} - -std::string -MsBuildBackend::_replace_str(std::string string1, const std::string &find_str, const std::string &replace_str) -{ - std::string::size_type pos = string1.find(find_str, 0); - int intLen = find_str.length(); - - while(std::string::npos != pos) - { - string1.replace(pos, intLen, replace_str); - pos = string1.find(find_str, intLen + pos); - } - - return string1; -} - diff --git a/reactos/tools/rbuild/backend/msbuild/msbuild.h b/reactos/tools/rbuild/backend/msbuild/msbuild.h deleted file mode 100644 index d1cd1f08fe6..00000000000 --- a/reactos/tools/rbuild/backend/msbuild/msbuild.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2007 Christoph von Wittich - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include -#include -#include - -#include "../backend.h" - -class MsBuildConfiguration -{ - public: - MsBuildConfiguration(const std::string &name = ""); - virtual ~MsBuildConfiguration() {} - std::string name; -}; - -class MsBuildBackend : public Backend -{ - public: - - MsBuildBackend(Project &project, - Configuration& configuration); - virtual ~MsBuildBackend() {} - - virtual void Process(); - - private: - - FILE* m_MsBuildFile; - - std::vector m_configurations; - void _generate_makefile ( const Module& module ); - void _generate_sources ( const Module& module ); - void _clean_project_files ( void ); - void ProcessModules(); - const Property* _lookup_property ( const Module& module, const std::string& name ) const; - std::string _replace_str(std::string string1, const std::string &find_str, const std::string &replace_str); - - struct module_data - { - std::vector libraries; - std::vector references; - - module_data() - {} - ~module_data() - {} - }; - -}; diff --git a/reactos/tools/rbuild/backend/msvc/genguid.cpp b/reactos/tools/rbuild/backend/msvc/genguid.cpp deleted file mode 100644 index 5dedb375ef8..00000000000 --- a/reactos/tools/rbuild/backend/msvc/genguid.cpp +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Based on the genguid utility for WINE and ReactOS - * - * Copyright 2003 Jonathan Wilson - * Copyright 2005 Steven Edwards - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "../../pch.h" -#include "msvc.h" -#include - -using std::string; - -#ifdef _WIN32 -#include -#include - -typedef HRESULT _stdcall CoInitializeFunc ( PVOID ); -typedef void _stdcall CoUninitializeFunc ( void ); -typedef HRESULT _stdcall CoCreateGuidFunc ( GUID* ); - -static CoInitializeFunc *pCoInitialize = NULL; -static CoUninitializeFunc *pCoUninitialize = NULL; -static CoCreateGuidFunc *pCoCreateGuid = NULL; - - -std::string -MSVCBackend::_gen_guid() -{ - GUID m_guid; - HRESULT result; - bool good_guid = false; - static char guid[38]; - - // Load ole32. We will need it later on - HMODULE olelib = LoadLibrary ( "ole32.dll" ); - if ( olelib != NULL ) - { - pCoInitialize = (CoInitializeFunc *)GetProcAddress( olelib, "CoInitialize" ); - pCoUninitialize = (CoUninitializeFunc *)GetProcAddress( olelib, "CoUninitialize" ); - pCoCreateGuid = (CoCreateGuidFunc *)GetProcAddress( olelib, "CoCreateGuid" ); - if ( !pCoInitialize || !pCoUninitialize || !pCoCreateGuid ) - printf ( "Missing exports from ole32.dll\n" ); - else - { - if (pCoInitialize(NULL) != S_OK) - printf("Unable to initalize OLE libraries\n"); - else - { - result = pCoCreateGuid(&m_guid); - if (result != S_OK) - printf("Unable to create GUID\n"); - else - good_guid = true; - pCoUninitialize(); - } - } - FreeLibrary ( olelib ); - } - if ( !good_guid ) - { - // TODO FIXME - fall-back to random #'s - } - const char* strfmt = "%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X"; - sprintf(guid, strfmt,m_guid.Data1,m_guid.Data2,m_guid.Data3,m_guid.Data4[0], - m_guid.Data4[1],m_guid.Data4[2],m_guid.Data4[3],m_guid.Data4[4],m_guid.Data4[5], - m_guid.Data4[6],m_guid.Data4[7],m_guid.Data1,m_guid.Data2,m_guid.Data3,m_guid.Data4[0], - m_guid.Data4[1],m_guid.Data4[2],m_guid.Data4[3],m_guid.Data4[4],m_guid.Data4[5], - m_guid.Data4[6],m_guid.Data4[7]); - - return guid; -} - -#else /* Linux, etc */ - -std::string -MSVCBackend::_gen_guid() -{ - return std::string(); -} -#endif /* WIN32/Linux */ diff --git a/reactos/tools/rbuild/backend/msvc/msvc.cpp b/reactos/tools/rbuild/backend/msvc/msvc.cpp deleted file mode 100644 index 6fc993d06b3..00000000000 --- a/reactos/tools/rbuild/backend/msvc/msvc.cpp +++ /dev/null @@ -1,568 +0,0 @@ -/* - * Copyright (C) 2005 Trevor McCort - * Copyright (C) 2005 Casper S. Hornstrup - * Copyright (C) 2005 Steven Edwards - * Copyright (C) 2005 Royce Mitchell - * Copyright (C) 2006 Christoph von Wittich - * Copyright (C) 2009 Ged Murphy - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#pragma warning ( disable : 4996 ) -#endif//_MSC_VER - -#include -#include -#include -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::ifstream; - -static class MSVCFactory : public Backend::Factory -{ - public: - - MSVCFactory() : Factory("MSVC", "Microsoft Visual C") {} - Backend *operator() (Project &project, - Configuration& configuration) - { - return new MSVCBackend(project, configuration); - } - -} factory; - -MSVCConfiguration::MSVCConfiguration ( const OptimizationType optimization, const HeadersType headers, const std::string &name ) -{ - this->optimization = optimization; - this->headers = headers; - if ( name != "" ) - this->name = name; - else - { - std::string headers_name; - if ( headers == MSVCHeaders ) - headers_name = ""; - else - headers_name = " - ReactOS headers"; - if ( optimization == Debug ) - this->name = "Debug" + headers_name; - else if ( optimization == Release ) - this->name = "Release" + headers_name; - else if ( optimization == Speed ) - this->name = "Speed" + headers_name; - else if ( optimization == RosBuild ) - this->name = "RosBuild"; - else - this->name = "Unknown" + headers_name; - } -} - -MSVCBackend::MSVCBackend(Project &project, - Configuration& configuration) : Backend(project, configuration) -{ - m_unitCount = 0; -} - -void MSVCBackend::Process() -{ - while ( m_configurations.size () > 0 ) - { - const MSVCConfiguration* cfg = m_configurations.back(); - m_configurations.pop_back(); - delete cfg; - } - - //Don't generate configurations that require WDK if it can't be found - if(getenv ( "BASEDIR" ) != NULL) - { - m_configurations.push_back ( new MSVCConfiguration( Debug )); - m_configurations.push_back ( new MSVCConfiguration( Release )); - } - m_configurations.push_back ( new MSVCConfiguration( RosBuild )); - m_configurations.push_back ( new MSVCConfiguration( Debug, ReactOSHeaders )); - m_configurations.push_back ( new MSVCConfiguration( Release, ReactOSHeaders )); - // m_configurations.push_back ( new MSVCConfiguration( Speed )); - // m_configurations.push_back ( new MSVCConfiguration( Speed, ReactOSHeaders )); - - if ( configuration.CleanAsYouGo ) { - _clean_project_files(); - return; - } - if ( configuration.InstallFiles ) { - _install_files( _get_vc_dir(), configuration.VSConfigurationType ); - return; - } - string filename_sln ( ProjectNode.name ); - - filename_sln += "_auto.sln"; - printf ( "Creating MSVC workspace: %s\n", filename_sln.c_str() ); - - if (configuration.VSProjectVersion == "10.00") - { - PropsMaker propsMaker( &ProjectNode, "reactos.props", m_configurations ); - propsMaker._generate_props( _get_solution_version(), _get_studio_version() ); - } - else - { - //Write a property page for each configuration - for ( size_t icfg = 0; icfg < m_configurations.size(); icfg++ ) - { - MSVCConfiguration* cfg = m_configurations[icfg]; - - //RosBuild doesn't need a property page - if(cfg->optimization == RosBuild) - continue; - - //Write the propery pages files - string filename_props( cfg->name ); - - filename_props = filename_props + ".vsprops"; - VSPropsMaker propsMaker( configuration, &ProjectNode, filename_props, cfg ); - propsMaker._generate_props( _get_solution_version(), _get_studio_version() ); - } - } - // Write out the project files - ProcessModules(); - - printf ( "Done.\n" ); -} - -void MSVCBackend::ProcessModules() -{ - string filename_sln ( ProjectNode.name ); - - filename_sln += "_auto.sln"; - - // Write the solution file - SlnMaker slnMaker( configuration, m_configurations, filename_sln, _get_solution_version(), _get_studio_version() ); - - for(std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p) - { - Module &module = *p->second; - - module.guid = _gen_guid(); - - ProjMaker *projMaker; - - if (configuration.VSProjectVersion == "10.00") - { - string vcxproj_file = VcxprojFileName(module); - projMaker = new VCXProjMaker( configuration, m_configurations, vcxproj_file, module ); - } - else - { - string vcproj_file = VcprojFileName(module); - projMaker = new VCProjMaker( configuration, m_configurations, vcproj_file, module ); - } - - projMaker->_generate_proj_file ( module ); - - slnMaker._add_project(*projMaker, module); - - delete projMaker; - } - -} - -static bool FileExists(string &filename) -{ - ifstream file(filename.c_str()); - - if(!file.is_open()) - return false; - - file.close(); - return true; -} - -void MSVCBackend::ProcessFile(string &filepath) -{ - // Remove the .\ at the start of the filenames - if ( filepath[0] == '.' && strchr ( "/\\", filepath[1] ) ) - filepath.erase(0, 2); - - if(!FileExists(filepath)) - return; - - // Change the \ to / - for(size_t i = 0; i < filepath.length(); i++) - { - if(filepath[i] == '\\') - filepath[i] = '/'; - } - - // Remove the filename from the path - string folder = ""; - - size_t pos = filepath.rfind(string("/"), filepath.length() - 1); - - if(pos != string::npos) - { - folder = filepath; - folder.erase(pos, folder.length() - pos); - } - - FileUnit fileUnit; - fileUnit.filename = filepath; - fileUnit.folder = folder; - - m_fileUnits.push_back(fileUnit); - - if(folder != "") - AddFolders(folder); - - m_unitCount++; -} - -bool MSVCBackend::CheckFolderAdded(string &folder) -{ - for(size_t i = 0; i < m_folders.size(); i++) - { - if(m_folders[i] == folder) - return true; - } - - return false; -} - -void MSVCBackend::AddFolders(string &folder) -{ - // Check if this folder was already added. true if it was, false otherwise. - if(CheckFolderAdded(folder)) - return; - - m_folders.push_back(folder); - - size_t pos = folder.rfind(string("/"), folder.length() - 1); - - if(pos == string::npos) - return; - - folder.erase(pos, folder.length() - pos); - AddFolders(folder); -} - -void MSVCBackend::OutputFolders() -{ -#if 0 - m_devFile << "Folders="; - - for(size_t i = 0; i < m_folders.size(); i++) - { - if(i > 0) - m_devFile << ","; - - m_devFile << m_folders[i]; - } -#endif -} - -std::string -MSVCBackend::UserFileName ( const Module& module, std::string vcproj_file ) const -{ - string computername; - string username; - - if (getenv ( "USERNAME" ) != NULL) - username = getenv ( "USERNAME" ); - if (getenv ( "COMPUTERNAME" ) != NULL) - computername = getenv ( "COMPUTERNAME" ); - else if (getenv ( "HOSTNAME" ) != NULL) - computername = getenv ( "HOSTNAME" ); - - if ((computername != "") && (username != "")) - return vcproj_file + "." + computername + "." + username + ".user"; - else - return ""; -} - -std::string -MSVCBackend::SuoFileName ( const Module& module ) const -{ - return FixSeparatorForSystemCommand( - ReplaceExtension ( module.output->relative_path + "\\" + module.output->name, "_" + _get_vc_dir() + "_auto.suo" ) - ); -} - -std::string -MSVCBackend::SlnFileName ( const Module& module ) const -{ - return FixSeparatorForSystemCommand( - ReplaceExtension ( module.output->relative_path + "\\" + module.output->name, "_" + _get_vc_dir() + "_auto.sln" ) - ); -} - -std::string -MSVCBackend::NcbFileName ( const Module& module ) const -{ - return FixSeparatorForSystemCommand( - ReplaceExtension ( module.output->relative_path + "\\" + module.output->name, "_" + _get_vc_dir() + "_auto.ncb" ) - ); -} - -std::string -MSVCBackend::VcprojFileName ( const Module& module ) const -{ - return FixSeparatorForSystemCommand( - ReplaceExtension ( module.output->relative_path + "\\" + module.name, "_" + _get_vc_dir() + "_auto.vcproj" ) - ); -} - -std::string -MSVCBackend::VcxprojFileName ( const Module& module ) const -{ - return FixSeparatorForSystemCommand( - ReplaceExtension ( module.output->relative_path + "\\" + module.name, "_" + _get_vc_dir() + "_auto.vcxproj" ) - ); -} - -std::string MSVCBackend::_get_vc_dir ( void ) const -{ - if ( configuration.VSProjectVersion == "8.00" ) - return "vc8"; - else if ( configuration.VSProjectVersion == "10.00" ) - return "vc10"; - else /* default to VS2008 */ - return "vc9"; -} - -void -MSVCBackend::_get_object_files ( const Module& module, vector& out) const -{ - string basepath = module.output->relative_path; - string vcdir = _get_vc_dir (); - size_t i; - string intenv = Environment::GetIntermediatePath () + DEF_SSEP + basepath + DEF_SSEP; - string outenv = Environment::GetOutputPath () + DEF_SSEP + basepath + DEF_SSEP; - - if ( configuration.UseVSVersionInPath ) - { - intenv += vcdir + DEF_SSEP; - outenv += vcdir + DEF_SSEP; - } - - string dbg = vcdir.substr ( 0, 3 ); - - vector cfgs; - - if ( configuration.UseConfigurationInPath ) - { - cfgs.push_back ( intenv + "Debug" ); - cfgs.push_back ( intenv + "Release" ); - cfgs.push_back ( intenv + "Speed" ); - cfgs.push_back ( outenv + "Debug" ); - cfgs.push_back ( outenv + "Release" ); - cfgs.push_back ( outenv + "Speed" ); - } - else - { - cfgs.push_back ( intenv ); - cfgs.push_back ( outenv ); - } - - vector ifs_list; - ifs_list.push_back ( &module.project.non_if_data ); - ifs_list.push_back ( &module.non_if_data ); - while ( ifs_list.size () ) - { - const IfableData& data = *ifs_list.back(); - ifs_list.pop_back(); - const vector& files = data.files; - for ( i = 0; i < files.size (); i++ ) - { - string file = files[i]->file.relative_path + sSep + files[i]->file.name; - string::size_type pos = file.find_last_of (DEF_SSEP); - if ( pos != string::npos ) - file.erase ( 0, pos+1 ); - if ( !stricmp ( Right(file,3).c_str(), ".rc" ) ) - file = ReplaceExtension ( file, ".res" ); - else - file = ReplaceExtension ( file, ".obj" ); - for ( size_t j = 0; j < cfgs.size () / 2; j++ ) - out.push_back ( cfgs[j] + file ); - } - - } - //common files in intermediate dir - for ( i = 0; i < cfgs.size () / 2; i++) - { - out.push_back ( cfgs[i] + "BuildLog.htm" ); - out.push_back ( cfgs[i] + dbg + "0.pdb" ); - out.push_back ( cfgs[i] + dbg + "0.idb" ); - out.push_back ( cfgs[i] + module.name + ".pch" ); - } - //files in the output dir - for ( i = cfgs.size () / 2; i < cfgs.size (); i++ ) - { - out.push_back ( cfgs[i] + module.output->name ); - out.push_back ( cfgs[i] + module.name + ".pdb" ); - out.push_back ( cfgs[i] + module.name + ".lib" ); - out.push_back ( cfgs[i] + module.name + ".exp" ); - out.push_back ( cfgs[i] + module.name + ".ilk" ); - } -} - -void -MSVCBackend::_get_def_files ( const Module& module, vector& out) const -{ - if (module.HasImportLibrary()) - { -#if 0 - string modulename = module.GetBasePath (); - string file = module.importLibrary->definition; - size_t pos = file.find (".def"); - if (pos != string::npos) - { - file.insert (pos, "_msvc"); - } - modulename += DEF_SSEP + file; - out.push_back (modulename); -#endif - } -} - -void -MSVCBackend::_clean_project_files ( void ) -{ - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module& module = *p->second; - vector out; - printf("Cleaning project %s %s %s\n", module.name.c_str (), module.output->relative_path.c_str (), NcbFileName ( module ).c_str () ); - - string vcproj_file_user = UserFileName(module, VcprojFileName ( module )); - if(vcproj_file_user != "") - remove ( vcproj_file_user.c_str () ); - - _get_object_files ( module, out ); - _get_def_files ( module, out ); - for ( size_t j = 0; j < out.size (); j++) - { - printf("Cleaning file %s\n", out[j].c_str () ); - remove ( out[j].c_str () ); - } - } - - string filename_sln = ProjectNode.name + ".sln"; - - remove ( filename_sln.c_str () ); -} - -bool -MSVCBackend::_copy_file ( const std::string& inputname, const std::string& targetname ) const -{ - FILE * input = fopen ( inputname.c_str (), "rb" ); - if ( !input ) - return false; - - FILE * output = fopen ( targetname.c_str (), "wb+" ); - if ( !output ) - { - fclose ( input ); - return false; - } - - char buffer[256]; - int num_read; - while ( (num_read = fread( buffer, sizeof(char), 256, input) ) || !feof( input ) ) - fwrite( buffer, sizeof(char), num_read, output ); - - fclose ( input ); - fclose ( output ); - return true; -} - -void -MSVCBackend::_install_files (const std::string& vcdir, const::string& config) -{ - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module& module = *p->second; - if ( !module.install ) - continue; - - string inputname = Environment::GetOutputPath () + DEF_SSEP + module.output->relative_path + DEF_SSEP + vcdir + DEF_SSEP + config + DEF_SSEP + module.output->name; - string installdir = Environment::GetInstallPath () + DEF_SSEP + module.install->relative_path + DEF_SSEP + module.install->name; - if ( _copy_file( inputname, installdir ) ) - printf ("Installed File :'%s'\n",installdir.c_str () ); - } -} - -std::string -MSVCBackend::_get_solution_version ( void ) -{ - string version; - - if (configuration.VSProjectVersion.empty()) - configuration.VSProjectVersion = MS_VS_DEF_VERSION; - - else if (configuration.VSProjectVersion == "8.00") - version = "9.00"; - - else if (configuration.VSProjectVersion == "9.00") - version = "10.00"; - - else if (configuration.VSProjectVersion == "10.00") - version = "11.00"; - - return version; -} - -std::string -MSVCBackend::_get_studio_version ( void ) -{ - string version; - - if (configuration.VSProjectVersion.empty()) - configuration.VSProjectVersion = MS_VS_DEF_VERSION; - - else if (configuration.VSProjectVersion == "8.00") - version = "2005"; - - else if (configuration.VSProjectVersion == "9.00") - version = "2008"; - - else if (configuration.VSProjectVersion == "10.00") - version = "2010"; - - return version; -} - -const Property* -MSVCBackend::_lookup_property ( const Module& module, const std::string& name ) const -{ - std::map::const_iterator p; - - /* Check local values */ - p = module.non_if_data.properties.find(name); - - if ( p != module.non_if_data.properties.end() ) - return p->second; - - // TODO FIXME - should we check local if-ed properties? - p = module.project.non_if_data.properties.find(name); - - if ( p != module.project.non_if_data.properties.end() ) - return p->second; - - // TODO FIXME - should we check global if-ed properties? - return NULL; -} diff --git a/reactos/tools/rbuild/backend/msvc/msvc.h b/reactos/tools/rbuild/backend/msvc/msvc.h deleted file mode 100644 index 25bc70d0aa6..00000000000 --- a/reactos/tools/rbuild/backend/msvc/msvc.h +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright (C) 2005 Trevor McCort - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include -#include -#include - -#include "../backend.h" - -#ifdef OUT -#undef OUT -#endif//OUT - - -class FileUnit -{ - public: - std::string filename; - std::string folder; -}; - -enum OptimizationType -{ - RosBuild, - Debug, - Release, - Speed, -}; - -enum ConfigurationType -{ - ConfigUnknown, - ConfigApp, - ConfigDll, - ConfigEmpty, - ConfigLib -}; - -enum BinaryType -{ - BinUnknown, - Lib, - Dll, - Exe, - Sys -}; - -enum HeadersType -{ - MSVCHeaders, - ReactOSHeaders -}; - -class MSVCConfiguration -{ - public: - MSVCConfiguration(const OptimizationType optimization, - const HeadersType headers = MSVCHeaders, - const std::string &name = ""); - virtual ~MSVCConfiguration() {} - std::string name; - OptimizationType optimization; - HeadersType headers; -}; - -class MSVCBackend : public Backend -{ - public: - - MSVCBackend(Project &project, - Configuration& configuration); - virtual ~MSVCBackend() {} - - virtual void Process(); - - private: - - void ProcessModules(); - void ProcessFile(std::string &filename); - - bool CheckFolderAdded(std::string &folder); - void AddFolders(std::string &folder); - - void OutputFolders(); - void OutputFileUnits(); - - std::string VcprojFileName ( const Module& module ) const; - std::string VcxprojFileName ( const Module& module ) const; - std::string SlnFileName ( const Module& module ) const; - std::string SuoFileName ( const Module& module ) const; - std::string UserFileName ( const Module& module, std::string vcproj_file ) const; - std::string NcbFileName ( const Module& module ) const; - - std::vector m_configurations; - - std::vector m_fileUnits; - std::vector m_folders; - - int m_unitCount; - - std::string _gen_guid(); - - std::string _get_solution_version ( void ); - std::string _get_studio_version ( void ); - std::string _get_vc_dir ( void ) const; - - void _clean_project_files ( void ); - void _get_object_files ( const Module& module, std::vector& out ) const; - void _get_def_files ( const Module& module, std::vector& out ) const; - void _install_files ( const std::string& vcdir, const std::string& config ); - bool _copy_file ( const std::string& inputname, const std::string& targetname ) const; - const Property* _lookup_property ( const Module& module, const std::string& name ) const; -}; - - -// Abstract class -class ProjMaker -{ - public: - ProjMaker ( ); - ProjMaker ( Configuration& buildConfig, const std::vector& msvc_configs, std::string filename ); - virtual ~ProjMaker() {} - - virtual void _generate_proj_file ( const Module& module ) = 0; - virtual void _generate_user_configuration (); - - std::string VcprojFileName ( const Module& module ) const; - - protected: - Configuration configuration; - std::vector m_configurations; - std::string vcproj_file; - FILE* OUT; - - std::vector header_files; - std::vector source_files; - std::vector resource_files; - std::vector generated_files; - std::vector defines; - std::vector includes; - std::vector libraries; - - std::string baseaddr; - BinaryType binaryType; - - std::string _get_vc_dir ( void ) const; - std::string _strip_gcc_deffile(std::string Filename, std::string sourcedir, std::string objdir); - std::string _get_solution_version ( void ); - std::string _get_studio_version ( void ); - std::string _replace_str( std::string string1, const std::string &find_str, const std::string &replace_str); - std::string _get_file_path( FileLocation* file, std::string relative_path); - - void _collect_files(const Module& module); - void _generate_standard_configuration( const Module& module, const MSVCConfiguration& cfg, BinaryType binaryType ); - void _generate_makefile_configuration( const Module& module, const MSVCConfiguration& cfg ); -}; - -class VCProjMaker : public ProjMaker -{ - public: - VCProjMaker ( ); - VCProjMaker ( Configuration& buildConfig, const std::vector& msvc_configs, std::string filename, const Module& module ); - virtual ~VCProjMaker (); - - void _generate_proj_file ( const Module& module ); - void _generate_user_configuration (); - - private: - - void _generate_standard_configuration( const Module& module, const MSVCConfiguration& cfg, BinaryType binaryType ); - void _generate_makefile_configuration( const Module& module, const MSVCConfiguration& cfg ); - std::string _get_file_path( FileLocation* file, std::string relative_path); -}; - -class VCXProjMaker : public ProjMaker -{ - public: - VCXProjMaker ( ); - VCXProjMaker ( Configuration& buildConfig, const std::vector& msvc_configs, std::string filename, const Module& module ); - virtual ~VCXProjMaker (); - - void _generate_proj_file ( const Module& module ); - void _generate_user_configuration (); - - private: - std::string _get_configuration_type (); - void _generate_item_group (std::vector); - void _generate_standard_configuration( const Module& module, const MSVCConfiguration& cfg, BinaryType binaryType ); - void _generate_makefile_configuration( const Module& module, const MSVCConfiguration& cfg ); -}; - -class SlnMaker -{ - public: - SlnMaker ( Configuration& buildConfig, const std::vector& configurations, std::string filename_sln, std::string solution_version, std::string studio_version); - ~SlnMaker (); - - void _add_project(ProjMaker &project, Module &module); - private: - Configuration m_configuration; - std::vector m_configurations; - FILE* OUT; - std::vector modules; - - void _generate_sln_header ( std::string solution_version, std::string studio_version ); - void _generate_sln_footer ( ); - void _generate_sln_configurations ( std::string vcproj_guid ); -}; - -class VSPropsMaker -{ - public: - VSPropsMaker ( Configuration& buildConfig, - Project* ProjectNode, - std::string filename_props, - MSVCConfiguration* msvc_configs); - - ~VSPropsMaker (); - - void _generate_props ( std::string solution_version, std::string studio_version ); - - private: - Configuration m_configuration; - Project* m_ProjectNode; - FILE* OUT; - MSVCConfiguration* m_msvc_config; - bool debug; - bool release; - bool speed; - bool use_ros_headers; - - void _generate_header(); - void _generate_tools_defaults(); - void _generate_macro(std::string Name, std::string Value, bool EvairomentVariable); - void _generate_global_includes(); - void _generate_global_definitions(); - void _generate_footer(); - -}; - - -class PropsMaker -{ - public: - PropsMaker ( Project* ProjectNode, - std::string filename_props, - std::vector configurations); - - ~PropsMaker (); - - void _generate_props ( std::string solution_version, std::string studio_version ); - - private: - Project* m_ProjectNode; - FILE* OUT; - std::vector m_configurations; - - void _generate_macro(std::string Name, std::string Value); - void _generate_global_includes(bool debug, bool use_ros_headers); - void _generate_global_definitions(bool debug, bool use_ros_headers); - void _generate_header(); - void _generate_footer(); - -}; \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/msvcmaker.cpp b/reactos/tools/rbuild/backend/msvc/msvcmaker.cpp deleted file mode 100644 index 82bd3ee600d..00000000000 --- a/reactos/tools/rbuild/backend/msvc/msvcmaker.cpp +++ /dev/null @@ -1,872 +0,0 @@ -/* - * Copyright (C) 2002 Patrik Stridvall - * Copyright (C) 2005 Royce Mitchell III - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include - -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::set; - -typedef set StringSet; - -#ifdef OUT -#undef OUT -#endif//OUT - -void -MSVCBackend::_generate_dsp ( const Module& module ) -{ - size_t i; - // TODO FIXME wine hack? - const bool wine = false; - - string dsp_file = DspFileName(module); - printf ( "Creating MSVC project: '%s'\n", dsp_file.c_str() ); - FILE* OUT = fopen ( dsp_file.c_str(), "wb" ); - - vector imports; - for ( i = 0; i < module.non_if_data.libraries.size(); i++ ) - { - imports.push_back ( module.non_if_data.libraries[i]->name ); - } - - string module_type = GetExtension(*module.output); - bool lib = (module_type == ".lib") || (module_type == ".a"); - bool dll = (module_type == ".dll") || (module_type == ".cpl"); - bool exe = (module_type == ".exe") || (module_type == ".scr"); - // TODO FIXME - need more checks here for 'sys' and possibly 'drv'? - - bool console = exe && (module.type == Win32CUI); - - // TODO FIXME - not sure if the count here is right... - int parts = 0; - const char* p = strpbrk ( dsp_file.c_str(), "/\\" ); - while ( p ) - { - ++parts; - p = strpbrk ( p+1, "/\\" ); - } - string msvc_wine_dir = ".."; - while ( --parts ) - msvc_wine_dir += "\\.."; - - string wine_include_dir = msvc_wine_dir + "\\include"; - - //$progress_current++; - //$output->progress("$dsp_file (file $progress_current of $progress_max)"); - - // TODO FIXME - what's diff. betw. 'c_srcs' and 'source_files'? - vector c_srcs, source_files, header_files, resource_files, includes, libraries; - StringSet common_defines; - vector ifs_list; - ifs_list.push_back ( &module.project.non_if_data ); - ifs_list.push_back ( &module.non_if_data ); - - // this is a define in MinGW w32api, but not Microsoft's headers - common_defines.insert ( "STDCALL=__stdcall" ); - - while ( ifs_list.size() ) - { - const IfableData& data = *ifs_list.back(); - ifs_list.pop_back(); - const vector& files = data.files; - for ( i = 0; i < files.size(); i++ ) - { - if (files[i]->file.directory != SourceDirectory) - continue; - - // We want the full path here for directory support later on - string path = Path::RelativeFromDirectory ( - files[i]->file.relative_path, - module.output->relative_path ); - string file = path + std::string("\\") + files[i]->file.name; - - source_files.push_back ( file ); - if ( !stricmp ( Right(file,2).c_str(), ".c" ) ) - c_srcs.push_back ( file ); - if ( !stricmp ( Right(file,2).c_str(), ".h" ) ) - header_files.push_back ( file ); - if ( !stricmp ( Right(file,3).c_str(), ".rc" ) ) - resource_files.push_back ( file ); - } - const vector& incs = data.includes; - for ( i = 0; i < incs.size(); i++ ) - { - string path = Path::RelativeFromDirectory ( - incs[i]->directory->relative_path, - module.output->relative_path ); - includes.push_back ( path ); - } - const vector& libs = data.libraries; - for ( i = 0; i < libs.size(); i++ ) - { - libraries.push_back ( libs[i]->name + ".lib" ); - } - const vector& defs = data.defines; - for ( i = 0; i < defs.size(); i++ ) - { - if ( defs[i]->value[0] ) - common_defines.insert( defs[i]->name + "=" + defs[i]->value ); - else - common_defines.insert( defs[i]->name ); - } - } - // TODO FIXME - we don't include header files in our build system - //my @header_files = @{module->{header_files}}; - //vector header_files; - - // TODO FIXME - wine hack? - /*if (module.name !~ /^wine(?:_unicode|build|runtests|test)?$/ && - module.name !~ /^(?:gdi32)_.+?$/ && - Right ( module.name, 5 ) == "_test" ) - { - source_files.push_back ( module.name + ".spec" ); - @source_files = sort(@source_files); - }*/ - - bool no_cpp = true; - bool no_msvc_headers = true; - // TODO FIXME - wine hack? - /*if (module.name =~ /^wine(?:runtests|test)$/ - || Right ( module.name, 5 ) == "_test" ) - { - no_msvc_headers = false; - }*/ - - std::vector cfgs; - - cfgs.push_back ( module.name + " - Win32" ); - - if (!no_cpp) - { - std::vector _cfgs; - for ( i = 0; i < cfgs.size(); i++ ) - { - _cfgs.push_back ( cfgs[i] + " C" ); - _cfgs.push_back ( cfgs[i] + " C++" ); - } - cfgs.resize(0); - cfgs = _cfgs; - } - - // TODO FIXME - wine hack? - /*if (!no_release) - { - std::vector _cfgs; - for ( i = 0; i < cfgs.size(); i++ ) - { - _cfgs.push_back ( cfgs[i] + " Debug" ); - _cfgs.push_back ( cfgs[i] + " Release" ); - } - cfgs.resize(0); - cfgs = _cfgs; - }*/ - - if (!no_msvc_headers) - { - std::vector _cfgs; - for ( i = 0; i < cfgs.size(); i++ ) - { - _cfgs.push_back ( cfgs[i] + " MSVC Headers" ); - _cfgs.push_back ( cfgs[i] + " Wine Headers" ); - } - cfgs.resize(0); - cfgs = _cfgs; - } - - string default_cfg = cfgs.back(); - - fprintf ( OUT, "# Microsoft Developer Studio Project File - Name=\"%s\" - Package Owner=<4>\r\n", module.name.c_str() ); - fprintf ( OUT, "# Microsoft Developer Studio Generated Build File, Format Version 6.00\r\n" ); - fprintf ( OUT, "# ** DO NOT EDIT **\r\n" ); - fprintf ( OUT, "\r\n" ); - - if ( lib ) - { - fprintf ( OUT, "# TARGTYPE \"Win32 (x86) Static Library\" 0x0104\r\n" ); - } - else if ( dll ) - { - fprintf ( OUT, "# TARGTYPE \"Win32 (x86) Dynamic-Link Library\" 0x0102\r\n" ); - } - else - { - fprintf ( OUT, "# TARGTYPE \"Win32 (x86) Console Application\" 0x0103\r\n" ); - } - fprintf ( OUT, "\r\n" ); - - fprintf ( OUT, "CFG=%s\r\n", default_cfg.c_str() ); - fprintf ( OUT, "!MESSAGE This is not a valid makefile. To build this project using NMAKE,\r\n" ); - fprintf ( OUT, "!MESSAGE use the Export Makefile command and run\r\n" ); - fprintf ( OUT, "!MESSAGE \r\n" ); - fprintf ( OUT, "!MESSAGE NMAKE /f \"%s.mak\".\r\n", module.name.c_str() ); - fprintf ( OUT, "!MESSAGE \r\n" ); - fprintf ( OUT, "!MESSAGE You can specify a configuration when running NMAKE\r\n" ); - fprintf ( OUT, "!MESSAGE by defining the macro CFG on the command line. For example:\r\n" ); - fprintf ( OUT, "!MESSAGE \r\n" ); - fprintf ( OUT, "!MESSAGE NMAKE /f \"%s.mak\" CFG=\"%s\"\r\n", module.name.c_str(), default_cfg.c_str() ); - fprintf ( OUT, "!MESSAGE \r\n" ); - fprintf ( OUT, "!MESSAGE Possible choices for configuration are:\r\n" ); - fprintf ( OUT, "!MESSAGE \r\n" ); - for ( i = 0; i < cfgs.size(); i++ ) - { - const string& cfg = cfgs[i]; - if ( lib ) - { - fprintf ( OUT, "!MESSAGE \"%s\" (based on \"Win32 (x86) Static Library\")\r\n", cfg.c_str() ); - } - else if ( dll ) - { - fprintf ( OUT, "!MESSAGE \"%s\" (based on \"Win32 (x86) Dynamic-Link Library\")\r\n", cfg.c_str() ); - } - else - { - fprintf ( OUT, "!MESSAGE \"%s\" (based on \"Win32 (x86) Console Application\")\r\n", cfg.c_str() ); - } - } - fprintf ( OUT, "!MESSAGE \r\n" ); - fprintf ( OUT, "\r\n" ); - - fprintf ( OUT, "# Begin Project\r\n" ); - fprintf ( OUT, "# PROP AllowPerConfigDependencies 0\r\n" ); - fprintf ( OUT, "# PROP Scc_ProjName \"\"\r\n" ); - fprintf ( OUT, "# PROP Scc_LocalPath \"\"\r\n" ); - fprintf ( OUT, "CPP=cl.exe\r\n" ); - if ( !lib && !exe ) fprintf ( OUT, "MTL=midl.exe\r\n" ); - fprintf ( OUT, "RSC=rc.exe\r\n" ); - - std::string output_dir; - for ( size_t icfg = 0; icfg < cfgs.size(); icfg++ ) - { - std::string& cfg = cfgs[icfg]; - if ( icfg == 0 ) - { - fprintf ( OUT, "!IF \"$(CFG)\" == \"%s\"\r\n", cfg.c_str() ); - fprintf ( OUT, "\r\n" ); - } - else - { - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "!ELSEIF \"$(CFG)\" == \"%s\"\r\n", cfg.c_str() ); - fprintf ( OUT, "\r\n" ); - } - - bool debug = !strstr ( cfg.c_str(), "Release" ); - bool msvc_headers = ( 0 != strstr ( cfg.c_str(), "MSVC Headers" ) ); - - fprintf ( OUT, "# PROP BASE Use_MFC 0\r\n" ); - - if ( debug ) - { - fprintf ( OUT, "# PROP BASE Use_Debug_Libraries 1\r\n" ); - } - else - { - fprintf ( OUT, "# PROP BASE Use_Debug_Libraries 0\r\n" ); - } - - output_dir = Replace(cfg,module.name + " - ",""); - output_dir = Replace(output_dir," ","_"); - output_dir = Replace(output_dir,"C++","Cxx"); - // TODO FIXME - wine hack? - //if ( output_prefix_dir.size() ) - // output_dir = output_prefix_dir + "\\" + output_dir; - - fprintf ( OUT, "# PROP BASE Output_Dir \"%s\"\r\n", output_dir.c_str() ); - fprintf ( OUT, "# PROP BASE Intermediate_Dir \"%s\"\r\n", output_dir.c_str() ); - - fprintf ( OUT, "# PROP BASE Target_Dir \"\"\r\n" ); - - fprintf ( OUT, "# PROP Use_MFC 0\r\n" ); - if ( debug ) - { - fprintf ( OUT, "# PROP Use_Debug_Libraries 1\r\n" ); - } - else - { - fprintf ( OUT, "# PROP Use_Debug_Libraries 0\r\n" ); - } - fprintf ( OUT, "# PROP Output_Dir \"%s\"\r\n", output_dir.c_str() ); - fprintf ( OUT, "# PROP Intermediate_Dir \"%s\"\r\n", output_dir.c_str() ); - - if ( dll ) fprintf ( OUT, "# PROP Ignore_Export_Lib 0\r\n" ); - fprintf ( OUT, "# PROP Target_Dir \"\"\r\n" ); - - StringSet defines = common_defines; - - if ( debug ) - { - defines.insert ( "_DEBUG" ); - if ( lib || exe ) - { - fprintf ( OUT, "# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od" ); - defines.insert ( "_LIB" ); - } - else - { - fprintf ( OUT, "# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od" ); - defines.insert ( "_WINDOWS" ); - defines.insert ( "_USRDLL" ); - // TODO FIXME - wine hack? - //defines.insert ( string("\U") + module.name + "\E_EXPORTS" ); - } - } - else - { - defines.insert ( "NDEBUG" ); - if ( lib || exe ) - { - fprintf ( OUT, "# ADD BASE CPP /nologo /W3 /GX /O2" ); - defines.insert ( "_LIB" ); - } - else - { - fprintf ( OUT, "# ADD BASE CPP /nologo /MT /W3 /GX /O2" ); - defines.insert ( "_WINDOWS" ); - defines.insert ( "_USRDLL" ); - // TODO FIXME - wine hack? - //defines.insert ( string("\U") + module.name + "\E_EXPORTS" ); - } - } - - for ( StringSet::const_iterator it1=defines.begin(); it1!=defines.end(); it1++ ) - { - fprintf ( OUT, " /D \"%s\"", it1->c_str() ); - } - if ( lib || exe ) fprintf ( OUT, " /YX" ); - fprintf ( OUT, " /FD" ); - if ( debug ) - { - fprintf ( OUT, " /GZ" ); - if ( lib || exe ) fprintf ( OUT, " " ); - } - fprintf ( OUT, " /c" ); - fprintf ( OUT, "\r\n" ); - - if ( debug ) - { - defines.insert ( "_DEBUG" ); - if(lib) - { - fprintf ( OUT, "# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od" ); - defines.insert ( "_LIB" ); - } - else - { - fprintf ( OUT, "# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od" ); - defines.insert ( "_USRDLL" ); - } - } - else - { - defines.insert ( "NDEBUG" ); - if(lib) - { - fprintf ( OUT, "# ADD CPP /nologo /MT /W3 /GX /O2" ); - defines.insert ( "_LIB" ); - } - else - { - fprintf ( OUT, "# ADD CPP /nologo /MT /W3 /GX /O2" ); - defines.insert ( "_USRDLL" ); - } - } - - // TODO FIXME - wine hack? - if ( wine ) - { - // TODO FIXME - wine hack? - //defines.insert ( string("_\U") + module.name + "\E_" ); - // TODO FIXME - wine hack? - /*if ( module.name !~ /^(?:wine(?:build|test)|.*?_test)$/ ) - defines.insert ( "__WINESRC__" );*/ - if ( msvc_headers ) - defines.insert ( "__WINE_USE_NATIVE_HEADERS" ); - string output_dir2 = Replace(output_dir,"\\","\\\\"); - defines.insert ( ssprintf("__WINETEST_OUTPUT_DIR=\\\"%s\\\"",output_dir.c_str()) ); - defines.insert ( "__i386__" ); - defines.insert ( "_X86_" ); - - // TODO FIXME - wine hacks? - /*if(module.name =~ /^gdi32_(?:enhmfdrv|mfdrv)$/) { - push @includes, ".." ); - } - - if ( strstr ( module.name.c_str(), "_test" ) - { - include.push_back ( msvc_wine_dir + "\\" + output_dir ); - } - - if (!msvc_headers || module.name == "winetest") - { - includes.push_back ( wine_include_dir ); - }*/ - } - - //if ( wine ) - { - for ( i = 0; i < includes.size(); i++ ) - { - const string& include = includes[i]; - if ( strpbrk ( include.c_str(), "[\\\"]" ) || !strncmp ( include.c_str(), "../", 3 ) ) - { - fprintf ( OUT, " /I \"%s\"", include.c_str() ); - } - else - { - fprintf ( OUT, " /I %s", include.c_str() ); - } - } - } - - fprintf ( OUT, " /I \".\"" ); - for ( StringSet::const_iterator it2=defines.begin(); it2!=defines.end(); it2++ ) - { - const string& define = *it2; - if ( strpbrk ( define.c_str(), "[\\\"]" ) ) - { - fprintf ( OUT, " /D \"%s\"", define.c_str() ); - } - else - { - fprintf ( OUT, " /D %s", define.c_str() ); - } - } - if ( wine ) fprintf ( OUT, " /D inline=__inline" ); - if ( 0 && wine ) fprintf ( OUT, " /D \"__STDC__\"" ); - - fprintf ( OUT, lib ? " /YX" : " /FR" ); - fprintf ( OUT, " /FD" ); - if ( debug ) fprintf ( OUT, " /GZ" ); - if ( debug && lib ) fprintf ( OUT, " " ); - fprintf ( OUT, " /c" ); - if ( !no_cpp ) fprintf ( OUT, " /TP" ); - fprintf ( OUT, "\r\n" ); - - if ( debug ) - { - if ( dll ) - { - fprintf ( OUT, "# SUBTRACT CPP /X /YX\r\n" ); - fprintf ( OUT, "# ADD BASE MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n" ); - fprintf ( OUT, "# ADD MTL /nologo /D \"_DEBUG\" /mktyplib203 /win32\r\n" ); - } - fprintf ( OUT, "# ADD BASE RSC /l 0x41d /d \"_DEBUG\"\r\n" ); - fprintf ( OUT, "# ADD RSC /l 0x41d" ); - /*if ( wine )*/ - { - for ( i = 0; i < includes.size(); i++ ) - { - fprintf ( OUT, " /i \"%s\"", includes[i].c_str() ); - } - } - - for ( StringSet::const_iterator it3=defines.begin(); it3!=defines.end(); it3++ ) - { - fprintf ( OUT, " /D \"%s\"", it3->c_str() ); - } - fprintf ( OUT, " /d \"_DEBUG\"\r\n" ); - } - else - { - if ( dll ) - { - fprintf ( OUT, "# SUBTRACT CPP /YX\r\n" ); - fprintf ( OUT, "# ADD BASE MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n" ); - fprintf ( OUT, "# ADD MTL /nologo /D \"NDEBUG\" /mktyplib203 /win32\r\n" ); - } - fprintf ( OUT, "# ADD BASE RSC /l 0x41d /d \"NDEBUG\"\r\n" ); - fprintf ( OUT, "# ADD RSC /l 0x41d" ); - if ( wine ) - { - for ( i = 0; i < includes.size(); i++ ) - fprintf ( OUT, " /i \"%s\"", includes[i].c_str() ); - } - - for ( StringSet::const_iterator it4=defines.begin(); it4!=defines.end(); it4++ ) - { - fprintf ( OUT, " /D \"%s\"", it4->c_str() ); - } - - - fprintf ( OUT, "/d \"NDEBUG\"\r\n" ); - } - fprintf ( OUT, "BSC32=bscmake.exe\r\n" ); - fprintf ( OUT, "# ADD BASE BSC32 /nologo\r\n" ); - fprintf ( OUT, "# ADD BSC32 /nologo\r\n" ); - - if ( exe || dll ) - { - fprintf ( OUT, "LINK32=link.exe\r\n" ); - fprintf ( OUT, "# ADD BASE LINK32 " ); - - for ( i = 0; i < libraries.size(); i++ ) - { - fprintf ( OUT, "%s ", libraries[i].c_str() ); - } - fprintf ( OUT, " /nologo" ); - if ( dll ) fprintf ( OUT, " /dll" ); - if ( console ) fprintf ( OUT, " /subsystem:console" ); - if ( debug ) fprintf ( OUT, " /debug" ); - fprintf ( OUT, " /machine:I386" ); - if ( debug ) fprintf ( OUT, " /pdbtype:sept" ); - fprintf ( OUT, "\r\n" ); - - fprintf ( OUT, "# ADD LINK32" ); - fprintf ( OUT, " /nologo" ); - // TODO FIXME - do we need their kludge? - //if ( module.name == "ntdll" ) fprintf ( OUT, " libcmt.lib" ); // FIXME: Kludge - for ( i = 0; i < imports.size(); i++ ) - { - const string& import = imports[i]; - if ( import != "msvcrt" ) - fprintf ( OUT, " %s.lib", import.c_str() ); - } - if ( dll ) fprintf ( OUT, " /dll" ); - if ( console ) fprintf ( OUT, " /subsystem:console" ); - if ( debug ) fprintf ( OUT, " /debug" ); - fprintf ( OUT, " /machine:I386" ); - // TODO FIXME - do we need their kludge? - //if ( module.name == "ntdll" ) fprintf ( OUT, " /nodefaultlib" ); // FIXME: Kludge - if ( dll ) fprintf ( OUT, " /def:\"%s.def\"", module.name.c_str() ); - if (( dll ) && ( module_type == ".cpl")) fprintf ( OUT, " /out:\"Win32\\%s%s\"", module.name.c_str(), module_type.c_str() ); - if ( debug ) fprintf ( OUT, " /pdbtype:sept" ); - fprintf ( OUT, "\r\n" ); - } - else - { - fprintf ( OUT, "LIB32=link.exe -lib\r\n" ); - fprintf ( OUT, "# ADD BASE LIB32 /nologo\r\n" ); - fprintf ( OUT, "# ADD LIB32 /nologo\r\n" ); - } - } - - if ( cfgs.size() != 0 ) - { - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "!ENDIF \r\n" ); - fprintf ( OUT, "\r\n" ); - } -#if 0 - if ( module.name == "winebuild" ) - { - fprintf ( OUT, "# Begin Special Build Tool\r\n" ); - fprintf ( OUT, "SOURCE=\"$(InputPath)\"\r\n" ); - fprintf ( OUT, "PostBuild_Desc=Copying wine.dll and wine_unicode.dll ...\r\n" ); - fprintf ( OUT, "PostBuild_Cmds=" ); - fprintf ( OUT, "copy ..\\..\\library\\%s\\wine.dll $(OutDir)\t", - output_dir.c_str() ); - fprintf ( OUT, "copy ..\\..\\unicode\\%s\\wine_unicode.dll $(OutDir)\r\n", - output_dir.c_str() ); - fprintf ( OUT, "# End Special Build Tool\r\n" ); - } -#endif - fprintf ( OUT, "# Begin Target\r\n" ); - fprintf ( OUT, "\r\n" ); - for ( i = 0; i < cfgs.size(); i++ ) - { - fprintf ( OUT, "# Name \"%s\"\r\n", cfgs[i].c_str() ); - } - - fprintf ( OUT, "# Begin Group \"Source Files\"\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "# PROP Default_Filter \"cpp;c;cxx;rc;def;r;odl;idl;hpj;bat\"\r\n" ); - - for ( size_t isrcfile = 0; isrcfile < source_files.size(); isrcfile++ ) - { - string source_file = DosSeparator(source_files[isrcfile]); - - if ( strncmp ( source_file.c_str(), ".\\", 2 ) ) - { - source_file = string(".\\") + source_file; - } -#if 0 - if ( !strcmp ( &source_file[source_file.size()-5], ".spec" ) ) - { - string basename = string ( source_file.c_str(), source_file.size() - 5 ); - - // TODO FIXME - not sure what this is doing? wine hack maybe? - //if ( basename !~ /\..{1,3}$/; ) basename += string(".dll"); - string dbg_c_file = basename + ".dbg.c"; - - fprintf ( OUT, "# Begin Source File\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "SOURCE=%s\r\n", dbg_c_file.c_str() ); - fprintf ( OUT, "# End Source File\r\n" ); - } -#endif - fprintf ( OUT, "# Begin Source File\r\n" ); - fprintf ( OUT, "\r\n" ); - - fprintf ( OUT, "SOURCE=%s\r\n", source_file.c_str() ); - - if ( !strcmp ( &source_file[source_file.size()-5], ".spec" ) ) - { -#if 0 - string basename = string ( source_file.c_str(), source_file.size() - 5 ); - - string spec_file = source_file; - string def_file = basename + ".def"; - - // TODO FIXME - not sure what this is doing? wine hack maybe? - //if ( basename !~ /\..{1,3}$/; ) basename += ".dll"; - string dbg_file = basename + ".dbg"; - string dbg_c_file = basename + ".dbg.c"; - - string srcdir = "."; // FIXME: Is this really always correct? - - fprintf ( OUT, "# Begin Custom Build\r\n" ); - fprintf ( OUT, "InputPath=%s\r\n", spec_file.c_str() ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "BuildCmds= \\\r\n" ); - fprintf ( OUT, "\t..\\..\\tools\\winebuild\\%s\\winebuild.exe --def %s > %s \\\r\n", - output_dir.c_str(), - spec_file.c_str(), - def_file.c_str() ); - - if ( module.name == "ntdll" ) - { - int n = 0; - for ( i = 0; i < c_srcs.size(); i++ ) - { - const string& c_src = c_srcs[i]; - if(n++ > 0) - { - fprintf ( OUT, "\techo %s >> %s \\\r\n", c_src.c_str(), dbg_file.c_str() ); - } - else - { - fprintf ( OUT, "\techo %s > %s \\\r\n", c_src.c_str(), dbg_file.c_str() ); - } - } - fprintf ( OUT, "\t..\\..\\tools\\winebuild\\%s\\winebuild.exe", - output_dir.c_str() ); - fprintf ( OUT, " -o %s --debug -C%s %s \\\r\n", - dbg_c_file.c_str(), - srcdir.c_str(), - dbg_file.c_str() ); - } - else - { - string sc_srcs; - for ( i = 0; i < c_srcs.size(); i++ ) - { - const string& c_src = c_srcs[i]; - if ( !strcmp ( &c_src[c_src.size()-2], ".c" ) ) - { - if ( sc_srcs.size() ) - sc_srcs += " "; - sc_srcs += c_src; - } - } - - fprintf ( OUT, "\t..\\..\\tools\\winebuild\\%s\\winebuild.exe", - output_dir.c_str() ); - fprintf ( OUT, " -o %s --debug -C%s %s \\\r\n", - dbg_c_file.c_str(), - srcdir.c_str(), - sc_srcs.c_str() ); - } - - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "\"%s\" : $(SOURCE) \"$(INTDIR)\" \"$(OUTDIR)\"\r\n", def_file.c_str() ); - fprintf ( OUT, " $(BuildCmds)\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "\"%s\" : $(SOURCE) \"$(INTDIR)\" \"$(OUTDIR)\"\r\n", dbg_c_file.c_str() ); - fprintf ( OUT, " $(BuildCmds)\r\n" ); - fprintf ( OUT, "# End Custom Build\r\n" ); -#endif - } - /*else if ( source_file =~ /([^\\]*?\.h)$/ ) - { - my $h_file = $1; - - foreach my $cfg (@cfgs) { - if($#cfgs == 0) { - # Nothing - } elsif($n == 0) { - fprintf ( OUT, "!IF \"$(CFG)\" == \"$cfg\"\r\n" ); - fprintf ( OUT, "\r\n" ); - } else { - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "!ELSEIF \"$(CFG)\" == \"$cfg\"\r\n" ); - fprintf ( OUT, "\r\n" ); - } - - $output_dir = $cfg; - $output_dir =~ s/^$project - //; - $output_dir =~ s/ /_/g; - $output_dir =~ s/C\+\+/Cxx/g; - if($output_prefix_dir) { - $output_dir = "$output_prefix_dir\\$output_dir" ); - } - - fprintf ( OUT, "# Begin Custom Build\r\n" ); - fprintf ( OUT, "OutDir=%s\r\n", output_dir.c_str() ); - fprintf ( OUT, "InputPath=%s\r\n", source_file.c_str() ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "\"$(OutDir)\\wine\\%s\" : $(SOURCE) \"$(INTDIR)\" \"$(OUTDIR)\"\r\n", h_file.c_str() ); - fprintf ( OUT, "\tcopy \"$(InputPath)\" \"$(OutDir)\\wine\"\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "# End Custom Build\r\n" ); - } - - if ( cfgs.size() != 0) - { - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "!ENDIF \r\n" ); - fprintf ( OUT, "\r\n" ); - } - }*/ - - fprintf ( OUT, "# End Source File\r\n" ); - } - fprintf ( OUT, "# End Group\r\n" ); - fprintf ( OUT, "# Begin Group \"Header Files\"\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "# PROP Default_Filter \"h;hpp;hxx;hm;inl\"\r\n" ); - for ( i = 0; i < header_files.size(); i++ ) - { - const string& header_file = header_files[i]; - fprintf ( OUT, "# Begin Source File\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "SOURCE=.\\%s\r\n", header_file.c_str() ); - fprintf ( OUT, "# End Source File\r\n" ); - } - fprintf ( OUT, "# End Group\r\n" ); - - - - fprintf ( OUT, "# Begin Group \"Resource Files\"\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "# PROP Default_Filter \"ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe\"\r\n" ); -/* for ( i = 0; i < resource_files.size(); i++ ) - { - const string& resource_file = resource_files[i]; - fprintf ( OUT, "# Begin Source File\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "SOURCE=.\\%s\r\n", resource_file.c_str() ); - fprintf ( OUT, "# End Source File\r\n" ); - } -*/ fprintf ( OUT, "# End Group\r\n" ); - - fprintf ( OUT, "# End Target\r\n" ); - fprintf ( OUT, "# End Project\r\n" ); - - fclose(OUT); -} - -void -MSVCBackend::_generate_dsw_header ( FILE* OUT ) -{ - fprintf ( OUT, "Microsoft Developer Studio Workspace File, Format Version 6.00\r\n" ); - fprintf ( OUT, "# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!\r\n" ); - fprintf ( OUT, "\r\n" ); -} - -void -MSVCBackend::_generate_dsw_project ( - FILE* OUT, - const Module& module, - std::string dsp_file, - const std::vector& dependencies ) -{ - dsp_file = DosSeparator ( std::string(".\\") + dsp_file ); - - // TODO FIXME - must they be sorted? - //@dependencies = sort(@dependencies); - - fprintf ( OUT, "###############################################################################\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "Project: \"%s\"=%s - Package Owner=<4>\r\n", module.name.c_str(), dsp_file.c_str() ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "Package=<5>\r\n" ); - fprintf ( OUT, "{{{\r\n" ); - fprintf ( OUT, "}}}\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "Package=<4>\r\n" ); - fprintf ( OUT, "{{{\r\n" ); - for ( size_t i = 0; i < dependencies.size(); i++ ) - { - Dependency& dependency = *dependencies[i]; - fprintf ( OUT, " Begin Project Dependency\r\n" ); - fprintf ( OUT, " Project_Dep_Name %s\r\n", dependency.module.name.c_str() ); - fprintf ( OUT, " End Project Dependency\r\n" ); - } - fprintf ( OUT, "}}}\r\n" ); - fprintf ( OUT, "\r\n" ); -} - -void -MSVCBackend::_generate_dsw_footer ( FILE* OUT ) -{ - fprintf ( OUT, "###############################################################################\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "Global:\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "Package=<5>\r\n" ); - fprintf ( OUT, "{{{\r\n" ); - fprintf ( OUT, "}}}\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "Package=<3>\r\n" ); - fprintf ( OUT, "{{{\r\n" ); - fprintf ( OUT, "}}}\r\n" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "###############################################################################\r\n" ); - fprintf ( OUT, "\r\n" ); -} - -void -MSVCBackend::_generate_wine_dsw ( FILE* OUT ) -{ - _generate_dsw_header(OUT); - // TODO FIXME - is it necessary to sort them? - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module& module = *p->second; - - std::string dsp_file = DspFileName ( module ); - - // TODO FIXME - more wine hacks? - /*if ( module.name == "gdi32" ) - { - for ( size_t idir = 0; idir < gdi32_dirs.size(); idir++ ) - { - string dir2 = gdi32_dirs[idir]; - $dir2 =~ s%^.*?/([^/]+)$%$1%; - - dependencies.push_back ( Replace ( "gdi32_" + dir2, "/", "_" ) ); - } - }*/ - - _generate_dsw_project ( OUT, module, dsp_file, module.dependencies ); - } - _generate_dsw_footer ( OUT ); -} diff --git a/reactos/tools/rbuild/backend/msvc/projmaker.cpp b/reactos/tools/rbuild/backend/msvc/projmaker.cpp deleted file mode 100644 index 2986e859d04..00000000000 --- a/reactos/tools/rbuild/backend/msvc/projmaker.cpp +++ /dev/null @@ -1,330 +0,0 @@ -/* - * Copyright (C) 2002 Patrik Stridvall - * Copyright (C) 2005 Royce Mitchell III - * Copyright (C) 2006 Hervé Poussineau - * Copyright (C) 2006 Christoph von Wittich - * Copyright (C) 2009 Ged Murphy - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include -#include - -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::set; - -typedef set StringSet; - -#ifdef OUT -#undef OUT -#endif//OUT - -ProjMaker::ProjMaker ( ) -{ - vcproj_file = ""; -} - -ProjMaker::ProjMaker ( Configuration& buildConfig, - const std::vector& msvc_configs, - std::string filename ) -{ - configuration = buildConfig; - m_configurations = msvc_configs; - vcproj_file = filename; -} - -void -ProjMaker::_generate_proj_file ( const Module& module ) -{ - printf("_generate_proj_file not implemented for the base class\n"); -} - -void -ProjMaker::_generate_user_configuration() -{ -#if 0 - string computername; - string username; - string vcproj_file_user = ""; - - if (getenv ( "USERNAME" ) != NULL) - username = getenv ( "USERNAME" ); - if (getenv ( "COMPUTERNAME" ) != NULL) - computername = getenv ( "COMPUTERNAME" ); - else if (getenv ( "HOSTNAME" ) != NULL) - computername = getenv ( "HOSTNAME" ); - - if ((computername != "") && (username != "")) - vcproj_file_user = vcproj_file + "." + computername + "." + username + ".user"; - - /* User configuration file */ - if (vcproj_file_user != "") - { - OUT = fopen ( vcproj_file_user.c_str(), "wb" ); - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "\r\n" ); - - fprintf ( OUT, "\t\r\n" ); - for ( size_t icfg = 0; icfg < m_configurations.size(); icfg++ ) - { - const MSVCConfiguration& cfg = *m_configurations[icfg]; - fprintf ( OUT, "\t\t\r\n" ); - fprintf ( OUT, "\t\t\t\r\n" ); - fprintf ( OUT, "\t\t\r\n" ); - } - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\r\n" ); - fclose ( OUT ); - } -#endif -} - - -void -ProjMaker::_generate_standard_configuration( const Module& module, const MSVCConfiguration& cfg, BinaryType binaryType ) -{ - printf("_generate_standard_configuration not implemented for the base class\n"); -} - -void -ProjMaker::_generate_makefile_configuration( const Module& module, const MSVCConfiguration& cfg ) -{ - printf("_generate_makefile_configuration not implemented for the base class\n"); -} - -std::string -ProjMaker::_get_vc_dir ( void ) const -{ - if ( configuration.VSProjectVersion == "8.00" ) - return "vc8"; - else if ( configuration.VSProjectVersion == "10.00" ) - return "vc10"; - else /* default to VS2008 */ - return "vc9"; -} - -std::string -ProjMaker::VcprojFileName ( const Module& module ) const -{ - return FixSeparatorForSystemCommand( - ReplaceExtension ( module.output->relative_path + "\\" + module.name, "_" + _get_vc_dir() + "_auto.vcproj" ) - ); -} - -std::string -ProjMaker::_strip_gcc_deffile(std::string Filename, std::string sourcedir, std::string objdir) -{ - std::string NewFilename = Environment::GetIntermediatePath () + "\\" + objdir + "\\" + Filename; - // we don't like infinite loops - so replace it in two steps - NewFilename = _replace_str(NewFilename, ".def", "_msvc.de"); - NewFilename = _replace_str(NewFilename, "_msvc.de", "_msvc.def"); - Filename = sourcedir + "\\" + Filename; - - Directory dir(objdir); - dir.GenerateTree(IntermediateDirectory, false); - - std::fstream in_file(Filename.c_str(), std::ios::in); - std::fstream out_file(NewFilename.c_str(), std::ios::out); - std::string::size_type pos; - DWORD i = 0; - - std::string line; - while (std::getline(in_file, line)) - { - pos = line.find("@", 0); - while (std::string::npos != pos) - { - if (pos > 1) - { - // make sure it is stdcall and no ordinal - if (line[pos -1] != ' ') - { - i = 0; - while (true) - { - i++; - if ((line[pos + i] < '0') || (line[pos + i] > '9')) - break; - } - line.replace(pos, i, ""); - } - } - pos = line.find("@", pos + 1); - } - - line += "\n"; - out_file << line; - } - in_file.close(); - out_file.close(); - - return NewFilename; -} - -std::string -ProjMaker::_replace_str(std::string string1, const std::string &find_str, const std::string &replace_str) -{ - std::string::size_type pos = string1.find(find_str, 0); - int intLen = find_str.length(); - - while(std::string::npos != pos) - { - string1.replace(pos, intLen, replace_str); - pos = string1.find(find_str, intLen + pos); - } - - return string1; -} - - -std::string -ProjMaker::_get_file_path( FileLocation* file, std::string relative_path) -{ - if (file->directory == SourceDirectory) - { - // We want the full path here for directory support later on - return Path::RelativeFromDirectory (file->relative_path, relative_path ); - } - else if(file->directory == IntermediateDirectory) - { - return std::string("$(RootIntDir)\\") + file->relative_path; - } - else if(file->directory == OutputDirectory) - { - return std::string("$(RootOutDir)\\") + file->relative_path; - } - - return std::string(""); -} - -void -ProjMaker::_collect_files(const Module& module) -{ - size_t i; - const IfableData& data = module.non_if_data; - const vector& files = data.files; - for ( i = 0; i < files.size(); i++ ) - { - string path = _get_file_path(&files[i]->file, module.output->relative_path); - string file = path + std::string("\\") + files[i]->file.name; - - if (files[i]->file.directory != SourceDirectory) - generated_files.push_back ( file ); - else if ( !stricmp ( Right(file,3).c_str(), ".rc" ) ) - resource_files.push_back ( file ); - else if ( !stricmp ( Right(file,2).c_str(), ".h" ) ) - header_files.push_back ( file ); - else - source_files.push_back ( file ); - } - const vector& incs = data.includes; - for ( i = 0; i < incs.size(); i++ ) - { - includes.push_back ( _get_file_path(incs[i]->directory, module.output->relative_path) ); - } - const vector& libs = data.libraries; - for ( i = 0; i < libs.size(); i++ ) - { - string libpath = "$(RootOutDir)\\" + libs[i]->importedModule->output->relative_path + "\\" + _get_vc_dir() + "\\$(ConfigurationName)\\" + libs[i]->name + ".lib"; - libraries.push_back ( libpath ); - } - const vector& defs = data.defines; - for ( i = 0; i < defs.size(); i++ ) - { - if ( defs[i]->backend != "" && defs[i]->backend != "msvc" ) - continue; - - if( module.isUnicode && (defs[i]->name == "UNICODE" || defs[i]->name == "_UNICODE")) - continue; - - if ( defs[i]->value != "" ) - defines.push_back( defs[i]->name + "=" + defs[i]->value ); - else - defines.push_back( defs[i]->name ); - } - for ( std::map::const_iterator p = data.properties.begin(); p != data.properties.end(); ++ p ) - { - Property& prop = *p->second; - if ( strstr ( module.baseaddress.c_str(), prop.name.c_str() ) ) - baseaddr = prop.value; - } - - if(module.importLibrary) - { - std::string ImportLibraryPath = _get_file_path(module.importLibrary->source, module.output->relative_path); - - switch (module.IsSpecDefinitionFile()) - { - case PSpec: - generated_files.push_back("$(IntDir)\\" + ReplaceExtension(module.importLibrary->source->name,".spec")); - case Spec: - generated_files.push_back("$(IntDir)\\" + ReplaceExtension(module.importLibrary->source->name,".stubs.c")); - generated_files.push_back("$(IntDir)\\" + ReplaceExtension(module.importLibrary->source->name,".def")); - default: - source_files.push_back(ImportLibraryPath + std::string("\\") + module.importLibrary->source->name); - } - } -} \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/propsmaker.cpp b/reactos/tools/rbuild/backend/msvc/propsmaker.cpp deleted file mode 100644 index 70f2427555b..00000000000 --- a/reactos/tools/rbuild/backend/msvc/propsmaker.cpp +++ /dev/null @@ -1,195 +0,0 @@ -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include -#include - -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::set; - -typedef set StringSet; - -#ifdef OUT -#undef OUT -#endif//OUT - - -PropsMaker::PropsMaker (Project* ProjectNode, - std::string filename_props, - std::vector configurations) -{ - m_ProjectNode = ProjectNode; - m_configurations = configurations; - - OUT = fopen ( filename_props.c_str(), "wb" ); - - if ( !OUT ) - { - printf ( "Could not create file '%s'.\n", filename_props.c_str() ); - } -} - -PropsMaker::~PropsMaker ( ) -{ - fclose ( OUT ); -} - -void -PropsMaker::_generate_header() -{ - fprintf ( OUT, "\r\n"); - fprintf ( OUT, "\r\n"); -} - -void -PropsMaker::_generate_footer() -{ - fprintf ( OUT, "\r\n"); -} - -void -PropsMaker::_generate_macro(std::string Name, std::string Value) -{ - fprintf ( OUT, "\t\t<%s>%s\r\n", Name.c_str(), Value.c_str(), Name.c_str()); -} - -void -PropsMaker::_generate_global_includes(bool debug, bool use_ros_headers) -{ - fprintf ( OUT, "\t\t"); - - const IfableData& data = m_ProjectNode->non_if_data; - //const vector& files = data.files; - size_t i; - const vector& incs = data.includes; - for ( i = 0; i < incs.size(); i++ ) - { - if ((incs[i]->directory->relative_path == "include\\crt" || - incs[i]->directory->relative_path == "include\\ddk" || - incs[i]->directory->relative_path == "include\\GL" || - incs[i]->directory->relative_path == "include\\psdk") && - ! use_ros_headers) - { - continue; - } - - if(incs[i]->directory->directory == SourceDirectory) - fprintf ( OUT, "\"$(RootSrcDir)\\"); - else if (incs[i]->directory->directory == IntermediateDirectory) - fprintf ( OUT, "\"$(RootIntDir)\\"); - else if (incs[i]->directory->directory == OutputDirectory) - fprintf ( OUT, "\"$(RootOutDir)\\"); - else - continue; - - fprintf ( OUT, "%s\" ; ", incs[i]->directory->relative_path.c_str()); - } - - fprintf ( OUT, "\"$(RootIntDir)\\include\" ; "); - fprintf ( OUT, "\"$(RootIntDir)\\include\\reactos\" ; "); - - if ( !use_ros_headers ) - { - // Add WDK or PSDK paths, if user provides them - if (getenv ( "BASEDIR" ) != NULL) - { - string WdkBase = getenv ( "BASEDIR" ); - fprintf ( OUT, "\"%s\\inc\\api\" ; ", WdkBase.c_str()); - fprintf ( OUT, "\"%s\\inc\\crt\" ; ", WdkBase.c_str()); - fprintf ( OUT, "\"%s\\inc\\ddk\" ; ", WdkBase.c_str()); - } - } - fprintf ( OUT, "\t\r\n"); -} - -void -PropsMaker::_generate_global_definitions(bool debug, bool use_ros_headers) -{ - fprintf ( OUT, "\t\t"); - - // Always add _CRT_SECURE_NO_WARNINGS to disable warnings about not - // using the safe functions introduced in MSVC8. - fprintf ( OUT, "_CRT_SECURE_NO_WARNINGS ; ") ; - - if ( debug ) - { - fprintf ( OUT, "_DEBUG ; "); - } - - if ( !use_ros_headers ) - { - // this is a define in MinGW w32api, but not Microsoft's headers - fprintf ( OUT, "STDCALL=__stdcall ; "); - } - - const IfableData& data = m_ProjectNode->non_if_data; - const vector& defs = data.defines; - size_t i; - - for ( i = 0; i < defs.size(); i++ ) - { - if ( defs[i]->backend != "" && defs[i]->backend != "msvc" ) - continue; - - if ( defs[i]->value != "" ) - fprintf ( OUT, "%s=%s ; ",defs[i]->name.c_str(), defs[i]->value.c_str()); - else - fprintf ( OUT, "%s ; ", defs[i]->name.c_str()); - } - - fprintf ( OUT, "\t\r\n"); -} - -void -PropsMaker::_generate_props ( std::string solution_version, std::string studio_version ) -{ - - string srcdir = Environment::GetSourcePath(); - string intdir = Environment::GetIntermediatePath (); - string outdir = Environment::GetOutputPath (); - string rosbedir = Environment::GetVariable("_ROSBE_BASEDIR"); - - if ( intdir == "obj-i386" ) - intdir = srcdir + "\\obj-i386"; /* append relative dir from project dir */ - - if ( outdir == "output-i386" ) - outdir = srcdir + "\\output-i386"; - - _generate_header(); - - fprintf ( OUT, "\t\r\n"); - _generate_macro("RootSrcDir", srcdir); - _generate_macro("RootOutDir", outdir); - _generate_macro("RootIntDir", intdir); - _generate_macro("Tools", "$(RootOutDir)\\tools"); - _generate_macro("RosBE", rosbedir); - fprintf ( OUT, "\t\r\n"); - - for ( size_t icfg = 0; icfg < m_configurations.size(); icfg++ ) - { - MSVCConfiguration* cfg = m_configurations[icfg]; - - if(cfg->optimization == RosBuild) - continue; - - fprintf ( OUT, "\t\r\n", cfg->name.c_str() ); - _generate_global_includes(cfg->optimization == Debug, cfg->headers == ReactOSHeaders); - _generate_global_definitions(cfg->optimization == Debug, cfg->headers == ReactOSHeaders); - fprintf ( OUT, "\t\r\n"); - } - - _generate_footer(); -} diff --git a/reactos/tools/rbuild/backend/msvc/rules/reactos.defaults.props b/reactos/tools/rbuild/backend/msvc/rules/reactos.defaults.props deleted file mode 100644 index 205d35ad44b..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/reactos.defaults.props +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - $(globalIncludes);$(IncludePath) - - - - $(globalIncludes);$(ProjectIncludes);%(AdditionalIncludeDirectories) - $(ProjectDefines);$(globalDefines);%(PreprocessorDefinitions) - true - CompileAsC - Cdecl - - - $(globalIncludes);$(ProjectIncludes) - __ASM__ - - - $(globalIncludes);$(ProjectIncludes) - - - $(globalIncludes);$(ProjectIncludes);%(AdditionalIncludeDirectories) - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/rules/reactos.targets b/reactos/tools/rbuild/backend/msvc/rules/reactos.targets deleted file mode 100644 index e7b583b4f0c..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/reactos.targets +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.props b/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.props deleted file mode 100644 index 67e87c81933..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.props +++ /dev/null @@ -1,21 +0,0 @@ - - - - Midl - CustomBuild - - - _SelectedFiles;$(s_as_mscppDependsOn) - - - - $(IntDir)%(Filename).obj - $(globalIncludes) - cl /nologo /E [sIncPaths] [sPPDefs] "%(FullPath)" | "$(RosBE)\i386\bin\as" -o [sOutF] - %(sOutF) - Assembling - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.rules b/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.rules deleted file mode 100644 index ec4a41b742c..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.rules +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - diff --git a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.targets b/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.targets deleted file mode 100644 index 731117271f0..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.targets +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - _s_as_mscpp - - - - $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml - - - - - - - - @(s_as_mscpp, '|') - - - - - - - - - $(ComputeLinkInputsTargets); - Computes_as_mscppOutput; - - - $(ComputeLibInputsTargets); - Computes_as_mscppOutput; - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.xml b/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.xml deleted file mode 100644 index b2a71f56073..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/s_as_mscpp.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - - - - General - - - - - Command Line - - - - - - - - - - - - - - - Execute Before - - - Specifies the targets for the build customization to run before. - - - - - - - - - - - Execute After - - - Specifies the targets for the build customization to run after. - - - - - - - - - - - - - - Additional Options - - - Additional Options - - - - - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/rules/spec.props b/reactos/tools/rbuild/backend/msvc/rules/spec.props deleted file mode 100644 index 5e738c7db6f..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/spec.props +++ /dev/null @@ -1,38 +0,0 @@ - - - - Midl - Pspec - - - _SelectedFiles;$(specDependsOn) - - - - $(IntDir)%(Filename).def - $(IntDir)%(Filename).stubs.c - "$(Tools)\winebuild\winebuild.exe" -F $(TargetFileName) -o [DefFile] --def -k -E [inputs] | "$(Tools)\winebuild\winebuild.exe" -F $(TargetFileName) -o [StubsFile] --pedll -k -E [inputs] - [DefFile] - Generating module definition file - - - - spec - CustomBuild - - - _SelectedFiles;$(PspecDependsOn) - - - - $(IntDir)%(Filename).spec - cl /nologo /EP [includes] [inputs] > [Specfile] - [Specfile] - Generating module definition file - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/rules/spec.rules b/reactos/tools/rbuild/backend/msvc/rules/spec.rules deleted file mode 100644 index ef13f59e885..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/spec.rules +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/rbuild/backend/msvc/rules/spec.targets b/reactos/tools/rbuild/backend/msvc/rules/spec.targets deleted file mode 100644 index 4671ea1cd36..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/spec.targets +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - _spec - - - _Pspec - - - - $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml - - - $(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml - - - - - - - - @(spec, '|') - - - - - - - - - $(ComputeLinkInputsTargets); - ComputespecOutput; - - - $(ComputeLibInputsTargets); - ComputespecOutput; - - - - - - - - - - - - - - - - - - @(Pspec, '|') - - - - - - - - - $(ComputeLinkInputsTargets); - ComputePspecOutput; - - - $(ComputeLibInputsTargets); - ComputePspecOutput; - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/rules/spec.xml b/reactos/tools/rbuild/backend/msvc/rules/spec.xml deleted file mode 100644 index db15656b23b..00000000000 --- a/reactos/tools/rbuild/backend/msvc/rules/spec.xml +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - - - - General - - - - - Command Line - - - - - - - - - - - - - - Execute Before - - - Specifies the targets for the build customization to run before. - - - - - - - - - - - Execute After - - - Specifies the targets for the build customization to run after. - - - - - - - - - - - - - - Additional Options - - - Additional Options - - - - - - - - - - - - - - General - - - - - Command Line - - - - - - - - - - - - - - Execute Before - - - Specifies the targets for the build customization to run before. - - - - - - - - - - - Execute After - - - Specifies the targets for the build customization to run after. - - - - - - - - - - - - - - Additional Options - - - Additional Options - - - - - - - \ No newline at end of file diff --git a/reactos/tools/rbuild/backend/msvc/slnmaker.cpp b/reactos/tools/rbuild/backend/msvc/slnmaker.cpp deleted file mode 100644 index ebc2dc8d6c5..00000000000 --- a/reactos/tools/rbuild/backend/msvc/slnmaker.cpp +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2002 Patrik Stridvall - * Copyright (C) 2005 Royce Mitchell III - * Copyright (C) 2006 Hervé Poussineau - * Copyright (C) 2006 Christoph von Wittich - * Copyright (C) 2009 Ged Murphy - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include -#include - -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::set; - - - -SlnMaker::SlnMaker ( Configuration& buildConfig, - const std::vector& configurations, - std::string filename_sln, - std::string solution_version, - std::string studio_version) -{ - m_configuration = buildConfig; - m_configurations = configurations; - - OUT = fopen ( filename_sln.c_str(), "wb" ); - - if ( !OUT ) - { - printf ( "Could not create file '%s'.\n", filename_sln.c_str() ); - } - - _generate_sln_header( solution_version, studio_version); -} - -SlnMaker::~SlnMaker() -{ - _generate_sln_footer ( ); - fclose ( OUT ); -} - -void -SlnMaker::_generate_sln_header ( std::string solution_version, std::string studio_version ) -{ - //fprintf ( OUT, "Microsoft Visual Studio Solution File, Format Version %s\r\n", _get_solution_version().c_str() ); - //fprintf ( OUT, "# Visual Studio %s\r\n", _get_studio_version().c_str() ); - fprintf ( OUT, "Microsoft Visual Studio Solution File, Format Version %s\r\n", solution_version.c_str() ); - fprintf ( OUT, "# Visual Studio %s\r\n", studio_version.c_str() ); - fprintf ( OUT, "\r\n" ); -} - -void -SlnMaker::_generate_sln_footer ( ) -{ - fprintf ( OUT, "Global\r\n" ); - fprintf ( OUT, "\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\r\n" ); - for ( size_t i = 0; i < m_configurations.size(); i++ ) - fprintf ( OUT, "\t\t%s = %s\r\n", m_configurations[i]->name.c_str(), m_configurations[i]->name.c_str() ); - fprintf ( OUT, "\tEndGlobalSection\r\n" ); - - fprintf ( OUT, "\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\r\n" ); - for ( size_t i = 0; i < modules.size (); i++) - { - _generate_sln_configurations ( modules[i]->guid.c_str() ); - } - fprintf ( OUT, "\tEndGlobalSection\r\n" ); -/* - fprintf ( OUT, "\tGlobalSection(ExtensibilityGlobals) = postSolution\r\n" ); - fprintf ( OUT, "\tEndGlobalSection\r\n" ); - fprintf ( OUT, "\tGlobalSection(ExtensibilityAddIns) = postSolution\r\n" ); - fprintf ( OUT, "\tEndGlobalSection\r\n" ); -*/ - - if (m_configuration.VSProjectVersion == "7.00") { - fprintf ( OUT, "\tGlobalSection(ProjectDependencies) = postSolution\r\n" ); - //FIXME: Add dependencies for VS 2002 - fprintf ( OUT, "\tEndGlobalSection\r\n" ); - } - else { - fprintf ( OUT, "\tGlobalSection(SolutionProperties) = preSolution\r\n" ); - fprintf ( OUT, "\t\tHideSolutionNode = FALSE\r\n" ); - fprintf ( OUT, "\tEndGlobalSection\r\n" ); - } - - fprintf ( OUT, "EndGlobal\r\n" ); - fprintf ( OUT, "\r\n" ); -} - - -void -SlnMaker::_generate_sln_configurations ( std::string vcproj_guid ) -{ - for ( size_t i = 0; i < m_configurations.size (); i++) - { - const MSVCConfiguration& cfg = *m_configurations[i]; - fprintf ( OUT, "\t\t%s.%s|Win32.ActiveCfg = %s|Win32\r\n", vcproj_guid.c_str(), cfg.name.c_str(), cfg.name.c_str() ); - fprintf ( OUT, "\t\t%s.%s|Win32.Build.0 = %s|Win32\r\n", vcproj_guid.c_str(), cfg.name.c_str(), cfg.name.c_str() ); - } -} - -void -SlnMaker::_add_project(ProjMaker &project, Module &module) -{ - string sln_guid = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"; - - fprintf ( OUT, "Project(\"%s\") = \"%s\", \".\\%s\",\"%s\"\n", sln_guid.c_str(), module.name.c_str() , project.VcprojFileName(module).c_str() , module.guid.c_str()); - fprintf ( OUT, "EndProject\r\n" ); - - modules.push_back(&module); -} diff --git a/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp b/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp deleted file mode 100644 index b09658d18df..00000000000 --- a/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp +++ /dev/null @@ -1,674 +0,0 @@ -/* - * Copyright (C) 2002 Patrik Stridvall - * Copyright (C) 2005 Royce Mitchell III - * Copyright (C) 2006 Hervé Poussineau - * Copyright (C) 2006 Christoph von Wittich - * Copyright (C) 2009 Ged Murphy - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include -#include - -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::set; - -typedef set StringSet; - -#ifdef OUT -#undef OUT -#endif//OUT - -struct SortFilesAscending -{ - bool operator()(const string& rhs, const string& lhs) - { - return rhs < lhs; - } -}; - - -VCProjMaker::VCProjMaker ( ) -{ - vcproj_file = ""; -} - -VCProjMaker::VCProjMaker ( Configuration& buildConfig, - const std::vector& msvc_configs, - std::string filename, - const Module& module) -{ - configuration = buildConfig; - m_configurations = msvc_configs; - vcproj_file = filename; - - OUT = fopen ( vcproj_file.c_str(), "wb" ); - - if ( !OUT ) - { - printf ( "Could not create file '%s'.\n", vcproj_file.c_str() ); - } - - // Set the binary type - string module_type = GetExtension(*module.output); - - if ((module.type == ObjectLibrary) || (module.type == RpcClient) ||(module.type == RpcServer) || (module_type == ".lib") || (module_type == ".a")) - binaryType = Lib; - else if ((module_type == ".dll") || (module_type == ".cpl")) - binaryType = Dll; - else if ((module_type == ".exe") || (module_type == ".scr")) - binaryType = Exe; - else if (module_type == ".sys") - binaryType = Sys; - else - binaryType = BinUnknown; - -} - -VCProjMaker::~VCProjMaker() -{ - fclose ( OUT ); -} - -void -VCProjMaker::_generate_proj_file ( const Module& module ) -{ - size_t i; - - printf ( "Creating MSVC project: '%s'\n", vcproj_file.c_str() ); - - string path_basedir = module.GetPathToBaseDir (); - - _collect_files(module); - - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "\r\n" ); - - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\t\t\r\n" ); - fprintf ( OUT, "\t\r\n" ); - - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\t\t\r\n" ); - fprintf ( OUT, "\t\t\r\n" ); - fprintf ( OUT, "\t\r\n" ); - - // Write out all the configurations - fprintf ( OUT, "\t\r\n" ); - for ( size_t icfg = 0; icfg < m_configurations.size(); icfg++ ) - { - const MSVCConfiguration& cfg = *m_configurations[icfg]; - - if ( cfg.optimization == RosBuild ) - { - _generate_makefile_configuration( module, cfg ); - } - else - { - _generate_standard_configuration( module, cfg, binaryType ); - } - } - fprintf ( OUT, "\t\r\n" ); - - // Write out the project files - fprintf ( OUT, "\t\r\n" ); - - // Generated files - fprintf ( OUT, "\t\t\r\n" ); - for( i = 0; i < generated_files.size(); i++) - { - string source_file = DosSeparator(generated_files[i]); - - fprintf ( OUT, "\t\t\t\r\n", source_file.c_str() ); - fprintf ( OUT, "\t\t\t\r\n"); - } - fprintf ( OUT, "\t\t\r\n" ); - - // Source files - fprintf ( OUT, "\t\t\r\n" ); - - std::sort(source_files.begin(), source_files.end(), SortFilesAscending()); - vector last_folder; - vector split_path; - string indent_tab("\t\t\t"); - - for ( size_t isrcfile = 0; isrcfile < source_files.size(); isrcfile++ ) - { - string source_file = DosSeparator(source_files[isrcfile]); - - Path::Split(split_path, source_file, false); - size_t same_folder_index = 0; - for ( size_t ifolder = 0; ifolder < last_folder.size(); ifolder++ ) - { - if ( ifolder < split_path.size() && last_folder[ifolder] == split_path[ifolder] ) - ++same_folder_index; - else - break; - } - - if ( same_folder_index < split_path.size() || last_folder.size() > split_path.size() ) - { - int tabStart = 1; - if ( split_path.size() > last_folder.size() ) - { - for ( size_t ifolder = last_folder.size(); ifolder < split_path.size(); ifolder++ ) - indent_tab.push_back('\t'); - tabStart = split_path.size() - last_folder.size() + 1; - } - else if ( split_path.size() < last_folder.size() ) - { - indent_tab.resize( split_path.size() + 3 ); - tabStart = split_path.size() - last_folder.size() + 1; - } - - for ( size_t ifolder = last_folder.size(), itab = tabStart; ifolder > same_folder_index; ifolder--, itab++ ) - { - fprintf ( OUT, "%s\r\n", indent_tab.substr(0, indent_tab.size() - itab).c_str() ); - } - - for ( size_t ifolder = same_folder_index, itab = split_path.size() - same_folder_index; ifolder < split_path.size(); ifolder++, itab-- ) - { - const string tab = indent_tab.substr(0, indent_tab.size() - itab); - fprintf ( OUT, "%s\r\n", tab.c_str(), split_path[ifolder].c_str() ); - } - - last_folder = split_path; - } - - fprintf ( OUT, "%s\r\n", indent_tab.c_str(), source_file.c_str() ); - - for ( size_t iconfig = 0; iconfig < m_configurations.size(); iconfig++ ) - { - const MSVCConfiguration& config = *m_configurations[iconfig]; - - //if (configuration.VSProjectVersion < "8.00") { - if ((source_file.find(".idl") != string::npos) || ((source_file.find(".asm") != string::npos))) - { - fprintf ( OUT, "%s\t\r\n" ); -#if 0 - fprintf ( OUT, "%s\t\t\r\n", indent_tab.c_str() ); - } - else if ((source_file.find(".asm") != string::npos)) - { - fprintf ( OUT, "%s\t\t\tName=\"VCCustomBuildTool\"\r\n", indent_tab.c_str() ); - fprintf ( OUT, "%s\t\t\tCommandLine=\"nasmw $(InputPath) -f coff -o "$(OutDir)\\$(InputName).obj"\"\r\n", indent_tab.c_str() ); - fprintf ( OUT, "%s\t\t\tOutputs=\"$(OutDir)\\$(InputName).obj\"/>\r\n", indent_tab.c_str() ); - } -#endif - fprintf ( OUT, "%s\t\r\n", indent_tab.c_str() ); - } - //} - } - fprintf ( OUT, "%s\r\n", indent_tab.c_str() ); - } - - for ( size_t ifolder = last_folder.size(); ifolder > 0; ifolder-- ) - { - indent_tab.resize( ifolder + 2 ); - fprintf ( OUT, "%s\r\n", indent_tab.c_str() ); - } - - fprintf ( OUT, "\t\t\r\n" ); - - // Header files - fprintf ( OUT, "\t\t\r\n" ); - for ( i = 0; i < header_files.size(); i++ ) - { - fprintf ( OUT, "\t\t\t\r\n", header_files[i].c_str() ); - fprintf ( OUT, "\t\t\t\r\n" ); - } - fprintf ( OUT, "\t\t\r\n" ); - - // Resource files - fprintf ( OUT, "\t\t\r\n" ); - for ( i = 0; i < resource_files.size(); i++ ) - { - fprintf ( OUT, "\t\t\t\r\n", resource_files[i].c_str() ); - fprintf ( OUT, "\t\t\t\r\n" ); - } - fprintf ( OUT, "\t\t\r\n" ); - - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\r\n" ); -} - -void VCProjMaker::_generate_user_configuration () -{ - // Call base implementation - ProjMaker::_generate_user_configuration (); -} - -void VCProjMaker::_generate_standard_configuration( const Module& module, - const MSVCConfiguration& cfg, - BinaryType binaryType ) -{ - string path_basedir = module.GetPathToBaseDir (); - string vcdir; - - bool include_idl = false; - - size_t i; - string intermediatedir = ""; - string importLib; - - if ( configuration.UseVSVersionInPath ) - { - vcdir = DEF_SSEP + _get_vc_dir(); - } - - if(module.IsSpecDefinitionFile()) - { - importLib = "$(IntDir)\\$(ProjectName).def"; - } - else if (module.importLibrary != NULL) - { - intermediatedir = module.output->relative_path + vcdir; - importLib = _strip_gcc_deffile(module.importLibrary->source->name, module.importLibrary->source->relative_path, intermediatedir); - importLib = Path::RelativeFromDirectory ( - importLib, - module.output->relative_path ); - } - - string module_type = GetExtension(*module.output); - - // Set the configuration type for this config - ConfigurationType CfgType; - if ( binaryType == Exe ) - CfgType = ConfigApp; - else if ( binaryType == Lib ) - CfgType = ConfigLib; - else if ( binaryType == Dll || binaryType == Sys ) - CfgType = ConfigDll; - else - CfgType = ConfigUnknown; - - fprintf ( OUT, "\t\trelative_path.c_str (), vcdir.c_str () ); - fprintf ( OUT, "\t\t\tIntermediateDirectory=\"$(RootIntDir)\\%s%s\\$(ConfigurationName)\"\r\n", module.output->relative_path.c_str (), vcdir.c_str () ); - } - else - { - fprintf ( OUT, "\t\t\tOutputDirectory=\"$(RootOutDir)\\%s%s\"\r\n", module.output->relative_path.c_str (), vcdir.c_str () ); - fprintf ( OUT, "\t\t\tIntermediateDirectory=\"$(RootIntDir)\\%s%s\"\r\n", module.output->relative_path.c_str (), vcdir.c_str () ); - } - - fprintf ( OUT, "\t\t\tConfigurationType=\"%d\"\r\n", CfgType ); - - fprintf ( OUT, "\t\t\tInheritedPropertySheets=\"%s\\%s.vsprops\"\r\n", path_basedir.c_str (), cfg.name.c_str ()); - fprintf ( OUT, "\t\t\tCharacterSet=\"%s\"\r\n", module.isUnicode ? "1" : "2" ); - fprintf ( OUT, "\t\t\t>\r\n" ); - - fprintf ( OUT, "\t\t\t\r\n" ); - - fprintf ( OUT, "\t\t\t\r\n" ); - - - fprintf ( OUT, "\t\t\tfile->name, - module.output->relative_path ); - string::size_type pos = pch_path.find_last_of ("/"); - if ( pos != string::npos ) - pch_path.erase(0, pos+1); - fprintf ( OUT, "\t\t\t\tPrecompiledHeaderThrough=\"%s\"\r\n", pch_path.c_str() ); - - // Only include from the same module - pos = pch_path.find("../"); - if (pos == string::npos && std::find(header_files.begin(), header_files.end(), pch_path) == header_files.end()) - header_files.push_back(pch_path); - } -#endif - - if ( module.cplusplus ) - fprintf ( OUT, "\t\t\t\tCompileAs=\"2\"\r\n" ); - - fprintf ( OUT, "\t\t\t/>\r\n"); - - fprintf ( OUT, "\t\t\t\r\n" ); - - if ( binaryType != Lib ) - { - fprintf ( OUT, "\t\t\t 0 ) - fprintf ( OUT, " " ); - string libpath = libraries[i].c_str(); - libpath = libpath.erase (0, libpath.find_last_of ("\\") + 1 ); - if ( libpath == "msvcrt.lib" ) - { - use_msvcrt_lib = true; - } - fprintf ( OUT, "%s", libpath.c_str() ); - } - fprintf ( OUT, "\"\r\n" ); - - fprintf ( OUT, "\t\t\t\tAdditionalLibraryDirectories=\"" ); - - // Add conventional libraries dirs - for (i = 0; i < libraries.size (); i++) - { - if ( i > 0 ) - fprintf ( OUT, ";" ); - - string libpath = libraries[i].c_str(); - libpath = libpath.substr (0, libpath.find_last_of ("\\") ); - fprintf ( OUT, "%s", libpath.c_str() ); - } - - fprintf ( OUT, "\"\r\n" ); - - fprintf ( OUT, "\t\t\t\tOutputFile=\"$(OutDir)/%s%s\"\r\n", module.name.c_str(), module_type.c_str() ); - if ( binaryType == Sys ) - { - if (module.GetEntryPoint() == "0") - fprintf ( OUT, "\t\t\t\tAdditionalOptions=\" /noentry /ALIGN:0x20 /SECTION:INIT,D /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096\"\r\n" ); - else - fprintf ( OUT, "\t\t\t\tAdditionalOptions=\" /ALIGN:0x20 /SECTION:INIT,D /IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096\"\r\n" ); - fprintf ( OUT, "\t\t\t\tIgnoreAllDefaultLibraries=\"TRUE\"\r\n" ); - fprintf ( OUT, "\t\t\t\tGenerateManifest=\"FALSE\"\r\n" ); - fprintf ( OUT, "\t\t\t\tSubSystem=\"%d\"\r\n", 3 ); - fprintf ( OUT, "\t\t\t\tDriver=\"%d\"\r\n", 1 ); - fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"%s\"\r\n", module.GetEntryPoint() == "" ? "DriverEntry" : module.GetEntryPoint().c_str ()); - fprintf ( OUT, "\t\t\t\tBaseAddress=\"%s\"\r\n", baseaddr == "" ? "0x10000" : baseaddr.c_str ()); - } - else if ( binaryType == Exe ) - { - if ( module.type == Kernel ) - { - fprintf ( OUT, "\t\t\t\tAdditionalOptions=\" /SECTION:INIT,D /ALIGN:0x80\"\r\n" ); - fprintf ( OUT, "\t\t\t\tIgnoreAllDefaultLibraries=\"TRUE\"\r\n" ); - fprintf ( OUT, "\t\t\t\tGenerateManifest=\"FALSE\"\r\n" ); - fprintf ( OUT, "\t\t\t\tSubSystem=\"%d\"\r\n", 3 ); - fprintf ( OUT, "\t\t\t\tDriver=\"%d\"\r\n", 1 ); - fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"KiSystemStartup\"\r\n" ); - fprintf ( OUT, "\t\t\t\tBaseAddress=\"%s\"\r\n", baseaddr.c_str ()); - } - else if ( module.type == NativeCUI ) - { - fprintf ( OUT, "\t\t\t\tAdditionalOptions=\" /ALIGN:0x20\"\r\n" ); - fprintf ( OUT, "\t\t\t\tSubSystem=\"%d\"\r\n", 1 ); - fprintf ( OUT, "\t\t\t\tGenerateManifest=\"FALSE\"\r\n" ); - fprintf ( OUT, "\t\t\t\tIgnoreAllDefaultLibraries=\"TRUE\"\r\n" ); - fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"NtProcessStartup\"\r\n" ); - fprintf ( OUT, "\t\t\t\tBaseAddress=\"%s\"\r\n", baseaddr.c_str ()); - } - else if ( module.type == Win32CUI || module.type == Win32GUI || module.type == Win32SCR) - { - if ( use_msvcrt_lib ) - { - fprintf ( OUT, "\t\t\t\tIgnoreAllDefaultLibraries=\"TRUE\"\r\n" ); - } - fprintf ( OUT, "\t\t\t\tSubSystem=\"%d\"\r\n", 2 ); - } - } - else if ( binaryType == Dll ) - { - if (module.GetEntryPoint() == "0") - fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"\"\r\n" ); - else - { - // get rid of DllMain@12 because MSVC needs to link to _DllMainCRTStartup@12 - // when using CRT - if (module.GetEntryPoint() == "DllMain@12") - fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"\"\r\n" ); - else - fprintf ( OUT, "\t\t\t\tEntryPointSymbol=\"%s\"\r\n", module.GetEntryPoint().c_str ()); - } - fprintf ( OUT, "\t\t\t\tBaseAddress=\"%s\"\r\n", baseaddr == "" ? "0x40000" : baseaddr.c_str ()); - if ( use_msvcrt_lib ) - { - fprintf ( OUT, "\t\t\t\tIgnoreAllDefaultLibraries=\"TRUE\"\r\n" ); - } - } - fprintf ( OUT, "\t\t\t/>\r\n" ); - } - - fprintf ( OUT, "\t\t\t\r\n " ); - - fprintf ( OUT, "\t\t\t\r\n" ); - if (configuration.VSProjectVersion == "8.00") - { - fprintf ( OUT, "\t\t\t\r\n" ); - } - fprintf ( OUT, "\t\t\r\n" ); -} - - -void -VCProjMaker::_generate_makefile_configuration( const Module& module, const MSVCConfiguration& cfg ) -{ - string path_basedir = module.GetPathToBaseDir (); - string intenv = Environment::GetIntermediatePath (); - string outenv = Environment::GetOutputPath (); - - string outdir; - string intdir; - - if ( intenv == "obj-i386" ) - intdir = path_basedir + "obj-i386"; /* append relative dir from project dir */ - else - intdir = intenv; - - if ( outenv == "output-i386" ) - outdir = path_basedir + "output-i386"; - else - outdir = outenv; - - fprintf ( OUT, "\t\trelative_path.c_str (), cfg.name.c_str() ); - fprintf ( OUT, "\t\t\tIntermediateDirectory=\"%s\\%s\\%s\"\r\n", intdir.c_str (), module.output->relative_path.c_str (), cfg.name.c_str() ); - } - else - { - fprintf ( OUT, "\t\t\tOutputDirectory=\"%s\\%s\"\r\n", outdir.c_str (), module.output->relative_path.c_str () ); - fprintf ( OUT, "\t\t\tIntermediateDirectory=\"%s\\%s\"\r\n", intdir.c_str (), module.output->relative_path.c_str () ); - } - - fprintf ( OUT, "\t\t\tConfigurationType=\"0\"\r\n"); - fprintf ( OUT, "\t\t\t>\r\n" ); - - fprintf ( OUT, "\t\t\t\r\n" ); - fprintf ( OUT, "\t\t\r\n" ); -} diff --git a/reactos/tools/rbuild/backend/msvc/vcxprojmaker.cpp b/reactos/tools/rbuild/backend/msvc/vcxprojmaker.cpp deleted file mode 100644 index 33331130043..00000000000 --- a/reactos/tools/rbuild/backend/msvc/vcxprojmaker.cpp +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright (C) 2002 Patrik Stridvall - * Copyright (C) 2005 Royce Mitchell III - * Copyright (C) 2006 Hervé Poussineau - * Copyright (C) 2006 Christoph von Wittich - * Copyright (C) 2009 Ged Murphy - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include -#include - -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::set; - -typedef set StringSet; - -#ifdef OUT -#undef OUT -#endif//OUT - - -VCXProjMaker::VCXProjMaker ( ) -{ - vcproj_file = ""; -} - -VCXProjMaker::VCXProjMaker ( Configuration& buildConfig, - const std::vector& msvc_configs, - std::string filename, - const Module& module) -{ - configuration = buildConfig; - m_configurations = msvc_configs; - vcproj_file = filename; - - OUT = fopen ( vcproj_file.c_str(), "wb" ); - - if ( !OUT ) - { - printf ( "Could not create file '%s'.\n", vcproj_file.c_str() ); - } - - // Set the binary type - string module_type = GetExtension(*module.output); - - if ((module.type == ObjectLibrary) || (module.type == RpcClient) ||(module.type == RpcServer) || (module_type == ".lib") || (module_type == ".a")) - binaryType = Lib; - else if ((module_type == ".dll") || (module_type == ".cpl")) - binaryType = Dll; - else if ((module_type == ".exe") || (module_type == ".scr")) - binaryType = Exe; - else if (module_type == ".sys") - binaryType = Sys; - else - binaryType = BinUnknown; -} - -VCXProjMaker::~VCXProjMaker() -{ - fclose ( OUT ); -} - -void -VCXProjMaker::_generate_item_group (std::vector files) -{ - size_t i; - - for( i = 0; i\r\n", files[i].c_str()); - else if( extension == ".s") - fprintf ( OUT, "\t\t\r\n", files[i].c_str()); - else if( extension == ".spec") - fprintf ( OUT, "\t\t\r\n", files[i].c_str()); - else if( extension == ".pspec") - fprintf ( OUT, "\t\t\r\n", files[i].c_str()); - else if( extension == ".rc") - fprintf ( OUT, "\t\t\r\n", files[i].c_str()); - else if( extension == ".h") - fprintf ( OUT, "\t\t\r\n", files[i].c_str()); - else - fprintf ( OUT, "\t\t\r\n", files[i].c_str()); - } -} - -string -VCXProjMaker::_get_configuration_type () -{ - switch (binaryType) - { - case Exe: - return "Application"; - case Dll: - case Sys: - return "DynamicLibrary"; - case Lib: - return "StaticLibrary"; - default: - return ""; - } -} - -void -VCXProjMaker::_generate_proj_file ( const Module& module ) -{ - string path_basedir = module.GetPathToBaseDir (); - size_t i; - string vcdir; - - if ( configuration.UseVSVersionInPath ) - { - vcdir = DEF_SSEP + _get_vc_dir(); - } - - printf ( "Creating MSVC project: '%s'\n", vcproj_file.c_str() ); - - _collect_files(module); - - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "\r\n" ); - - if (configuration.VSProjectVersion.empty()) - configuration.VSProjectVersion = "10.00"; - - // Write out the configurations - fprintf ( OUT, "\t\r\n" ); - for ( size_t icfg = 0; icfg < m_configurations.size(); icfg++ ) - { - const MSVCConfiguration& cfg = *m_configurations[icfg]; - - if ( cfg.optimization == RosBuild ) - _generate_makefile_configuration( module, cfg ); - else - _generate_standard_configuration( module, cfg, binaryType ); - } - fprintf ( OUT, "\t\r\n\r\n" ); - - // Write out the global info - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\t\t{%s}\r\n", module.guid.c_str() ); - fprintf ( OUT, "\t\t%s\r\n", "Win32Proj" ); //FIXME: Win32Proj??? - fprintf ( OUT, "\t\t%s\r\n", module.name.c_str() ); //FIXME: shouldn't this be the soltion name? - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\r\n" ); - - fprintf ( OUT, "\t\r\n"); - if( binaryType != BinUnknown) - fprintf ( OUT, "\t\t%s\r\n" , _get_configuration_type().c_str()); - fprintf ( OUT, "\t\t%s\r\n", module.isUnicode ? "Unicode" : "MultiByte"); - fprintf ( OUT, "\t\r\n"); - - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\t\r\n" ); - fprintf ( OUT, "\t\r\n"); - fprintf ( OUT, "\t\t\r\n", path_basedir.c_str()); - fprintf ( OUT, "\t\t\r\n", path_basedir.c_str()); - fprintf ( OUT, "\t\r\n"); - - fprintf ( OUT, "\t\r\n"); - fprintf ( OUT, "\t\t$(RootOutDir)\\%s%s\\$(Configuration)\\\r\n", module.output->relative_path.c_str (), vcdir.c_str ()); - fprintf ( OUT, "\t\t$(RootIntDir)\\%s%s\\$(Configuration)\\\r\n", module.output->relative_path.c_str (), vcdir.c_str ()); - - if( includes.size() != 0) - { - fprintf( OUT, "\t\t"); - for ( i = 0; i < includes.size(); i++ ) - fprintf ( OUT, "%s;", includes[i].c_str() ); - fprintf( OUT, "\r\n"); - } - - if(defines.size() != 0) - { - fprintf( OUT, "\t\t"); - for ( i = 0; i < defines.size(); i++ ) - fprintf ( OUT, "%s;", defines[i].c_str() ); - fprintf( OUT, "\r\n"); - } - - fprintf ( OUT, "\t\r\n\r\n"); - - fprintf ( OUT, "\t\r\n"); - fprintf ( OUT, "\t\t\r\n"); - if ( module.cplusplus ) - fprintf ( OUT, "\t\t\tCompileAsCpp\r\n"); - fprintf ( OUT, "\t\t\r\n"); - - fprintf ( OUT, "\t\t\r\n"); - if(libraries.size() != 0) - { - fprintf ( OUT, "\t\t\t"); - for ( i = 0; i < libraries.size(); i++ ) - { - string libpath = libraries[i].c_str(); - libpath = libpath.erase (0, libpath.find_last_of ("\\") + 1 ); - fprintf ( OUT, "%s;", libpath.c_str() ); - } - fprintf ( OUT, "%%(AdditionalDependencies)\r\n"); - - fprintf ( OUT, "\t\t\t"); - for ( i = 0; i < libraries.size(); i++ ) - { - string libpath = libraries[i].c_str(); - libpath = libpath.substr (0, libpath.find_last_of ("\\") ); - fprintf ( OUT, "%s;", libpath.c_str() ); - } - fprintf ( OUT, "%%(AdditionalLibraryDirectories)\r\n"); - } - - if( module.CRT != "msvcrt") - fprintf ( OUT, "\t\t\ttrue\r\n"); - - fprintf ( OUT, "\t\t\r\n"); - fprintf ( OUT, "\t\r\n"); - - fprintf ( OUT, "\t\r\n"); - _generate_item_group(header_files); - _generate_item_group(source_files); - _generate_item_group(resource_files); - _generate_item_group(generated_files); - fprintf ( OUT, "\t\r\n\r\n"); - - fprintf ( OUT, "\t\r\n"); - fprintf ( OUT, "\t\r\n", path_basedir.c_str()); - - fprintf ( OUT, "\r\n"); -} - -void -VCXProjMaker::_generate_user_configuration () -{ - // Call base implementation - ProjMaker::_generate_user_configuration (); -} - -void -VCXProjMaker::_generate_standard_configuration( const Module& module, const MSVCConfiguration& cfg, BinaryType binaryType ) -{ - fprintf ( OUT, "\t\t\r\n", cfg.name.c_str() ); - fprintf ( OUT, "\t\t%s\r\n", cfg.name.c_str() ); - fprintf ( OUT, "\t\tWin32\r\n" ); - fprintf ( OUT, "\t\r\n" ); -} - -void -VCXProjMaker::_generate_makefile_configuration( const Module& module, const MSVCConfiguration& cfg ) -{ - // TODO: Implement me - ProjMaker::_generate_makefile_configuration ( module, cfg ); -} diff --git a/reactos/tools/rbuild/backend/msvc/vspropsmaker.cpp b/reactos/tools/rbuild/backend/msvc/vspropsmaker.cpp deleted file mode 100644 index 7f03ec36d10..00000000000 --- a/reactos/tools/rbuild/backend/msvc/vspropsmaker.cpp +++ /dev/null @@ -1,268 +0,0 @@ -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include -#include - -#include - -#include "msvc.h" - -using std::string; -using std::vector; -using std::set; - -typedef set StringSet; - -#ifdef OUT -#undef OUT -#endif//OUT - -VSPropsMaker::VSPropsMaker ( Configuration& buildConfig, - Project* ProjectNode, - std::string filename_props, - MSVCConfiguration* msvc_configs) -{ - m_configuration = buildConfig; - m_ProjectNode = ProjectNode; - - m_msvc_config = msvc_configs; - - debug = ( m_msvc_config->optimization == Debug ); - release = ( m_msvc_config->optimization == Release ); - speed = ( m_msvc_config->optimization == Speed ); - use_ros_headers = (m_msvc_config->headers == ReactOSHeaders); - - OUT = fopen ( filename_props.c_str(), "wb" ); - - if ( !OUT ) - { - printf ( "Could not create file '%s'.\n", filename_props.c_str() ); - } -} - -VSPropsMaker::~VSPropsMaker ( ) -{ - fclose ( OUT ); -} - -void -VSPropsMaker::_generate_header() -{ - fprintf ( OUT, "\r\n" ); - fprintf ( OUT, "\r\n", m_msvc_config->name.c_str() ); -} - -void -VSPropsMaker::_generate_tools_defaults() -{ - fprintf ( OUT, "\t\r\n"); - - //Linker - fprintf ( OUT, "\t\r\n"); - - //Librarian - fprintf ( OUT, "\t\r\n"); - - //Resource compiler - fprintf ( OUT, "\t\t\t\r\n"); -} - -void -VSPropsMaker::_generate_macro(std::string Name, - std::string Value, - bool EvairomentVariable) -{ - fprintf ( OUT, "\t\r\n"); -} - -void -VSPropsMaker::_generate_global_includes() -{ - //Generate global includes - //they will be used by the c compiler, the resource compiler - //and the preprocessor for .s and .pspec files - - fprintf ( OUT, "\tnon_if_data; - //const vector& files = data.files; - size_t i; - const vector& incs = data.includes; - for ( i = 0; i < incs.size(); i++ ) - { - if ((incs[i]->directory->relative_path == "include\\crt" || - incs[i]->directory->relative_path == "include\\ddk" || - incs[i]->directory->relative_path == "include\\GL" || - incs[i]->directory->relative_path == "include\\psdk") && - ! use_ros_headers) - { - continue; - } - - if(incs[i]->directory->directory == SourceDirectory) - fprintf ( OUT, "$(RootSrcDir)\\"); - else if (incs[i]->directory->directory == IntermediateDirectory) - fprintf ( OUT, "$(RootIntDir)\\"); - else if (incs[i]->directory->directory == OutputDirectory) - fprintf ( OUT, "$(RootOutDir)\\"); - else - continue; - - fprintf ( OUT, "%s ; ", incs[i]->directory->relative_path.c_str()); - } - - fprintf ( OUT, "$(RootIntDir)\\include ; "); - fprintf ( OUT, "$(RootIntDir)\\include\\reactos ; "); - - if ( !use_ros_headers ) - { - // Add WDK or PSDK paths, if user provides them - if (getenv ( "BASEDIR" ) != NULL) - { - string WdkBase = getenv ( "BASEDIR" ); - fprintf ( OUT, "%s\\inc\\api ; ", WdkBase.c_str()); - fprintf ( OUT, "%s\\inc\\crt ; ", WdkBase.c_str()); - fprintf ( OUT, "%s\\inc\\ddk ; ", WdkBase.c_str()); - } - } - fprintf ( OUT, "\"\r\n"); - fprintf ( OUT, "\t\tPerformEnvironmentSet=\"true\"\r\n"); - fprintf( OUT, "\t/>\r\n"); -} - -void -VSPropsMaker::_generate_global_definitions() -{ - fprintf ( OUT, "\tnon_if_data; - const vector& defs = data.defines; - size_t i; - - for ( i = 0; i < defs.size(); i++ ) - { - if ( defs[i]->backend != "" && defs[i]->backend != "msvc" ) - continue; - - if ( defs[i]->value != "" ) - fprintf ( OUT, "%s=%s ; ",defs[i]->name.c_str(), defs[i]->value.c_str()); - else - fprintf ( OUT, "%s ; ", defs[i]->name.c_str()); - } - - fprintf ( OUT, "\"\r\n"); - fprintf ( OUT, "\t\tPerformEnvironmentSet=\"true\"\r\n"); - fprintf( OUT, "\t/>\r\n"); -} - -void -VSPropsMaker::_generate_footer() -{ - fprintf ( OUT, "\r\n"); -} - - -void -VSPropsMaker::_generate_props ( std::string solution_version, - std::string studio_version ) -{ - _generate_header(); - _generate_tools_defaults(); - - string srcdir = Environment::GetSourcePath(); - string intdir = Environment::GetIntermediatePath (); - string outdir = Environment::GetOutputPath (); - string rosbedir = Environment::GetVariable("_ROSBE_BASEDIR"); - - if ( intdir == "obj-i386" ) - intdir = srcdir + "\\obj-i386"; /* append relative dir from project dir */ - - if ( outdir == "output-i386" ) - outdir = srcdir + "\\output-i386"; - - //Generate global macros - _generate_macro("RootSrcDir", srcdir, true); - _generate_macro("RootOutDir", outdir, true); - _generate_macro("RootIntDir", intdir, true); - _generate_macro("Tools", "$(RootOutDir)\\tools", true); - _generate_macro("RosBE", rosbedir, true); - - _generate_global_includes(); - _generate_global_definitions(); - _generate_footer(); -} diff --git a/reactos/tools/rbuild/backend/versionreport/versionreport.cpp b/reactos/tools/rbuild/backend/versionreport/versionreport.cpp deleted file mode 100644 index 80516635489..00000000000 --- a/reactos/tools/rbuild/backend/versionreport/versionreport.cpp +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (C) 2007 Marc Piulachs (marc.piulachs [at] codexchange [dot] net) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) -#endif//_MSC_VER - -#include -#include -#include -#include -#include - -#include - -#include "versionreport.h" -#include "../mingw/mingw.h" - -using std::string; -using std::vector; -using std::map; -using std::ifstream; - -#ifdef OUT -#undef OUT -#endif//OUT - - -static class VReportFactory : public Backend::Factory -{ - public: - - VReportFactory() : Factory("VReport", "Version Report") {} - Backend *operator() (Project &project, - Configuration& configuration) - { - return new VReportBackend(project, configuration); - } - -} factory; - - -VReportBackend::VReportBackend(Project &project, - Configuration& configuration) : Backend(project, configuration) -{ - -} - -void VReportBackend::Process() -{ - string filename_depmap ( "versionreport.xml" ); - printf ( "Creating version report: %s\n", filename_depmap.c_str() ); - - m_VReportFile = fopen ( filename_depmap.c_str(), "wb" ); - - if ( !m_VReportFile ) - { - printf ( "Could not create file '%s'.\n", filename_depmap.c_str() ); - return; - } - - GenerateReport ( m_VReportFile ); - - fclose ( m_VReportFile ); - printf ( "Done.\n" ); -} - -void -VReportBackend::CleanFiles ( void ) -{ - remove ( "versionreport.xml" ); -} - -void -VReportBackend::GenerateReport ( FILE* OUT ) -{ - fprintf ( m_VReportFile, "\r\n" ); - fprintf ( m_VReportFile, "\r\n" ); - fprintf ( m_VReportFile, "\r\n" ); - - for( std::map::const_iterator p = ProjectNode.modules.begin(); p != ProjectNode.modules.end(); ++ p ) - { - Module& module = *p->second; - if ((module.type != Iso) && - (module.type != LiveIso)) - { - Module& module = *p->second; - - if (module.metadata) - { - if (module.metadata->version.length() > 0) - { - fprintf ( m_VReportFile, "\t\r\n" ); - fprintf ( m_VReportFile, "\t\t%s\r\n", module.name.c_str () ); - fprintf ( m_VReportFile, "\t\t%s\r\n", module.output->relative_path.c_str () ); - fprintf ( m_VReportFile, "\t\t%s\r\n", module.metadata->version.c_str () ); - fprintf ( m_VReportFile, "\t\t%s\r\n", module.metadata->date.c_str () ); - fprintf ( m_VReportFile, "\t\t%s\r\n", module.metadata->owner.c_str () ); - fprintf ( m_VReportFile, "\t\r\n" ); - } - } - } - } - - fprintf ( m_VReportFile, "" ); -} - - -VReportConfiguration::VReportConfiguration ( const std::string &name ) -{ - /* nothing to do here */ -} diff --git a/reactos/tools/rbuild/backend/versionreport/versionreport.h b/reactos/tools/rbuild/backend/versionreport/versionreport.h deleted file mode 100644 index 24d4addefb1..00000000000 --- a/reactos/tools/rbuild/backend/versionreport/versionreport.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2007 Marc Piulachs (marc.piulachs [at] codexchange [dot] net) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include -#include -#include - -#include "../backend.h" - -class VReportConfiguration -{ - public: - VReportConfiguration(const std::string &name = ""); - virtual ~VReportConfiguration() {} - std::string name; -}; - -class VReportBackend : public Backend -{ - public: - - VReportBackend(Project &project, - Configuration& configuration); - virtual ~VReportBackend() {} - - virtual void Process(); - - private: - - FILE* m_VReportFile; - - std::vector m_configurations; - - void GenerateReport ( FILE* OUT ); - void CleanFiles ( void ); - - struct module_data - { - std::vector libraries; - std::vector references; - - module_data() - {} - ~module_data() - {} - }; - -}; diff --git a/reactos/tools/rbuild/bootstrap.cpp b/reactos/tools/rbuild/bootstrap.cpp deleted file mode 100644 index f02132f261c..00000000000 --- a/reactos/tools/rbuild/bootstrap.cpp +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; - -Bootstrap::Bootstrap ( const Project& project_, - const Module* module_, - const XMLElement& bootstrapNode ) - : project(project_), - module(module_), - node(bootstrapNode) -{ - Initialize(); -} - -Bootstrap::~Bootstrap () -{ -} - -bool -Bootstrap::IsSupportedModuleType ( ModuleType type ) -{ - switch ( type ) - { - case Kernel: - case KernelModeDLL: - case KeyboardLayout: - case NativeDLL: - case NativeCUI: - case Win32DLL: - case Win32OCX: - case Win32CUI: - case Win32SCR: - case Win32GUI: - case KernelModeDriver: - case BootSector: - case BootLoader: - case BootProgram: - case Cabinet: - return true; - case BuildTool: - case StaticLibrary: - case HostStaticLibrary: - case ObjectLibrary: - case Iso: - case LiveIso: - case Test: - case RpcServer: - case RpcClient: - case RpcProxy: - case Alias: - case IdlHeader: - case IdlInterface: - case MessageHeader: - case EmbeddedTypeLib: - case ElfExecutable: - return false; - case TypeDontCare: - break; - } - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -string -Bootstrap::ReplaceVariable ( const string& name, - const string& value, - string path ) -{ - size_t i = path.find ( name ); - if ( i != string::npos ) - return path.replace ( i, name.length (), value ); - else - return path; -} - -void -Bootstrap::Initialize () -{ - if ( !IsSupportedModuleType ( module->type ) ) - { - throw XMLInvalidBuildFileException ( - node.location, - " is not applicable for this module type." ); - } - - const XMLAttribute* att = node.GetAttribute ( "installbase", false ); - if ( att != NULL ) - base = ReplaceVariable ( "$(CDOUTPUT)", Environment::GetCdOutputPath (), att->value ); - else - base = ""; - - att = node.GetAttribute ( "nameoncd", false ); - if ( att != NULL ) - nameoncd = att->value; - else - nameoncd = module->output->name; -} - -void -Bootstrap::ProcessXML() -{ -} diff --git a/reactos/tools/rbuild/cdfile.cpp b/reactos/tools/rbuild/cdfile.cpp deleted file mode 100644 index 65b19d1b178..00000000000 --- a/reactos/tools/rbuild/cdfile.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; - -string -CDFile::ReplaceVariable ( const string& name, - const string& value, - string path ) -{ - size_t i = path.find ( name ); - if ( i != string::npos ) - return path.replace ( i, name.length (), value ); - else - return path; -} - -CDFile::~CDFile () -{ - delete source; - delete target; -} - -CDFile::CDFile ( const Project& project, - const XMLElement& cdfileNode, - const string& path ) - : XmlNode ( project, cdfileNode ) -{ - const XMLAttribute* att = cdfileNode.GetAttribute ( "installbase", false ); - string target_relative_directory; - if ( att != NULL ) - target_relative_directory = ReplaceVariable ( "$(CDOUTPUT)", Environment::GetCdOutputPath (), att->value ); - else - target_relative_directory = ""; - - const XMLAttribute* nameoncd = cdfileNode.GetAttribute ( "nameoncd", false ); - - source = new FileLocation ( SourceDirectory, - path, - cdfileNode.value, - &cdfileNode ); - target = new FileLocation ( OutputDirectory, - target_relative_directory, - nameoncd ? nameoncd->value : cdfileNode.value, - &cdfileNode ); -} diff --git a/reactos/tools/rbuild/compilationunit.cpp b/reactos/tools/rbuild/compilationunit.cpp deleted file mode 100644 index b5d1105f302..00000000000 --- a/reactos/tools/rbuild/compilationunit.cpp +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -CompilationUnit::CompilationUnit ( const File* file ) - : project(NULL), - module(NULL), - node(NULL) -{ - default_name = new FileLocation ( IntermediateDirectory, - "", - file->file.name ); - - name = file->file.relative_path + sSep + file->file.name; - files.push_back ( file ); -} - -CompilationUnit::CompilationUnit ( const Project* project, - const Module* module, - const XMLElement* node ) - : project(project), - module(module), - node(node) -{ - const XMLAttribute* att = node->GetAttribute ( "name", true ); - assert(att); - - default_name = new FileLocation ( IntermediateDirectory, - module ? module->output->relative_path : "", - att->value, - node ); - name = module->output->relative_path + cSep + att->value; -} - -CompilationUnit::~CompilationUnit () -{ - size_t i; - for ( i = 0; i < files.size (); i++ ) - delete files[i]; - - delete default_name; -} - -void -CompilationUnit::ProcessXML () -{ - size_t i; - for ( i = 0; i < files.size (); i++ ) - const_cast ( files[i] )->ProcessXML (); -} - -bool -CompilationUnit::IsGeneratedFile () const -{ - if ( files.size () != 1 ) - return false; - const File* file = files[0]; - string extension = GetExtension ( file->file ); - return ( extension == ".spec" || extension == ".pspec" || extension == ".mc"); -} - -bool -CompilationUnit::HasFileWithExtension ( const std::string& extension ) const -{ - size_t i; - for ( i = 0; i < files.size (); i++ ) - { - const File& file = *files[i]; - string fileExtension = GetExtension ( file.file ); - if ( !stricmp ( fileExtension.c_str (), extension.c_str () ) ) - return true; - } - return false; -} - -bool -CompilationUnit::IsFirstFile () const -{ - if ( files.size () == 0 || files.size () > 1 ) - return false; - const File* file = files[0]; - return file->first; -} - - -const FileLocation& -CompilationUnit::GetFilename () const -{ - if ( files.size () == 0 || files.size () > 1 ) - return *default_name; - - const File* file = files[0]; - return file->file; -} - -const std::string& -CompilationUnit::GetSwitches () const -{ - static const std::string empty_string = std::string(""); - if ( files.size () == 0 || files.size () > 1 ) - return empty_string; - const File* file = files[0]; - return file->switches; -} - -void -CompilationUnit::AddFile ( const File * file ) -{ - files.push_back ( file ); -} - -const std::vector -CompilationUnit::GetFiles () const -{ - return files; -} diff --git a/reactos/tools/rbuild/compilationunitsupportcode.cpp b/reactos/tools/rbuild/compilationunitsupportcode.cpp deleted file mode 100644 index c6e76fdc880..00000000000 --- a/reactos/tools/rbuild/compilationunitsupportcode.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -CompilationUnitSupportCode::CompilationUnitSupportCode ( const Project& project ) - : project ( project ) -{ -} - -CompilationUnitSupportCode::~CompilationUnitSupportCode () -{ -} - -void -CompilationUnitSupportCode::Generate ( bool verbose ) -{ - for( std::map::const_iterator p = project.modules.begin(); p != project.modules.end(); ++ p ) - { - GenerateForModule ( *p->second, - verbose ); - } -} - -void -CompilationUnitSupportCode::GenerateForModule ( Module& module, - bool verbose ) -{ - if ( verbose ) - { - printf ( "\nGenerating compilation unit support code for %s", - module.name.c_str () ); - } - - for ( size_t i = 0; i < module.non_if_data.compilationUnits.size () ; i++ ) - { - CompilationUnit& compilationUnit = *module.non_if_data.compilationUnits[i]; - if ( compilationUnit.GetFiles ().size () <= 1 ) - continue; - WriteCompilationUnitFile ( module, compilationUnit ); - } -} - -string -CompilationUnitSupportCode::GetCompilationUnitFilename ( Module& module, - CompilationUnit& compilationUnit ) -{ - return NormalizeFilename ( Environment::GetIntermediatePath () + sSep + compilationUnit.name ); -} - -void -CompilationUnitSupportCode::WriteCompilationUnitFile ( Module& module, - CompilationUnit& compilationUnit ) -{ - char* buf; - char* s; - - buf = (char*) malloc ( 512*1024 ); - if ( buf == NULL ) - throw OutOfMemoryException (); - - s = buf; - s = s + sprintf ( s, "/* This file is automatically generated. */\n" ); - s = s + sprintf ( s, "#define ONE_COMPILATION_UNIT\n" ); - - for ( size_t i = 0; i < compilationUnit.GetFiles ().size () ; i++ ) - { - const File& file = *compilationUnit.GetFiles ()[i]; - s = s + sprintf ( s, "#include <%s/%s>\n", ChangeSeparator ( file.file.relative_path, '\\', '/' ).c_str (), file.file.name.c_str () ); - } - - s = s + sprintf ( s, "\n" ); - - FileSupportCode::WriteIfChanged ( buf, GetCompilationUnitFilename ( module, compilationUnit ) ); - - free ( buf ); -} diff --git a/reactos/tools/rbuild/compilerdirective.cpp b/reactos/tools/rbuild/compilerdirective.cpp deleted file mode 100644 index c8ceebd18ea..00000000000 --- a/reactos/tools/rbuild/compilerdirective.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (C) 2009 KJK::Hyperion - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -#include - -void -CompilerDirective::SetCompiler ( CompilerType compiler ) -{ - assert ( compiler < CompilerTypesCount ); - compilersSet.set ( compiler ); -} - -void -CompilerDirective::UnsetCompiler ( CompilerType compiler ) -{ - assert ( compiler < CompilerTypesCount ); - compilersSet.reset ( compiler ); -} - -void -CompilerDirective::SetAllCompilers () -{ - compilersSet.set (); -} - -void -CompilerDirective::UnsetAllCompilers () -{ - compilersSet.reset (); -} - -bool -CompilerDirective::IsCompilerSet ( CompilerType compiler ) const -{ - assert ( compiler < CompilerTypesCount ); - return compilersSet.test ( compiler ); -} - -template < std::size_t N > -static -bool -CompareStringElement ( const std::string::const_iterator& begin, const std::string::const_iterator& end, const char (& compareTo)[(N)] ) -{ - return !std::use_facet < std::collate < char > > ( std::locale::classic () ) - .compare ( &(*begin), - &(*(end - 1)), - &compareTo[0], - &compareTo[(N) - 2] ); -} - -void -CompilerDirective::ParseCompilers ( const XMLElement& node, const std::string& defaultValue ) -{ - const XMLAttribute* att = node.GetAttribute ( "compiler", false ); - const std::string& value = att ? att->value : defaultValue; - - if ( value == "*" ) - SetAllCompilers (); - else - { - UnsetAllCompilers (); - - std::string::const_iterator beginString; - - beginString = value.begin(); - - do - { - for ( ; beginString != value.end(); ++ beginString ) - { - if ( *beginString != ',' ) - break; - } - - if ( beginString == value.end() ) - break; - - std::string::const_iterator endString = beginString; - - for ( ; endString != value.end(); ++ endString ) - { - if ( *endString == ',' ) - break; - } - - assert ( endString != beginString ); - - CompilerType compiler; - - if ( CompareStringElement ( beginString, endString, "cc" ) ) - compiler = CompilerTypeCC; - else if ( CompareStringElement ( beginString, endString, "cxx" ) ) - compiler = CompilerTypeCXX; - else if ( CompareStringElement ( beginString, endString, "cpp" ) ) - compiler = CompilerTypeCPP; - else if ( CompareStringElement ( beginString, endString, "as" ) ) - compiler = CompilerTypeAS; - else if ( CompareStringElement ( beginString, endString, "midl" ) ) - compiler = CompilerTypeMIDL; - else if ( CompareStringElement ( beginString, endString, "rc" ) ) - compiler = CompilerTypeRC; - else if ( CompareStringElement ( beginString, endString, "nasm" ) ) - compiler = CompilerTypeNASM; - else - { - throw InvalidAttributeValueException ( - node.location, - "compiler", - value ); - } - - SetCompiler ( compiler ); - - beginString = endString; - } - while ( beginString != value.end() ); - - if ( !compilersSet.any() ) - { - throw InvalidAttributeValueException ( - node.location, - "compiler", - value ); - } - } -} diff --git a/reactos/tools/rbuild/compilerflag.cpp b/reactos/tools/rbuild/compilerflag.cpp deleted file mode 100644 index 081b30fcfee..00000000000 --- a/reactos/tools/rbuild/compilerflag.cpp +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -CompilerFlag::CompilerFlag ( const Project& project_, - const XMLElement& compilerFlagNode ) - : project(project_), - module(NULL), - node(compilerFlagNode) -{ - Initialize(); -} - -CompilerFlag::CompilerFlag ( const Project& project_, - const Module* module_, - const XMLElement& compilerFlagNode ) - : project(project_), - module(module_), - node(compilerFlagNode) -{ - Initialize(); -} - -CompilerFlag::~CompilerFlag () -{ -} - -void -CompilerFlag::Initialize () -{ - if (node.value.size () == 0) - { - throw XMLInvalidBuildFileException ( - node.location, - " is empty." ); - } - - flag = node.value; - - ParseCompilers ( node, "cc,cxx" ); -} - -void -CompilerFlag::ProcessXML () -{ -} diff --git a/reactos/tools/rbuild/configuration.cpp b/reactos/tools/rbuild/configuration.cpp deleted file mode 100644 index 222c982e30b..00000000000 --- a/reactos/tools/rbuild/configuration.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -Configuration::Configuration () -{ - Verbose = false; - CleanAsYouGo = false; - Dependencies = AutomaticDependencies; - CheckDependenciesForModuleOnly = false; - CompilationUnitsEnabled = true; - PrecompiledHeadersEnabled = true; - MakeHandlesInstallDirectories = false; - GenerateProxyMakefilesInSourceTree = false; - InstallFiles = false; - UseConfigurationInPath = false; - UseVSVersionInPath = false; - Compiler = GnuGcc; - Linker = GnuLd; -} - -Configuration::~Configuration () -{ -} diff --git a/reactos/tools/rbuild/define.cpp b/reactos/tools/rbuild/define.cpp deleted file mode 100644 index 13ee819983f..00000000000 --- a/reactos/tools/rbuild/define.cpp +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -Define::Define ( const Project& project, - const XMLElement& defineNode ) - : project(project), - module(NULL), - node(&defineNode) -{ - Initialize(); -} - -Define::Define ( const Project& project, - const Module* module, - const XMLElement& defineNode ) - : project(project), - module(module), - node(&defineNode) -{ - Initialize(); -} - -Define::Define ( const Project& project, - const Module* module, - const std::string& name_, - const std::string& backend_, - bool redefine_) - : project(project), - module(module), - node(NULL) -{ - name = name_; - value = ""; - backend = backend_; - redefine = redefine_; -} - -Define::~Define () -{ -// if ( node ) -// delete node; -// if ( module ) -// delete module; -} - -void -Define::Initialize() -{ - redefine = node->name == "redefine"; - - const XMLAttribute* att = node->GetAttribute ( "name", true ); - - att = node->GetAttribute ( "name", true ); - assert(att); - - size_t name_len = att->value.find ( '(' ); - - name = att->value.substr ( 0, name_len ); - - if ( name_len != std::string::npos ) - arguments = att->value.substr ( att->value.find ( '(' ) ); - - value = node->value; - - att = node->GetAttribute ( "backend", false ); - if ( att ) - backend = att->value; - - ParseCompilers ( *node, "cpp" ); -} - -void -Define::ProcessXML() -{ -} diff --git a/reactos/tools/rbuild/directory.cpp b/reactos/tools/rbuild/directory.cpp deleted file mode 100644 index 9e4ed41b179..00000000000 --- a/reactos/tools/rbuild/directory.cpp +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" -#ifdef _MSC_VER -#include -#else -#include -#endif//_MSC_VER - -#ifdef WIN32 -#define MKDIR(s) mkdir(s) -#else -#define MKDIR(s) mkdir(s, 0755) -#endif - -using std::string; -using std::vector; - -Directory::Directory ( const string& name_ ) - : name(name_) -{ - size_t pos = name.find_first_of ( "$:" ); - if ( pos != string::npos ) - { - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory name '%s'", - name.c_str() ); - } - - const char* p = strpbrk ( name_.c_str (), "/\\" ); - if ( name_.c_str () == p ) - { - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid relative path '%s'", - name_.c_str () ); - } - - if ( p ) - { - name.erase ( p - name_.c_str ()); - Add ( p + 1 ); - } -} - -void -Directory::Add ( const char* subdir ) -{ - size_t i; - string s1 = string ( subdir ); - if ( ( i = s1.find ( '$' ) ) != string::npos ) - { - throw InvalidOperationException ( __FILE__, - __LINE__, - "No environment variables can be used here. Path was %s", - subdir ); - } - - const char* p = strpbrk ( subdir, "/\\" ); - if ( subdir == p || ( *subdir && subdir[1] == ':' ) ) - { - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid relative path '%s'", - subdir ); - } - - if ( !p ) - p = subdir + strlen(subdir); - string s ( subdir, p-subdir ); - if ( subdirs.find(s) == subdirs.end() ) - subdirs[s] = new Directory(s); - if ( *p && *++p ) - subdirs[s]->Add ( p ); -} - -bool -Directory::mkdir_p ( const char* path ) -{ -#ifndef _MSC_VER - DIR *directory; - directory = opendir ( path ); - if ( directory != NULL ) - { - closedir ( directory ); - return false; - } -#endif//_MSC_VER - - if ( MKDIR ( path ) != 0 ) - { -#ifdef _MSC_VER - if ( errno == EEXIST ) - return false; -#endif//_MSC_VER - throw AccessDeniedException ( string ( path ) ); - } - return true; -} - -bool -Directory::CreateDirectory ( const string& path ) -{ - size_t index = 0; - size_t nextIndex; - if ( isalpha ( path[0] ) && path[1] == ':' && path[2] == cSep ) - { - nextIndex = path.find ( cSep, 3); - index = path.find ( cSep ); - } - else - nextIndex = path.find ( cSep ); - - bool directoryWasCreated = false; - while ( nextIndex != string::npos ) - { - nextIndex = path.find ( cSep, index + 1 ); - directoryWasCreated = mkdir_p ( path.substr ( 0, nextIndex ).c_str () ); - index = nextIndex; - } - return directoryWasCreated; -} - -void -Directory::GenerateTree ( DirectoryLocation root, - bool verbose ) -{ - switch ( root ) - { - case IntermediateDirectory: - return GenerateTree ( Environment::GetIntermediatePath (), verbose ); - case OutputDirectory: - return GenerateTree ( Environment::GetOutputPath (), verbose ); - case InstallDirectory: - return GenerateTree ( Environment::GetInstallPath (), verbose ); - default: - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %d.", - root ); - } -} - -void -Directory::GenerateTree ( const string& parent, - bool verbose ) -{ - string path; - - if ( parent.size () > 0 ) - { - if ( name.size () > 0 ) - path = parent + sSep + name; - else - path = parent; - if ( CreateDirectory ( path ) && verbose ) - printf ( "Created %s\n", path.c_str () ); - } - else - path = name; - - for ( directory_map::iterator i = subdirs.begin (); - i != subdirs.end (); - ++i ) - { - i->second->GenerateTree ( path, verbose ); - } -} - -string -Directory::EscapeSpaces ( const string& path ) -{ - string newpath; - const char* p = &path[0]; - while ( *p != 0 ) - { - if ( *p == ' ' ) - newpath = newpath + "\\ "; - else - newpath = newpath + *p; - p++; - } - return newpath; -} - -void -Directory::CreateRule ( FILE* f, - const string& parent ) -{ - string path; - string escapedName = EscapeSpaces ( name ); - - if ( escapedName.size() > 0 ) - { - if ( ! (escapedName == "tools" && - ( parent == "$(OUTPUT)" || parent == "$(INTERMEDIATE)" ) ) ) - { - fprintf ( f, - "%s%c%s: | %s\n", - parent.c_str (), - cSep, - escapedName.c_str (), - parent.c_str () ); - - fprintf ( f, - "\t$(ECHO_MKDIR)\n" ); - - fprintf ( f, - "\t${mkdir} $@\n" ); - } - - path = parent + sSep + escapedName; - } - else - path = parent; - - for ( directory_map::iterator i = subdirs.begin(); - i != subdirs.end(); - ++i ) - { - i->second->CreateRule ( f, path ); - } -} - -Directory::~Directory() -{ - std::map::iterator theIterator; - for ( theIterator = subdirs.begin (); theIterator != subdirs.end (); theIterator++ ) - delete theIterator->second; -} diff --git a/reactos/tools/rbuild/doc/rbuild.dbk b/reactos/tools/rbuild/doc/rbuild.dbk deleted file mode 100644 index 692db206722..00000000000 --- a/reactos/tools/rbuild/doc/rbuild.dbk +++ /dev/null @@ -1,1809 +0,0 @@ - - - - ReactOS Build System Documentation - - - $Id$ - - - Casper - - Hornstrup - - - - Emanuele - - Aliberti - - - - 2005 - - - - - Building ReactOS - -
- Building ReactOS - - To generate GNU make makefiles and building ReactOS, do the - following: - - Go to the top-level reactos - directory; - - - - Run the command:mingw32-make - - This will start building ReactOS. - - - - To build a bootable CD, run the following command:mingw32-make bootcdThis - will create ReactOS.iso in the top-level - reactos directory. -
-
- - - How build directions are stored - - XML files are used throughout the ReactOS source tree to drive the - build system. - -
- Top-level XML Build File - - The top-level XML build file (ReactOS.rbuild) is - processed by rbuild. The following is an example of - how it could look like:<?xml version="1.0"?> -<!DOCTYPE project SYSTEM "tools/rbuild/project.dtd"> -<project name="ReactOS" makefile="Makefile.auto" xmlns:xi="http://www.w3.org/2001/XInclude"> - <xi:include href="config.rbuild"> - <xi:fallback> - <xi:include href="config.template.rbuild" /> - </xi:fallback> - </xi:include> - - <define name="_M_IX86" /> - <if property="DBG" value="1"> - <define name="DBG" value="1" /> - <property name="DBG_OR_KDBG" value="true" /> - </if> - - <include base="ReactOS">include</include> - - <directory name="boot"> - <xi:include href="boot/boot.rbuild" /> - </directory> - - <module name="bootcd" type="iso"> - </module> -</project> -
- -
- XInclude - - XML files used by rbuild are modular and use - XInclude to include other chunks of XML in the top-level - ReactOS.rbuild file. The namespace used by XInclude is - xi. - -
- xi:include - - It is possible to split an XML build file over several files. - The include element in the xi namespace is used to - accomplish this. - -
- Syntax - - <xi:include href="config.rbuild"> - <xi:fallback> - <xi:include href="config.template.rbuild" /> - </xi:fallback> -</xi:include> -
- -
- Attributes - - - - href - - - Name of XML build file to include. The filename is - relative to the location of the current XML build - file. - - - -
- -
- Content - - None. -
- -
- Children - - xi:fallback. -
-
- -
- xi:fallback - - This element is used to provide the name of an alternate file - that is to be included if the first include file did not - exists. - -
- Syntax - - <xi:fallback> - <xi:include href="config.template.rbuild" /> -</xi:fallback> -
- -
- Attributes - - None. -
- -
- Content - - None. -
- -
- Parents - - xi:include. -
- -
- Children - - xi:include. -
-
-
- -
- Element reference - -
- Bootstrap element - - A bootstrap element specifies that the generated file should be - put on the bootable CD as a bootstrap file. - -
- Syntax - - <bootstrap base="reactos" nameoncd="halmp.dll" /> -
- -
- Attributes - - - - base - - - Put file in this directory on the bootable CD. This - attribute is optional. - - - - - nameoncd - - - Name of file on the bootable CD. This attribute is - optional. - - - -
- -
- Content - - None. -
- -
- Parents - - module. -
- -
- Children - - None. -
-
- -
- CDFile element - - A cdfile element specifies the name of a file that is to be put - on the bootable CD. - -
- Syntax - - <cdfile base="reactos" nameoncd="ReadMe.txt">ReadMe.txt</cdfile> -
- -
- Attributes - - - - base - - - Put file in this directory on the bootable CD. This - attribute is optional. - - - - - nameoncd - - - Name of file on the bootable CD. This attribute is - optional. - - - -
- -
- Content - - Name of file. -
- -
- Children - - None. -
-
- -
- Compilerflag element - - A compilerflag element specifies additional flags to be bassed - to the compiler. - -
- Syntax - - <compilerflags>-Wpointer-arith</compilerflag> -
- -
- Attributes. - - None. -
- -
- Content - - The compiler flags. -
- -
- Parents - - if, project. -
- -
- Children - - None. -
-
- -
- Component element - - A component element specifies that imports from a library are to - be stubbed so tests can be run without actually calling the functions - in the library. This element can only be used for modules of type - test. - -
- Syntax - - <component name="ntdll.dll"> - ... -</component> -
- -
- Attributes - - - - name - - - Name of library. - - - -
- -
- Content - - None. -
- -
- Children - - symbol. -
-
- -
- Define element - - A define element specifies the name and (optionally) value of a - define for the C/C++ compiler and resource compiler. - -
- Syntax - - <define name="WINVER">0x501</define> -
- -
- Attributes - - - - name - - - Name of define. - - - -
- -
- Content - - Value of define. The value is optional. -
- -
- Parents - - project, module. -
- -
- Children - - None. -
-
- -
- Dependency element - - A dependency element specifies the name of a module (usually of - type buildtool) that is to be processed before the current - module. - -
- Syntax - - <dependency>OtherModule</dependency> -
- -
- Attributes - - None. -
- -
- Content - - Name of module. -
- -
- Children - - None. -
-
- -
- Directory element - - A directory element specifies the name of a subdirectory. - -
- Syntax - - <directory name="MyDirectory"> - ... -</directory> -
- -
- Attributes - - - - name - - - Name of directory. - - - -
- -
- Content - - None. -
- -
- Parents - - directory, if, project. -
- -
- Children - - cdfile, directory, file, if, pch, property. -
-
- -
- File element - - A file element specifies the name of a file that is to be - processed. - -
- Syntax - - <file>MyFile.c</file> -
- -
- Attributes - - None. -
- -
- Content - - Name of file. -
- -
- Parents - - directory, module. -
- -
- Children - - None. -
-
- -
- Group element - - A group element's purpose is grouping subelements. - -
- Syntax - - <group> - <file>i386-dis.c</file> - <file>kdb_help.S</file> - <file>longjmp.S</file> - <file>setjmp.S</file> -</group> -
- -
- Attributes - - None. -
- -
- Content - - None. -
- -
- Parents - - if. -
- -
- Children - - file. -
-
- -
- If element - - An if element allows for conditional processing of other - elements. - -
- Syntax - - <if property="DBG" value="1"> - ... -</if> -
- -
- Attributes - - - - property - - - Name of the property that is to be evaluated. - - - - - value - - - Value to compare to the value of the property. If the - property has the specified value, then the subelements are - processed. - - - -
- -
- Content - - None. -
- -
- Parents - - project, directory. -
- -
- Children - - compilerflag, - define, directory, file, if, include, property. -
-
- -
- Importlibrary element - - An importlibrary element specifies that an import library should - be generated which other modules can use to link with the current - module. - -
- Syntax - - <importlibrary definition="MyModule.def" /> -
- -
- Attributes - - - - definition - - - Filename of definition file - (.def) used to generate the import - library. The filename is relative to the current - module. - - - -
- -
- Content - - None. -
- -
- Parents - - module. -
- -
- Children - - None. -
-
- -
- Include element - - An include element specifies an include directory for the C/C++ - compiler and resource compiler. - -
- Syntax - - <include base="MyLibraryModule">include</include> -
- -
- Attributes - - - - base - - - Module or project which the value of this element is - relative to. This attribute is optional. If left out, the - include directory is relative to the position of the - top-level XML build file. - - - -
- -
- Content - - Relative include directory. -
- -
- Parents - - project, module. -
- -
- Children - - None. -
-
- -
- Input element - - An input element specifies a group of filenames that is to be - passed as parameters to a build tool. Input filename parameters are - located after output filename parameters on the command line. - -
- Syntax - - <input> - ... -</input> -
- -
- Attributes - - None. -
- -
- Content - - None. -
- -
- Parents - - invoke. -
- -
- Children - - inputfile. -
-
- -
- Inputfile element - - An inputfile element specifies a filename that is to be passed - as a parameter to a build tool. - -
- Syntax - - <inputfile>ntoskrnl.mc</inputfile> -
- -
- Attributes - - - - switches - - - Switches that is passed as parameters just before the - filename. This attribute is optional. - - - -
- -
- Content - - Name of file that is to be passed as a parameter to the build - tool. -
- -
- Parents - - input. -
- -
- Children - - None. -
-
- -
- Installfile element - - An installfile element specifies the name of a file that is to - be installed when using 'make install'. - -
- Syntax - - <installfile base="reactos" newname="ReadMe.txt">ReadMe.txt</installfile> -
- -
- Attributes - - - - base - - - Put file in this directory within the install - directory. This attribute is optional. - - - - - newname - - - Name of file within the install directory. This - attribute is optional. - - - -
- -
- Content - - Name of file. -
- -
- Children - - None. -
-
- -
- Invoke element - - An invoke element specifies the name of a module which is to be - executed before the current module is processed. - -
- Syntax - - <invoke module="wmc"> - <input> - <inputfile>ntoskrnl.mc</inputfile> - </input> - <output> - <outputfile switches="-H">../include/reactos/bugcodes.h</outputfile> - <outputfile switches="-o">bugcodes.rc</outputfile> - </output> -</invoke> -
- -
- Attributes - - - - module - - - Name of the module to execute. - - - -
- -
- Content - - None. -
- -
- Children - - input, output. -
-
- -
- Library element - - A library element specifies the name of another module which is - to be linked with the current module. - -
- Syntax - - <library>MyLibraryModule</library> -
- -
- Attributes - - None.section -
- -
- Parents - - module. -
- -
- Children - - None. -
-
- -
- Linkerflag element - - A likerflag element specifies flags to be passed to the linker - tool. - -
- Syntax - - <linkerflag>-lgcc</linkerflag> -
- -
- Attributes - - None. -
- -
- Content - - The switches to pass to the linker. -
- -
- Parents - - module. -
- -
- Children - - None. -
-
- -
- Module element - - There can be zero or more modules per XML build file. - -
- Syntax - - <module if="${MP}" ifnot="${MP}" name="msvcrt" type="win32dll" extension=".dll" entrypoint="_DllMain@12" baseaddress="0x70000000" mangledsymbols="true" installbase="system32" installname="msvcrt.dll" usewrc="false" allowwarnings="true" aliasof="module1"> - ... -</module> -
- -
- Attributes - - - - if - - - If the value is 1, then the module is enabled, - otherwise it is disabled. A disabled module is not - processed. - - - - - ifnot - - - If the value is 1, then the module is disabled, - otherwise it is enabled. A disabled module is not - processed. - - - - - name - - - Name of the module. Also the base name of the - generated file if such file is generated for the particular - module type. - - - - - type - - - Type of module. See below for an explanation of module - types. The module type determines the - actions that is to be carried out to process the module. The - defined module types are seen - below: - - - Module Types - - - - - Value - - Output name suffix - - Entrypoint - - Baseaddress - - Mangledsymbols - - Description - - - - - - buildtool - - - - - .exe (Windows) - - none (Linux) - - - - - - - - - - - - - - Builds a tool that can be run (invoked) when - building ReactOS. - - - - staticlibrary - - .a - - - - - - - - - - - Builds a static library containing object - files that can be linked together with other - modules. - - - - objectlibrary - - .o - - - - - - - - - - - Builds object files that can be linked - together with other modules. - - - - kernel - - .exe - - _NtProcessStartup - - - - - - - - Builds - ntoskrnl.exe. - - - - kernelmodedll - - .dll - - _DriverEntry@8 - - - - - - - - Builds a kernel-mode DLL. - - - - kernelmodedriver - - .sys - - _DriverEntry@8 - - - - - - - - Builds a kernel-mode driver. - - - - nativecui - - .exe - - _NtProcessStartup - - - - - - - - Build a native NT/ROS program (no enviroment - subsystem required to run). - - - - nativedll - - .dll - - _DllMainCRTStartup@12 - - - - - - - - Builds a native DLL. - - - - win32dll - - .dll - - _DllMain@12 - - - - - - - - Builds a Win32 DLL. - - - - win32cui - - .exe - - _mainCRTStartup - - - - - - - - Builds a Win32 console executable. - - - - win32gui - - .exe - - _WinMainCRTStartup - - - - - - - - Builds a Win32 GUI executable. - - - - bootloader - - - - - - - - - - - - - - Builds a bootloader. - - - - bootsector - - - - - - - - - - - - - - Builds one or more bootsector - binaries. - - - - iso - - - - - - - - - - - -. - - Builds a bootable CD. - - - - test - - .exe - - _mainCRTStartup - - - - - - - - Builds a testsuite. - - - - rpcserver - - .o - - - - - - - - - - - Generates and builds server code for an RPC - interface. - - - - rpcclient - - .o - - - - - - - - - - - Generates and builds client code for an RPC - interface. - - - - alias - - - - - - - - - - - - - - Module is an alias for another module. This - module type is the only module type for which the - aliasof attribute is applicable. Only the module - install functionality is aliased. - - - -
-
-
- - - extension - - - Extension of the generated file if such file is - generated for the particular module type. - - - - - entrypoint - - - Entrypoint symbol of the generated file if such file - is generated for the particular module type. - - - - - baseaddress - - - Base address of the generated file if such file is - generated for the particular module type. - - - - - mangledsymbols - - - Controls wether or not to pass --kill-at to dlltool. - If this attribute has the value false then --kill-at is - passed to dlltool. If the value is true, then --kill-at is - not passed to dlltool. If the generated file exports C++ - classes then this need to be true. - - - - - installbase - - - Base directory of the generated file in the - installation directory. This attribute is optional. - - - - - installname - - - Name of generated file in the installation directory. - This attribute is optional, but if not specified, the - generated file is not copied to the installation - directory. - - - - - usewrc - - - Use WRC to compile resources if true. If false, - windres is used. This attribute is optional. If not - specified, WRC will be used. - - - - - allowwarnings - - - Error out if false and at least one warning is emitted - during building of this module. This attribute is optional. - If not specified, it is assumed to be false. - - - - - aliasof - - - Name of module that is aliased. - - -
-
- -
- Content - - None. -
- -
- Parents - - project, directory. -
- -
- Children - - bootstrap, component, define, dependency, directory, file, if, importlibrary, include, invoke, library, linkerflag, property. -
-
- -
- Output element - - An output element specifies a group of filenames that is to be - passed as parameters to a build tool. Output filename parameters are - located before input filename parameters on the command line. - -
- Syntax - - <output> - ... -</output> -
- -
- Attributes - - None. -
- -
- Content - - None. -
- -
- Parents - - invoke -
- -
- Children - - outputfile. -
-
- -
- Outputfile element - - An outputfile element specifies a filename that is to be passed - as a parameter to a build tool. - -
- Syntax - - <outputfile switches="-H">../include/reactos/bugcodes.h</outputfile> -
- -
- Attributes - - - - switches - - - Switches that are passed as parameters just before the - filename. This attribute is optional. - - - -
- -
- Content - - Name of file that is to be passed as a parameter to the build - tool. -
- -
- Parents - - output. -
- -
- Children - - None. -
-
- -
- Pch element - - A pch element specifies a GCC precompiled header file. - -
- Syntax - - <pch>ntdll.h</pch> -
- -
- Attributes - - None. -
- -
- Content - - Name of the include file to be precompiled. -
- -
- Parents - - directory. -
- -
- Children - - None. -
-
- -
- Project element - - There can be one project per - top-level XML build file. A project can only be defined in a top-level - XML build file. - -
- Syntax - - <project name="ReactOS" makefile="Makefile.auto" xmlns:xi="http://www.w3.org/2001/XInclude"> - ... -</project> -
- -
- Attributes - - - - name - - - Name of the project. - - - - - makefile - - - Filename of the GNU makefile that is to be - created. - - - -
- -
- Content - - None. -
- -
- Parents - - None. This is the top-level (root) element of - ReactOS.rbuild file. -
- -
- Children - - define, directory, if, include, module, property. -
-
- -
- Property element - - A property element specifies the name and value of a property - that can be used for conditional processing of the XML build - file. - -
- Syntax - - <property name="mypropertyname" value="mypropertyvalue" /> -
- -
- Attributes - - - - name - - - Name of property. - - - - - value - - - Value of property. - - - -
- -
- Content - - None. -
- -
- Parents - - -
- -
- Children - - None. -
-
- -
- Symbol element - - A symbol element specifies an imported function from a library - that is to be stubbed so tests can be run without actually calling the - function in the library. - -
- Syntax - - <symbol newname="RtlAllocateHeap">HeapAlloc@12</symbol> -
- -
- Attributes - - - - newname - - - New name of symbol. This attribute is optional. - - - -
- -
- Content - - Name of symbol. -
- -
- Children - - None. -
-
-
-
- - - Bibliography - - <ulink - url="http://www.w3.org/TR/2004/REC-xml-20040204/">Extensible Markup - Language (XML) 1.0 (Third Edition)</ulink>W3C - Recommendation - François - - Yergeau - - Tim - - Bray - - Jean - - Paoli - - C. M. - - Sperberg-McQueen - - Eve - - Maler - 4th February 2004 - - <ulink - url="http://www.w3.org/TR/2004/REC-xinclude-20041220/">XML Inclusions - (XInclude) Version 1.0 </ulink>W3C - Recommendation - Jonathan - - Marsh - - - Microsoft - - - jmarsh@microsoft.com - - David - - Orchard - - - BEA Systems - - - dorchard@bea.com - 20 December 2004 - -
\ No newline at end of file diff --git a/reactos/tools/rbuild/doc/rbuild.txt b/reactos/tools/rbuild/doc/rbuild.txt deleted file mode 100644 index ffe0a711a12..00000000000 --- a/reactos/tools/rbuild/doc/rbuild.txt +++ /dev/null @@ -1,538 +0,0 @@ -ReactOS Build System Documentation -================================== - -Building ReactOS ----------------- -To generate GNU make makefiles and building ReactOS do the following: - - 1) Go to the top-level reactos directory - 2) Run the command: mingw32-make - -This will start building ReactOS. - -To build a bootable CD run the following command: - - mingw32-make bootcd - -This will create ReactOS.iso in the top-level reactos directory. - - -Top-level XML Build File ------------------------- -The top-level xml build file (ReactOS.rbuild) is processed by rbuild. The following is an example of how it could look like: - - - - - - - - - - - - - - - - - include - - - - - - - - - - -xi:include ----------- -It is possible to split an xml build file over several files. The include element in the xi namespace is used to accomplish this. - -Syntax: - - - - - - -Attributes: - href - Name of xml build file to include. The filename is relative to the location of the current xml build file. - -Value: - None. - -Elements: - xi:fallback - - -xi:fallback ------------ -This element is used to provide the name of an alternate file that is to be included if the first include file did not exists. - -Attributes: - None. - -Value: - None. - -Elements: - xi:include. - - -Project element ---------------- -There can be one project per top-level XML build file. A project can only be defined in a top-level xml build file. - -Syntax: - - ... - - -Attributes: - name - Name of the project. - makefile - Filename of the GNU makefile that is to be created. - -Value: - None. - -Elements: - define, directory, if, include, module, property - - -Module element --------------- -There can be zero or more modules per xml build file. - -Syntax: - - ... - - -Attributes: - if - If the value is 1, then the module is enabled, otherwise it is disabled. A disabled module is not processed. - ifnot - If the value is 1, then the module is disabled, otherwise it is enabled. A disabled module is not processed. - name - Name of the module. Also the base name of the generated file if such file is generated for the particular module type. - type - Type of module. See below for an explanation of module types. - extension - Extension of the generated file if such file is generated for the particular module type. - entrypoint - Entrypoint symbol of the generated file if such file is generated for the particular module type. - baseaddress - Base address of the generated file if such file is generated for the particular module type. - mangledsymbols - Controls wether or not to pass --kill-at to dlltool. If this attribute has the value false then --kill-at is passed to dlltool. If the value is true, then --kill-at is not passed to dlltool. If the generated file exports C++ classes then this need to be true. - installbase - Base directory of the generated file in the installation directory. This attribute is optional. - installname - Name of generated file in the installation directory. This attribute is optional, but if not specified, the generated file is not copied to the installation directory. - usewrc - Use WRC to compile resources if true. If false, windres is used. This attribute is optional. If not specified, WRC will be used. - allowwarnings - Error out if false and at least one warning is emitted during building of this module. This attribute is optional. If not specified, it is assumed to be false. - aliasof - Name of module that is aliased. -Value: - None. - -Elements: - autoregister, bootstrap, component, compilationunit, define, dependency, directory, file, if, importlibrary, include, invoke, library, linkerscript, property. - - -Module types ------------- -The module type determines the actions that is to be carried out to process the module. The defined module types are seen below: - buildtool - Builds a tool that can be run (invoked) when building ReactOS. Default extension is .exe when building on Windows and nothing when building on Linux. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - staticlibrary - Builds a static library containing object files that can be linked together with other modules. Default extension is .a. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - objectlibrary - Builds object files that can be linked together with other modules. Default extension is .o. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - kernel - Builds ntoskrnl.exe. Default extension is .exe. Default entrypoint is _NtProcessStartup. - kernelmodedll - Builds a kernel-mode DLL. Default extension is .dll. Default entrypoint is _DriverEntry@8. - kernelmodedriver - Builds a kernel-mode driver. Default extension is .sys. Default entrypoint is _DriverEntry@8. - nativedll - Builds a native DLL. Default extension is .dll. Default entrypoint is _DllMainCRTStartup@12. - win32dll - Builds a Win32 DLL. Default extension is .dll. Default entrypoint is _DllMain@12. - win32cui - Builds a Win32 console executable. Default extension is .exe. Default entrypoint is _mainCRTStartup. The baseaddress module attribute is not applicable for this module type. - win32gui - Builds a Win32 GUI executable. Default extension is .exe. Default entrypoint is _WinMainCRTStartup. The baseaddress module attribute is not applicable for this module type. - bootloader - Builds a bootloader. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - bootsector - Builds one or more bootsector binaries. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - iso - Builds a bootable CD. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - test - Builds a testsuite. Default extension is .exe. Default entrypoint is _mainCRTStartup. The baseaddress module attribute is not applicable for this module type. - rpcserver - Generates and builds server code for an RPC interface. Default extension is .o. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - rpcclient - Generates and builds client code for an RPC interface. Default extension is .o. The entrypoint, baseaddress, and mangledsymbols module attributes are not applicable for this module type. - alias - Module is an alias for another module. This module type is the only module type for which the aliasof attribute is applicable. Only the module install functionality is aliased. - - -Autoregister element --------------------- -An autoregister element specifies that the generated executable should be registered in the registry during second stage setup. - -Syntax: - - -Attributes: - infsection - Name of section in syssetup.inf. - type - Type of registration. Can be either DllRegisterServer, DllInstall, or Both. - -Value: - None. - -Elements: - None. - - -Bootstrap element ------------------ -A bootstrap element specifies that the generated file should be put on the bootable CD as a bootstrap file. - -Syntax: - - -Attributes: - installbase - Put file in this directory on the bootable CD. This attribute is optional. - nameoncd - Name of file on the bootable CD. This attribute is optional. - -Value: - None. - -Elements: - None. - - -CDFile element --------------- -A cdfile element specifies the name of a file that is to be put on the bootable CD. - -Syntax: - ReadMe.txt - -Attributes: - installbase - Put file in this directory on the bootable CD. This attribute is optional. - nameoncd - Name of file on the bootable CD. This attribute is optional. - -Value: - Name of file. - -Elements: - None. - - -CompilationUnit element ------------------------ -A compilationunit element specifies that one or more source code files are to be compiled as a single compilation unit. - -Syntax: - - ... - - -Attributes: - name - Name of generated source code file. - -Value: - None. - -Elements: - directory, file, if. - - -Component element ------------------ -A component element specifies that imports from a library are to be stubbed so tests can be run without actually calling the functions in the library. This element can only be used for modules of type test. - -Syntax: - - ... - - -Attributes: - name - Name of library. - -Value: - None. - -Elements: - Symbol. - - -Symbol element --------------- -A symbol element specifies an imported function from a library that is to be stubbed so tests can be run without actually calling the function in the library. - -Syntax: - HeapAlloc@12 - -Attributes: - newname - New name of symbol. This attribute is optional. - -Value: - Name of symbol. - -Elements: - None. - - -Define element --------------- -A define element specifies the name and (optionally) value of a define for the C/C++ compiler and resource compiler. - -Syntax: - 0x501 - -Attributes: - name - Name of define. - -Value: - Value of define. The value is optional. - -Elements: - None. - - -Dependency element ------------------- -A dependency element specifies the name of a module (usually of type buildtool) that is to be processed before the current module. - -Syntax: - OtherModule - -Attributes: - None. - -Value: - Name of module. - -Elements: - None. - - -Directory element ------------------ -A directory element specifies the name of a subdirectory. - -Syntax: - - ... - - -Attributes: - name - Name of directory. - -Value: - None. - -Elements: - cdfile, directory, file, if, property. - - -File element ------------- -A file element specifies the name of a file that is to be processed. - -Syntax: - MyFile.c - -Attributes: - None. - -Value: - Name of file. - -Elements: - None. - - -If element ----------- -An if element allows for conditional processing of other elements. - -Syntax: - - ... - - -Attributes: - property - Name of the property that is to be evaluated. - value - Value to compare to the value of the property. If the property has the specified value, then the subelements are processed. - -Value: - None. - -Elements: - compilationunit, compilerflag, define, directory, file, if, include, property. - - -Importlibrary element ---------------------- -An importlibrary element specifies that an import library should be generated which other modules can use to link with the current module. - -Syntax: - - -Attributes: - definition - Filename of definition file (.def) used to generate the import library. The filename is relative to the current module. - -Value: - None. - -Elements: - None. - - -Include element ---------------- -An include element specifies an include directory for the C/C++ compiler and resource compiler. - -Syntax: - include - -Attributes: - base - Module or project which the value of this element is relative to. This attribute is optional. If left out, the include directory is relative to the position of the top-level xml build file. - -Value: - Relative include directory. - -Elements: - None. - - -Installfile element -------------------- -An installfile element specifies the name of a file that is to be installed when using 'make install'. - -Syntax: - ReadMe.txt - -Attributes: - installbase - Put file in this directory within the install directory. This attribute is optional. - newname - Name of file within the install directory. This attribute is optional. - -Value: - Name of file. - -Elements: - None. - - -Invoke element --------------- -An invoke element specifies the name of a module which is to be executed before the current module is processed. - -Syntax: - - - ntoskrnl.mc - - - ../include/reactos/bugcodes.h - bugcodes.rc - - - -Attributes: - None. - -Value: - Name of the module to execute. - -Elements: - input, output. - - -Input element -------------- -An input element specifies a group of filenames that is to be passed as parameters to a build tool. Input filename parameters are located after output filename parameters on the command line. - -Attributes: - None. - -Value: - None. - -Elements: - inputfile. - - -Inputfile element ------------------ -An inputfile element specifies a filename that is to be passed as a parameter to a build tool. - -Attributes: - switches - Switches that is passed as parameters just before the filename. This attribute is optional. - -Value: - Name of file that is to be passed as a parameter to the build tool. - -Elements: - None. - - -Output element --------------- -An output element specifies a group of filenames that is to be passed as parameters to a build tool. Output filename parameters are located before input filename parameters on the command line. - -Attributes: - None. - -Value: - None. - -Elements: - outputfile. - - -Outputfile element ------------------- -An outputfile element specifies a filename that is to be passed as a parameter to a build tool. - -Attributes: - switches - Switches that is passed as parameters just before the filename. This attribute is optional. - -Value: - Name of file that is to be passed as a parameter to the build tool. - -Elements: - None. - - -Library -------- -An importlibrary element specifies the name of another module which is to be linked with the current module. - -Syntax: - MyLibraryModule - -Attributes: - None. - -Value: - Name of the module to link with. - -Elements: - None. - - -Linkerscript ------------- -A linkerscript element specifies the filename of a binutils linker script. - -Syntax: - MyLinkerScript - -Attributes: - base - Module which the value of this element is relative to. This attribute is optional. If left out, the linker script is relative to the position of the top-level xml build file. - -Value: - Relative linker script filename. - -Elements: - None. - - -Property --------- -A property element specifies the name and value of a property that can be used for conditional processing of the xml build file. - -Syntax: - - -Attributes: - name - Name of property. - value - Value of property. - -Value: - None. - -Elements: - None. diff --git a/reactos/tools/rbuild/empty.def b/reactos/tools/rbuild/empty.def deleted file mode 100644 index aabd2247c04..00000000000 --- a/reactos/tools/rbuild/empty.def +++ /dev/null @@ -1 +0,0 @@ -EXPORTS diff --git a/reactos/tools/rbuild/exception.cpp b/reactos/tools/rbuild/exception.cpp deleted file mode 100644 index 4c6f4611842..00000000000 --- a/reactos/tools/rbuild/exception.cpp +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include "rbuild.h" - -using std::string; - -Exception::Exception () -{ -} - -Exception::Exception ( const string& message ) -{ - _e = message; -} - -Exception::Exception ( const char* format, ...) -{ - va_list args; - va_start ( args, format); - _e = ssvprintf ( format, args); - va_end ( args ); -} - -void Exception::SetMessage ( const char* format, ...) -{ - va_list args; - va_start ( args, format); - _e = ssvprintf ( format, args); - va_end ( args ); -} - -void Exception::SetMessageV ( const char* message, va_list args ) -{ - _e = ssvprintf ( message, args); -} - - -MissingArgumentException::MissingArgumentException ( const string& argument ) - : Exception ( "Argument '%s' is missing", - argument.c_str () ) -{ -} - - -OutOfMemoryException::OutOfMemoryException () - : Exception ( "Out of memory" ) -{ -} - - -InvalidOperationException::InvalidOperationException ( - const char* filename, - const int linenumber ) - : Exception ( "%s:%d", filename, linenumber ) -{ -} - -InvalidDateException::InvalidDateException ( const string& filename) - : Exception ( "File '%s' has an invalid date.", - filename.c_str() ) -{ - Filename = filename; -} - -InvalidOperationException::InvalidOperationException ( - const char* filename, - const int linenumber, - const char* message, - ... ) -{ - string errorMessage; - va_list args; - va_start ( args, message ); - errorMessage = ssvprintf ( message, args ); - va_end ( args ); - SetMessage ( - "%s:%d %s", - filename, - linenumber, - errorMessage.c_str () ); -} - - -FileNotFoundException::FileNotFoundException ( const string& filename ) - : Exception ( "File '%s' not found.", - filename.c_str() ) -{ - Filename = filename; -} - - -AccessDeniedException::AccessDeniedException ( const string& filename) - : Exception ( "Access denied to file or directory '%s'.", - filename.c_str() ) -{ - Filename = filename; -} - - -RequiredAttributeNotFoundException::RequiredAttributeNotFoundException ( - const string& location, - const string& attributeName, - const string& elementName ) - : XMLInvalidBuildFileException ( - location, - "Required attribute '%s' not found on '%s'.", - attributeName.c_str (), - elementName.c_str ()) -{ -} - -InvalidAttributeValueException::InvalidAttributeValueException ( - const string& location, - const string& name, - const string& value ) - : XMLInvalidBuildFileException ( - location, - "Attribute '%s' has an invalid value '%s'.", - name.c_str (), - value.c_str () ) -{ - -} - -BackendNameConflictException::BackendNameConflictException ( const string& name ) - : Exception ( "Backend name conflict: '%s'", - name.c_str() ) -{ -} - - -UnknownBackendException::UnknownBackendException ( const string& name ) - : Exception ( "Unknown Backend requested: '%s'", - name.c_str() ) -{ -} - - -UnknownModuleTypeException::UnknownModuleTypeException ( const string& location, - int moduletype ) - : XMLInvalidBuildFileException ( - location, - "module type requested: %i", - moduletype ) -{ -} - - -InvocationFailedException::InvocationFailedException ( const std::string& command, - int exitcode ) - : Exception ( "Failed to execute '%s' (exit code %d)", - command.c_str (), - exitcode ) -{ - Command = command; - ExitCode = exitcode; -} - - -UnsupportedBuildToolException::UnsupportedBuildToolException ( const std::string& buildTool, - const std::string& version ) - : Exception ( "Build tool '%s' with version '%s' is unsupported. Please upgrade your build tool.", - buildTool.c_str (), - version.c_str () ) -{ - BuildTool = buildTool; - Version = version; -} diff --git a/reactos/tools/rbuild/exception.h b/reactos/tools/rbuild/exception.h deleted file mode 100644 index c09528553f5..00000000000 --- a/reactos/tools/rbuild/exception.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include "pch.h" -#include "xml.h" - -class Exception -{ -public: - Exception ( const std::string& message ); - Exception ( const char* format, - ...); - const std::string& operator *() { return _e; } - -protected: - Exception (); - void SetMessage ( const char* message, ... ); - void SetMessageV ( const char* message, va_list args ); - -private: - std::string _e; -}; - - -class MissingArgumentException : public Exception -{ -public: - MissingArgumentException ( const std::string& argument ); -}; - - -class InvalidOperationException : public Exception -{ -public: - InvalidOperationException ( const char* filename, - const int linenumber); - InvalidOperationException ( const char* filename, - const int linenumber, - const char* message, - ... ); -}; - - -class OutOfMemoryException : public Exception -{ -public: - OutOfMemoryException (); -}; - - -class FileNotFoundException : public Exception -{ -public: - FileNotFoundException ( const std::string& filename ); - std::string Filename; -}; - - -class AccessDeniedException : public Exception -{ -public: - AccessDeniedException ( const std::string& filename ); - std::string Filename; -}; - -class InvalidDateException : public Exception -{ -public: - InvalidDateException ( const std::string& filename ); - std::string Filename; -}; - -class RequiredAttributeNotFoundException : public XMLInvalidBuildFileException -{ -public: - RequiredAttributeNotFoundException ( const std::string& location, - const std::string& attributeName, - const std::string& elementName ); -}; - - -class InvalidAttributeValueException : public XMLInvalidBuildFileException -{ -public: - InvalidAttributeValueException ( const std::string& location, - const std::string& name, - const std::string& value ); -}; - - -class BackendNameConflictException : public Exception -{ -public: - BackendNameConflictException ( const std::string& name ); -}; - - -class UnknownBackendException : public Exception -{ -public: - UnknownBackendException ( const std::string& name ); -}; - -class UnknownModuleTypeException : public XMLInvalidBuildFileException -{ -public: - UnknownModuleTypeException ( const std::string& location, - int moduletype ); -}; - - -class InvocationFailedException : public Exception -{ -public: - InvocationFailedException ( const std::string& command, - int exitcode ); - std::string Command; - int ExitCode; -}; - - -class UnsupportedBuildToolException : public Exception -{ -public: - UnsupportedBuildToolException ( const std::string& buildtool, - const std::string& version ); - std::string BuildTool; - std::string Version; -}; diff --git a/reactos/tools/rbuild/filesupportcode.cpp b/reactos/tools/rbuild/filesupportcode.cpp deleted file mode 100644 index f247ad908f6..00000000000 --- a/reactos/tools/rbuild/filesupportcode.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; - -/* static */ void -FileSupportCode::WriteIfChanged ( char* outbuf, - const string& filename, - bool ignoreError ) -{ - FILE* out; - unsigned int end; - char* cmpbuf; - unsigned int stat; - - out = fopen ( filename.c_str (), "rb" ); - if ( out == NULL ) - { - out = fopen ( filename.c_str (), "wb" ); - if ( out == NULL ) - { - if ( ignoreError ) - return; - throw AccessDeniedException ( filename ); - } - fputs ( outbuf, out ); - fclose ( out ); - return; - } - - fseek ( out, 0, SEEK_END ); - end = ftell ( out ); - cmpbuf = (char*) malloc ( end ); - if ( cmpbuf == NULL ) - { - fclose ( out ); - throw OutOfMemoryException (); - } - - fseek ( out, 0, SEEK_SET ); - stat = fread ( cmpbuf, 1, end, out ); - if ( stat != end ) - { - free ( cmpbuf ); - fclose ( out ); - throw AccessDeniedException ( filename ); - } - if ( end == strlen ( outbuf ) && memcmp ( cmpbuf, outbuf, end ) == 0 ) - { - free ( cmpbuf ); - fclose ( out ); - return; - } - - free ( cmpbuf ); - fclose ( out ); - out = fopen ( filename.c_str (), "wb" ); - if ( out == NULL ) - { - throw AccessDeniedException ( filename ); - } - - stat = fwrite ( outbuf, 1, strlen ( outbuf ), out); - if ( strlen ( outbuf ) != stat ) - { - fclose ( out ); - throw AccessDeniedException ( filename ); - } - - fclose ( out ); -} diff --git a/reactos/tools/rbuild/global.cpp b/reactos/tools/rbuild/global.cpp deleted file mode 100644 index 088cf14c0ee..00000000000 --- a/reactos/tools/rbuild/global.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "rbuild.h" - -using std::string; -using std::vector; - -string ExePrefix; -string ExePostfix; -string sSep; -string sBadSep; -char cSep; -char cBadSep; - - -void -InitializeEnvironment () -{ - char *SepValue, *ExePostfixValue, *ExePrefixValue; - - SepValue = getenv ( "SEP" ); - if ( SepValue && ( 0 == strcmp ( SepValue, DEF_SSEP ) || 0 == strcmp ( SepValue, DEF_SBAD_SEP ) ) ) - { - cSep = SepValue[0]; - sSep = SepValue; - } - else - { - cSep = DEF_CSEP; - sSep = DEF_SSEP; - } - if ( cSep == DEF_CSEP ) - { - cBadSep = DEF_CBAD_SEP; - sBadSep = DEF_SBAD_SEP; - } - else - { - cBadSep = DEF_CSEP; - sBadSep = DEF_SSEP; - } - ExePostfixValue = getenv ( "EXEPOSTFIX" ); - ExePrefixValue = getenv ( "EXEPREFIX" ); - if ( ( ExePostfixValue == NULL || 0 == strlen ( ExePostfixValue ) ) && - ( ExePrefixValue == NULL || 0 == strlen ( ExePrefixValue ) ) ) - { - ExePostfix = DEF_EXEPOSTFIX; - ExePrefix = DEF_EXEPREFIX; - } - else - { - ExePostfix = ExePostfixValue ? ExePostfixValue : ""; - ExePrefix = ExePrefixValue ? ExePrefixValue : ""; - } -} diff --git a/reactos/tools/rbuild/include.cpp b/reactos/tools/rbuild/include.cpp deleted file mode 100644 index 699f8e4e332..00000000000 --- a/reactos/tools/rbuild/include.cpp +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -Include::Include ( const Project& project, - const XMLElement* includeNode ) - : directory ( NULL ), - project ( project ), - node ( includeNode ), - module ( NULL ) -{ - Initialize (); -} - -Include::Include ( const Project& project, - const XMLElement* includeNode, - const Module* module ) - : directory ( NULL ), - project ( project ), - node ( includeNode ), - module ( module ) -{ - Initialize (); -} - -Include::Include ( const Project& project, - DirectoryLocation root, - const std::string& relative_path ) - : project ( project ), - node ( NULL ) -{ - directory = new FileLocation ( root, relative_path, "" ); -} - -Include::~Include() -{ - if ( directory ) - delete directory; -} - -void -Include::ProcessXML () -{ - DirectoryLocation root = SourceDirectory; - const Module *base = module; - - string relative_path; - const XMLAttribute* att = node->GetAttribute ( "base", false ); - if ( att ) - { - if ( !module ) - throw XMLInvalidBuildFileException ( - node->location, - "'base' attribute illegal from global " ); - - if ( att->value == project.name ) - base = NULL; - else - { - base = project.LocateModule ( att->value ); - if ( !base ) - throw XMLInvalidBuildFileException ( - node->location, - " attribute 'base' references non-existant project or module '%s'", - att->value.c_str() ); - root = GetDefaultDirectoryTree ( base ); - } - } - - if ( base ) - { - relative_path = base->output->relative_path; - if ( node->value.length () > 0 && node->value != "." ) - relative_path += sSep + node->value; - } - else - relative_path = node->value; - - att = node->GetAttribute ( "root", false ); - if ( att ) - { - if ( att->value == "intermediate" ) - root = IntermediateDirectory; - else if ( att->value == "output" ) - root = OutputDirectory; - else - throw InvalidAttributeValueException ( node->location, - "root", - att->value ); - } - - directory = new FileLocation ( root, - relative_path, - "", - node ); -} - -DirectoryLocation -Include::GetDefaultDirectoryTree ( const Module* module ) const -{ - if ( module != NULL && - ( module->type == RpcServer || - module->type == RpcClient || - module->type == RpcProxy || - module->type == IdlHeader || - module->type == IdlInterface) ) - return IntermediateDirectory; - else - return SourceDirectory; -} - -void -Include::Initialize () -{ - ParseCompilers ( *node, "cpp" ); -} diff --git a/reactos/tools/rbuild/installfile.cpp b/reactos/tools/rbuild/installfile.cpp deleted file mode 100644 index 0083340b7b7..00000000000 --- a/reactos/tools/rbuild/installfile.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; - -InstallFile::~InstallFile() -{ - delete source; - delete target; -} - -InstallFile::InstallFile ( const Project& project, - const XMLElement& installfileNode, - const string& path ) - : XmlNode(project, installfileNode ) -{ - const XMLAttribute* base = node.GetAttribute ( "installbase", false ); - const XMLAttribute* newname = node.GetAttribute ( "newname", false ); - - DirectoryLocation source_directory = SourceDirectory; - const XMLAttribute* att = node.GetAttribute ( "root", false ); - if ( att != NULL) - { - if ( att->value == "intermediate" ) - source_directory = IntermediateDirectory; - else if ( att->value == "output" ) - source_directory = OutputDirectory; - else - { - throw InvalidAttributeValueException ( - node.location, - "root", - att->value ); - } - } - - source = new FileLocation ( source_directory, - path, - node.value, - &node ); - target = new FileLocation ( InstallDirectory, - base && base->value != "." - ? base->value - : "", - newname - ? newname->value - : node.value, - &node ); -} diff --git a/reactos/tools/rbuild/linkerflag.cpp b/reactos/tools/rbuild/linkerflag.cpp deleted file mode 100644 index a949401b1c6..00000000000 --- a/reactos/tools/rbuild/linkerflag.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -LinkerFlag::LinkerFlag ( const Project& project_, - const XMLElement& linkerFlagNode ) - : project(project_), - module(NULL), - node(linkerFlagNode) -{ - Initialize(); -} - -LinkerFlag::LinkerFlag ( const Project& project_, - const Module* module_, - const XMLElement& linkerFlagNode ) - : project(project_), - module(module_), - node(linkerFlagNode) -{ - Initialize(); -} - -LinkerFlag::~LinkerFlag () -{ -} - -void -LinkerFlag::Initialize () -{ -} - -void -LinkerFlag::ProcessXML () -{ - if ( node.value.size () == 0 ) - { - throw XMLInvalidBuildFileException ( - node.location, - " is empty." ); - } - flag = node.value; -} diff --git a/reactos/tools/rbuild/linkerscript.cpp b/reactos/tools/rbuild/linkerscript.cpp deleted file mode 100644 index 26b84d09c16..00000000000 --- a/reactos/tools/rbuild/linkerscript.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -LinkerScript::LinkerScript ( const XMLElement& node_, - const Module& module_, - const FileLocation *file_ ) - : node(node_), module(module_), file(file_) -{ -} - -LinkerScript::~LinkerScript () -{ - delete file; -} - -void -LinkerScript::ProcessXML() -{ -} diff --git a/reactos/tools/rbuild/makefile b/reactos/tools/rbuild/makefile deleted file mode 100644 index 58ea26d26e8..00000000000 --- a/reactos/tools/rbuild/makefile +++ /dev/null @@ -1,3 +0,0 @@ -TOP = ../.. -DEFAULT = rbuild -include $(TOP)/proxy.mak diff --git a/reactos/tools/rbuild/module.cpp b/reactos/tools/rbuild/module.cpp deleted file mode 100644 index f050640e68c..00000000000 --- a/reactos/tools/rbuild/module.cpp +++ /dev/null @@ -1,1981 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * Copyright (C) 2008 Hervé Poussineau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -string -Right ( const string& s, size_t n ) -{ - if ( n > s.size() ) - return s; - return string ( &s[s.size()-n] ); -} - -string -Replace ( const string& s, const string& find, const string& with ) -{ - string ret; - const char* p = s.c_str(); - while ( p ) - { - const char* p2 = strstr ( p, find.c_str() ); - if ( !p2 ) - break; - if ( p2 > p ) - ret += string ( p, p2-p ); - ret += with; - p = p2 + find.size(); - } - if ( *p ) - ret += p; - return ret; -} - -string -ChangeSeparator ( const string& s, - const char fromSeparator, - const char toSeparator ) -{ - string s2(s); - char* p = strchr ( &s2[0], fromSeparator ); - while ( p ) - { - *p++ = toSeparator; - p = strchr ( p, fromSeparator ); - } - return s2; -} - -string -FixSeparator ( const string& s ) -{ - return ChangeSeparator ( s, cBadSep, cSep ); -} - -string -FixSeparatorForSystemCommand ( const string& s ) -{ - string s2(s); - char* p = strchr ( &s2[0], DEF_CBAD_SEP ); - while ( p ) - { - *p++ = DEF_CSEP; - p = strchr ( p, DEF_CBAD_SEP ); - } - return s2; -} - -string -DosSeparator ( const string& s ) -{ - string s2(s); - char* p = strchr ( &s2[0], '/' ); - while ( p ) - { - *p++ = '\\'; - p = strchr ( p, '/' ); - } - return s2; -} - -string -ReplaceExtension ( - const string& filename, - const string& newExtension ) -{ - size_t index = filename.find_last_of ( '/' ); - if ( index == string::npos ) - index = 0; - size_t index2 = filename.find_last_of ( '\\' ); - if ( index2 != string::npos && index2 > index ) - index = index2; - string tmp = filename.substr( index /*, filename.size() - index*/ ); - size_t ext_index = tmp.find_last_of( '.' ); - if ( ext_index != string::npos ) - return filename.substr ( 0, index + ext_index ) + newExtension; - return filename + newExtension; -} - -string -GetSubPath ( - const Project& project, - const string& location, - const string& path, - const string& att_value ) -{ - if ( !att_value.size() ) - throw XMLInvalidBuildFileException ( - location, - " tag has empty 'name' attribute" ); - if ( strpbrk ( att_value.c_str (), "/\\?*:<>|" ) ) - throw XMLInvalidBuildFileException ( - location, - " tag has invalid characters in 'name' attribute" ); - if ( !path.size() ) - return att_value; - - return FixSeparator(path + cSep + att_value); -} - -string -GetExtension ( const string& filename ) -{ - size_t index = filename.find_last_of ( '/' ); - if (index == string::npos) index = 0; - string tmp = filename.substr( index, filename.size() - index ); - size_t ext_index = tmp.find_last_of( '.' ); - if (ext_index != string::npos) - return filename.substr ( index + ext_index, filename.size() ); - return ""; -} - -string -GetExtension ( const FileLocation& file ) -{ - return GetExtension ( file.name ); -} - -string -NormalizeFilename ( const string& filename ) -{ - if ( filename == "" ) - return ""; - Path path; - string normalizedPath = path.Fixup ( filename, true ); - string relativeNormalizedPath = path.RelativeFromWorkingDirectory ( normalizedPath ); - return FixSeparator ( relativeNormalizedPath ); -} - -bool -GetBooleanValue ( const string& value ) -{ - if ( value == "1" ) - return true; - else - return false; -} - -string -ToLower ( string filename ) -{ - for ( size_t i = 1; i < filename.length (); i++ ) - filename[i] = tolower ( filename[i] ); - return filename; -} - -IfableData::IfableData( ) - : asmFiles ( 0 ) -{ -} - -void IfableData::ExtractModules( std::map &modules ) -{ - size_t i; - for ( i = 0; i < this->modules.size (); i++ ) - modules.insert(std::make_pair(this->modules[i]->name, this->modules[i])); -} - -IfableData::~IfableData() -{ - size_t i; - for ( i = 0; i < includes.size (); i++ ) - delete includes[i]; - for ( i = 0; i < defines.size (); i++ ) - delete defines[i]; - for ( i = 0; i < libraries.size (); i++ ) - delete libraries[i]; - for ( std::map::const_iterator p = properties.begin(); p != properties.end(); ++ p ) - delete p->second; - for ( i = 0; i < compilerFlags.size (); i++ ) - delete compilerFlags[i]; - for ( i = 0; i < modules.size(); i++ ) - delete modules[i]; - for ( i = 0; i < compilationUnits.size (); i++ ) - delete compilationUnits[i]; -} - -void IfableData::ProcessXML () -{ - size_t i; - for ( i = 0; i < includes.size (); i++ ) - includes[i]->ProcessXML (); - for ( i = 0; i < defines.size (); i++ ) - defines[i]->ProcessXML (); - for ( i = 0; i < libraries.size (); i++ ) - libraries[i]->ProcessXML (); - for ( std::map::const_iterator p = properties.begin(); p != properties.end(); ++ p ) - p->second->ProcessXML (); - for ( i = 0; i < compilerFlags.size(); i++ ) - compilerFlags[i]->ProcessXML (); - for ( i = 0; i < compilationUnits.size (); i++ ) - compilationUnits[i]->ProcessXML (); -} - -bool Module::GetBooleanAttribute ( const XMLElement& moduleNode, const char * name, bool default_value ) -{ - const XMLAttribute* att = moduleNode.GetAttribute ( name, false ); - if ( att != NULL ) - { - const char* p = att->value.c_str(); - if ( !stricmp ( p, "true" ) || !stricmp ( p, "yes" ) ) - return true; - else if ( !stricmp ( p, "false" ) || !stricmp ( p, "no" ) ) - return false; - else - { - throw InvalidAttributeValueException ( - moduleNode.location, - name, - att->value ); - } - } - else - return default_value; -} - -Module::Module ( const Project& project, - const XMLElement& moduleNode, - const string& modulePath ) - : project (project), - node (moduleNode), - importLibrary (NULL), - delayImportLibrary (NULL), - metadata (NULL), - bootSector (NULL), - bootstrap (NULL), - autoRegister(NULL), - linkerScript (NULL), - pch (NULL), - cplusplus (false), - output (NULL), - install (NULL) -{ - if ( node.name != "module" ) - throw InvalidOperationException ( __FILE__, - __LINE__, - "Module created with non- node" ); - - xmlbuildFile = FixSeparator ( Path::RelativeFromWorkingDirectory ( moduleNode.xmlFile->filename () ) ); - - const XMLAttribute* att = moduleNode.GetAttribute ( "name", true ); - assert(att); - name = att->value; - - enabled = true; - - att = moduleNode.GetAttribute ( "if", false ); - if ( att != NULL ) - enabled = GetBooleanValue ( project.ResolveProperties ( att->value ) ); - - att = moduleNode.GetAttribute ( "ifnot", false ); - if ( att != NULL ) - enabled = !GetBooleanValue ( project.ResolveProperties ( att->value ) ); - - if ( !enabled && project.configuration.Verbose ) - printf("Module '%s' has been disabled.\n", name.c_str () ); - - att = moduleNode.GetAttribute ( "type", true ); - assert(att); - type = GetModuleType ( node.location, *att ); - - att = moduleNode.GetAttribute ( "extension", false ); - if ( att != NULL ) - extension = att->value; - else - extension = GetDefaultModuleExtension (); - - isUnicode = GetBooleanAttribute ( moduleNode, "unicode" ); - - if (isUnicode) - { - // Always define UNICODE and _UNICODE - Define* pDefine = new Define ( project, this, "UNICODE" ); - non_if_data.defines.push_back ( pDefine ); - - pDefine = new Define ( project, this, "_UNICODE" ); - non_if_data.defines.push_back ( pDefine ); - } - - att = moduleNode.GetAttribute ( "entrypoint", false ); - if ( att != NULL ) - { - if ( att->value == "" ) - { - throw InvalidAttributeValueException ( - moduleNode.location, - "entrypoint", - att->value ); - } - - entrypoint = att->value; - isDefaultEntryPoint = false; - } - else - { - entrypoint = GetDefaultModuleEntrypoint (); - isDefaultEntryPoint = true; - } - - att = moduleNode.GetAttribute ( "baseaddress", false ); - if ( att != NULL ) - baseaddress = att->value; - else - baseaddress = GetDefaultModuleBaseaddress (); - - isStartupLib = GetBooleanAttribute ( moduleNode, "isstartuplib" ); - isCRT = GetBooleanAttribute ( moduleNode, "iscrt", GetDefaultModuleIsCRT () ); - - att = moduleNode.GetAttribute ( "crt", false ); - if ( att != NULL) - { - CRT = att->value; - - if ( stricmp ( CRT.c_str (), "auto" ) == 0 ) - CRT = GetDefaultModuleCRT (); - } - else - CRT = GetDefaultModuleCRT (); - - const char * crtAttr = CRT.c_str (); - if ( crtAttr == NULL || stricmp ( crtAttr, "none" ) == 0 ) - dynamicCRT = false; - else if ( stricmp ( crtAttr, "libc" ) == 0 ) - dynamicCRT = false; - else if ( stricmp ( crtAttr, "msvcrt" ) == 0 ) - dynamicCRT = true; - else if ( stricmp ( crtAttr, "libcntpr" ) == 0 ) - dynamicCRT = false; - else if ( stricmp ( crtAttr, "ntdll" ) == 0 ) - dynamicCRT = true; - else if ( stricmp ( crtAttr, "static" ) == 0 ) - dynamicCRT = false; - else if ( stricmp ( crtAttr, "dll" ) == 0 ) - dynamicCRT = true; - else - { - throw InvalidAttributeValueException ( - moduleNode.location, - "crt", - std::string ( crtAttr ) ); - } - - if ( isCRT && dynamicCRT ) - { - throw XMLInvalidBuildFileException ( - moduleNode.location, - "C runtime module '%s' cannot be compiled for a dynamically-linked C runtime", - name.c_str() ); - } - - att = moduleNode.GetAttribute ( "prefix", false ); - if ( att != NULL ) - prefix = att->value; - - att = moduleNode.GetAttribute ( "installname", false ); - if ( att != NULL ) - { - const XMLAttribute* installbase = moduleNode.GetAttribute ( "installbase", false ); - install = new FileLocation ( InstallDirectory, - installbase ? installbase->value : "", - att->value, - &moduleNode ); - - output = new FileLocation ( GetTargetDirectoryTree (), - modulePath, - att->value, - &moduleNode ); - } - - att = moduleNode.GetAttribute ( "output", false ); - if ( att != NULL ) - { - if (output != NULL) - { - printf ( "%s: WARNING: 'installname' overrides 'output' also defined for this module.\n", - moduleNode.location.c_str() ); - } - else - { - output = new FileLocation ( GetTargetDirectoryTree (), - modulePath, - att->value, - &moduleNode ); - } - } - - /* If no one has set the output file for this module set it automatically */ - if (output == NULL) - { - output = new FileLocation ( GetTargetDirectoryTree (), - modulePath, - name + extension, - &moduleNode ); - } - - att = moduleNode.GetAttribute ( "allowwarnings", false ); - if ( att == NULL ) - { - att = moduleNode.GetAttribute ( "warnings", false ); - if ( att != NULL ) - { - printf ( "%s: WARNING: 'warnings' attribute of is deprecated, use 'allowwarnings' instead\n", - moduleNode.location.c_str() ); - } - } - if ( att != NULL ) - allowWarnings = att->value == "true"; - else if ( project.allowWarningsSet ) - allowWarnings = project.allowWarnings; - else - allowWarnings = false; - - att = moduleNode.GetAttribute ( "aliasof", false ); - if ( type == Alias && att != NULL ) - aliasedModuleName = att->value; - else - aliasedModuleName = ""; - - if ( type == BootProgram ) - { - att = moduleNode.GetAttribute ( "payload", true ); - payload = att->value; - } - - if ( type == BootProgram || type == ElfExecutable ) - { - att = moduleNode.GetAttribute ( "buildtype", false ); - if ( att != NULL ) - { - buildtype = att->value; - } - else - { - buildtype = "BOOTPROG"; - } - } - - att = moduleNode.GetAttribute ( "description", false ); - if (att != NULL ) - { - description = project.ResolveProperties(att->value); - } - else - description = ""; - - att = moduleNode.GetAttribute ( "lcid", false ); - if (type == KeyboardLayout && att != NULL ) - lcid = att->value; - else - lcid = ""; - - att = moduleNode.GetAttribute ( "layoutid", false ); - if (type == KeyboardLayout && att != NULL ) - layoutId = att->value; - else - layoutId = ""; - - att = moduleNode.GetAttribute ( "layoutnameresid", false ); - if (type == KeyboardLayout && att != NULL ) - layoutNameResId = att->value; - else - layoutNameResId = ""; - - SetImportLibrary ( NULL ); -} - -Module::~Module () -{ - size_t i; - for ( i = 0; i < invocations.size(); i++ ) - delete invocations[i]; - for ( i = 0; i < dependencies.size(); i++ ) - delete dependencies[i]; - for ( i = 0; i < compilerFlags.size(); i++ ) - delete compilerFlags[i]; - for ( i = 0; i < linkerFlags.size(); i++ ) - delete linkerFlags[i]; - for ( i = 0; i < stubbedComponents.size(); i++ ) - delete stubbedComponents[i]; - for ( i = 0; i < cdfiles.size (); i++ ) - delete cdfiles[i]; - if ( linkerScript ) - delete linkerScript; - if ( pch ) - delete pch; - if ( install ) - delete install; - if ( metadata ) - delete metadata; - if ( bootstrap ) - delete bootstrap; - if ( importLibrary ) - delete importLibrary; - if ( bootSector ) - delete bootSector; - if ( dependency ) - delete dependency; - if ( autoRegister ) - delete autoRegister; - if ( output ) - delete output; -} - -void -Module::ProcessXML() -{ - if ( type == Alias ) - { - aliasedModuleName = project.ResolveProperties ( aliasedModuleName ); - if ( aliasedModuleName == name ) - { - throw XMLInvalidBuildFileException ( - node.location, - "module '%s' cannot link against itself", - name.c_str() ); - } - const Module* m = project.LocateModule ( aliasedModuleName ); - if ( !m && enabled ) - { - throw XMLInvalidBuildFileException ( - node.location, - "module '%s' trying to alias non-existant module '%s'", - name.c_str(), - aliasedModuleName.c_str() ); - } - } - - size_t i; - for ( i = 0; i < node.subElements.size(); i++ ) - { - ParseContext parseContext; - ProcessXMLSubElement ( *node.subElements[i], SourceDirectory, output->relative_path, parseContext ); - } - for ( i = 0; i < invocations.size(); i++ ) - invocations[i]->ProcessXML (); - for ( i = 0; i < dependencies.size(); i++ ) - dependencies[i]->ProcessXML (); - for ( i = 0; i < compilerFlags.size(); i++ ) - compilerFlags[i]->ProcessXML(); - for ( i = 0; i < linkerFlags.size(); i++ ) - linkerFlags[i]->ProcessXML(); - for ( i = 0; i < stubbedComponents.size(); i++ ) - stubbedComponents[i]->ProcessXML(); - non_if_data.ProcessXML(); - if ( linkerScript ) - linkerScript->ProcessXML(); - if ( pch ) - pch->ProcessXML(); - if ( autoRegister ) - autoRegister->ProcessXML(); -} - -void -Module::ProcessXMLSubElement ( const XMLElement& e, - DirectoryLocation directory, - const string& relative_path, - ParseContext& parseContext ) -{ - const XMLAttribute* att; - - att = e.GetAttribute ( "compilerset", false ); - - if ( att ) - { - CompilerSet compilerSet; - - if ( att->value == "msc" ) - compilerSet = MicrosoftC; - else if ( att->value == "gcc" ) - compilerSet = GnuGcc; - else - throw InvalidAttributeValueException ( - e.location, - "compilerset", - att->value ); - - if ( compilerSet != project.configuration.Compiler ) - return; - } - - att = e.GetAttribute ( "linkerset", false ); - - if ( att ) - { - LinkerSet linkerSet; - - if ( att->value == "mslink" ) - linkerSet = MicrosoftLink; - else if ( att->value == "ld" ) - linkerSet = GnuLd; - else - throw InvalidAttributeValueException ( - e.location, - "linkerset", - att->value ); - - if ( linkerSet != project.configuration.Linker ) - return; - } - - CompilationUnit* pOldCompilationUnit = parseContext.compilationUnit; - bool subs_invalid = false; - string subpath ( relative_path ); - DirectoryLocation subdirectory = SourceDirectory; - if ( e.name == "file" && e.value.size () > 0 ) - { - bool first = false; - const XMLAttribute* att = e.GetAttribute ( "first", false ); - if ( att != NULL ) - { - if ( !stricmp ( att->value.c_str(), "true" ) ) - first = true; - else if ( stricmp ( att->value.c_str(), "false" ) ) - { - throw XMLInvalidBuildFileException ( - e.location, - "attribute 'first' of element can only be 'true' or 'false'" ); - } - } - string switches = ""; - att = e.GetAttribute ( "switches", false ); - if ( att != NULL ) - switches = att->value; - if ( !cplusplus ) - { - // check for c++ file - string ext = GetExtension ( e.value ); - if ( !stricmp ( ext.c_str(), ".cpp" ) ) - cplusplus = true; - else if ( !stricmp ( ext.c_str(), ".cc" ) ) - cplusplus = true; - else if ( !stricmp ( ext.c_str(), ".cxx" ) ) - cplusplus = true; - } - File* pFile = new File ( directory, - relative_path, - e.value, - first, - switches, - false ); - if ( parseContext.compilationUnit ) - parseContext.compilationUnit->AddFile ( pFile ); - else - { - CompilationUnit* pCompilationUnit = new CompilationUnit ( pFile ); - string ext = ToLower ( GetExtension ( e.value ) ); - if ( ext == ".idl" ) - { - // put .idl files at the start of the module - non_if_data.compilationUnits.insert ( - non_if_data.compilationUnits.begin(), - pCompilationUnit ); - } - else if ( ext == ".asm" || ext == ".s" ) - { - // put .asm files at the end of the module - non_if_data.compilationUnits.push_back ( pCompilationUnit ); - non_if_data.asmFiles++; - } - else - { - // put other files in the middle - non_if_data.compilationUnits.insert ( - non_if_data.compilationUnits.end() - non_if_data.asmFiles, - pCompilationUnit ); - } - } - non_if_data.files.push_back ( pFile ); - subs_invalid = true; - } - else if ( e.name == "library" && e.value.size () ) - { - const XMLAttribute* att = e.GetAttribute ( "delayimport", false ); - Library* pLibrary = new Library ( e, *this, e.value ); - if ( att && !stricmp ( att->value.c_str(), "true" ) ) - pLibrary->delayimp = true; - non_if_data.libraries.push_back ( pLibrary ); - subs_invalid = true; - } - else if ( e.name == "directory" ) - { - const XMLAttribute* att = e.GetAttribute ( "name", true ); - const XMLAttribute* root = e.GetAttribute ( "root", false ); - assert(att); - if ( root ) - { - if ( root->value == "intermediate" ) - subdirectory = IntermediateDirectory; - else if ( root->value == "output" ) - subdirectory = OutputDirectory; - else - { - throw InvalidAttributeValueException ( - e.location, - "root", - root->value ); - } - } - subpath = GetSubPath ( this->project, e.location, relative_path, att->value ); - } - else if ( e.name == "include" ) - { - Include* include = new Include ( project, &e, this ); - non_if_data.includes.push_back ( include ); - subs_invalid = true; - } - else if ( e.name == "define" || e.name == "redefine" ) - { - Define* pDefine = new Define ( project, this, e ); - non_if_data.defines.push_back ( pDefine ); - subs_invalid = true; - } - else if ( e.name == "metadata" ) - { - metadata = new Metadata ( e, *this ); - subs_invalid = false; - } - else if ( e.name == "invoke" ) - { - invocations.push_back ( new Invoke ( e, *this ) ); - subs_invalid = false; - } - else if ( e.name == "dependency" ) - { - dependencies.push_back ( new Dependency ( e, *this ) ); - subs_invalid = true; - } - else if ( e.name == "bootsector" ) - { - bootSector = new Bootsector ( e, this ); - subs_invalid = true; - } - else if ( e.name == "importlibrary" ) - { - if ( importLibrary ) - { - throw XMLInvalidBuildFileException ( - e.location, - "Only one is valid per module" ); - } - SetImportLibrary ( new ImportLibrary ( project, e, this, false ) ); - SetDelayImportLibrary ( new ImportLibrary ( project, e, this, true ) ); - subs_invalid = true; - } - else if ( e.name == "if" || e.name == "ifnot" ) - { - const XMLAttribute* name; - name = e.GetAttribute ( "property", true ); - assert( name ); - const Property *property = project.LookupProperty( name->value ); - const string *PropertyValue; - const string EmptyString; - - if (property) - { - PropertyValue = &property->value; - } - else - { - // Property does not exist, treat it as being empty - PropertyValue = &EmptyString; - } - - const XMLAttribute* value; - value = e.GetAttribute ( "value", true ); - assert( value ); - - bool negate = ( e.name == "ifnot" ); - bool equality = ( *PropertyValue == value->value ); - if ( equality == negate ) - { - // Failed, skip this element - if ( project.configuration.Verbose ) - printf("Skipping 'If' at %s\n", e.location.c_str () ); - return; - } - subs_invalid = false; - } - else if ( e.name == "compilerflag" ) - { - CompilerFlag* pCompilerFlag = new CompilerFlag ( project, this, e ); - non_if_data.compilerFlags.push_back ( pCompilerFlag ); - subs_invalid = true; - } - else if ( e.name == "linkerflag" ) - { - linkerFlags.push_back ( new LinkerFlag ( project, this, e ) ); - subs_invalid = true; - } - else if ( e.name == "linkerscript" ) - { - if ( linkerScript ) - { - throw XMLInvalidBuildFileException ( - e.location, - "Only one is valid per module" ); - } - size_t pos = e.value.find_last_of ( "/\\" ); - if ( pos == string::npos ) - { - linkerScript = new LinkerScript ( - e, *this, new FileLocation ( SourceDirectory, relative_path, e.value, &e ) ); - } - else - { - string dir = e.value.substr ( 0, pos ); - string name = e.value.substr ( pos + 1); - linkerScript = new LinkerScript ( - e, *this, new FileLocation ( SourceDirectory, relative_path + sSep + dir, name, &e ) ); - } - subs_invalid = true; - } - else if ( e.name == "component" ) - { - stubbedComponents.push_back ( new StubbedComponent ( this, e ) ); - subs_invalid = false; - } - else if ( e.name == "property" ) - { - throw XMLInvalidBuildFileException ( - e.location, - " is not a valid sub-element of " ); - } - else if ( e.name == "bootstrap" ) - { - bootstrap = new Bootstrap ( project, this, e ); - subs_invalid = true; - } - else if ( e.name == "pch" ) - { - if ( pch ) - { - throw XMLInvalidBuildFileException ( - e.location, - "Only one is valid per module" ); - } - size_t pos = e.value.find_last_of ( "/\\" ); - if ( pos == string::npos ) - { - pch = new PchFile ( - e, *this, new FileLocation ( SourceDirectory, relative_path, e.value, &e ) ); - } - else - { - string dir = e.value.substr ( 0, pos ); - string name = e.value.substr ( pos + 1); - pch = new PchFile ( - e, *this, new FileLocation ( SourceDirectory, relative_path + sSep + dir, name, &e ) ); - } - subs_invalid = true; - } - else if ( e.name == "compilationunit" ) - { - if ( project.configuration.CompilationUnitsEnabled ) - { - CompilationUnit* pCompilationUnit = new CompilationUnit ( &project, this, &e ); - non_if_data.compilationUnits.push_back ( pCompilationUnit ); - parseContext.compilationUnit = pCompilationUnit; - } - subs_invalid = false; - } - else if ( e.name == "autoregister" ) - { - if ( autoRegister != NULL) - { - throw XMLInvalidBuildFileException ( - e.location, - "there can be only one <%s> element for a module", - e.name.c_str() ); - } - autoRegister = new AutoRegister ( project, this, e ); - subs_invalid = true; - } - else if ( e.name == "cdfile" ) - { - CDFile* cdfile = new CDFile ( project, e, subpath ); - cdfiles.push_back ( cdfile ); - subs_invalid = true; - } - if ( subs_invalid && e.subElements.size() > 0 ) - { - throw XMLInvalidBuildFileException ( - e.location, - "<%s> cannot have sub-elements", - e.name.c_str() ); - } - for ( size_t i = 0; i < cdfiles.size (); i++ ) - cdfiles[i]->ProcessXML (); - for ( size_t i = 0; i < e.subElements.size (); i++ ) - ProcessXMLSubElement ( *e.subElements[i], subdirectory, subpath, parseContext ); - parseContext.compilationUnit = pOldCompilationUnit; -} - -ModuleType -Module::GetModuleType ( const string& location, const XMLAttribute& attribute ) -{ - if ( attribute.value == "buildtool" ) - return BuildTool; - if ( attribute.value == "staticlibrary" ) - return StaticLibrary; - if ( attribute.value == "hoststaticlibrary" ) - return HostStaticLibrary; - if ( attribute.value == "objectlibrary" ) - return ObjectLibrary; - if ( attribute.value == "kernel" ) - return Kernel; - if ( attribute.value == "kernelmodedll" ) - return KernelModeDLL; - if ( attribute.value == "kernelmodedriver" ) - return KernelModeDriver; - if ( attribute.value == "nativedll" ) - return NativeDLL; - if ( attribute.value == "nativecui" ) - return NativeCUI; - if ( attribute.value == "keyboardlayout" ) - return KeyboardLayout; - if ( attribute.value == "win32dll" ) - return Win32DLL; - if ( attribute.value == "win32ocx" ) - return Win32OCX; - if ( attribute.value == "win32cui" ) - return Win32CUI; - if ( attribute.value == "win32gui" ) - return Win32GUI; - if ( attribute.value == "win32scr" ) - return Win32SCR; - if ( attribute.value == "bootloader" ) - return BootLoader; - if ( attribute.value == "bootsector" ) - return BootSector; - if ( attribute.value == "bootprogram" ) - return BootProgram; - if ( attribute.value == "iso" ) - return Iso; - if ( attribute.value == "liveiso" ) - return LiveIso; - if ( attribute.value == "test" ) - return Test; - if ( attribute.value == "rpcserver" ) - return RpcServer; - if ( attribute.value == "rpcclient" ) - return RpcClient; - if ( attribute.value == "rpcproxy" ) - return RpcProxy; - if ( attribute.value == "alias" ) - return Alias; - if ( attribute.value == "idlheader" ) - return IdlHeader; - if ( attribute.value == "idlinterface" ) - return IdlInterface; - if ( attribute.value == "embeddedtypelib" ) - return EmbeddedTypeLib; - if ( attribute.value == "elfexecutable" ) - return ElfExecutable; - if ( attribute.value == "cabinet" ) - return Cabinet; - if ( attribute.value == "messageheader" ) - return MessageHeader; - throw InvalidAttributeValueException ( location, - attribute.name, - attribute.value ); -} - -DirectoryLocation -Module::GetTargetDirectoryTree () const -{ - switch ( type ) - { - case Kernel: - case KernelModeDLL: - case KeyboardLayout: - case NativeDLL: - case Win32DLL: - case Win32OCX: - case KernelModeDriver: - case NativeCUI: - case Win32CUI: - case Test: - case Win32SCR: - case Win32GUI: - case BuildTool: - case BootLoader: - case BootSector: - case BootProgram: - case Iso: - case LiveIso: - case ElfExecutable: - case Cabinet: - return OutputDirectory; - case EmbeddedTypeLib: - case StaticLibrary: - case HostStaticLibrary: - case ObjectLibrary: - case RpcServer: - case RpcClient: - case RpcProxy: - case Alias: - case IdlHeader: - case IdlInterface: - case MessageHeader: - return IntermediateDirectory; - case TypeDontCare: - break; - } - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid module type %d.", - type ); -} - -string -Module::GetDefaultModuleExtension () const -{ - switch (type) - { - case BuildTool: - return ExePostfix; - case BootProgram: - case StaticLibrary: - case HostStaticLibrary: - return ".a"; - case ObjectLibrary: - return ".o"; - case Kernel: - case NativeCUI: - case Win32CUI: - case Win32GUI: - return ".exe"; - case Win32SCR: - return ".scr"; - - case KernelModeDLL: - case NativeDLL: - case KeyboardLayout: - case Win32DLL: - return ".dll"; - case Win32OCX: - return ".ocx"; - case KernelModeDriver: - case BootLoader: - return ".sys"; - case Cabinet: - return ".cab"; - case BootSector: - return ".o"; - case Iso: - case LiveIso: - return ".iso"; - case Test: - return ".exe"; - case RpcServer: - case RpcClient: - case RpcProxy: - case IdlInterface: - return ".o"; - case Alias: - case ElfExecutable: - case IdlHeader: - case MessageHeader: - return ""; - case EmbeddedTypeLib: - return ".tlb"; - case TypeDontCare: - break; - } - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -string -Module::GetDefaultModuleEntrypoint () const -{ - switch ( type ) - { - case Kernel: - if (Environment::GetArch() == "i386") return "KiSystemStartup@4"; - return "KiSystemStartup"; - case KeyboardLayout: - case KernelModeDLL: - case KernelModeDriver: - if (Environment::GetArch() == "i386") return "DriverEntry@8"; - return "DriverEntry"; - case NativeDLL: - if (Environment::GetArch() == "i386") return "DllMainCRTStartup@12"; - return "DllMainCRTStartup"; - case NativeCUI: - if (Environment::GetArch() == "i386") return "NtProcessStartup@4"; - return "NtProcessStartup"; - case Win32DLL: - case Win32OCX: - if (Environment::GetArch() == "i386") return "DllMain@12"; - return "DllMain"; - case Win32CUI: - case Test: - case BootLoader: - return "mainCRTStartup"; - case Win32SCR: - case Win32GUI: - return "WinMainCRTStartup"; - case BuildTool: - case StaticLibrary: - case HostStaticLibrary: - case ObjectLibrary: - case BootSector: - case Iso: - case LiveIso: - case RpcServer: - case RpcClient: - case RpcProxy: - case Alias: - case BootProgram: - case IdlHeader: - case IdlInterface: - case MessageHeader: - case ElfExecutable: - case EmbeddedTypeLib: - case Cabinet: - return ""; - case TypeDontCare: - break; - } - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -string -Module::GetDefaultModuleBaseaddress () const -{ - switch ( type ) - { - case Kernel: - return "0x80800000"; - case Win32DLL: - case Win32OCX: - return "0x10000000"; - case NativeDLL: - case NativeCUI: - case Win32CUI: - case Test: - return "0x00400000"; - case Win32SCR: - case Win32GUI: - return "0x00400000"; - case KeyboardLayout: - case KernelModeDLL: - case KernelModeDriver: - return "0x00010000"; - case ElfExecutable: - return "0xe00000"; - case BootLoader: - return "0x8000"; - case BuildTool: - case StaticLibrary: - case HostStaticLibrary: - case ObjectLibrary: - case BootSector: - case Iso: - case LiveIso: - case RpcServer: - case RpcClient: - case RpcProxy: - case Alias: - case BootProgram: - case IdlHeader: - case IdlInterface: - case MessageHeader: - case EmbeddedTypeLib: - case Cabinet: - return ""; - case TypeDontCare: - break; - } - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -std::string -Module::GetDefaultModuleCRT () const -{ - if ( isCRT ) - return "static"; - - switch ( type ) - { - case Kernel: - return "static"; - case Win32DLL: - case Win32OCX: - return "msvcrt"; - case NativeDLL: - case NativeCUI: - return "ntdll"; - case Win32CUI: - case Win32SCR: - case Win32GUI: - return "msvcrt"; - case Test: - return "msvcrt"; // BUGBUG: not sure about this - case KeyboardLayout: - return "none"; - case KernelModeDLL: - case KernelModeDriver: - return "dll"; - case BootLoader: - return "libcntpr"; - case ElfExecutable: - case BuildTool: - case StaticLibrary: - case HostStaticLibrary: - case ObjectLibrary: - case BootSector: - case Iso: - case LiveIso: - case RpcServer: - case RpcClient: - case RpcProxy: - case Alias: - case BootProgram: - case IdlHeader: - case IdlInterface: - case MessageHeader: - case EmbeddedTypeLib: - case Cabinet: - case TypeDontCare: - return "none"; - } - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -bool -Module::GetDefaultModuleIsCRT () const -{ - return type == Kernel; -} - -bool -Module::HasImportLibrary () const -{ - return importLibrary != NULL && type != StaticLibrary && type != HostStaticLibrary; -} - -bool -Module::IsDLL () const -{ - switch ( type ) - { - case Kernel: - case KernelModeDLL: - case NativeDLL: - case KeyboardLayout: - case Win32DLL: - case Win32OCX: - case KernelModeDriver: - return true; - case NativeCUI: - case Win32CUI: - case Test: - case Win32SCR: - case Win32GUI: - case BuildTool: - case StaticLibrary: - case HostStaticLibrary: - case ObjectLibrary: - case BootLoader: - case BootSector: - case BootProgram: - case Iso: - case LiveIso: - case RpcServer: - case RpcClient: - case RpcProxy: - case Alias: - case IdlHeader: - case IdlInterface: - case MessageHeader: - case EmbeddedTypeLib: - case ElfExecutable: - case Cabinet: - return false; - case TypeDontCare: - break; - } - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -string -Module::GetPathWithPrefix ( const string& prefix ) const -{ - return output->relative_path + cSep + prefix + output->name; -} - -string -Module::GetPathToBaseDir () const -{ - string temp_path = output->relative_path; - string result = "..\\"; - while(temp_path.find ('\\') != string::npos) - { - temp_path.erase (0, temp_path.find('\\')+1); - result += "..\\"; - } - return result; -} - -string -Module::GetInvocationTarget ( const int index ) const -{ - return ssprintf ( "%s_invoke_%d", - name.c_str (), - index ); -} - -string -Module::GetEntryPoint() const -{ - string result = ""; - if (entrypoint == "0" || entrypoint == "0x0") - return "0"; - - if (Environment::GetArch() != "arm" && Environment::GetArch() != "amd64") - result = "_"; - - result += entrypoint; - - if (Environment::GetArch() == "amd64") - { - size_t at_index = result.find_last_of( '@' ); - if ( at_index != result.npos ) - return result.substr (0, at_index ); - } - - return result; -} - -bool -Module::HasFileWithExtension ( - const IfableData& data, - const std::string& extension ) const -{ - size_t i; - for ( i = 0; i < data.compilationUnits.size (); i++ ) - { - CompilationUnit* compilationUnit = data.compilationUnits[i]; - if ( compilationUnit->HasFileWithExtension ( extension ) ) - return true; - } - return false; -} - -void -Module::InvokeModule () const -{ - for ( size_t i = 0; i < invocations.size (); i++ ) - { - Invoke& invoke = *invocations[i]; - string command = FixSeparatorForSystemCommand(invoke.invokeModule->output->relative_path + "/" + invoke.invokeModule->output->name ) + " " + invoke.GetParameters (); - printf ( "Executing '%s'\n\n", command.c_str () ); - int exitcode = system ( command.c_str () ); - if ( exitcode != 0 ) - throw InvocationFailedException ( command, - exitcode ); - } -} - - -void -Module::SetImportLibrary ( ImportLibrary* importLibrary ) -{ - this->importLibrary = importLibrary; - dependency = new FileLocation ( HasImportLibrary () ? IntermediateDirectory : output->directory, - output->relative_path, - HasImportLibrary () ? "lib" + name + ".a" : output->name ); -} - -void -Module::SetDelayImportLibrary ( ImportLibrary* importLibrary ) -{ - this->delayImportLibrary = importLibrary; -} - -std::string -Module::GetDllName () const -{ - if ( importLibrary && !importLibrary->dllname.empty() ) - return importLibrary->dllname; - else if ( output ) - return output->name; - else - throw new InvalidOperationException ( __FILE__, __LINE__, "Module %s has no dllname." ); -} - -SpecFileType -Module::IsSpecDefinitionFile () const -{ - if(!importLibrary) - return None; - - std::string ext = GetExtension ( *importLibrary->source ); - - if ( ext == ".spec" ) - return Spec; - - if ( ext == ".pspec" ) - return PSpec; - - return None; -} - - -File::File ( DirectoryLocation directory, - const string& relative_path, - const string& name, - bool _first, - const string& _switches, - bool _isPreCompiledHeader ) - : file ( directory, relative_path, name ), - first(_first), - switches(_switches), - isPreCompiledHeader(_isPreCompiledHeader) -{ -} - - -void -File::ProcessXML() -{ -} - - -std::string File::GetFullPath () const -{ - string directory ( "" ); - switch ( file.directory ) - { - case SourceDirectory: - break; - case IntermediateDirectory: - directory = Environment::GetIntermediatePath () + sSep; - break; - default: - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid directory %d.", - file.directory ); - } - - if ( file.relative_path.length () > 0 ) - directory += file.relative_path + sSep; - - - return directory + file.name; -} - - -Library::Library ( const XMLElement& _node, - const Module& _module, - const string& _name ) - : node(&_node), - module(_module), - name(_name), - importedModule(_module.project.LocateModule(_name)), - delayimp(false) -{ - if ( module.name == name ) - { - throw XMLInvalidBuildFileException ( - node->location, - "module '%s' cannot link against itself", - name.c_str() ); - } - if ( !importedModule ) - { - throw XMLInvalidBuildFileException ( - node->location, - "module '%s' trying to import non-existant module '%s'", - module.name.c_str(), - name.c_str() ); - } -} - -Library::Library ( const Module& _module, - const string& _name ) - : node(NULL), - module(_module), - name(_name), - importedModule(_module.project.LocateModule(_name)), - delayimp(false) -{ - if ( !importedModule ) - { - throw XMLInvalidBuildFileException ( - "", - "module '%s' trying to import non-existant module '%s'", - module.name.c_str(), - name.c_str() ); - } -} - -void -Library::ProcessXML() -{ - if ( node && !module.project.LocateModule ( name ) ) - { - throw XMLInvalidBuildFileException ( - node->location, - "module '%s' is trying to link against non-existant module '%s'", - module.name.c_str(), - name.c_str() ); - } -} - - -Invoke::Invoke ( const XMLElement& _node, - const Module& _module ) - : node (_node), - module (_module) -{ -} - -void -Invoke::ProcessXML() -{ - const XMLAttribute* att = node.GetAttribute ( "module", false ); - if (att == NULL) - invokeModule = &module; - else - { - invokeModule = module.project.LocateModule ( att->value ); - if ( invokeModule == NULL ) - { - throw XMLInvalidBuildFileException ( - node.location, - "module '%s' is trying to invoke non-existant module '%s'", - module.name.c_str(), - att->value.c_str() ); - } - } - - for ( size_t i = 0; i < node.subElements.size (); i++ ) - ProcessXMLSubElement ( *node.subElements[i] ); -} - -void -Invoke::ProcessXMLSubElement ( const XMLElement& e ) -{ - bool subs_invalid = false; - if ( e.name == "input" ) - { - for ( size_t i = 0; i < e.subElements.size (); i++ ) - ProcessXMLSubElementInput ( *e.subElements[i] ); - } - else if ( e.name == "output" ) - { - for ( size_t i = 0; i < e.subElements.size (); i++ ) - ProcessXMLSubElementOutput ( *e.subElements[i] ); - } - if ( subs_invalid && e.subElements.size() > 0 ) - { - throw XMLInvalidBuildFileException ( - e.location, - "<%s> cannot have sub-elements", - e.name.c_str() ); - } -} - -void -Invoke::ProcessXMLSubElementInput ( const XMLElement& e ) -{ - bool subs_invalid = false; - if ( e.name == "inputfile" && e.value.size () > 0 ) - { - input.push_back ( new InvokeFile ( - e, FixSeparator ( module.output->relative_path + cSep + e.value ) ) ); - subs_invalid = true; - } - if ( subs_invalid && e.subElements.size() > 0 ) - { - throw XMLInvalidBuildFileException ( - e.location, - "<%s> cannot have sub-elements", - e.name.c_str() ); - } -} - -void -Invoke::ProcessXMLSubElementOutput ( const XMLElement& e ) -{ - bool subs_invalid = false; - if ( e.name == "outputfile" && e.value.size () > 0 ) - { - output.push_back ( new InvokeFile ( - e, FixSeparator ( module.output->relative_path + cSep + e.value ) ) ); - subs_invalid = true; - } - if ( subs_invalid && e.subElements.size() > 0 ) - { - throw XMLInvalidBuildFileException ( - e.location, - "<%s> cannot have sub-elements", - e.name.c_str() ); - } -} - -void -Invoke::GetTargets ( string_list& targets ) const -{ - for ( size_t i = 0; i < output.size (); i++ ) - { - InvokeFile& file = *output[i]; - targets.push_back ( NormalizeFilename ( file.name ) ); - } -} - -string -Invoke::GetParameters () const -{ - string parameters ( "" ); - size_t i; - for ( i = 0; i < output.size (); i++ ) - { - if ( parameters.length () > 0) - parameters += " "; - InvokeFile& invokeFile = *output[i]; - if ( invokeFile.switches.length () > 0 ) - { - parameters += invokeFile.switches + " "; - } - parameters += invokeFile.name; - } - - for ( i = 0; i < input.size (); i++ ) - { - if ( parameters.length () > 0 ) - parameters += " "; - InvokeFile& invokeFile = *input[i]; - if ( invokeFile.switches.length () > 0 ) - { - parameters += invokeFile.switches; - parameters += " "; - } - parameters += invokeFile.name ; - } - - return parameters; -} - - -InvokeFile::InvokeFile ( const XMLElement& _node, - const string& _name ) - : node (_node), - name (_name) -{ - const XMLAttribute* att = _node.GetAttribute ( "switches", false ); - if (att != NULL) - switches = att->value; - else - switches = ""; -} - -void -InvokeFile::ProcessXML() -{ -} - - -Dependency::Dependency ( const XMLElement& _node, - const Module& _module ) - : node (_node), - module (_module), - dependencyModule (NULL) -{ -} - -void -Dependency::ProcessXML() -{ - dependencyModule = module.project.LocateModule ( node.value ); - if ( dependencyModule == NULL ) - { - throw XMLInvalidBuildFileException ( - node.location, - "module '%s' depend on non-existant module '%s'", - module.name.c_str(), - node.value.c_str() ); - } -} - -Bootsector::Bootsector ( const XMLElement& _node, - const Module* _module ) - : node (_node), - module (_module), - bootSectorModule (NULL) -{ - if ( !IsSupportedModuleType ( module->type ) ) - { - throw XMLInvalidBuildFileException ( - node.location, - " is not applicable for this module type." ); - } - - bootSectorModule = module->project.LocateModule ( node.value ); - if ( bootSectorModule == NULL ) - { - throw XMLInvalidBuildFileException ( - node.location, - "module '%s' depend on non-existant module '%s'", - module->name.c_str(), - node.value.c_str() ); - } - - if (bootSectorModule->type != BootSector) - { - throw XMLInvalidBuildFileException ( - node.location, - "module '%s' is referencing non BootSector module '%s'", - module->name.c_str(), - node.value.c_str() ); - } -} - -void -Bootsector::ProcessXML() -{ -} - -bool -Bootsector::IsSupportedModuleType ( ModuleType type ) -{ - if ( type == Iso || - type == LiveIso ) - { - return true; - } - - return false; -} - -Metadata::Metadata ( const XMLElement& _node, - const Module& _module ) - : node (_node), - module (_module) -{ - /* The module name */ - const XMLAttribute* att = _node.GetAttribute ( "name", false ); - if (att != NULL) - name = att->value; - else - name = module.name; - - /* The module description */ - att = _node.GetAttribute ( "description", false ); - if (att != NULL) - description = att->value; - else - description = ""; - - /* The module version */ - att = _node.GetAttribute ( "version", false ); - if (att != NULL) - version = att->value; - else - version = ""; - - /* The module copyright */ - att = _node.GetAttribute ( "copyright", false ); - if (att != NULL) - copyright = att->value; - else - copyright = ""; - - att = _node.GetAttribute ( "url", false ); - if (att != NULL) - url = att->value; - else - url = ""; - - /* When was this module updated */ - att = _node.GetAttribute ( "date", false ); - if (att != NULL) - date = att->value; - else - date = "?"; - - /* When was this module updated */ - att = _node.GetAttribute ( "owner", false ); - if (att != NULL) - owner = att->value; - else - owner = "ReactOS"; -} - - -ImportLibrary::~ImportLibrary () -{ - delete source; - delete target; -} - - -ImportLibrary::ImportLibrary ( const Project& project, - const XMLElement& node, - const Module* module, - bool delayimp ) - : XmlNode ( project, node ), - module (module) -{ - DirectoryLocation directory = SourceDirectory; - const Module* base = module; - const XMLAttribute* dllname = node.GetAttribute ( "dllname", false ); - const XMLAttribute* definition = node.GetAttribute ( "definition", true ); - assert ( definition ); - - string relative_path; - const XMLAttribute* att = node.GetAttribute ( "base", false ); - if ( att ) - { - base = project.LocateModule ( att->value ); - if ( !base ) - throw XMLInvalidBuildFileException ( - node.location, - " attribute 'base' references non-existant module '%s'", - att->value.c_str() ); - - } - - if ( base ) - { - relative_path = base->output->relative_path; - if ( node.value.length () > 0 && node.value != "." ) - relative_path += sSep + node.value; - } - else - relative_path = node.value; - - att = node.GetAttribute ( "root", false ); - if ( att ) - { - if ( att->value == "intermediate" ) - directory = IntermediateDirectory; - else - throw InvalidAttributeValueException ( node.location, - "root", - att->value ); - } - - if ( dllname ) - this->dllname = dllname->value; - - size_t index = definition->value.find_last_of ( "/\\" ); - if ( index == string::npos ) - { - source = new FileLocation ( directory, - base->output->relative_path, - definition->value, - &node ); - } - else - { - string dir = definition->value.substr ( 0, index ); - string name = definition->value.substr ( index + 1); - source = new FileLocation ( directory, - NormalizeFilename ( base->output->relative_path + sSep + dir ), - name, - &node ); - } - - target = new FileLocation ( IntermediateDirectory, - base->output->relative_path, - "lib" + module->name + (delayimp ? ".delayimp.a" : ".a" )); - -} - - -Property::Property ( const XMLElement& node_, - const Project& project_, - const Module* module_ ) - : project(project_), module(module_) -{ - const XMLAttribute* att; - - att = node_.GetAttribute ( "name", true ); - assert(att); - name = project.ResolveProperties ( att->value ); - - att = node_.GetAttribute ( "value", true ); - assert(att); - value = att->value; - - att = node_.GetAttribute ( "internal", false ); - if ( att != NULL ) - { - const char* p = att->value.c_str(); - if ( !stricmp ( p, "true" ) || !stricmp ( p, "yes" ) ) - isInternal = true; - else if ( !stricmp ( p, "false" ) || !stricmp ( p, "no" ) ) - isInternal = false; - else - { - throw InvalidAttributeValueException ( - node_.location, - "internal", - att->value ); - } - } - else - isInternal = false; -} - -Property::Property ( const Project& project_, - const Module* module_, - const std::string& name_, - const std::string& value_ ) - : project(project_), module(module_), name(name_), value(value_) -{ -} - -void -Property::ProcessXML() -{ -} - - -PchFile::PchFile ( - const XMLElement& node_, - const Module& module_, - const FileLocation *file_ ) - : node(node_), module(module_), file(file_) -{ -} - -PchFile::~PchFile() -{ - delete file; -} - -void -PchFile::ProcessXML() -{ -} diff --git a/reactos/tools/rbuild/pch.h b/reactos/tools/rbuild/pch.h deleted file mode 100644 index e98342b1b8b..00000000000 --- a/reactos/tools/rbuild/pch.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#ifdef _MSC_VER -#pragma warning ( disable : 4786 ) // identifier was truncated to '255' characters in the debug information -#pragma warning ( disable : 4996 ) // CRT deprecate -#endif//_MSC_VER - -#include -#include -#include -#include -#include -#include - -#ifdef WIN32 -#include -#ifndef MAX_PATH -#define MAX_PATH _MAX_PATH -#endif//MAX_PATH -#else -#include -#include -typedef LONG *PLONG; - -#endif//WIN32 - -#include -#include - -#ifndef WIN32 -#include -#include -#include -#include - -inline char * strlwr(char *x) -{ - char *y=x; - - while (*y) { - *y=tolower(*y); - y++; - } - return x; -} - -inline char *strupr(char *x) -{ - char *y=x; - - while (*y) { - *y=toupper(*y); - y++; - } - return x; -} - -#define _finite __finite -#define _isnan __isnan -#define stricmp strcasecmp -#define MAX_PATH PATH_MAX -#define _MAX_PATH PATH_MAX -#endif diff --git a/reactos/tools/rbuild/project.cpp b/reactos/tools/rbuild/project.cpp deleted file mode 100644 index 894c8dca515..00000000000 --- a/reactos/tools/rbuild/project.cpp +++ /dev/null @@ -1,549 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * Copyright (C) 2008 Hervé Poussineau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" -#include "backend/backend.h" - -using std::string; -using std::vector; - -/* static */ string -Environment::GetVariable ( const string& name ) -{ - char* value = getenv ( name.c_str () ); - if ( value != NULL && strlen ( value ) > 0 ) - return ssprintf ( "%s", - value ); - else - return ""; -} - -string -Environment::GetArch () -{ - return GetEnvironmentVariablePathOrDefault ( "ROS_ARCH", "i386" ); -} - -/* static */ string -Environment::GetEnvironmentVariablePathOrDefault ( const string& name, - const string& defaultValue ) -{ - const string& environmentVariableValue = Environment::GetVariable ( name ); - if ( environmentVariableValue.length () > 0 ) - return NormalizeFilename ( environmentVariableValue ); - else - return defaultValue; -} - -/* static */ string -Environment::GetIntermediatePath () -{ - string defaultIntermediate = - string( "obj-" ) + GetArch (); - return GetEnvironmentVariablePathOrDefault ( "ROS_INTERMEDIATE", - defaultIntermediate ); -} - -/* static */ string -Environment::GetSourcePath () -{ - char temp[_MAX_PATH]; - getcwd(temp, _MAX_PATH); - return string(temp); -} - -string -Environment::GetOutputPath () -{ - string defaultOutput = - string( "output-" ) + GetArch (); - return GetEnvironmentVariablePathOrDefault ( "ROS_OUTPUT", - defaultOutput ); -} - -/* static */ string -Environment::GetInstallPath () -{ - string defaultInstall = GetCdOutputPath (); - return GetEnvironmentVariablePathOrDefault ( "ROS_INSTALL", - defaultInstall ); -} - -/* static */ string -Environment::GetCdOutputPath () -{ - return GetEnvironmentVariablePathOrDefault ( "ROS_CDOUTPUT", - "reactos" ); -} - -/* static */ string -Environment::GetAutomakeFile ( const std::string& defaultFile ) -{ - return GetEnvironmentVariablePathOrDefault ( "ROS_AUTOMAKE", - defaultFile ); -} - -ParseContext::ParseContext () - : compilationUnit (NULL) -{ -} - - -FileLocation::FileLocation ( const DirectoryLocation directory, - const std::string& relative_path, - const std::string& name, - const XMLElement *node ) - : directory ( directory ), - relative_path ( NormalizeFilename ( relative_path ) ), - name ( name ) -{ - if ( relative_path[0] == '/' || - relative_path[0] == '\\' || - relative_path.find ( '$' ) != string::npos || - ( relative_path.length () > 1 && ( relative_path[1] == ':' || - relative_path.find_last_of ( "/\\" ) == relative_path.length () - 1 ) ) || - ( relative_path.length () > 3 && relative_path.find ( ':' ) != string::npos ) - ) - { - if ( node ) - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid relative path '%s' at %s", - relative_path.c_str (), - node->location.c_str () ); - else - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid relative path '%s'", - relative_path.c_str () ); - } - - if ( name.find_first_of ( "/\\:" ) != string::npos ) - { - if ( node ) - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid file name '%s' at %s", - name.c_str (), - node->location.c_str () ); - else - throw InvalidOperationException ( __FILE__, - __LINE__, - "Invalid file name '%s'", - name.c_str () ); - } -} - - -FileLocation::FileLocation ( const FileLocation& other ) - : directory ( other.directory ), - relative_path ( other.relative_path ), - name ( other.name ) -{ -} - - -Project::Project ( const Configuration& configuration, - const string& filename, - const std::map* properties ) - : xmlfile (filename), - node (NULL), - head (NULL), - configuration (configuration) -{ - _backend = NULL; - - if ( properties ) - { - std::map::const_iterator it; - for (it = properties->begin (); it != properties->end (); it++) - { - const Property *existing = LookupProperty( it->first ); - if ( !existing ) - { - Property* property = new Property ( *this, NULL, it->first, it->second ); - non_if_data.properties.insert ( std::make_pair ( property->name, property ) ); - } - } - } - - ReadXml(); -} - -Project::~Project () -{ - size_t i; - if ( _backend ) - delete _backend; -#ifdef NOT_NEEDED_SINCE_THESE_ARE_CLEANED_BY_IFABLE_DATA - for ( i = 0; i < modules.size (); i++ ) - delete modules[i]; -#endif - for ( i = 0; i < linkerFlags.size (); i++ ) - delete linkerFlags[i]; - for ( i = 0; i < cdfiles.size (); i++ ) - delete cdfiles[i]; - for ( i = 0; i < installfiles.size (); i++ ) - delete installfiles[i]; - if ( head ) - delete head; -} - -const Property* -Project::LookupProperty ( const string& name ) const -{ - std::map::const_iterator p = non_if_data.properties.find(name); - - if ( p == non_if_data.properties.end () ) - return NULL; - - return p->second; -} - -string -Project::ResolveNextProperty ( const string& s ) const -{ - size_t i = s.find ( "${" ); - if ( i == string::npos ) - i = s.find ( "$(" ); - if ( i != string::npos ) - { - string endCharacter; - if ( s[i + 1] == '{' ) - endCharacter = "}"; - else - endCharacter = ")"; - size_t j = s.find ( endCharacter ); - if ( j != string::npos ) - { - int propertyNameLength = j - i - 2; - string propertyName = s.substr ( i + 2, propertyNameLength ); - const Property* property = LookupProperty ( propertyName ); - if ( property != NULL ) - return string ( s ).replace ( i, propertyNameLength + 3, property->value ); - } - } - return s; -} - -string -Project::ResolveProperties ( const string& s ) const -{ - string s2 = s; - string s3; - do - { - s3 = s2; - s2 = ResolveNextProperty ( s3 ); - } while ( s2 != s3 ); - return s2; -} - -void -Project::ExecuteInvocations () -{ - for( std::map::const_iterator p = modules.begin(); p != modules.end(); ++ p ) - p->second->InvokeModule (); -} - -void -Project::ReadXml () -{ - Path path; - head = XMLLoadFile ( xmlfile, path, xmlbuildfiles ); - node = NULL; - for ( size_t i = 0; i < head->subElements.size (); i++ ) - { - if ( head->subElements[i]->name == "project" ) - { - node = head->subElements[i]; - string path; - ProcessXML ( path ); - return; - } - } - - if (node == NULL) - node = head->subElements[0]; - - throw XMLInvalidBuildFileException ( - node->location, - "Document contains no 'project' tag." ); -} - -void -Project::ProcessXML ( const string& path ) -{ - const XMLAttribute *att; - if ( node->name != "project" ) - throw Exception ( "internal tool error: Project::ProcessXML() called with non- node" ); - - att = node->GetAttribute ( "name", false ); - if ( !att ) - name = "Unnamed"; - else - name = att->value; - - att = node->GetAttribute ( "makefile", true ); - assert(att); - makefile = Environment::GetAutomakeFile ( att->value ); - - att = node->GetAttribute ( "allowwarnings", false ); - allowWarningsSet = att != NULL; - if ( att != NULL ) - allowWarnings = att->value == "true"; - - size_t i; - for ( i = 0; i < node->subElements.size (); i++ ) - { - ParseContext parseContext; - ProcessXMLSubElement ( *node->subElements[i], path, parseContext ); - } - - non_if_data.ProcessXML (); - host_non_if_data.ProcessXML (); - - non_if_data.ExtractModules( modules ); - - for ( i = 0; i < linkerFlags.size (); i++ ) - linkerFlags[i]->ProcessXML (); - for( std::map::const_iterator p = modules.begin(); p != modules.end(); ++ p ) - p->second->ProcessXML (); - for ( i = 0; i < cdfiles.size (); i++ ) - cdfiles[i]->ProcessXML (); - for ( i = 0; i < installfiles.size (); i++ ) - installfiles[i]->ProcessXML (); -} - -void -Project::ProcessXMLSubElement ( const XMLElement& e, - const string& path, - ParseContext& parseContext ) -{ - const XMLAttribute* att; - - att = e.GetAttribute ( "compilerset", false ); - - if ( att ) - { - CompilerSet compilerSet; - - if ( att->value == "msc" ) - compilerSet = MicrosoftC; - else if ( att->value == "gcc" ) - compilerSet = GnuGcc; - else - throw InvalidAttributeValueException ( - e.location, - "compilerset", - att->value ); - - if ( compilerSet != configuration.Compiler ) - return; - } - - att = e.GetAttribute ( "linkerset", false ); - - if ( att ) - { - LinkerSet linkerSet; - - if ( att->value == "mslink" ) - linkerSet = MicrosoftLink; - else if ( att->value == "ld" ) - linkerSet = GnuLd; - else - throw InvalidAttributeValueException ( - e.location, - "linkerset", - att->value ); - - if ( linkerSet != configuration.Linker ) - return; - } - - bool subs_invalid = false; - - string subpath(path); - if ( e.name == "module" ) - { - Module* module = new Module ( *this, e, path ); - if ( LocateModule ( module->name ) ) - throw XMLInvalidBuildFileException ( - node->location, - "module name conflict: '%s' (originally defined at %s)", - module->name.c_str(), - module->node.location.c_str() ); - non_if_data.modules.push_back ( module ); - return; // defer processing until later - } - else if ( e.name == "cdfile" ) - { - CDFile* cdfile = new CDFile ( *this, e, path ); - cdfiles.push_back ( cdfile ); - subs_invalid = true; - } - else if ( e.name == "installfile" ) - { - InstallFile* installfile = new InstallFile ( *this, e, path ); - installfiles.push_back ( installfile ); - subs_invalid = true; - } - else if ( e.name == "directory" ) - { - const XMLAttribute* att = e.GetAttribute ( "name", true ); - assert(att); - subpath = GetSubPath ( *this, e.location, path, att->value ); - } - else if ( e.name == "include" ) - { - const XMLAttribute* host = e.GetAttribute("host", false); - Include* include = new Include ( *this, &e ); - - if(host && host->value == "true") - host_non_if_data.includes.push_back(include); - else - non_if_data.includes.push_back ( include ); - - subs_invalid = true; - } - else if ( e.name == "define" || e.name == "redefine" ) - { - const XMLAttribute* host = e.GetAttribute("host", false); - Define* define = new Define ( *this, e ); - - if(host && host->value == "true") - host_non_if_data.defines.push_back(define); - else - non_if_data.defines.push_back ( define ); - - subs_invalid = true; - } - else if ( e.name == "compilerflag" ) - { - CompilerFlag* pCompilerFlag = new CompilerFlag ( *this, e ); - non_if_data.compilerFlags.push_back ( pCompilerFlag ); - subs_invalid = true; - } - else if ( e.name == "linkerflag" ) - { - linkerFlags.push_back ( new LinkerFlag ( *this, e ) ); - subs_invalid = true; - } - else if ( e.name == "if" || e.name == "ifnot" ) - { - const XMLAttribute* name; - name = e.GetAttribute ( "property", true ); - assert( name ); - const Property *property = LookupProperty( name->value ); - const string *PropertyValue; - const string EmptyString; - - if (property) - { - PropertyValue = &property->value; - } - else - { - // Property does not exist, treat it as being empty - PropertyValue = &EmptyString; - } - - const XMLAttribute* value; - value = e.GetAttribute ( "value", true ); - assert( value ); - - bool negate = ( e.name == "ifnot" ); - bool equality = ( *PropertyValue == value->value ); - if ( equality == negate ) - { - // Failed, skip this element - if ( configuration.Verbose ) - printf("Skipping 'If' at %s\n", e.location.c_str () ); - return; - } - subs_invalid = false; - } - else if ( e.name == "property" ) - { - Property* property = new Property ( e, *this, NULL ); - non_if_data.properties.insert ( std::make_pair ( property->name, property ) ); - } - if ( subs_invalid && e.subElements.size() ) - { - throw XMLInvalidBuildFileException ( - e.location, - "<%s> cannot have sub-elements", - e.name.c_str() ); - } - for ( size_t i = 0; i < e.subElements.size (); i++ ) - ProcessXMLSubElement ( *e.subElements[i], subpath, parseContext ); -} - -Module* -Project::LocateModule ( const string& name ) -{ - std::map::const_iterator p = modules.find(name); - - if ( p == modules.end() ) - return NULL; - - return p->second; -} - -const Module* -Project::LocateModule ( const string& name ) const -{ - std::map::const_iterator p = modules.find(name); - - if ( p == modules.end() ) - return NULL; - - return p->second; -} - -const std::string& -Project::GetProjectFilename () const -{ - return xmlfile; -} - -std::string -Project::GetCompilerSet () const -{ - switch ( configuration.Compiler ) - { - case GnuGcc: return "gcc"; - case MicrosoftC: return "msc"; - default: assert ( false ); - } -} - -std::string -Project::GetLinkerSet () const -{ - switch ( configuration.Linker ) - { - case GnuLd: return "ld"; - case MicrosoftLink: return "mslink"; - default: assert ( false ); - } -} diff --git a/reactos/tools/rbuild/project.dtd b/reactos/tools/rbuild/project.dtd deleted file mode 100644 index dad95b0f4d0..00000000000 --- a/reactos/tools/rbuild/project.dtd +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/rbuild/rbuild.cpp b/reactos/tools/rbuild/rbuild.cpp deleted file mode 100644 index dc098a819c4..00000000000 --- a/reactos/tools/rbuild/rbuild.cpp +++ /dev/null @@ -1,422 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include -#include - -#include -#ifdef WIN32 -#include -#endif -#include - -#include "rbuild.h" -#include "backend/backend.h" -#include "backend/mingw/mingw.h" - -using std::string; -using std::vector; - -static string BuildSystem; -static string RootXmlFile; -static Configuration configuration; -static std::map properties; - -bool -ParseAutomaticDependencySwitch ( - char switchChar2, - char* switchStart ) -{ - switch ( switchChar2 ) - { - case 'd': - configuration.Dependencies = NoDependencies; - break; - case 'a': - configuration.Dependencies = AutomaticDependencies; - break; - case 'f': - configuration.Dependencies = FullDependencies; - break; - case 'm': - if ( strlen ( switchStart ) <= 3 ) - { - printf ( "Switch -dm requires a module name\n" ); - return false; - } - configuration.CheckDependenciesForModuleOnly = true; - configuration.CheckDependenciesForModuleOnlyModule = string(&switchStart[3]); - break; - default: - printf ( "Unknown switch -d%c\n", - switchChar2 ); - return false; - } - return true; -} - -bool -ParseCompilationUnitSwitch ( - char switchChar2, - char* switchStart ) -{ - switch ( switchChar2 ) - { - case 'd': - configuration.CompilationUnitsEnabled = false; - break; - default: - printf ( "Unknown switch -u%c\n", - switchChar2 ); - return false; - } - return true; -} - -bool -ParsePrecompiledHeaderSwitch ( - char switchChar2, - char* switchStart ) -{ - switch ( switchChar2 ) - { - case 'd': - configuration.PrecompiledHeadersEnabled = false; - break; - default: - printf ( "Unknown switch -h%c\n", - switchChar2 ); - return false; - } - return true; -} - -bool -ParseVCProjectSwitch ( - char switchChar2, - char* switchStart ) -{ - string temp; - - switch ( switchChar2 ) - { - case 's': - if ( strlen ( switchStart ) <= 3 ) - { - printf ( "Switch -dm requires a module name\n" ); - return false; - } - configuration.VSProjectVersion = string(&switchStart[3]); - - if (configuration.VSProjectVersion.at(0) == '{') { - printf ( "Error: invalid char {\n" ); - return false; - } - - if (configuration.VSProjectVersion.length() == 1) //7,8 - configuration.VSProjectVersion.append(".00"); - - if (configuration.VSProjectVersion.length() == 3) //7.1 - configuration.VSProjectVersion.append("0"); - - //We should set this here because in the end we will use - //msc sompiler so we need to parse msc specidic - //definitions and includes - configuration.Compiler = MicrosoftC; - - break; - case 'c': - configuration.VSConfigurationType = string (&switchStart[3]); - configuration.InstallFiles = true; - break; - case 'o': - if ( strlen ( switchStart ) <= 3 ) - { - printf ( "Invalid switch\n" ); - return false; - } - temp = string (&switchStart[3]); - if ( temp.find ("configuration") != string::npos ) - configuration.UseConfigurationInPath = true; - - if ( temp.find ("version") != string::npos ) - configuration.UseVSVersionInPath = true; - break; - default: - printf ( "Unknown switch -d%c\n", - switchChar2 ); - return false; - } - return true; -} - -bool -ParseMingwSwitch ( char* switchStart ) -{ - switchStart += 2; - - if ( *switchStart == 'c' ) - { - ++ switchStart; - - if ( strcmp ( switchStart, "msc" ) == 0 ) - configuration.Compiler = MicrosoftC; - else if ( strcmp ( switchStart, "gcc" ) == 0 ) - configuration.Compiler = GnuGcc; - else - { - printf ( "Unknown value of -Mc: %s\n", switchStart ); - return false; - } - } - else if ( *switchStart == 'l' ) - { - ++ switchStart; - - if ( strcmp ( switchStart, "mslink" ) == 0 ) - configuration.Linker = MicrosoftLink; - else if ( strcmp ( switchStart, "ld" ) == 0 ) - configuration.Linker = GnuLd; - else - { - printf ( "Unknown value of -Ml: %s\n", switchStart ); - return false; - } - } - else if ( strcmp ( switchStart, "microsoft" ) == 0 ) - { - configuration.Compiler = MicrosoftC; - configuration.Linker = MicrosoftLink; - } - else if ( strcmp ( switchStart, "gnu" ) == 0 ) - { - configuration.Compiler = GnuGcc; - configuration.Linker = GnuLd; - } - else - { - printf ( "Unknown value of -M: %s\n", switchStart ); - return false; - } - - return true; -} - -bool -ParseMakeSwitch ( char switchChar2 ) -{ - switch ( switchChar2 ) - { - case 'i': - configuration.MakeHandlesInstallDirectories = true; - break; - default: - printf ( "Unknown switch -m%c\n", - switchChar2 ); - return false; - } - return true; -} - -bool -ParseProxyMakefileSwitch ( char switchChar2 ) -{ - switch ( switchChar2 ) - { - case 's': - configuration.GenerateProxyMakefilesInSourceTree = true; - break; - default: - printf ( "Unknown switch -p%c\n", - switchChar2 ); - return false; - } - return true; -} - -bool -ParseDefineSwitch ( char* switchStart ) -{ - string s = string ( switchStart + 2 ); - string::size_type separator = s.find ( '=' ); - if ( separator == string::npos || separator == 0 ) - { - printf ( "Invalid define switch: '%s'\n", switchStart ); - return false; - } - if ( s.find ( '=', separator + 1 ) != string::npos ) - { - printf ( "Invalid define switch: '%s'\n", switchStart ); - return false; - } - - string var = s.substr ( 0, separator ); - string val = s.substr ( separator + 1 ); - properties.insert ( std::pair ( var, val ) ); - return true; -} - -bool -ParseSwitch ( int argc, char** argv, int index ) -{ - char switchChar = strlen ( argv[index] ) > 1 ? argv[index][1] : ' '; - char switchChar2 = strlen ( argv[index] ) > 2 ? argv[index][2] : ' '; - switch ( switchChar ) - { - case 'v': - if (switchChar2 == 's' || switchChar2 == 'c' || switchChar2 == 'o') - { - return ParseVCProjectSwitch ( - switchChar2, - argv[index] ); - } - else - configuration.Verbose = true; - break; - case 'c': - configuration.CleanAsYouGo = true; - break; - case 'd': - return ParseAutomaticDependencySwitch ( - switchChar2, - argv[index] ); - case 'h': - return ParsePrecompiledHeaderSwitch ( - switchChar2, - argv[index] ); - - case 'u': - return ParseCompilationUnitSwitch ( - switchChar2, - argv[index] ); - case 'r': - RootXmlFile = string(&argv[index][2]); - break; - case 'm': - return ParseMakeSwitch ( switchChar2 ); - case 'M': - return ParseMingwSwitch ( argv[index] ); - case 'p': - return ParseProxyMakefileSwitch ( switchChar2 ); - case 'D': - return ParseDefineSwitch ( argv[index] ); - default: - printf ( - "Unknown switch -%c\n", - switchChar ); - return false; - } - return true; -} - -bool -ParseArguments ( int argc, char** argv ) -{ - if ( argc < 2 ) - return false; - - for ( int i = 1; i < argc; i++ ) - { - if ( argv[i][0] == '-' ) - { - if ( !ParseSwitch ( argc, argv, i ) ) - return false; - } - else - BuildSystem = argv[i]; - } - - return true; -} - -int -main ( int argc, char** argv ) -{ - InitializeEnvironment (); - - if ( !ParseArguments ( argc, argv ) ) - { - printf ( "Generates project files for buildsystems\n\n" ); - printf ( " rbuild [switches] -r{rootfile.rbuild} buildsystem\n\n" ); - printf ( "Switches:\n" ); - printf ( " -v Be verbose.\n" ); - printf ( " -c Clean as you go. Delete generated files as soon as they are not\n" ); - printf ( " needed anymore.\n" ); - printf ( " -dd Disable automatic dependencies.\n" ); - printf ( " -da Enable automatic dependencies.\n" ); - printf ( " -df Enable full dependencies.\n" ); - printf ( " -dm{module} Check only automatic dependencies for this module.\n" ); - printf ( " -ud Disable multiple source files per compilation unit.\n" ); - printf ( " -mi Let make handle creation of install directories. Rbuild will\n" ); - printf ( " not generate the directories.\n" ); - printf ( " -ps Generate proxy makefiles in source tree instead of the output.\n" ); - printf ( " tree.\n" ); - printf ( " -vs{version} Version of MS VS project files. Default is %s.\n", MS_VS_DEF_VERSION ); - printf ( " -vo{version|configuration} Adds subdirectory path to the default Intermediate-Outputdirectory.\n" ); - printf ( " -Mc{compiler} Compiler to use for mingw backend. Can be one of:\n" ); - printf ( " %-10s %s (default)\n", "gcc", "GNU compiler collection (gcc, g++)\n"); - printf ( " %-10s %s\n", "msc", "Microsoft Visual C++ (cl)\n"); - printf ( " -Ml{compiler} Linker to use for mingw backend. Can be one of:\n" ); - printf ( " %-10s %s (default)\n", "ld", "GNU binutils (ld, dlltool)\n"); - printf ( " %-10s %s\n", "mslink", "Microsoft Linker (link, lib)\n"); - printf ( " -Mmicrosoft Same as -Mcmsc -Mlmslink\n" ); - printf ( " -Mgnu Same as -Mcgcc -Mlld\n" ); - printf ( " -Dvar=val Set the value of 'var' variable to 'val'.\n" ); - printf ( "\n" ); - printf ( " buildsystem Target build system. Can be one of:\n" ); - - std::map::iterator iter; - for (iter = Backend::Factory::map_begin(); iter != Backend::Factory::map_end(); iter++) - { - Backend::Factory *factory = iter->second; - printf ( " %-10s %s\n", factory->Name(), factory->Description()); - } - return 1; - } - try - { - if ( RootXmlFile.length () == 0 ) - throw MissingArgumentException ( "-r" ); - - string projectFilename ( RootXmlFile ); - - printf ( "Reading build files..." ); - Project project ( configuration, projectFilename, &properties ); - printf ( "done\n" ); - - project.SetBackend ( Backend::Factory::Create ( - BuildSystem, - project, - configuration ) ); - - project.ExecuteInvocations (); - project.GetBackend().Process(); - - return 0; - } - catch ( Exception& ex ) - { - printf ( "%s\n", (*ex).c_str () ); - return 1; - } - catch ( XMLException& ex ) - { - printf ( "%s\n", (*ex).c_str () ); - return 1; - } -} diff --git a/reactos/tools/rbuild/rbuild.dsp b/reactos/tools/rbuild/rbuild.dsp deleted file mode 100644 index f9700359f38..00000000000 --- a/reactos/tools/rbuild/rbuild.dsp +++ /dev/null @@ -1,360 +0,0 @@ -# Microsoft Developer Studio Project File - Name="rbuild" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=rbuild - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "rbuild.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "rbuild.mak" CFG="rbuild - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "rbuild - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "rbuild - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "rbuild - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "rbuild - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I ".." /I "../../lib/inflib" /I "../../include/reactos" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "INFLIB_HOST" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "rbuild - Win32 Release" -# Name "rbuild - Win32 Debug" -# Begin Group "backends" - -# PROP Default_Filter "" -# Begin Group "devcpp" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\backend\devcpp\devcpp.cpp -# End Source File -# Begin Source File - -SOURCE=.\backend\devcpp\devcpp.h -# End Source File -# End Group -# Begin Group "msvc" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\backend\msvc\genguid.cpp -# End Source File -# Begin Source File - -SOURCE=.\backend\msvc\msvc.cpp -# End Source File -# Begin Source File - -SOURCE=.\backend\msvc\msvc.h -# End Source File -# Begin Source File - -SOURCE=.\backend\msvc\msvcmaker.cpp -# End Source File -# Begin Source File - -SOURCE=.\backend\msvc\vcprojmaker.cpp -# End Source File -# End Group -# Begin Group "mingw" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\backend\mingw\mingw.cpp -# End Source File -# Begin Source File - -SOURCE=.\backend\mingw\mingw.h -# End Source File -# Begin Source File - -SOURCE=.\backend\mingw\modulehandler.cpp -# End Source File -# Begin Source File - -SOURCE=.\backend\mingw\modulehandler.h -# End Source File -# Begin Source File - -SOURCE=.\backend\mingw\pch_detection.h -# End Source File -# Begin Source File - -SOURCE=.\backend\mingw\proxymakefile.cpp -# End Source File -# End Group -# Begin Group "backend_sources" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\backend\backend.cpp -# End Source File -# End Group -# Begin Group "backend_headers" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\backend\backend.h -# End Source File -# End Group -# End Group -# Begin Group "rbuild_sources" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\automaticdependency.cpp -# End Source File -# Begin Source File - -SOURCE=.\bootstrap.cpp -# End Source File -# Begin Source File - -SOURCE=.\cdfile.cpp -# End Source File -# Begin Source File - -SOURCE=.\compilationunit.cpp -# End Source File -# Begin Source File - -SOURCE=.\compilationunitsupportcode.cpp -# End Source File -# Begin Source File - -SOURCE=.\compilerdirective.cpp -# End Source File -# Begin Source File - -SOURCE=.\compilerflag.cpp -# End Source File -# Begin Source File - -SOURCE=.\configuration.cpp -# End Source File -# Begin Source File - -SOURCE=.\define.cpp -# End Source File -# Begin Source File - -SOURCE=.\directory.cpp -# End Source File -# Begin Source File - -SOURCE=.\exception.cpp -# End Source File -# Begin Source File - -SOURCE=.\filesupportcode.cpp -# End Source File -# Begin Source File - -SOURCE=.\global.cpp -# End Source File -# Begin Source File - -SOURCE=.\include.cpp -# End Source File -# Begin Source File - -SOURCE=.\installfile.cpp -# End Source File -# Begin Source File - -SOURCE=.\linkerflag.cpp -# End Source File -# Begin Source File - -SOURCE=.\linkerscript.cpp -# End Source File -# Begin Source File - -SOURCE=.\module.cpp -# End Source File -# Begin Source File - -SOURCE=.\project.cpp -# End Source File -# Begin Source File - -SOURCE=.\rbuild.cpp -# End Source File -# Begin Source File - -SOURCE=.\stubbedcomponent.cpp -# End Source File -# Begin Source File - -SOURCE=.\syssetupgenerator.cpp -# End Source File -# Begin Source File - -SOURCE=.\testsupportcode.cpp -# End Source File -# Begin Source File - -SOURCE=.\wineresource.cpp -# End Source File -# End Group -# Begin Group "rbuild_headers" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=.\exception.h -# End Source File -# Begin Source File - -SOURCE=.\pch.h -# End Source File -# Begin Source File - -SOURCE=.\rbuild.h -# End Source File -# Begin Source File - -SOURCE=.\test.h -# End Source File -# End Group -# Begin Group "inflib" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\lib\inflib\builddep.h -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infcommon.h -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infcore.c -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infget.c -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infhost.h -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infhostgen.c -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infhostget.c -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infhostglue.c -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infhostput.c -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\inflib.h -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infpriv.h -# End Source File -# Begin Source File - -SOURCE=..\..\lib\inflib\infput.c -# End Source File -# End Group -# Begin Group "tools" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\ssprintf.cpp -# End Source File -# Begin Source File - -SOURCE=..\ssprintf.h -# End Source File -# Begin Source File - -SOURCE=..\xml.cpp -# End Source File -# Begin Source File - -SOURCE=..\xml.h -# End Source File -# End Group -# End Target -# End Project diff --git a/reactos/tools/rbuild/rbuild.dsw b/reactos/tools/rbuild/rbuild.dsw deleted file mode 100644 index f1c3863426c..00000000000 --- a/reactos/tools/rbuild/rbuild.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "rbuild"=.\rbuild.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/reactos/tools/rbuild/rbuild.h b/reactos/tools/rbuild/rbuild.h deleted file mode 100644 index 04d2d69e7f7..00000000000 --- a/reactos/tools/rbuild/rbuild.h +++ /dev/null @@ -1,1100 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include "pch.h" - -#ifdef WIN32 -#include -#include -#endif/*WIN32*/ -#include -#include -#ifdef _MSC_VER -#include -#else/*_MSC_VER*/ -#include -#ifdef WIN32 -#include -#endif/*WIN32*/ -#endif/*_MSC_VER*/ - -#include - -#include "ssprintf.h" -#include "exception.h" -#include "xml.h" - -class Backend; // forward declaration - -typedef std::vector string_list; - -extern std::string ExePrefix; -extern std::string ExePostfix; -extern std::string sSep; -extern std::string sBadSep; -extern char cSep; -extern char cBadSep; - -#ifdef WIN32 -#define DEF_EXEPREFIX "" -#define DEF_EXEPOSTFIX ".exe" -#define DEF_CSEP '\\' -#define DEF_CBAD_SEP '/' -#define DEF_SSEP "\\" -#define DEF_SBAD_SEP "/" -#else -#define DEF_EXEPREFIX "./" -#define DEF_EXEPOSTFIX "" -#define DEF_CSEP '/' -#define DEF_CBAD_SEP '\\' -#define DEF_SSEP "/" -#define DEF_SBAD_SEP "\\" -#endif - -#define MS_VS_DEF_VERSION "9.00" - -class XmlNode; -class Directory; -class Project; -class IfableData; -class Module; -class Include; -class Define; -class File; -class Library; -class Invoke; -class InvokeFile; -class Dependency; -class ImportLibrary; -class CompilerFlag; -class LinkerFlag; -class LinkerScript; -class Property; -class TestSupportCode; -class AutomaticDependency; -class Bootstrap; -class CDFile; -class InstallFile; -class PchFile; -class StubbedComponent; -class StubbedSymbol; -class CompilationUnit; -class FileLocation; -class AutoRegister; - -class SourceFileTest; -class Metadata; -class Bootsector; - -typedef std::map directory_map; - -class XmlNode -{ -protected: - const Project& project; - const XMLElement& node; - - XmlNode ( const Project& project_, - const XMLElement& node_ ); - virtual ~XmlNode(); - -public: - virtual void ProcessXML(); -}; - -enum DirectoryLocation -{ - SourceDirectory, - IntermediateDirectory, - OutputDirectory, - InstallDirectory, - TemporaryDirectory, -}; - -class Directory -{ -public: - std::string name; - directory_map subdirs; - Directory ( const std::string& name ); - ~Directory(); - void Add ( const char* subdir ); - void GenerateTree ( DirectoryLocation root, - bool verbose ); - void CreateRule ( FILE* f, - const std::string& parent ); -private: - bool mkdir_p ( const char* path ); - bool CreateDirectory ( const std::string& path ); - std::string EscapeSpaces ( const std::string& path ); - void GenerateTree ( const std::string& parent, - bool verbose ); -}; - -enum DependenciesType -{ - NoDependencies, - AutomaticDependencies, - FullDependencies -}; - -enum CompilerSet -{ - GnuGcc, - MicrosoftC -}; - -enum LinkerSet -{ - GnuLd, - MicrosoftLink -}; - -enum SpecFileType -{ - None, - Spec = 1, - PSpec = 2 -}; - -class Configuration -{ -public: - Configuration (); - ~Configuration (); - bool Verbose; - bool CleanAsYouGo; - DependenciesType Dependencies; - bool CheckDependenciesForModuleOnly; - bool CompilationUnitsEnabled; - bool PrecompiledHeadersEnabled; - std::string CheckDependenciesForModuleOnlyModule; - std::string VSProjectVersion; - std::string VSConfigurationType; - bool UseVSVersionInPath; - bool UseConfigurationInPath; - bool MakeHandlesInstallDirectories; - bool GenerateProxyMakefilesInSourceTree; - bool InstallFiles; - CompilerSet Compiler; - LinkerSet Linker; -}; - -class Environment -{ -public: - static std::string GetVariable ( const std::string& name ); - static std::string GetArch (); - static std::string GetIntermediatePath (); - static std::string GetOutputPath (); - static std::string GetSourcePath (); - static std::string GetCdOutputPath (); - static std::string GetInstallPath (); - static std::string GetAutomakeFile ( const std::string& defaultFile ); - static std::string GetEnvironmentVariablePathOrDefault ( const std::string& name, - const std::string& defaultValue ); -}; - - -class FileSupportCode -{ -public: - static void WriteIfChanged ( char* outbuf, - const std::string& filename, - bool ignoreError = false ); -}; - - -class ParseContext -{ -public: - CompilationUnit* compilationUnit; - ParseContext (); -}; - - -class IfableData -{ -public: - std::vector compilationUnits; - std::vector files; - std::vector includes; - std::vector defines; - std::vector libraries; - std::map properties; - std::vector modules; - std::vector compilerFlags; - int asmFiles; // number of .asm files in compilationUnits - - IfableData(); - ~IfableData(); - void ProcessXML(); - void ExtractModules( std::map &modules ); -}; - -class Project -{ - std::string xmlfile; - XMLElement *node, *head; - Backend* _backend; -public: - const Configuration& configuration; - std::string name; - std::string makefile; - XMLIncludes xmlbuildfiles; - std::vector linkerFlags; - std::vector cdfiles; - std::vector installfiles; - std::map modules; - IfableData non_if_data; - IfableData host_non_if_data; - bool allowWarnings; - bool allowWarningsSet; - - Project ( const Configuration& configuration, - const std::string& filename, - const std::map* properties = NULL ); - ~Project (); - void SetBackend ( Backend* backend ) { _backend = backend; } - Backend& GetBackend() { return *_backend; } - void ExecuteInvocations (); - - void ProcessXML ( const std::string& path ); - Module* LocateModule ( const std::string& name ); - const Module* LocateModule ( const std::string& name ) const; - const std::string& GetProjectFilename () const; - std::string ResolveProperties ( const std::string& s ) const; - const Property* LookupProperty ( const std::string& name ) const; - std::string GetCompilerSet () const; - std::string GetLinkerSet () const; -private: - std::string ResolveNextProperty ( const std::string& s ) const; - void ReadXml (); - void ProcessXMLSubElement ( const XMLElement& e, - const std::string& path, - ParseContext& parseContext ); - - // disable copy semantics - Project ( const Project& ); - Project& operator = ( const Project& ); -}; - - -enum ModuleType -{ - BuildTool, - StaticLibrary, - ObjectLibrary, - Kernel, - KernelModeDLL, - KernelModeDriver, - NativeDLL, - NativeCUI, - Win32DLL, - Win32OCX, - Win32CUI, - Win32GUI, - BootLoader, - BootSector, - Iso, - LiveIso, - Test, - RpcServer, - RpcClient, - Alias, - BootProgram, - Win32SCR, - IdlHeader, - IdlInterface, - EmbeddedTypeLib, - ElfExecutable, - RpcProxy, - HostStaticLibrary, - Cabinet, - KeyboardLayout, - MessageHeader, - TypeDontCare, // always at the end -}; - -enum HostType -{ - HostFalse, - HostDefault, - HostTrue, - HostDontCare, -}; - -enum CompilerType -{ - CompilerTypeCC, - CompilerTypeCXX, - CompilerTypeCPP, - CompilerTypeAS, - CompilerTypeMIDL, - CompilerTypeRC, - CompilerTypeNASM, - - CompilerTypesCount -}; - -class FileLocation -{ -public: - DirectoryLocation directory; - std::string relative_path; - std::string name; - - FileLocation ( const DirectoryLocation directory, - const std::string& relative_path, - const std::string& name, - const XMLElement *node = NULL ); - - FileLocation ( const FileLocation& other ); -}; - -class Module -{ -public: - const Project& project; - const XMLElement& node; - std::string xmlbuildFile; - std::string name; - std::string guid; - std::string extension; - std::string baseaddress; - std::string payload; - std::string buildtype; - ModuleType type; - ImportLibrary* importLibrary; - ImportLibrary* delayImportLibrary; - Metadata* metadata; - Bootsector* bootSector; - bool isUnicode; - bool isDefaultEntryPoint; - Bootstrap* bootstrap; - AutoRegister* autoRegister; // node - IfableData non_if_data; - std::vector invocations; - std::vector dependencies; - std::vector compilerFlags; - std::vector linkerFlags; - std::vector stubbedComponents; - std::vector cdfiles; - LinkerScript* linkerScript; - PchFile* pch; - bool cplusplus; - std::string prefix; - std::string aliasedModuleName; - bool allowWarnings; - bool enabled; - bool isStartupLib; - bool isCRT; - std::string CRT; - bool dynamicCRT; - FileLocation *output; // "path/foo.exe" - FileLocation *dependency; // "path/foo.exe" or "path/libfoo.a" - FileLocation *install; - std::string description; - std::string lcid; - std::string layoutId; - std::string layoutNameResId; - - Module ( const Project& project, - const XMLElement& moduleNode, - const std::string& modulePath ); - ~Module (); - ModuleType GetModuleType ( const std::string& location, - const XMLAttribute& attribute ); - bool HasImportLibrary () const; - bool IsDLL () const; - std::string GetPathWithPrefix ( const std::string& prefix ) const; // "path/prefixfoo.exe" - std::string GetPathToBaseDir() const; // "../" offset to rootdirectory - std::string GetEntryPoint() const; - void GetTargets ( string_list& ) const; - std::string GetInvocationTarget ( const int index ) const; - bool HasFileWithExtension ( const IfableData&, const std::string& extension ) const; - void InvokeModule () const; - void ProcessXML (); - std::string GetDllName() const; - SpecFileType IsSpecDefinitionFile () const; -private: - void SetImportLibrary ( ImportLibrary* importLibrary ); - void SetDelayImportLibrary ( ImportLibrary* importLibrary ); - DirectoryLocation GetTargetDirectoryTree () const; - std::string GetDefaultModuleExtension () const; - std::string GetDefaultModuleEntrypoint () const; - std::string GetDefaultModuleBaseaddress () const; - std::string GetDefaultModuleCRT () const; - bool GetDefaultModuleIsCRT () const; - std::string entrypoint; - void ProcessXMLSubElement ( const XMLElement& e, - DirectoryLocation directory, - const std::string& relative_path, - ParseContext& parseContext ); - bool GetBooleanAttribute ( const XMLElement& moduleNode, - const char * name, - bool default_value = false ); -}; - -class ToolsetDirective -{ -private: - bool enabled; - -protected: - void ParseToolsets ( const Project& project, const XMLElement& node ); - -public: - virtual ~ToolsetDirective() { } - bool IsEnabled () const; -}; - -class CompilerDirective -{ -private: - std::bitset compilersSet; - bool enabled; - -protected: - void ParseCompilers ( const XMLElement& node, const std::string& defaultValue ); - -public: - CompilerDirective (): enabled ( true ) { } - virtual ~CompilerDirective() { } - void SetCompiler ( CompilerType compiler ); - void UnsetCompiler ( CompilerType compiler ); - void SetAllCompilers (); - void UnsetAllCompilers (); - bool IsCompilerSet ( CompilerType compiler ) const; -}; - -class Include: public CompilerDirective, public ToolsetDirective -{ -public: - FileLocation *directory; - - Include ( const Project& project, - const XMLElement* includeNode ); - Include ( const Project& project, - const XMLElement* includeNode, - const Module* module ); - Include ( const Project& project, - DirectoryLocation directory, - const std::string& relative_path ); - ~Include (); - void ProcessXML (); -private: - const Project& project; - const XMLElement* node; - const Module* module; - DirectoryLocation GetDefaultDirectoryTree ( const Module* module ) const; - void Initialize (); -}; - - -class Define: public CompilerDirective, public ToolsetDirective -{ -public: - const Project& project; - const Module* module; - const XMLElement* node; - std::string name; - std::string arguments; - std::string value; - std::string backend; - bool redefine; - - Define ( const Project& project, - const XMLElement& defineNode ); - Define ( const Project& project, - const Module* module, - const XMLElement& defineNode ); - Define ( const Project& project, - const Module* module, - const std::string& name_, - const std::string& backend_ = "", - bool redefine_ = false ); - ~Define(); - void ProcessXML(); -private: - void Initialize(); -}; - - -class File -{ -public: - FileLocation file; - bool first; - std::string switches; - bool isPreCompiledHeader; - - File ( DirectoryLocation directory, - const std::string& relative_path, - const std::string& name, - bool _first, - const std::string& _switches, - bool _isPreCompiledHeader ); - - void ProcessXML(); - std::string GetFullPath () const; -}; - - -class Library -{ - const XMLElement *node; -public: - const Module& module; - std::string name; - const Module* importedModule; - bool delayimp; - - Library ( const XMLElement& _node, - const Module& _module, - const std::string& _name ); - Library ( const Module& _module, - const std::string& _name ); - - void ProcessXML(); -}; - - -class Invoke -{ -public: - const XMLElement& node; - const Module& module; - const Module* invokeModule; - std::vector input; - std::vector output; - - Invoke ( const XMLElement& _node, - const Module& _module ); - - void ProcessXML(); - void GetTargets ( string_list& targets ) const; - std::string GetParameters () const; -private: - void ProcessXMLSubElement ( const XMLElement& e ); - void ProcessXMLSubElementInput ( const XMLElement& e ); - void ProcessXMLSubElementOutput ( const XMLElement& e ); -}; - - -class InvokeFile -{ -public: - const XMLElement& node; - std::string name; - std::string switches; - - InvokeFile ( const XMLElement& _node, - const std::string& _name ); - - void ProcessXML (); -}; - - -class Dependency -{ -public: - const XMLElement& node; - const Module& module; - const Module* dependencyModule; - - Dependency ( const XMLElement& _node, - const Module& _module ); - - void ProcessXML(); -}; - -class Bootsector -{ -public: - const XMLElement& node; - const Module* module; - const Module* bootSectorModule; - - Bootsector ( const XMLElement& _node, - const Module* _module ); - - void ProcessXML(); -private: - bool IsSupportedModuleType ( ModuleType type ); -}; - -class Metadata -{ -public: - const XMLElement& node; - const Module& module; - std::string name; - std::string description; - std::string version; - std::string copyright; - std::string url; - std::string date; - std::string owner; - - Metadata ( const XMLElement& _node, - const Module& _module ); - - void ProcessXML(); -}; - -class ImportLibrary : public XmlNode -{ -public: - const Module* module; - std::string dllname; - FileLocation *source; - FileLocation *target; - - ImportLibrary ( const Project& project, - const XMLElement& node, - const Module* module, - bool delayimp ); - ~ImportLibrary (); -}; - - -class CompilerFlag: public CompilerDirective, public ToolsetDirective -{ -public: - const Project& project; - const Module* module; - const XMLElement& node; - std::string flag; - - CompilerFlag ( const Project& project, - const XMLElement& compilerFlagNode ); - CompilerFlag ( const Project& project, - const Module* module, - const XMLElement& compilerFlagNode ); - ~CompilerFlag (); - void ProcessXML(); -private: - void Initialize(); -}; - - -class LinkerFlag: public ToolsetDirective -{ -public: - const Project& project; - const Module* module; - const XMLElement& node; - std::string flag; - - LinkerFlag ( const Project& project, - const XMLElement& linkerFlagNode ); - LinkerFlag ( const Project& project, - const Module* module, - const XMLElement& linkerFlagNode ); - ~LinkerFlag (); - void ProcessXML(); -private: - void Initialize(); -}; - - -class LinkerScript -{ -public: - const XMLElement& node; - const Module& module; - const FileLocation *file; - - LinkerScript ( const XMLElement& node, - const Module& module, - const FileLocation *file ); - ~LinkerScript (); - void ProcessXML(); -}; - - -class Property -{ -public: - const Project& project; - const Module* module; - std::string name, value; - bool isInternal; - - Property ( const XMLElement& node_, - const Project& project_, - const Module* module_ ); - - Property ( const Project& project_, - const Module* module_, - const std::string& name_, - const std::string& value_ ); - - void ProcessXML(); -}; - - -class TestSupportCode -{ -public: - const Project& project; - - TestSupportCode ( const Project& project ); - ~TestSupportCode (); - void GenerateTestSupportCode ( bool verbose ); -private: - bool IsTestModule ( const Module& module ); - void GenerateTestSupportCodeForModule ( Module& module, - bool verbose ); - std::string GetHooksFilename ( Module& module ); - char* WriteStubbedSymbolToHooksFile ( char* buffer, - const StubbedComponent& component, - const StubbedSymbol& symbol ); - char* WriteStubbedComponentToHooksFile ( char* buffer, - const StubbedComponent& component ); - void WriteHooksFile ( Module& module ); - std::string GetStubsFilename ( Module& module ); - char* WriteStubbedSymbolToStubsFile ( char* buffer, - const StubbedComponent& component, - const StubbedSymbol& symbol, - int stubIndex ); - char* WriteStubbedComponentToStubsFile ( char* buffer, - const StubbedComponent& component, - int* stubIndex ); - void WriteStubsFile ( Module& module ); - std::string GetStartupFilename ( Module& module ); - bool IsUnknownCharacter ( char ch ); - std::string GetTestDispatcherName ( std::string filename ); - bool IsTestFile ( std::string& filename ) const; - void GetSourceFilenames ( string_list& list, - Module& module ) const; - char* WriteTestDispatcherPrototypesToStartupFile ( char* buffer, - Module& module ); - char* WriteRegisterTestsFunctionToStartupFile ( char* buffer, - Module& module ); - void WriteStartupFile ( Module& module ); -}; - - -class SourceFile -{ -public: - SourceFile ( AutomaticDependency* automaticDependency, - const Module& module, - const File& file, - SourceFile* parent ); - void Parse (); - std::vector files; /* List of files included in this file */ - const File& file; - AutomaticDependency* automaticDependency; - const Module& module; - std::vector parents; /* List of files, this file is included from */ - time_t lastWriteTime; - time_t youngestLastWriteTime; /* Youngest last write time of this file and all children */ - SourceFile* youngestFile; -private: - void Close (); - void Open (); - void SkipWhitespace (); - bool ReadInclude ( std::string& filename, - bool& searchCurrentDirectory, - bool& includeNext ); - bool IsIncludedFrom ( const File& file ); - SourceFile* ParseFile(const File& file); - bool CanProcessFile ( const File& file ); - bool IsParentOf ( const SourceFile* parent, - const SourceFile* child ); - std::string buf; - const char *p; - const char *end; -}; - - -class AutomaticDependency -{ - friend class SourceFileTest; -public: - const Project& project; - - AutomaticDependency ( const Project& project ); - ~AutomaticDependency (); - bool LocateIncludedFile ( const FileLocation& directory, - const std::string& includedFilename ); - bool LocateIncludedFile ( SourceFile* sourceFile, - const Module& module, - const std::string& includedFilename, - bool searchCurrentDirectory, - bool includeNext, - File& resolvedFile ); - SourceFile* RetrieveFromCacheOrParse ( const Module& module, - const File& file, - SourceFile* parentSourceFile ); - SourceFile* RetrieveFromCache ( const File& file ); - void CheckAutomaticDependencies ( bool verbose ); - void CheckAutomaticDependenciesForModule ( Module& module, - bool verbose ); -private: - void GetModulesToCheck ( Module& module, std::vector& modules ); - void CheckAutomaticDependencies ( const Module& module, - bool verbose ); - void CheckAutomaticDependenciesForFile ( SourceFile* sourceFile ); - void GetIncludeDirectories ( std::vector& includes, - const Module& module ); - void GetModuleFiles ( const Module& module, - std::vector& files ) const; - void ParseFiles (); - void ParseFiles ( const Module& module ); - void ParseFile ( const Module& module, - const File& file ); - std::map sourcefile_map; -}; - - -class Bootstrap -{ -public: - const Project& project; - const Module* module; - const XMLElement& node; - std::string base; - std::string nameoncd; - - Bootstrap ( const Project& project, - const Module* module, - const XMLElement& bootstrapNode ); - ~Bootstrap (); - void ProcessXML(); -private: - bool IsSupportedModuleType ( ModuleType type ); - void Initialize(); - static std::string ReplaceVariable ( const std::string& name, - const std::string& value, - std::string path ); -}; - - -class CDFile : public XmlNode -{ -public: - FileLocation *source; - FileLocation *target; - - CDFile ( const Project& project, - const XMLElement& bootstrapNode, - const std::string& path ); - ~CDFile (); -private: - static std::string ReplaceVariable ( const std::string& name, - const std::string& value, - std::string path ); -}; - - -class InstallFile : public XmlNode -{ -public: - FileLocation *source; - FileLocation *target; - - InstallFile ( const Project& project, - const XMLElement& bootstrapNode, - const std::string& path ); - ~InstallFile (); -}; - - -class PchFile -{ -public: - const XMLElement& node; - const Module& module; - const FileLocation *file; - - PchFile ( - const XMLElement& node, - const Module& module, - const FileLocation *file ); - ~PchFile(); - void ProcessXML(); -}; - - -class StubbedComponent -{ -public: - const Module* module; - const XMLElement& node; - std::string name; - std::vector symbols; - - StubbedComponent ( const Module* module_, - const XMLElement& stubbedComponentNode ); - ~StubbedComponent (); - void ProcessXML (); - void ProcessXMLSubElement ( const XMLElement& e ); -}; - - -class StubbedSymbol -{ -public: - const XMLElement& node; - std::string symbol; - std::string newname; - std::string strippedName; - - StubbedSymbol ( const XMLElement& stubbedSymbolNode ); - ~StubbedSymbol (); - void ProcessXML(); -private: - std::string StripSymbol ( std::string symbol ); -}; - - -class CompilationUnit -{ -public: - std::string name; - - CompilationUnit ( const File* file ); - CompilationUnit ( const Project* project, - const Module* module, - const XMLElement* node ); - ~CompilationUnit (); - void ProcessXML(); - bool IsGeneratedFile () const; - bool HasFileWithExtension ( const std::string& extension ) const; - bool IsFirstFile () const; - const FileLocation& GetFilename () const; - const std::string& GetSwitches () const; - void AddFile ( const File * file ); - const std::vector GetFiles () const; -private: - const Project* project; - const Module* module; - const XMLElement* node; - std::vector files; - FileLocation *default_name; -}; - - -class CompilationUnitSupportCode -{ -public: - const Project& project; - - CompilationUnitSupportCode ( const Project& project ); - ~CompilationUnitSupportCode (); - void Generate ( bool verbose ); -private: - void GenerateForModule ( Module& module, - bool verbose ); - std::string GetCompilationUnitFilename ( Module& module, - CompilationUnit& compilationUnit ); - void WriteCompilationUnitFile ( Module& module, - CompilationUnit& compilationUnit ); -}; - - -enum AutoRegisterType -{ - DllRegisterServer, - DllInstall, - Both -}; - -class AutoRegister : public XmlNode -{ -public: - const Module* module; - std::string infSection; - AutoRegisterType type; - AutoRegister ( const Project& project_, - const Module* module_, - const XMLElement& node_ ); -private: - bool IsSupportedModuleType ( ModuleType type ); - AutoRegisterType GetAutoRegisterType( const std::string& type ); - void Initialize (); -}; - - -class SysSetupGenerator -{ -public: - const Project& project; - SysSetupGenerator ( const Project& project ); - ~SysSetupGenerator (); - void Generate (); -private: - std::string GetDirectoryId ( const Module& module ); - std::string GetFlags ( const Module& module ); - void Generate ( HINF inf, - const Module& module ); -}; - - -extern void -InitializeEnvironment (); - -extern std::string -Right ( const std::string& s, size_t n ); - -extern std::string -Replace ( const std::string& s, const std::string& find, const std::string& with ); - -extern std::string -ChangeSeparator ( const std::string& s, - const char fromSeparator, - const char toSeparator ); - -extern std::string -FixSeparator ( const std::string& s ); - -extern std::string -FixSeparatorForSystemCommand ( const std::string& s ); - -extern std::string -DosSeparator ( const std::string& s ); - -extern std::string -ReplaceExtension ( - const std::string& filename, - const std::string& newExtension ); - -extern std::string -GetSubPath ( - const Project& project, - const std::string& location, - const std::string& path, - const std::string& att_value ); - -extern std::string -GetExtension ( const std::string& filename ); - -extern std::string -GetExtension ( const FileLocation& file ); - -extern std::string -NormalizeFilename ( const std::string& filename ); - -extern std::string -ToLower ( std::string filename ); diff --git a/reactos/tools/rbuild/rbuild.mak b/reactos/tools/rbuild/rbuild.mak deleted file mode 100644 index a2d422d908e..00000000000 --- a/reactos/tools/rbuild/rbuild.mak +++ /dev/null @@ -1,560 +0,0 @@ -# Copyright (C) 2005 Casper S. Hornstrup -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -RBUILD_BASE = $(TOOLS_BASE_)rbuild -RBUILD_BASE_ = $(RBUILD_BASE)$(SEP) -RBUILD_INT = $(INTERMEDIATE_)$(RBUILD_BASE) -RBUILD_INT_ = $(RBUILD_INT)$(SEP) -RBUILD_OUT = $(OUTPUT_)$(RBUILD_BASE) -RBUILD_OUT_ = $(RBUILD_OUT)$(SEP) - -$(RBUILD_INT): | $(TOOLS_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_OUT): | $(TOOLS_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - - -RBUILD_BACKEND_BASE = $(RBUILD_BASE_)backend -RBUILD_BACKEND_BASE_ = $(RBUILD_BACKEND_BASE)$(SEP) -RBUILD_BACKEND_INT = $(INTERMEDIATE_)$(RBUILD_BACKEND_BASE) -RBUILD_BACKEND_INT_ = $(RBUILD_BACKEND_INT)$(SEP) -RBUILD_BACKEND_OUT = $(OUTPUT_)$(RBUILD_BACKEND_BASE) -RBUILD_BACKEND_OUT_ = $(RBUILD_BACKEND_OUT)$(SEP) - -$(RBUILD_BACKEND_INT): | $(RBUILD_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_BACKEND_OUT): | $(RBUILD_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - - -RBUILD_MINGW_BASE = $(RBUILD_BACKEND_BASE_)mingw -RBUILD_MINGW_BASE_ = $(RBUILD_MINGW_BASE)$(SEP) -RBUILD_MINGW_INT = $(INTERMEDIATE_)$(RBUILD_MINGW_BASE) -RBUILD_MINGW_INT_ = $(RBUILD_MINGW_INT)$(SEP) -RBUILD_MINGW_OUT = $(OUTPUT_)$(RBUILD_MINGW_BASE) -RBUILD_MINGW_OUT_ = $(RBUILD_MINGW_OUT)$(SEP) - -$(RBUILD_MINGW_INT): | $(RBUILD_BACKEND_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_MINGW_OUT): | $(RBUILD_BACKEND_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - - -RBUILD_TESTS_BASE = $(RBUILD_BASE_)tests -RBUILD_TESTS_BASE_ = $(RBUILD_TESTS_BASE)$(SEP) -RBUILD_TESTS_INT = $(INTERMEDIATE_)$(RBUILD_TESTS_BASE) -RBUILD_TESTS_INT_ = $(RBUILD_TESTS_INT)$(SEP) -RBUILD_TESTS_OUT = $(OUTPUT_)$(RBUILD_TESTS_BASE) - -$(RBUILD_TESTS_INT): | $(RBUILD_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_TESTS_OUT): | $(RBUILD_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -RBUILD_MSBUILD_BASE = $(RBUILD_BACKEND_BASE_)msbuild -RBUILD_MSBUILD_BASE_ = $(RBUILD_MSBUILD_BASE)$(SEP) -RBUILD_MSBUILD_INT = $(INTERMEDIATE_)$(RBUILD_MSBUILD_BASE) -RBUILD_MSBUILD_INT_ = $(RBUILD_MSBUILD_INT)$(SEP) -RBUILD_MSBUILD_OUT = $(OUTPUT_)$(RBUILD_MSBUILD_BASE) -RBUILD_MSBUILD_OUT_ = $(RBUILD_MSBUILD_OUT)$(SEP) - -$(RBUILD_MSBUILD_INT): | $(RBUILD_BACKEND_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_MSBUILD_OUT): | $(RBUILD_BACKEND_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -RBUILD_DEPMAP_BASE = $(RBUILD_BACKEND_BASE_)dependencymap -RBUILD_DEPMAP_BASE_ = $(RBUILD_DEPMAP_BASE)$(SEP) -RBUILD_DEPMAP_INT = $(INTERMEDIATE_)$(RBUILD_DEPMAP_BASE) -RBUILD_DEPMAP_INT_ = $(RBUILD_DEPMAP_INT)$(SEP) -RBUILD_DEPMAP_OUT = $(OUTPUT_)$(RBUILD_DEPMAP_BASE) -RBUILD_DEPMAP_OUT_ = $(RBUILD_DEPMAP_OUT)$(SEP) - -$(RBUILD_DEPMAP_INT): | $(RBUILD_BACKEND_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_DEPMAP_OUT): | $(RBUILD_BACKEND_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -RBUILD_VREPORT_BASE = $(RBUILD_BACKEND_BASE_)versionreport -RBUILD_VREPORT_BASE_ = $(RBUILD_VREPORT_BASE)$(SEP) -RBUILD_VREPORT_INT = $(INTERMEDIATE_)$(RBUILD_VREPORT_BASE) -RBUILD_VREPORT_INT_ = $(RBUILD_VREPORT_INT)$(SEP) -RBUILD_VREPORT_OUT = $(OUTPUT_)$(RBUILD_VREPORT_BASE) -RBUILD_VREPORT_OUT_ = $(RBUILD_VREPORT_OUT)$(SEP) - -$(RBUILD_VREPORT_INT): | $(RBUILD_BACKEND_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_VREPORT_OUT): | $(RBUILD_BACKEND_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - - -RBUILD_MSVC_BASE = $(RBUILD_BACKEND_BASE_)msvc -RBUILD_MSVC_BASE_ = $(RBUILD_MSVC_BASE)$(SEP) -RBUILD_MSVC_INT = $(INTERMEDIATE_)$(RBUILD_MSVC_BASE) -RBUILD_MSVC_INT_ = $(RBUILD_MSVC_INT)$(SEP) -RBUILD_MSVC_OUT = $(OUTPUT_)$(RBUILD_MSVC_BASE) -RBUILD_MSVC_OUT_ = $(RBUILD_MSVC_OUT)$(SEP) - -$(RBUILD_MSVC_INT): | $(RBUILD_BACKEND_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RBUILD_MSVC_OUT): | $(RBUILD_BACKEND_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - - -RBUILD_TARGET = \ - $(RBUILD_OUT_)rbuild$(EXEPOSTFIX) - -RBUILD_TEST_TARGET = \ - $(RBUILD_OUT_)rbuild_test$(EXEPOSTFIX) - -RBUILD_BACKEND_MINGW_BASE_SOURCES = $(addprefix $(RBUILD_MINGW_BASE_), \ - mingw.cpp \ - modulehandler.cpp \ - mstools_detection.cpp \ - proxymakefile.cpp \ - rule.cpp \ - ) - -RBUILD_BACKEND_DEPMAP_BASE_SOURCES = $(addprefix $(RBUILD_DEPMAP_BASE_), \ - dependencymap.cpp \ - ) - -RBUILD_BACKEND_VREPORT_BASE_SOURCES = $(addprefix $(RBUILD_VREPORT_BASE_), \ - versionreport.cpp \ - ) - -RBUILD_BACKEND_MSBUILD_BASE_SOURCES = $(addprefix $(RBUILD_MSBUILD_BASE_), \ - msbuild.cpp \ - ) - -RBUILD_BACKEND_MSVC_BASE_SOURCES = $(addprefix $(RBUILD_MSVC_BASE_), \ - genguid.cpp \ - msvc.cpp \ - projmaker.cpp \ - propsmaker.cpp \ - slnmaker.cpp \ - vcprojmaker.cpp \ - vcxprojmaker.cpp \ - vspropsmaker.cpp \ - ) - -RBUILD_BACKEND_SOURCES = \ - $(RBUILD_BACKEND_MINGW_BASE_SOURCES) \ - $(RBUILD_BACKEND_MSVC_BASE_SOURCES) \ - $(RBUILD_BACKEND_DEPMAP_BASE_SOURCES) \ - $(RBUILD_BACKEND_VREPORT_BASE_SOURCES) \ - $(RBUILD_BACKEND_MSBUILD_BASE_SOURCES) \ - $(RBUILD_BACKEND_BASE_)backend.cpp - -RBUILD_SOURCES = \ - $(RBUILD_BACKEND_SOURCES) \ - $(addprefix $(RBUILD_BASE_), \ - global.cpp \ - automaticdependency.cpp \ - autoregister.cpp \ - bootstrap.cpp \ - cdfile.cpp \ - compilationunit.cpp \ - compilationunitsupportcode.cpp \ - compilerdirective.cpp \ - compilerflag.cpp \ - configuration.cpp \ - define.cpp \ - directory.cpp \ - exception.cpp \ - filesupportcode.cpp \ - include.cpp \ - installfile.cpp \ - linkerflag.cpp \ - linkerscript.cpp \ - module.cpp \ - project.cpp \ - rbuild.cpp \ - stubbedcomponent.cpp \ - syssetupgenerator.cpp \ - testsupportcode.cpp \ - xmlnode.cpp \ - ) - -RBUILD_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(RBUILD_SOURCES:.cpp=.o)) - -RBUILD_BACKEND_MSVCCPP_HEADERS = \ - msvc.h - -RBUILD_BACKEND_DEPMAP_HEADERS = \ - dependencymap.h - -RBUILD_BACKEND_VREPORT_HEADERS = \ - versionreport.h - -RBUILD_BACKEND_MSBUILD_HEADERS = \ - msbuild.h - -RBUILD_BACKEND_MINGW_HEADERS = \ - mingw.h \ - modulehandler.h \ - rule.h - -RBUILD_BACKEND_HEADERS = \ - backend.h \ - $(addprefix msvc$(SEP), $(RBUILD_BACKEND_MSVC_HEADERS)) \ - $(addprefix mingw$(SEP), $(RBUILD_BACKEND_MINGW_HEADERS)) \ - $(addprefix msbuild$(SEP), $(RBUILD_BACKEND_MSBUILD_HEADERS)) \ - $(addprefix versionreport$(SEP), $(RBUILD_BACKEND_VREPORT_HEADERS)) \ - $(addprefix dependencymap$(SEP), $(RBUILD_BACKEND_DEPMAP_HEADERS)) - -RBUILD_HEADERS = \ - $(addprefix $(RBUILD_BASE_), \ - exception.h \ - pch.h \ - rbuild.h \ - test.h \ - $(addprefix backend$(SEP), $(RBUILD_BACKEND_HEADERS)) \ - ) \ - $(XML_SSPRINTF_HEADERS) - -RBUILD_TESTS = \ - tests$(SEP)cdfiletest.cpp \ - tests$(SEP)compilationunittest.cpp \ - tests$(SEP)definetest.cpp \ - tests$(SEP)functiontest.cpp \ - tests$(SEP)iftest.cpp \ - tests$(SEP)includetest.cpp \ - tests$(SEP)invoketest.cpp \ - tests$(SEP)linkerflagtest.cpp \ - tests$(SEP)moduletest.cpp \ - tests$(SEP)projecttest.cpp \ - tests$(SEP)sourcefiletest.cpp \ - tests$(SEP)symboltest.cpp - -RBUILD_TEST_SPECIAL_SOURCES = \ - $(addprefix $(RBUILD_BASE_), $(RBUILD_TESTS)) \ - $(RBUILD_BASE_)tests$(SEP)alltests.cpp - -RBUILD_TEST_SOURCES = \ - $(RBUILD_COMMON_SOURCES) \ - $(RBUILD_TEST_SPECIAL_SOURCES) - -RBUILD_TEST_SPECIAL_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(RBUILD_TEST_SPECIAL_SOURCES:.cpp=.o)) - -RBUILD_TEST_OBJECTS = \ - $(RBUILD_COMMON_OBJECTS) \ - $(RBUILD_TEST_SPECIAL_OBJECTS) - -RBUILD_HOST_CXXFLAGS = -I$(RBUILD_BASE) -I$(TOOLS_BASE) -I$(INFLIB_BASE) $(TOOLS_CPPFLAGS) -Iinclude -Iinclude/reactos -Iinclude/host - -RBUILD_HOST_LFLAGS = $(TOOLS_LFLAGS) - -ifeq ($(HOST),mingw32-windows) -RBUILD_HOST_LFLAGS += -loleaut32 -lole32 -luuid -endif - -.PHONY: rbuild -rbuild: $(RBUILD_TARGET) -host_gpp += -g - -$(RBUILD_TARGET): $(RBUILD_OBJECTS) $(XML_SSPRINTF_OBJECTS) $(INFLIB_HOST_OBJECTS) | $(RBUILD_OUT) - $(ECHO_HOSTLD) - ${host_gpp} $^ $(RBUILD_HOST_LFLAGS) -o $@ - -$(RBUILD_INT_)global.o: $(RBUILD_BASE_)global.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)automaticdependency.o: $(RBUILD_BASE_)automaticdependency.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)autoregister.o: $(RBUILD_BASE_)autoregister.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)bootstrap.o: $(RBUILD_BASE_)bootstrap.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)cdfile.o: $(RBUILD_BASE_)cdfile.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)compilationunit.o: $(RBUILD_BASE_)compilationunit.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)compilationunitsupportcode.o: $(RBUILD_BASE_)compilationunitsupportcode.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)compilerdirective.o: $(RBUILD_BASE_)compilerdirective.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)compilerflag.o: $(RBUILD_BASE_)compilerflag.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)configuration.o: $(RBUILD_BASE_)configuration.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)define.o: $(RBUILD_BASE_)define.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)directory.o: $(RBUILD_BASE_)directory.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)exception.o: $(RBUILD_BASE_)exception.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)filesupportcode.o: $(RBUILD_BASE_)filesupportcode.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)include.o: $(RBUILD_BASE_)include.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)installfile.o: $(RBUILD_BASE_)installfile.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)linkerflag.o: $(RBUILD_BASE_)linkerflag.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)linkerscript.o: $(RBUILD_BASE_)linkerscript.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)module.o: $(RBUILD_BASE_)module.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)project.o: $(RBUILD_BASE_)project.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)rbuild.o: $(RBUILD_BASE_)rbuild.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)rule.o: $(RBUILD_BASE_)rule.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)stubbedcomponent.o: $(RBUILD_BASE_)stubbedcomponent.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)syssetupgenerator.o: $(RBUILD_BASE_)syssetupgenerator.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)wineresource.o: $(RBUILD_BASE_)wineresource.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)xmlnode.o: $(RBUILD_BASE_)xmlnode.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_INT_)testsupportcode.o: $(RBUILD_BASE_)testsupportcode.cpp $(RBUILD_HEADERS) | $(RBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_BACKEND_INT_)backend.o: $(RBUILD_BACKEND_BASE_)backend.cpp $(RBUILD_HEADERS) | $(RBUILD_BACKEND_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MINGW_INT_)mingw.o: $(RBUILD_MINGW_BASE_)mingw.cpp $(RBUILD_HEADERS) | $(RBUILD_MINGW_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MINGW_INT_)modulehandler.o: $(RBUILD_MINGW_BASE_)modulehandler.cpp $(RBUILD_HEADERS) | $(RBUILD_MINGW_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MINGW_INT_)mstools_detection.o: $(RBUILD_MINGW_BASE_)mstools_detection.cpp $(RBUILD_HEADERS) | $(RBUILD_MINGW_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MINGW_INT_)proxymakefile.o: $(RBUILD_MINGW_BASE_)proxymakefile.cpp $(RBUILD_HEADERS) | $(RBUILD_MINGW_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MINGW_INT_)rule.o: $(RBUILD_MINGW_BASE_)rule.cpp $(RBUILD_HEADERS) | $(RBUILD_MINGW_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_DEPMAP_INT_)dependencymap.o: $(RBUILD_DEPMAP_BASE_)dependencymap.cpp $(RBUILD_HEADERS) | $(RBUILD_DEPMAP_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_VREPORT_INT_)versionreport.o: $(RBUILD_VREPORT_BASE_)versionreport.cpp $(RBUILD_HEADERS) | $(RBUILD_VREPORT_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSBUILD_INT_)msbuild.o: $(RBUILD_MSBUILD_BASE_)msbuild.cpp $(RBUILD_HEADERS) | $(RBUILD_MSBUILD_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)genguid.o: $(RBUILD_MSVC_BASE_)genguid.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)msvc.o: $(RBUILD_MSVC_BASE_)msvc.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)projmaker.o: $(RBUILD_MSVC_BASE_)projmaker.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)vspropsmaker.o: $(RBUILD_MSVC_BASE_)vspropsmaker.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)propsmaker.o: $(RBUILD_MSVC_BASE_)propsmaker.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)slnmaker.o: $(RBUILD_MSVC_BASE_)slnmaker.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)vcprojmaker.o: $(RBUILD_MSVC_BASE_)vcprojmaker.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_MSVC_INT_)vcxprojmaker.o: $(RBUILD_MSVC_BASE_)vcxprojmaker.cpp $(RBUILD_HEADERS) | $(RBUILD_MSVC_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TEST_TARGET): $(RBUILD_TEST_OBJECTS) $(INFLIB_HOST_OBJECTS) $(RBUILD_HEADERS) | $(RBUILD_OUT) - $(ECHO_HOSTLD) - ${host_gpp} $(RBUILD_TEST_OBJECTS) $(INFLIB_HOST_OBJECTS) $(RBUILD_HOST_LFLAGS) -o $@ - -$(RBUILD_TESTS_INT_)cdfiletest.o: $(RBUILD_TESTS_BASE_)cdfiletest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)compilationunittest.o: $(RBUILD_TESTS_BASE_)compilationunittest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)definetest.o: $(RBUILD_TESTS_BASE_)definetest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)functiontest.o: $(RBUILD_TESTS_BASE_)functiontest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)iftest.o: $(RBUILD_TESTS_BASE_)iftest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)includetest.o: $(RBUILD_TESTS_BASE_)includetest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)invoketest.o: $(RBUILD_TESTS_BASE_)invoketest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)linkerflagtest.o: $(RBUILD_TESTS_BASE_)linkerflagtest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)moduletest.o: $(RBUILD_TESTS_BASE_)moduletest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)projecttest.o: $(RBUILD_TESTS_BASE_)projecttest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)sourcefiletest.o: $(RBUILD_TESTS_BASE_)sourcefiletest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)symboltest.o: $(RBUILD_TESTS_BASE_)symboltest.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - -$(RBUILD_TESTS_INT_)alltests.o: $(RBUILD_TESTS_BASE_)alltests.cpp $(RBUILD_HEADERS) | $(RBUILD_TESTS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(RBUILD_HOST_CXXFLAGS) -c $< -o $@ - - -.PHONY: rbuild_test -rbuild_test: $(RBUILD_TEST_TARGET) - $(ECHO_TEST) - $(Q)$(RBUILD_TEST_TARGET) - -.PHONY: rbuild_test_clean -rbuild_test_clean: $(RBUILD_TEST_TARGET) $(RBUILD_TESTS_INT) - -@$(rm) $(RBUILD_TEST_TARGET) $(RBUILD_TEST_SPECIAL_OBJECTS) 2>$(NUL) - -.PHONY: rbuild_clean -rbuild_clean: $(RBUILD_TARGET) $(RBUILD_OBJECTS) $(RBUILD_TESTS_INT) - -@$(rm) $(RBUILD_TARGET) $(RBUILD_OBJECTS) 2>$(NUL) -clean: rbuild_clean diff --git a/reactos/tools/rbuild/rbuild.sln b/reactos/tools/rbuild/rbuild.sln deleted file mode 100644 index b3fc0e817cb..00000000000 --- a/reactos/tools/rbuild/rbuild.sln +++ /dev/null @@ -1,19 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rbuild", "rbuild.vcproj", "{D9305AFB-499E-49F1-A865-99DD7E19E762}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D9305AFB-499E-49F1-A865-99DD7E19E762}.Debug|Win32.ActiveCfg = Debug|Win32 - {D9305AFB-499E-49F1-A865-99DD7E19E762}.Debug|Win32.Build.0 = Debug|Win32 - {D9305AFB-499E-49F1-A865-99DD7E19E762}.Release|Win32.ActiveCfg = Release|Win32 - {D9305AFB-499E-49F1-A865-99DD7E19E762}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/reactos/tools/rbuild/rbuild.vcproj b/reactos/tools/rbuild/rbuild.vcproj deleted file mode 100644 index cd7ff0494cc..00000000000 --- a/reactos/tools/rbuild/rbuild.vcproj +++ /dev/null @@ -1,1286 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/rbuild/stubbedcomponent.cpp b/reactos/tools/rbuild/stubbedcomponent.cpp deleted file mode 100644 index 1444d6b830d..00000000000 --- a/reactos/tools/rbuild/stubbedcomponent.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -StubbedComponent::StubbedComponent ( const Module* module_, - const XMLElement& stubbedComponentNode ) - : module(module_), - node(stubbedComponentNode) -{ - const XMLAttribute* att = node.GetAttribute ( "name", true ); - assert ( att ); - name = att->value; -} - -StubbedComponent::~StubbedComponent () -{ - for ( size_t i = 0; i < symbols.size(); i++ ) - delete symbols[i]; -} - -void -StubbedComponent::ProcessXML () -{ - size_t i; - for ( i = 0; i < node.subElements.size (); i++ ) - ProcessXMLSubElement ( *node.subElements[i] ); - for ( i = 0; i < symbols.size (); i++ ) - symbols[i]->ProcessXML (); -} - -void -StubbedComponent::ProcessXMLSubElement ( const XMLElement& e ) -{ - bool subs_invalid = false; - if ( e.name == "symbol" ) - { - symbols.push_back ( new StubbedSymbol ( e ) ); - subs_invalid = false; - } - if ( subs_invalid && e.subElements.size () > 0 ) - { - throw XMLInvalidBuildFileException ( - e.location, - "<%s> cannot have sub-elements", - e.name.c_str() ); - } - for ( size_t i = 0; i < e.subElements.size (); i++ ) - ProcessXMLSubElement ( *e.subElements[i] ); -} - - - -StubbedSymbol::StubbedSymbol ( const XMLElement& stubbedSymbolNode ) - : node(stubbedSymbolNode) -{ -} - -StubbedSymbol::~StubbedSymbol () -{ -} - -void -StubbedSymbol::ProcessXML () -{ - if ( node.value.size () == 0 ) - { - throw XMLInvalidBuildFileException ( - node.location, - " is empty." ); - } - symbol = node.value; - - strippedName = StripSymbol ( symbol ); - - const XMLAttribute* att = node.GetAttribute ( "newname", false ); - if ( att != NULL ) - newname = att->value; - else - newname = strippedName; -} - -string -StubbedSymbol::StripSymbol ( string symbol ) -{ - size_t start = 0; - while ( start < symbol.length () && symbol[start] == '@') - start++; - size_t end = symbol.length () - 1; - while ( end > 0 && isdigit ( symbol[end] ) ) - end--; - if ( end > 0 && symbol[end] == '@' ) - end--; - if ( end > 0 ) - return symbol.substr ( start, end - start + 1 ); - else - return ""; -} diff --git a/reactos/tools/rbuild/syssetupgenerator.cpp b/reactos/tools/rbuild/syssetupgenerator.cpp deleted file mode 100644 index c7e64e8cf7a..00000000000 --- a/reactos/tools/rbuild/syssetupgenerator.cpp +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -SysSetupGenerator::SysSetupGenerator ( const Project& project ) - : project ( project ) -{ -} - -SysSetupGenerator::~SysSetupGenerator () -{ -} - -void -SysSetupGenerator::Generate () -{ - HINF inf; - ULONG errorLine; - - string syssetupTemplate = "media" + sSep + "inf" + sSep + "syssetup.inf.tpl"; - string syssetup = Environment::GetOutputPath() + sSep + "media" + sSep + "inf" + sSep + "syssetup.inf"; - - if ( 0 != InfHostOpenFile ( &inf, syssetupTemplate.c_str (), &errorLine ) ) - throw new FileNotFoundException ( syssetupTemplate ); - - for( std::map::const_iterator p = project.modules.begin(); p != project.modules.end(); ++ p ) - { - const Module& module = *p->second; - if ( module.autoRegister != NULL ) - Generate ( inf, module ); - } - - if ( 0 != InfHostWriteFile ( inf, syssetup.c_str (), "" ) ) - { - InfHostCloseFile ( inf ); - throw new AccessDeniedException ( syssetup ); - } - - InfHostCloseFile ( inf ); -} - -#define DIRECTORYID_SYSTEM32 "11" - -string -SysSetupGenerator::GetDirectoryId ( const Module& module ) -{ - if ( module.install && ToLower ( module.install->relative_path ) == "system32" ) - return DIRECTORYID_SYSTEM32; - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -#define FLG_REGSVR_DLLREGISTER "1" -#define FLG_REGSVR_DLLINSTALL "2" -#define FLG_REGSVR_BOTH "3" - -string -SysSetupGenerator::GetFlags ( const Module& module ) -{ - if ( module.autoRegister->type == DllRegisterServer ) - return FLG_REGSVR_DLLREGISTER; - if ( module.autoRegister->type == DllInstall ) - return FLG_REGSVR_DLLINSTALL; - if ( module.autoRegister->type == Both ) - return FLG_REGSVR_BOTH; - throw InvalidOperationException ( __FILE__, - __LINE__ ); -} - -void -SysSetupGenerator::Generate ( HINF inf, - const Module& module ) -{ - PINFCONTEXT context; - - string infSection = module.autoRegister->infSection; - if ( 0 != InfHostFindOrAddSection ( inf, infSection.c_str (), &context ) ) - { - throw new Exception ( ".inf section '%s' not found", infSection.c_str () ); - InfHostCloseFile ( inf ); - } - - if ( 0 != InfHostAddLine ( context, NULL ) || - 0 != InfHostAddField ( context, GetDirectoryId ( module ).c_str () ) || - 0 != InfHostAddField ( context, "" ) || - ( module.install && 0 != InfHostAddField ( context, module.install->name.c_str () ) ) || - 0 != InfHostAddField ( context, GetFlags ( module ).c_str () ) ) - { - InfHostFreeContext ( context ); - InfHostCloseFile ( inf ); - throw InvalidOperationException ( __FILE__, - __LINE__ ); - } - - InfHostFreeContext ( context ); -} diff --git a/reactos/tools/rbuild/test.h b/reactos/tools/rbuild/test.h deleted file mode 100644 index 69e131f44ed..00000000000 --- a/reactos/tools/rbuild/test.h +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#pragma once - -#include "rbuild.h" -#include "backend/mingw/mingw.h" - -#define SSEP DEF_SSEP - -#define RBUILD_BASE "tools" SSEP "rbuild" SSEP - -class BaseTest -{ -public: - bool Failed; - BaseTest (); - virtual ~BaseTest (); - virtual void Run () = 0; -protected: - void Assert ( const char *message, - ... ); - void IsNull ( void* reference, - const char* file, - int line ); - void IsNotNull ( void* reference, - const char* file, - int line ); - void IsTrue ( bool condition, - const char* file, - int line ); - void IsFalse ( bool condition, - const char* file, - int line ); - void AreEqual ( int expected, - int actual, - const char* file, - int line ); - void AreEqual ( const std::string& expected, - const std::string& actual, - const char* file, - int line ); - void AreNotEqual ( int expected, - int actual, - const char* file, - int line ); -private: - void Fail (); -}; - -#define IS_NULL(reference) IsNull((void*)reference,__FILE__,__LINE__) -#define IS_NOT_NULL(reference) IsNotNull((void*)reference,__FILE__,__LINE__) -#define IS_TRUE(condition) IsTrue(condition,__FILE__,__LINE__) -#define IS_FALSE(condition) IsFalse(condition,__FILE__,__LINE__) -#define ARE_EQUAL(expected,actual) AreEqual(expected,actual,__FILE__,__LINE__) -#define ARE_NOT_EQUAL(expected,actual) AreNotEqual(expected,actual,__FILE__,__LINE__) - -class ProjectTest : public BaseTest -{ -public: - void Run (); -}; - - -class ModuleTest : public BaseTest -{ -public: - void Run (); -}; - - -class DefineTest : public BaseTest -{ -public: - void Run (); -}; - - -class IncludeTest : public BaseTest -{ -public: - void Run (); -}; - - -class InvokeTest : public BaseTest -{ -public: - void Run (); -}; - - -class LinkerFlagTest : public BaseTest -{ -public: - void Run (); -}; - - -class IfTest : public BaseTest -{ -public: - void Run (); -private: - void TestProjectIf ( Project& project ); - void TestModuleIf ( Project& project ); -}; - - -class FunctionTest : public BaseTest -{ -public: - void Run (); -}; - - -class SourceFileTest : public BaseTest -{ -public: - void Run (); - void IncludeTest (); - void FullParseTest (); -private: - bool IsParentOf ( const SourceFile* parent, - const SourceFile* child ); - -}; - - -class CDFileTest : public BaseTest -{ -public: - void Run (); -}; - - -class SymbolTest : public BaseTest -{ -public: - void Run (); -}; - -class CompilationUnitTest : public BaseTest -{ -public: - void Run (); -}; diff --git a/reactos/tools/rbuild/tests/alltests.cpp b/reactos/tools/rbuild/tests/alltests.cpp deleted file mode 100644 index 5451d81b0fb..00000000000 --- a/reactos/tools/rbuild/tests/alltests.cpp +++ /dev/null @@ -1,215 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" - -#include "rbuild.h" -#include "test.h" - -BaseTest::BaseTest() -{ - Failed = false; -} - -BaseTest::~BaseTest() -{ -} - -void BaseTest::Assert(const char *message, ...) -{ - va_list args; - va_start ( args, message ); - vprintf(message, args); - va_end ( args ); - Fail(); -} - -void BaseTest::IsNull(void* reference, - const char* file, - int line) -{ - if (reference != NULL) - { - Assert("Condition was not NULL at %s:%d\n", - file, - line); - } -} - -void BaseTest::IsNotNull(void* reference, - const char* file, - int line) -{ - if (reference == NULL) - { - Assert("Condition was NULL at %s:%d\n", - file, - line); - } -} - -void BaseTest::IsTrue(bool condition, - const char* file, - int line) -{ - if (!condition) - { - Assert("Condition was not true at %s:%d\n", - file, - line); - } -} - -void BaseTest::IsFalse(bool condition, - const char* file, - int line) -{ - if (condition) - { - Assert("Condition was not false at %s:%d\n", - file, - line); - } -} - -void BaseTest::AreEqual(int expected, - int actual, - const char* file, - int line) -{ - if (actual != expected) - { - Assert("Expected %d/0x%.08x was %d/0x%.08x at %s:%d\n", - expected, - expected, - actual, - actual, - file, - line); - } -} - -void BaseTest::AreEqual(const std::string& expected, - const std::string& actual, - const char* file, - int line) -{ - if (actual != expected) - { - Assert("Expected '%s' was '%s' at %s:%d\n", - expected.c_str(), - actual.c_str(), - file, - line); - } -} - -void BaseTest::AreNotEqual(int expected, - int actual, - const char* file, - int line) -{ - if (actual == expected) - { - Assert("Actual value expected to be different from %d/0x%.08x at %s:%d\n", - expected, - expected, - file, - line); - } -} - -void BaseTest::Fail() -{ - Failed = true; -} - -class BaseTestList : public std::vector -{ -public: - ~BaseTestList() - { - for ( size_t i = 0; i < size(); i++ ) - { - delete (*this)[i]; - } - } -}; - -class TestDispatcher -{ -public: - void Run() - { - int numberOfFailedTests = 0; - BaseTestList tests; - GetTests(tests); - for (size_t i = 0; i < tests.size(); i++) - { - try - { - BaseTest& test = *tests[i]; - test.Run(); - if (test.Failed) - numberOfFailedTests++; - } - catch ( Exception& ex ) - { - printf ( "%s\n", (*ex).c_str () ); - numberOfFailedTests++; - } - catch ( XMLException& ex ) - { - printf ( "%s\n", (*ex).c_str () ); - numberOfFailedTests++; - } - } - - if (numberOfFailedTests > 0) - printf("%d tests failed\n", - numberOfFailedTests); - else - printf("All tests succeeded\n"); - } - -private: - void GetTests ( BaseTestList& tests ) - { - tests.push_back(new ProjectTest()); - tests.push_back(new ModuleTest()); - tests.push_back(new DefineTest()); - tests.push_back(new IncludeTest()); - tests.push_back(new InvokeTest()); - tests.push_back(new LinkerFlagTest()); - tests.push_back(new IfTest()); - tests.push_back(new FunctionTest()); - tests.push_back(new SourceFileTest()); - tests.push_back(new CDFileTest()); - tests.push_back(new SymbolTest()); - tests.push_back(new CompilationUnitTest()); - } -}; - - -int main(int argc, - char** argv) -{ - InitializeEnvironment (); - TestDispatcher testDispatcher; - testDispatcher.Run(); - return 0; -}; diff --git a/reactos/tools/rbuild/tests/cdfiletest.cpp b/reactos/tools/rbuild/tests/cdfiletest.cpp deleted file mode 100644 index 56cf6740191..00000000000 --- a/reactos/tools/rbuild/tests/cdfiletest.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void CDFileTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/cdfile.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL ( 3, project.cdfiles.size () ); - - CDFile& cdfile1 = *project.cdfiles[0]; - ARE_EQUAL("dir1", cdfile1.base); - ARE_EQUAL("ReadMe1.txt", cdfile1.nameoncd); - - CDFile& cdfile2 = *project.cdfiles[1]; - ARE_EQUAL("dir2", cdfile2.base); - ARE_EQUAL("readme2.txt", cdfile2.nameoncd); - - CDFile& cdfile3 = *project.cdfiles[2]; - //ARE_EQUAL("", cdfile3.base); - ARE_EQUAL("readme3.txt", cdfile3.nameoncd); -} diff --git a/reactos/tools/rbuild/tests/compilationunittest.cpp b/reactos/tools/rbuild/tests/compilationunittest.cpp deleted file mode 100644 index a74d99d0bf3..00000000000 --- a/reactos/tools/rbuild/tests/compilationunittest.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void CompilationUnitTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/compilationunit.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL ( 1, project.modules.size () ); - - Module& module1 = *project.modules[0]; - IS_TRUE ( module1.type == BuildTool ); - - ARE_EQUAL ( 3, module1.non_if_data.files.size()); - ARE_EQUAL ( "dir1" SSEP "file1.c", module1.non_if_data.files[0]->name ); - ARE_EQUAL ( "dir1" SSEP "file2.c", module1.non_if_data.files[1]->name ); - ARE_EQUAL ( "dir1" SSEP "file3.c", module1.non_if_data.files[2]->name ); - - ARE_EQUAL ( 2, module1.non_if_data.compilationUnits.size () ); - - CompilationUnit& compilationUnit1 = *module1.non_if_data.compilationUnits[0]; - ARE_EQUAL ( 2, compilationUnit1.files.size () ); - - ARE_EQUAL ( "dir1" SSEP "file1.c", compilationUnit1.files[0]->name ); - ARE_EQUAL ( "dir1" SSEP "file2.c", compilationUnit1.files[1]->name ); - - CompilationUnit& compilationUnit2 = *module1.non_if_data.compilationUnits[1]; - ARE_EQUAL ( 1, compilationUnit2.files.size () ); - - ARE_EQUAL ( "dir1" SSEP "file3.c", compilationUnit2.files[0]->name ); -} diff --git a/reactos/tools/rbuild/tests/data/automaticdependency.rbuild b/reactos/tools/rbuild/tests/data/automaticdependency.rbuild deleted file mode 100644 index 6612ba36a02..00000000000 --- a/reactos/tools/rbuild/tests/data/automaticdependency.rbuild +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - . - sourcefile1.c - - - - - - diff --git a/reactos/tools/rbuild/tests/data/automaticdependency_include.rbuild b/reactos/tools/rbuild/tests/data/automaticdependency_include.rbuild deleted file mode 100644 index 0fda1c24f56..00000000000 --- a/reactos/tools/rbuild/tests/data/automaticdependency_include.rbuild +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - . - sourcefile1 - sourcefile_include.c - - - - - - diff --git a/reactos/tools/rbuild/tests/data/cdfile.rbuild b/reactos/tools/rbuild/tests/data/cdfile.rbuild deleted file mode 100644 index 42c4a71a157..00000000000 --- a/reactos/tools/rbuild/tests/data/cdfile.rbuild +++ /dev/null @@ -1,9 +0,0 @@ - - - - - readme1.txt - readme2.txt - readme3.txt - - diff --git a/reactos/tools/rbuild/tests/data/compilationunit.rbuild b/reactos/tools/rbuild/tests/data/compilationunit.rbuild deleted file mode 100644 index 3fb03d2ef0f..00000000000 --- a/reactos/tools/rbuild/tests/data/compilationunit.rbuild +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - file1.c - file2.c - - file3.c - - - diff --git a/reactos/tools/rbuild/tests/data/define.rbuild b/reactos/tools/rbuild/tests/data/define.rbuild deleted file mode 100644 index 2dc1fa334cd..00000000000 --- a/reactos/tools/rbuild/tests/data/define.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - value1 - - - value2 - - - diff --git a/reactos/tools/rbuild/tests/data/if.rbuild b/reactos/tools/rbuild/tests/data/if.rbuild deleted file mode 100644 index 415d1bf98cd..00000000000 --- a/reactos/tools/rbuild/tests/data/if.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - compilerflag1 - - - - compilerflag2 - file1.c - - file2.c - - diff --git a/reactos/tools/rbuild/tests/data/include.rbuild b/reactos/tools/rbuild/tests/data/include.rbuild deleted file mode 100644 index 62ac296fc2a..00000000000 --- a/reactos/tools/rbuild/tests/data/include.rbuild +++ /dev/null @@ -1,15 +0,0 @@ - - - - include1 - - - include2 - - - - - include3 - - - diff --git a/reactos/tools/rbuild/tests/data/invoke.rbuild b/reactos/tools/rbuild/tests/data/invoke.rbuild deleted file mode 100644 index 39d8a65674f..00000000000 --- a/reactos/tools/rbuild/tests/data/invoke.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - file1.c - - - file1.c - - - - - diff --git a/reactos/tools/rbuild/tests/data/linkerflag.rbuild b/reactos/tools/rbuild/tests/data/linkerflag.rbuild deleted file mode 100644 index 3abff97e74f..00000000000 --- a/reactos/tools/rbuild/tests/data/linkerflag.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - -lgcc1 - - -lgcc2 - - diff --git a/reactos/tools/rbuild/tests/data/module.rbuild b/reactos/tools/rbuild/tests/data/module.rbuild deleted file mode 100644 index 905affd95a7..00000000000 --- a/reactos/tools/rbuild/tests/data/module.rbuild +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - file1.c - file2.c - - - - - module1 - module1 - file3.c - file4.c - - - diff --git a/reactos/tools/rbuild/tests/data/project.rbuild b/reactos/tools/rbuild/tests/data/project.rbuild deleted file mode 100644 index 30cb97f060a..00000000000 --- a/reactos/tools/rbuild/tests/data/project.rbuild +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/reactos/tools/rbuild/tests/data/sourcefile1.c b/reactos/tools/rbuild/tests/data/sourcefile1.c deleted file mode 100644 index 28af7778e50..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile1.c +++ /dev/null @@ -1,13 +0,0 @@ -/* - * ReactOS kernel - */ -/* $Id: main.c 12694 2005-01-01 11:47:33Z hbirr $ - * FILE: ntoskrnl/ke/main.c - */ - -/* INCLUDES *****************************************************************/ - -#include -#include - -/* GLOBALS *******************************************************************/ diff --git a/reactos/tools/rbuild/tests/data/sourcefile1/sourcefile1_header3.h b/reactos/tools/rbuild/tests/data/sourcefile1/sourcefile1_header3.h deleted file mode 100644 index 40a8c178f10..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile1/sourcefile1_header3.h +++ /dev/null @@ -1 +0,0 @@ -/* empty */ diff --git a/reactos/tools/rbuild/tests/data/sourcefile1/sourcefile_includenext.h b/reactos/tools/rbuild/tests/data/sourcefile1/sourcefile_includenext.h deleted file mode 100644 index 40a8c178f10..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile1/sourcefile_includenext.h +++ /dev/null @@ -1 +0,0 @@ -/* empty */ diff --git a/reactos/tools/rbuild/tests/data/sourcefile1_header1.h b/reactos/tools/rbuild/tests/data/sourcefile1_header1.h deleted file mode 100644 index c4261ef88cb..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile1_header1.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/reactos/tools/rbuild/tests/data/sourcefile1_header2.h b/reactos/tools/rbuild/tests/data/sourcefile1_header2.h deleted file mode 100644 index 212537b619a..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile1_header2.h +++ /dev/null @@ -1,3 +0,0 @@ -#include "sourcefile1/sourcefile1_header3.h" -#include -#include diff --git a/reactos/tools/rbuild/tests/data/sourcefile1_recurse.h b/reactos/tools/rbuild/tests/data/sourcefile1_recurse.h deleted file mode 100644 index 0ce390cf892..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile1_recurse.h +++ /dev/null @@ -1,2 +0,0 @@ -#include -#include diff --git a/reactos/tools/rbuild/tests/data/sourcefile_include.c b/reactos/tools/rbuild/tests/data/sourcefile_include.c deleted file mode 100644 index 8ee9670f406..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile_include.c +++ /dev/null @@ -1,2 +0,0 @@ -# include -#include diff --git a/reactos/tools/rbuild/tests/data/sourcefile_include.h b/reactos/tools/rbuild/tests/data/sourcefile_include.h deleted file mode 100644 index 40a8c178f10..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile_include.h +++ /dev/null @@ -1 +0,0 @@ -/* empty */ diff --git a/reactos/tools/rbuild/tests/data/sourcefile_includenext.h b/reactos/tools/rbuild/tests/data/sourcefile_includenext.h deleted file mode 100644 index 0f4f8e730b5..00000000000 --- a/reactos/tools/rbuild/tests/data/sourcefile_includenext.h +++ /dev/null @@ -1 +0,0 @@ -#include_next diff --git a/reactos/tools/rbuild/tests/data/symbol.rbuild b/reactos/tools/rbuild/tests/data/symbol.rbuild deleted file mode 100644 index 7f08a286e6b..00000000000 --- a/reactos/tools/rbuild/tests/data/symbol.rbuild +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - HeapAlloc@12 - LdrAccessResource@16 - - - diff --git a/reactos/tools/rbuild/tests/definetest.cpp b/reactos/tools/rbuild/tests/definetest.cpp deleted file mode 100644 index 6af2d872381..00000000000 --- a/reactos/tools/rbuild/tests/definetest.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void DefineTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/define.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL(1, project.non_if_data.defines.size()); - Define& define1 = *project.non_if_data.defines[0]; - ARE_EQUAL("define1", define1.name); - ARE_EQUAL("value1", define1.value); - - ARE_EQUAL(1, project.modules.size()); - Module& module1 = *project.modules[0]; - - ARE_EQUAL(1, module1.non_if_data.defines.size()); - Define& define2 = *module1.non_if_data.defines[0]; - ARE_EQUAL("define2", define2.name); - ARE_EQUAL("value2", define2.value); -} diff --git a/reactos/tools/rbuild/tests/functiontest.cpp b/reactos/tools/rbuild/tests/functiontest.cpp deleted file mode 100644 index 7a60d33f114..00000000000 --- a/reactos/tools/rbuild/tests/functiontest.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void FunctionTest::Run () -{ - string fixedupFilename = NormalizeFilename ( "." SSEP "dir1" SSEP "dir2" SSEP ".." SSEP "filename.txt" ); - ARE_EQUAL ( "dir1" SSEP "filename.txt", fixedupFilename ); - ARE_EQUAL ( "file.txt", GetFilename ( "file.txt" ) ); - ARE_EQUAL ( "file.txt", GetFilename ( "dir" SSEP "file.txt" ) ); -} diff --git a/reactos/tools/rbuild/tests/iftest.cpp b/reactos/tools/rbuild/tests/iftest.cpp deleted file mode 100644 index 4e8574d2c4d..00000000000 --- a/reactos/tools/rbuild/tests/iftest.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void -IfTest::TestProjectIf ( Project& project ) -{ - ARE_EQUAL ( 1, project.non_if_data.ifs.size () ); - If& if1 = *project.non_if_data.ifs[0]; - ARE_EQUAL ( "VAR1", if1.property ); - ARE_EQUAL ( "value1", if1.value ); - - ARE_EQUAL ( 1, if1.data.compilerFlags.size () ); - CompilerFlag& compilerFlag1 = *if1.data.compilerFlags[0]; - ARE_EQUAL( "compilerflag1", compilerFlag1.flag ); -} - -void -IfTest::TestModuleIf ( Project& project ) -{ - ARE_EQUAL ( 1, project.modules.size () ); - Module& module1 = *project.modules[0]; - - ARE_EQUAL ( 1, module1.non_if_data.ifs.size () ); - If& if1 = *module1.non_if_data.ifs[0]; - ARE_EQUAL ( "VAR2", if1.property ); - ARE_EQUAL ( "value2", if1.value ); - - ARE_EQUAL ( 1, if1.data.files.size () ); - File& file1 = *if1.data.files[0]; - ARE_EQUAL( SSEP "file1.c", file1.name ); - - ARE_EQUAL ( 1, module1.non_if_data.files.size () ); - File& file2 = *module1.non_if_data.files[0]; - ARE_EQUAL( SSEP "file2.c", file2.name ); - - ARE_EQUAL ( 1, if1.data.compilerFlags.size () ); - CompilerFlag& compilerFlag2 = *if1.data.compilerFlags[0]; - ARE_EQUAL( "compilerflag2", compilerFlag2.flag ); -} - -void -IfTest::Run () -{ - string projectFilename ( RBUILD_BASE "tests/data/if.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - - TestProjectIf ( project ); - TestModuleIf ( project ); -} diff --git a/reactos/tools/rbuild/tests/includetest.cpp b/reactos/tools/rbuild/tests/includetest.cpp deleted file mode 100644 index d31aa081ff3..00000000000 --- a/reactos/tools/rbuild/tests/includetest.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void IncludeTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/include.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL(1, project.non_if_data.includes.size()); - Include& include1 = *project.non_if_data.includes[0]; - ARE_EQUAL("include1", include1.directory); - - ARE_EQUAL(2, project.modules.size()); - Module& module1 = *project.modules[0]; - Module& module2 = *project.modules[1]; - - ARE_EQUAL(1, module1.non_if_data.includes.size()); - Include& include2 = *module1.non_if_data.includes[0]; - ARE_EQUAL("include2", include2.directory); - - ARE_EQUAL(1, module2.non_if_data.includes.size()); - Include& include3 = *module2.non_if_data.includes[0]; - ARE_EQUAL(FixSeparator("dir1/include3"), include3.directory); -} diff --git a/reactos/tools/rbuild/tests/invoketest.cpp b/reactos/tools/rbuild/tests/invoketest.cpp deleted file mode 100644 index f1aec754ec1..00000000000 --- a/reactos/tools/rbuild/tests/invoketest.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void InvokeTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/invoke.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL(1, project.modules.size()); - - Module& module1 = *project.modules[0]; - ARE_EQUAL(1, module1.invocations.size()); - - Invoke& invoke1 = *module1.invocations[0]; - ARE_EQUAL(1, invoke1.output.size()); - - InvokeFile& file1 = *invoke1.output[0]; - ARE_EQUAL(FixSeparator("dir1/file1.c"), file1.name); -} diff --git a/reactos/tools/rbuild/tests/linkerflagtest.cpp b/reactos/tools/rbuild/tests/linkerflagtest.cpp deleted file mode 100644 index 6040a4e35bf..00000000000 --- a/reactos/tools/rbuild/tests/linkerflagtest.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void LinkerFlagTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/linkerflag.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL(1, project.linkerFlags.size()); - LinkerFlag& linkerFlag1 = *project.linkerFlags[0]; - ARE_EQUAL("-lgcc1", linkerFlag1.flag); - - ARE_EQUAL(1, project.modules.size()); - Module& module1 = *project.modules[0]; - - ARE_EQUAL(1, module1.linkerFlags.size()); - LinkerFlag& linkerFlag2 = *module1.linkerFlags[0]; - ARE_EQUAL("-lgcc2", linkerFlag2.flag); -} diff --git a/reactos/tools/rbuild/tests/moduletest.cpp b/reactos/tools/rbuild/tests/moduletest.cpp deleted file mode 100644 index 4bf0abecd18..00000000000 --- a/reactos/tools/rbuild/tests/moduletest.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void ModuleTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/module.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL(2, project.modules.size()); - - Module& module1 = *project.modules[0]; - IS_TRUE(module1.type == BuildTool); - - ARE_EQUAL(2, module1.non_if_data.files.size()); - ARE_EQUAL("dir1" SSEP "file1.c", module1.non_if_data.files[0]->name); - ARE_EQUAL("dir1" SSEP "file2.c", module1.non_if_data.files[1]->name); - - ARE_EQUAL(0, module1.non_if_data.libraries.size()); - - Module& module2 = *project.modules[1]; - IS_TRUE(module2.type == KernelModeDLL); - ARE_EQUAL("reactos", module2.installBase); - ARE_EQUAL("module2.ext", module2.installName); - - ARE_EQUAL(2, module2.non_if_data.files.size()); - ARE_EQUAL("dir2" SSEP "file3.c", module2.non_if_data.files[0]->name); - ARE_EQUAL("dir2" SSEP "file4.c", module2.non_if_data.files[1]->name); - - ARE_EQUAL(1, module2.non_if_data.libraries.size()); - Library& library1 = *module2.non_if_data.libraries[0]; - ARE_EQUAL("module1", library1.name); - - ARE_EQUAL(1, module2.dependencies.size()); - Dependency& module1dependency = *module2.dependencies[0]; - IS_NOT_NULL(module1dependency.dependencyModule); - ARE_EQUAL("module1", module1dependency.dependencyModule->name); -} diff --git a/reactos/tools/rbuild/tests/projecttest.cpp b/reactos/tools/rbuild/tests/projecttest.cpp deleted file mode 100644 index 9e188653b7a..00000000000 --- a/reactos/tools/rbuild/tests/projecttest.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void ProjectTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/project.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - ARE_EQUAL(2, project.modules.size()); -} diff --git a/reactos/tools/rbuild/tests/sourcefiletest.cpp b/reactos/tools/rbuild/tests/sourcefiletest.cpp deleted file mode 100644 index f7dfb23d604..00000000000 --- a/reactos/tools/rbuild/tests/sourcefiletest.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -bool -SourceFileTest::IsParentOf ( const SourceFile* parent, - const SourceFile* child ) -{ - size_t i; - for ( i = 0; i < child->parents.size (); i++ ) - { - if ( child->parents[i] != NULL ) - { - if ( child->parents[i] == parent ) - { - return true; - } - } - } - for ( i = 0; i < child->parents.size (); i++ ) - { - if ( child->parents[i] != NULL ) - { - if ( IsParentOf ( parent, - child->parents[i] ) ) - { - return true; - } - } - } - return false; -} - -void -SourceFileTest::IncludeTest () -{ - const string projectFilename = RBUILD_BASE "tests" SSEP "data" SSEP "automaticdependency_include.xml"; - Configuration configuration; - Project project ( configuration, projectFilename ); - AutomaticDependency automaticDependency ( project ); - automaticDependency.ParseFiles (); - ARE_EQUAL( 4, automaticDependency.sourcefile_map.size () ); - const SourceFile* include = automaticDependency.RetrieveFromCache ( RBUILD_BASE "tests" SSEP "data" SSEP "sourcefile_include.h" ); - IS_NOT_NULL( include ); - const SourceFile* includenext = automaticDependency.RetrieveFromCache ( RBUILD_BASE "tests" SSEP "data" SSEP "sourcefile1" SSEP "sourcefile_includenext.h" ); - IS_NOT_NULL( includenext ); -} - -void -SourceFileTest::FullParseTest () -{ - const string projectFilename = RBUILD_BASE "tests" SSEP "data" SSEP "automaticdependency.xml"; - Configuration configuration; - Project project ( configuration, projectFilename ); - AutomaticDependency automaticDependency ( project ); - automaticDependency.ParseFiles (); - ARE_EQUAL( 5, automaticDependency.sourcefile_map.size () ); - const SourceFile* header1 = automaticDependency.RetrieveFromCache ( RBUILD_BASE "tests" SSEP "data" SSEP "sourcefile1_header1.h" ); - IS_NOT_NULL( header1 ); - const SourceFile* recurse = automaticDependency.RetrieveFromCache ( RBUILD_BASE "tests" SSEP "data" SSEP "sourcefile1_recurse.h" ); - IS_NOT_NULL( recurse ); - IS_TRUE( IsParentOf ( header1, - recurse ) ); - IS_FALSE( IsParentOf ( recurse, - header1 ) ); - -} - -void -SourceFileTest::Run () -{ - IncludeTest (); - FullParseTest (); -} diff --git a/reactos/tools/rbuild/tests/symboltest.cpp b/reactos/tools/rbuild/tests/symboltest.cpp deleted file mode 100644 index e9259590237..00000000000 --- a/reactos/tools/rbuild/tests/symboltest.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "test.h" - -using std::string; - -void SymbolTest::Run() -{ - string projectFilename ( RBUILD_BASE "tests/data/symbol.xml" ); - Configuration configuration; - Project project ( configuration, projectFilename ); - - ARE_EQUAL ( 1, project.modules.size () ); - Module& module1 = *project.modules[0]; - - ARE_EQUAL ( 1, module1.stubbedComponents.size () ); - StubbedComponent& component1 = *module1.stubbedComponents[0]; - ARE_EQUAL ( "ntdll.dll", component1.name ); - - ARE_EQUAL ( 2, component1.symbols.size () ); - StubbedSymbol& symbol1 = *component1.symbols[0]; - ARE_EQUAL ( "HeapAlloc@12", symbol1.symbol ); - ARE_EQUAL ( "RtlAllocateHeap", symbol1.newname ); - - StubbedSymbol& symbol2 = *component1.symbols[1]; - ARE_EQUAL ( "LdrAccessResource@16", symbol2.symbol ); - ARE_EQUAL ( "LdrAccessResource", symbol2.newname ); -} diff --git a/reactos/tools/rbuild/testsupportcode.cpp b/reactos/tools/rbuild/testsupportcode.cpp deleted file mode 100644 index acd062e5f4f..00000000000 --- a/reactos/tools/rbuild/testsupportcode.cpp +++ /dev/null @@ -1,413 +0,0 @@ -/* - * Copyright (C) 2005 Casper S. Hornstrup - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" -#include - -#include "rbuild.h" - -using std::string; -using std::vector; - -static std::string -GetFilename ( const std::string& filename ) -{ - size_t index = filename.find_last_of ( cSep ); - if ( index == string::npos ) - return filename; - else - return filename.substr ( index + 1, filename.length () - index ); -} - -TestSupportCode::TestSupportCode ( const Project& project ) - : project ( project ) -{ -} - -TestSupportCode::~TestSupportCode () -{ -} - -bool -TestSupportCode::IsTestModule ( const Module& module ) -{ - return module.type == Test; -} - -void -TestSupportCode::GenerateTestSupportCode ( bool verbose ) -{ - for( std::map::const_iterator p = project.modules.begin(); p != project.modules.end(); ++ p ) - { - if ( IsTestModule ( *p->second ) ) - { - GenerateTestSupportCodeForModule ( *p->second, - verbose ); - } - } -} - -void -TestSupportCode::GenerateTestSupportCodeForModule ( Module& module, - bool verbose ) -{ - if ( verbose ) - { - printf ( "\nGenerating test support code for %s", - module.name.c_str () ); - } - - WriteHooksFile ( module ); - WriteStubsFile ( module ); - WriteStartupFile ( module ); -} - -string -TestSupportCode::GetHooksFilename ( Module& module ) -{ - return NormalizeFilename ( Environment::GetIntermediatePath () + sSep + module.output->relative_path + sSep + "_hooks.c" ); -} - -char* -TestSupportCode::WriteStubbedSymbolToHooksFile ( char* buffer, - const StubbedComponent& component, - const StubbedSymbol& symbol ) -{ - buffer = buffer + sprintf ( buffer, - " {\"%s\", \"%s\", NULL, NULL, NULL},\n", - component.name.c_str (), - symbol.newname.c_str () ); - return buffer; -} - -char* -TestSupportCode::WriteStubbedComponentToHooksFile ( char* buffer, - const StubbedComponent& component ) -{ - for ( size_t i = 0; i < component.symbols.size () ; i++ ) - buffer = WriteStubbedSymbolToHooksFile ( buffer, - component, - *component.symbols[i] ); - return buffer; -} - -void -TestSupportCode::WriteHooksFile ( Module& module ) -{ - char* buf; - char* s; - - buf = (char*) malloc ( 50*1024 ); - if ( buf == NULL ) - throw OutOfMemoryException (); - - s = buf; - s = s + sprintf ( s, "/* This file is automatically generated. */\n" ); - s = s + sprintf ( s, "#include \n" ); - s = s + sprintf ( s, "#include \"regtests.h\"\n" ); - s = s + sprintf ( s, "\n" ); - s = s + sprintf ( s, "_API_DESCRIPTION ExternalDependencies[] =\n" ); - s = s + sprintf ( s, "{\n" ); - - int symbolCount = 0; - for ( size_t i = 0; i < module.stubbedComponents.size () ; i++ ) - { - s = WriteStubbedComponentToHooksFile ( s, - *module.stubbedComponents[i] ); - symbolCount += module.stubbedComponents[i]->symbols.size (); - } - - s = s + sprintf ( s, "};\n" ); - s = s + sprintf ( s, "\n" ); - s = s + sprintf ( s, "#define ExternalDependencyCount %d\n", symbolCount ); - s = s + sprintf ( s, "ULONG MaxExternalDependency = ExternalDependencyCount - 1;\n" ); - s = s + sprintf ( s, "\n" ); - - FileSupportCode::WriteIfChanged ( buf, GetHooksFilename ( module ) ); - - free ( buf ); -} - -string -TestSupportCode::GetStubsFilename ( Module& module ) -{ - return NormalizeFilename ( Environment::GetIntermediatePath () + sSep + module.output->relative_path + sSep + "_stubs.S" ); -} - -string -GetLinkerSymbol ( const StubbedSymbol& symbol ) -{ - if (symbol.symbol[0] == '@') - return symbol.symbol; - else - return "_" + symbol.symbol; -} - -string -GetLinkerImportSymbol ( const StubbedSymbol& symbol ) -{ - if (symbol.symbol[0] == '@') - return "__imp_" + symbol.symbol; - else - return "__imp__" + symbol.symbol; -} - -string -GetIndirectCallTargetSymbol ( const StubbedSymbol& symbol ) -{ - return GetLinkerSymbol ( symbol ) + "_"; -} - -char* -TestSupportCode::WriteStubbedSymbolToStubsFile ( char* buffer, - const StubbedComponent& component, - const StubbedSymbol& symbol, - int stubIndex ) -{ - string linkerSymbol = GetLinkerSymbol ( symbol ); - string linkerImportSymbol = GetLinkerImportSymbol ( symbol ); - string indirectCallTargetSymbol = GetIndirectCallTargetSymbol ( symbol ); - buffer = buffer + sprintf ( buffer, - ".globl %s\n", - linkerSymbol.c_str () ); - buffer = buffer + sprintf ( buffer, - ".globl %s\n", - linkerImportSymbol.c_str () ); - buffer = buffer + sprintf ( buffer, - "%s:\n", - linkerSymbol.c_str () ); - buffer = buffer + sprintf ( buffer, - "%s:\n", - linkerImportSymbol.c_str () ); - buffer = buffer + sprintf ( buffer, - " .long %s\n", - indirectCallTargetSymbol.c_str () ); - buffer = buffer + sprintf ( buffer, - "%s:\n", - indirectCallTargetSymbol.c_str () ); - buffer = buffer + sprintf ( buffer, - " pushl $%d\n", - stubIndex ); - buffer = buffer + sprintf ( buffer, - " jmp passthrough\n" ); - buffer = buffer + sprintf ( buffer, "\n" ); - return buffer; -} - -char* -TestSupportCode::WriteStubbedComponentToStubsFile ( char* buffer, - const StubbedComponent& component, - int* stubIndex ) -{ - for ( size_t i = 0; i < component.symbols.size () ; i++ ) - buffer = WriteStubbedSymbolToStubsFile ( buffer, - component, - *component.symbols[i], - (*stubIndex)++ ); - return buffer; -} - -void -TestSupportCode::WriteStubsFile ( Module& module ) -{ - char* buf; - char* s; - - buf = (char*) malloc ( 512*1024 ); - if ( buf == NULL ) - throw OutOfMemoryException (); - - s = buf; - s = s + sprintf ( s, "/* This file is automatically generated. */\n" ); - s = s + sprintf ( s, "passthrough:\n" ); - s = s + sprintf ( s, " call _FrameworkGetHook@4\n" ); - s = s + sprintf ( s, " test %%eax, %%eax\n" ); - s = s + sprintf ( s, " je .return\n" ); - s = s + sprintf ( s, " jmp *%%eax\n" ); - s = s + sprintf ( s, ".return:\n" ); - s = s + sprintf ( s, " /* This will most likely corrupt the stack */\n" ); - s = s + sprintf ( s, " ret\n" ); - s = s + sprintf ( s, "\n" ); - - int stubIndex = 0; - for ( size_t i = 0; i < module.stubbedComponents.size () ; i++ ) - { - s = WriteStubbedComponentToStubsFile ( s, - *module.stubbedComponents[i], - &stubIndex ); - } - - FileSupportCode::WriteIfChanged ( buf, GetStubsFilename ( module ) ); - - free ( buf ); -} - -string -TestSupportCode::GetStartupFilename ( Module& module ) -{ - return NormalizeFilename ( Environment::GetIntermediatePath () + sSep + module.output->relative_path + sSep + "_startup.c" ); -} - -bool -TestSupportCode::IsUnknownCharacter ( char ch ) -{ - if ( ch >= 'a' && ch <= 'z' ) - return false; - if ( ch >= 'A' && ch <= 'Z' ) - return false; - if ( ch >= '0' && ch <= '9' ) - return false; - return true; -} - -string -TestSupportCode::GetTestDispatcherName ( string filename ) -{ - string filenamePart = ReplaceExtension ( GetFilename ( filename ), "" ); - if ( filenamePart.length () > 0 ) - filenamePart[0] = toupper ( filenamePart[0] ); - for ( size_t i = 1; i < filenamePart.length (); i++ ) - { - if ( IsUnknownCharacter ( filenamePart[i] ) ) - filenamePart[i] = '_'; - else - filenamePart[i] = tolower ( filenamePart[i] ); - } - return filenamePart + "Test"; -} - -bool -TestSupportCode::IsTestFile ( string& filename ) const -{ - if ( stricmp ( GetFilename ( filename ).c_str (), "setup.c" ) == 0 ) - return false; - return true; -} - -void -TestSupportCode::GetSourceFilenames ( string_list& list, - Module& module ) const -{ - size_t i; - - const vector& compilationUnits = module.non_if_data.compilationUnits; - for ( i = 0; i < compilationUnits.size (); i++ ) - { - const FileLocation& sourceFileLocation = compilationUnits[i]->GetFilename (); - string filename = sourceFileLocation.relative_path + sSep + sourceFileLocation.name; - if ( !compilationUnits[i]->IsGeneratedFile () && IsTestFile ( filename ) ) - list.push_back ( filename ); - } -} - -char* -TestSupportCode::WriteTestDispatcherPrototypesToStartupFile ( char* buffer, - Module& module ) -{ - string_list files; - GetSourceFilenames ( files, - module ); - for ( size_t i = 0; i < files.size (); i++ ) - { - buffer = buffer + sprintf ( buffer, - "extern void %s(int Command, char *Buffer);\n", - GetTestDispatcherName ( files[i] ).c_str () ); - } - buffer = buffer + sprintf ( buffer, "\n" ); - return buffer; -} - -char* -TestSupportCode::WriteRegisterTestsFunctionToStartupFile ( char* buffer, - Module& module ) -{ - buffer = buffer + sprintf ( buffer, - "extern void AddTest(TestRoutine Routine);\n" ); - buffer = buffer + sprintf ( buffer, - "\n" ); - - buffer = buffer + sprintf ( buffer, - "void\n" ); - buffer = buffer + sprintf ( buffer, - "RegisterTests()\n" ); - buffer = buffer + sprintf ( buffer, - "{\n" ); - - string_list files; - GetSourceFilenames ( files, - module ); - for ( size_t i = 0; i < files.size (); i++ ) - { - buffer = buffer + sprintf ( buffer, - "AddTest((TestRoutine)%s);\n", - GetTestDispatcherName ( files[i]).c_str () ); - } - buffer = buffer + sprintf ( buffer, - "}\n" ); - buffer = buffer + sprintf ( buffer, "\n" ); - return buffer; -} - -void -TestSupportCode::WriteStartupFile ( Module& module ) -{ - char* buf; - char* s; - - buf = (char*) malloc ( 50*1024 ); - if ( buf == NULL ) - throw OutOfMemoryException (); - - s = buf; - s = s + sprintf ( s, "/* This file is automatically generated. */\n" ); - s = s + sprintf ( s, "\n" ); - s = s + sprintf ( s, "#include \n" ); - s = s + sprintf ( s, "#include \"regtests.h\"\n" ); - s = s + sprintf ( s, "\n" ); - s = WriteTestDispatcherPrototypesToStartupFile ( s, - module ); - s = WriteRegisterTestsFunctionToStartupFile ( s, - module ); - s = s + sprintf ( s, "\n" ); - s = s + sprintf ( s, "void\n" ); - s = s + sprintf ( s, "ConsoleWrite(char *Buffer)\n" ); - s = s + sprintf ( s, "{\n" ); - s = s + sprintf ( s, " printf(Buffer);\n" ); - s = s + sprintf ( s, "}\n" ); - s = s + sprintf ( s, "\n" ); - s = s + sprintf ( s, "int\n" ); - s = s + sprintf ( s, "WINAPI\n" ); - s = s + sprintf ( s, "WinMain(HINSTANCE hInstance,\n" ); - s = s + sprintf ( s, " HINSTANCE hPrevInstance,\n" ); - s = s + sprintf ( s, " LPSTR lpszCmdParam,\n" ); - s = s + sprintf ( s, " int nCmdShow)\n" ); - s = s + sprintf ( s, "{\n" ); - s = s + sprintf ( s, " _SetPriorityClass(_GetCurrentProcess(), HIGH_PRIORITY_CLASS);\n" ); - s = s + sprintf ( s, " _SetThreadPriority(_GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);\n" ); - s = s + sprintf ( s, " InitializeTests();\n" ); - s = s + sprintf ( s, " RegisterTests();\n" ); - s = s + sprintf ( s, " SetupOnce();\n" ); - s = s + sprintf ( s, " PerformTests(ConsoleWrite, NULL);\n" ); - s = s + sprintf ( s, " _ExitProcess(0);\n" ); - s = s + sprintf ( s, " return 0;\n" ); - s = s + sprintf ( s, "}\n" ); - s = s + sprintf ( s, "\n" ); - - FileSupportCode::WriteIfChanged ( buf, GetStartupFilename ( module ) ); - - free ( buf ); -} diff --git a/reactos/tools/rbuild/xmlnode.cpp b/reactos/tools/rbuild/xmlnode.cpp deleted file mode 100644 index cf1c749de90..00000000000 --- a/reactos/tools/rbuild/xmlnode.cpp +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2007 Hervé Poussineau - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ -#include "pch.h" - -#include "rbuild.h" - -using std::string; - -XmlNode::XmlNode ( const Project& project_, - const XMLElement& node ) - : project(project_), - node(node) -{ -} - -XmlNode::~XmlNode () -{ -} - -void -XmlNode::ProcessXML () -{ -} diff --git a/reactos/tools/rbuild_helper/argv_parser.h b/reactos/tools/rbuild_helper/argv_parser.h deleted file mode 100644 index 97c506d12a9..00000000000 --- a/reactos/tools/rbuild_helper/argv_parser.h +++ /dev/null @@ -1,159 +0,0 @@ -/* - Copyright (c) 2009 KJK::Hyperion - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -#ifndef KJK_ARGV_PARSER_H_ -#define KJK_ARGV_PARSER_H_ - -#include -#include - -namespace kjk -{ - namespace details - { - template - bool is_separator(typename Traits::int_type c) - { - return Traits::eq_int_type(c, ' ') || Traits::eq_int_type(c, '\t'); - } - } - - template - InIter copy_argument(InIter cur, InIter end, OutIter arg) - { - typename Traits::int_type c; - bool quoting = false; - - while(cur != end) - { - c = Traits::to_int_type(*cur); - - if(!details::is_separator(c)) - break; - - ++ cur; - } - - while(cur != end) - { - typedef typename std::iterator_traits::difference_type difference_type; - difference_type backslashes(0); - - do - { - c = Traits::to_int_type(*cur); - ++ cur; - - if(Traits::eq_int_type(c, '\\')) - ++ backslashes; - else - break; - } - while(cur != end); - - if(Traits::eq_int_type(c, '"')) - { - // c == '"' - - if((backslashes % 2) == 0) - { - // 2N backslashes + "" in quote = N backslashes, literal " - if(quoting && cur != end && Traits::eq_int_type(Traits::to_int_type(*cur), '"')) - { - c = '"'; - ++ cur; - } - // 2N backslashes + " = N backslashes, toggle quoting - else - { - quoting = !quoting; - c = Traits::eof(); - } - - } - // 2N+1 backslashes + " = N backslashes, literal " - - backslashes /= 2; - } - - // Flush backslashes - for(difference_type i = 0; i < backslashes; ++ i) - *arg ++ = Traits::to_char_type('\\'); - - // Handle current character, unless it was a special quote - if(c != Traits::eof()) - { - if(details::is_separator(c) && !quoting) - break; - else - *arg ++ = Traits::to_char_type(c); - } - } - - while(cur != end) - { - c = Traits::to_int_type(*cur); - - if(!details::is_separator(c)) - break; - - ++ cur; - } - - return cur; - } - - template - InIter copy_argument(InIter cur, InIter end, OutIter arg) - { - return copy_argument - < - typename std::iterator_traits::value_type, - typename std::char_traits::value_type>, - InIter, - OutIter - > - (cur, end, arg); - } - - template - InIter skip_argument(InIter cur, InIter end) - { - return copy_argument(cur, end, null_output_iterator()); - } - - template - InIter skip_argument(InIter cur, InIter end) - { - return copy_argument - < - typename std::iterator_traits::value_type, - typename std::char_traits::value_type>, - InIter - > - (cur, end, null_output_iterator::value_type>()); - } -} - -#endif - -// EOF diff --git a/reactos/tools/rbuild_helper/null_output_iterator.h b/reactos/tools/rbuild_helper/null_output_iterator.h deleted file mode 100644 index 43b960f6ed5..00000000000 --- a/reactos/tools/rbuild_helper/null_output_iterator.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright (c) 2009 KJK::Hyperion - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -#ifndef KJK_NULL_OUTPUT_ITERATOR_H_ -#define KJK_NULL_OUTPUT_ITERATOR_H_ - -#include -#include - -namespace kjk -{ - template - struct null_output_reference - { - const Type& operator=(const Type& x) { return x; } - }; - - template - struct null_output_iterator: public std::iterator > - { - null_output_iterator() {} - null_output_iterator(const null_output_iterator&) {} - const null_output_iterator& operator=(const null_output_iterator&) { return *this; } - const null_output_iterator& operator++() { return *this; } - null_output_iterator operator++(int) { return null_output_iterator(); } - null_output_reference operator*() { return null_output_reference(); } - }; -} - -#endif - -// EOF diff --git a/reactos/tools/rbuild_helper/rbuild_helper.cpp b/reactos/tools/rbuild_helper/rbuild_helper.cpp deleted file mode 100644 index 2d374b6dfac..00000000000 --- a/reactos/tools/rbuild_helper/rbuild_helper.cpp +++ /dev/null @@ -1,549 +0,0 @@ -/* - Copyright (c) 2009 KJK::Hyperion - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -#if !defined(WIN32) - -// TODO: needs a near rewrite for UNIX, but it's not required right now -int main() { return 1; } - -#else - -#include -#include -#include -#include - -#include - -#include - -#define WIN32_LEAN_AND_MEAN -#define STRICT -#include - -#undef RtlMoveMemory -extern "C" DECLSPEC_IMPORT void NTAPI RtlMoveMemory(void UNALIGNED *, const void UNALIGNED *, SIZE_T); - -#ifndef ARRAYSIZE -#define ARRAYSIZE(X_) (sizeof(X_) / sizeof((X_)[0])) -#endif - -#include -#include - -using namespace kjk; - -namespace -{ - bool WriteAll(HANDLE hFile, const void * p, size_t cb) - { - const char * pb = static_cast(p); - bool ret = cb == 0; - - while(cb) - { - DWORD cbToWrite; - - if(cb > MAXLONG) - cbToWrite = MAXLONG; - else - cbToWrite = static_cast(cb); - - DWORD cbWritten; - ret = !!WriteFile(hFile, pb, cbToWrite, &cbWritten, NULL); - - if(!ret) - break; - - cb -= cbWritten; - pb += cbWritten; - } - - return ret; - } - - DECLSPEC_NORETURN - void Exit(DWORD dwExitCode) - { - for(;;) TerminateProcess(GetCurrentProcess(), dwExitCode); - } - - DECLSPEC_NORETURN - void Die(DWORD dwExitCode, const char * pszFunction, DWORD dwErrCode) - { - DWORD_PTR args[] = { (DWORD_PTR)pszFunction, dwErrCode }; - - char * pszMessage; - DWORD cchMessage = FormatMessageA - ( - FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING, - "rbuild_helper: %1!s!() failed: error %2!lu!\n", - 0, - 0, - (LPSTR)&pszMessage, - 0, - (va_list *)args - ); - - if(cchMessage) - { - (void)WriteAll(GetStdHandle(STD_ERROR_HANDLE), pszMessage, cchMessage); - LocalFree((HLOCAL)pszMessage); - } - - Exit(dwExitCode); - } - - DECLSPEC_NORETURN - void Die(const char * pszFunction) - { - Die(1, pszFunction, GetLastError()); - } - - DECLSPEC_NORETURN - void Die(const char * pszFunction, DWORD dwExitCode) - { - Die(1, pszFunction, dwExitCode); - } - - template - DECLSPEC_NORETURN - void DieMessage(const char (& msg)[N]) - { - (void)WriteAll(GetStdHandle(STD_ERROR_HANDLE), msg, (N) - 1); - Exit(1); - } - - DECLSPEC_NORETURN - void OutOfMemory() - { - DieMessage("rbuild_helper: out of memory\n"); - } - - template - class store_argument - { - private: - CharT * m_arg; - size_t m_argLen; - - public: - // Pretend we are an STL container - typedef TCHAR value_type; - typedef TCHAR * pointer; - typedef TCHAR& reference; - typedef const TCHAR * const_pointer; - typedef const TCHAR& const_reference; - - void push_back(TCHAR x) - { - if(x > std::numeric_limits::max() || x < std::numeric_limits::min()) - DieMessage("rbuild_helper: invalid character in command line\n"); - - m_arg = static_cast(HeapReAlloc(GetProcessHeap(), 0, m_arg, (m_argLen + 1) * sizeof(CharT))); - - if(m_arg == NULL) - OutOfMemory(); - - m_arg[m_argLen] = static_cast(x); - ++ m_argLen; // TODO: better allocation strategy - } - - public: - store_argument(): m_arg(static_cast(HeapAlloc(GetProcessHeap(), 0, 1))), m_argLen(0) - { - if(m_arg == NULL) - OutOfMemory(); - } - - const CharT * get_arg() const { return m_arg; } - size_t get_arg_len() const { return m_argLen; } - }; - - class filter_output - { - private: - const char * m_pFilterLine; - size_t m_cbFilterLine; - HANDLE m_hOutput; - bool& m_fDone; - - static DWORD s_cbDummy; - static DWORD s_pipeId; - - char m_buffer[1024]; - LPTSTR m_pszPipeName; - HANDLE m_hReadFrom; - OVERLAPPED m_asyncRead; - char * m_pLineBuffer; - size_t m_cbLineBuffer; - - bool begin_read() - { - bool bRet = !!ReadFile(m_hReadFrom, m_buffer, sizeof(m_buffer), &s_cbDummy, &m_asyncRead); - - if(!bRet) - { - bRet = GetLastError() != ERROR_BROKEN_PIPE; - - if(bRet) - { - bRet = GetLastError() == ERROR_IO_PENDING; - - if(!bRet) - Die("ReadFile"); - } - } - - return bRet; - } - - void push_input(size_t cbBufferValid) - { - if(m_fDone) - { - if(!WriteAll(m_hOutput, m_buffer, cbBufferValid)) - Die("WriteFile"); - - return; - } - - // Add the data read from output to the line buffer - size_t cbLineBufferNew = m_cbLineBuffer + cbBufferValid; - - if(m_pLineBuffer) - m_pLineBuffer = static_cast(HeapReAlloc(GetProcessHeap(), 0, m_pLineBuffer, cbLineBufferNew)); - else - m_pLineBuffer = static_cast(HeapAlloc(GetProcessHeap(), 0, cbLineBufferNew)); - - if(m_pLineBuffer == NULL) - OutOfMemory(); - - RtlMoveMemory(m_pLineBuffer + m_cbLineBuffer, m_buffer, cbBufferValid); - - // Parse all complete lines in the line buffer - size_t cbLineStart = 0; - - for(size_t i = m_cbLineBuffer; i < cbLineBufferNew; ++ i) - { - // We have a complete line - if(m_pLineBuffer[i] == '\n' || m_pLineBuffer[i] == '\r') - { - size_t cbLine = i - cbLineStart; - - ++ i; - - if(i < cbLineBufferNew && m_pLineBuffer[i - 1] == '\r' && m_pLineBuffer[i] == '\n') - ++ i; - - size_t cbLineFull = i - cbLineStart; - - bool fMatched = cbLine == m_cbFilterLine && memcmp(m_pLineBuffer + cbLineStart, m_pFilterLine, m_cbFilterLine) == 0; - - // The line doesn't match: dump it - if(!fMatched) - { - if(!WriteAll(m_hOutput, m_pLineBuffer + cbLineStart, cbLineFull)) - Die("WriteFile"); - } - // The line matches: we are done - else - m_fDone = fMatched; - - cbLineStart = i; - } - - // Filtering is complete: from now on, just dump everything - if(m_fDone) - { - if(!WriteAll(m_hOutput, m_buffer + i, cbLineBufferNew - i)) - Die("WriteFile"); - - HeapFree(GetProcessHeap(), 0, m_pLineBuffer); - return; - } - } - - // Re-buffer what's left - m_cbLineBuffer = cbLineBufferNew - cbLineStart; - RtlMoveMemory(m_pLineBuffer, m_pLineBuffer + cbLineStart, m_cbLineBuffer); - } - - public: - filter_output(const char * pFilterLine, size_t cbFilterLine, HANDLE hOutput, bool * pfDone): - m_pFilterLine(pFilterLine), - m_cbFilterLine(cbFilterLine), - m_hOutput(hOutput), - m_fDone(*pfDone), - m_asyncRead(), - m_pLineBuffer(0), - m_cbLineBuffer(0) - { - for(;;) - { - DWORD_PTR args[] = { GetCurrentProcessId(), s_pipeId }; - - DWORD cchPipeName = FormatMessage - ( - FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING, - TEXT("\\\\.\\pipe\\rbuild_helper-%1!08X!-%2!08X!"), - 0, - 0, - (LPTSTR)&m_pszPipeName, - 0, - (va_list *)args - ); - - if(cchPipeName == 0) - Die("FormatMessage"); - - m_hReadFrom = CreateNamedPipe(m_pszPipeName, PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED, PIPE_TYPE_BYTE, 1, 0, 0, 0, NULL); - - ++ s_pipeId; - - if(m_hReadFrom != INVALID_HANDLE_VALUE) - break; - - if(GetLastError() != ERROR_PIPE_BUSY) - Die("CreateNamedPipe"); - } - - // Just in case - bool fEmptyFilter = m_cbFilterLine == 0; - - if(fEmptyFilter) - m_fDone = fEmptyFilter; - } - - HANDLE open_write_end(LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) - { - HANDLE hWritePipe = CreateFile(m_pszPipeName, GENERIC_WRITE, FILE_SHARE_READ, lpSecurityAttributes, OPEN_EXISTING, dwFlagsAndAttributes, hTemplateFile); - - if(hWritePipe == INVALID_HANDLE_VALUE) - Die("CreateFile"); - - (void)begin_read(); - return hWritePipe; - } - - HANDLE get_read_completion() const - { - return m_hReadFrom; - } - - bool operator()() - { - DWORD cbBufferValid; - - if(!GetOverlappedResult(m_hReadFrom, &m_asyncRead, &cbBufferValid, TRUE)) - { - bool b = GetLastError() != ERROR_BROKEN_PIPE; - - if(!b) - return b; - - Die("ReadFile"); - } - - push_input(cbBufferValid); - return begin_read(); - } - }; - - DWORD filter_output::s_cbDummy = 0; - DWORD filter_output::s_pipeId = 0; - - size_t LengthOfVersionStrings(const TCHAR * pszStrings) - { - size_t cchStrings = 0; - - do - cchStrings += lstrlen(pszStrings + cchStrings) + 1; - while(pszStrings[cchStrings]); - - return cchStrings + 1; - } -} - -int main() -{ - DWORD dwExitCode = 1; - - // Parse the command line - LPCTSTR pszCommandLine = GetCommandLine(); - - // Skip argv[0] - pszCommandLine = skip_argument(stringz_begin(pszCommandLine), stringz_end(pszCommandLine)).base(); - - // Get argv[1]: the prefix for environment variable replacement - store_argument envPrefix; - pszCommandLine = copy_argument(stringz_begin(pszCommandLine), stringz_end(pszCommandLine), std::back_inserter(envPrefix)).base(); - - // Get argv[2]: the line that should be filtered out of the output - store_argument filterLine; - pszCommandLine = copy_argument(stringz_begin(pszCommandLine), stringz_end(pszCommandLine), std::back_inserter(filterLine)).base(); - - // argv[3..N] will become argv[0..N-3] of the compiler - - // Initialize the output filters - bool fDone = false; - filter_output filterStdOutput(filterLine.get_arg(), filterLine.get_arg_len(), GetStdHandle(STD_OUTPUT_HANDLE), &fDone); - filter_output filterStdError(filterLine.get_arg(), filterLine.get_arg_len(), GetStdHandle(STD_ERROR_HANDLE), &fDone); - - // A handle that will never be signaled - HANDLE hNever; - - if(!DuplicateHandle(GetCurrentProcess(), GetCurrentProcess(), GetCurrentProcess(), &hNever, SYNCHRONIZE, FALSE, 0)) - Die("DuplicateHandle"); - - // Fix the environment - if(envPrefix.get_arg_len()) - { - LPTCH pEnv = GetEnvironmentStrings(); - - if(!pEnv) - OutOfMemory(); - - SIZE_T cbEnv = LengthOfVersionStrings(pEnv) * sizeof(TCHAR); - LPVOID pDupEnv = HeapAlloc(GetProcessHeap(), 0, cbEnv); - - if(!pDupEnv) - OutOfMemory(); - - RtlMoveMemory(pDupEnv, pEnv, cbEnv); - FreeEnvironmentStrings(pEnv); - pEnv = static_cast(pDupEnv); - - LPCTSTR pszEnvVar = pEnv; - - size_t cchPrefix = envPrefix.get_arg_len(); - const TCHAR * pszBeginPrefix = envPrefix.get_arg(); - const TCHAR * pszEndPrefix = pszBeginPrefix + cchPrefix; - - do - { - const TCHAR * pszBeginName = pszEnvVar; - const TCHAR * pszEndName = std::find(stringz_begin(pszEnvVar), stringz_end(pszEnvVar), TEXT('=')).base(); - const TCHAR * pszBeginValue = pszEndName; - - if(*pszEndName) - { - *const_cast(pszEndName) = 0; - ++ pszBeginValue; - } - - size_t cchName = pszEndName - pszBeginName; - - if(cchName >= cchPrefix && std::equal(pszBeginPrefix, pszEndPrefix, pszBeginName)) - { - SetEnvironmentVariable(pszBeginName, NULL); - - if(cchName > cchPrefix) - SetEnvironmentVariable(pszBeginName + cchPrefix, *pszBeginValue ? pszBeginValue : NULL); - } - - pszEnvVar = pszBeginValue; - - while(*pszEnvVar) - ++ pszEnvVar; - - ++ pszEnvVar; - } - while(*pszEnvVar); - - HeapFree(GetProcessHeap(), 0, pEnv); - } - - // Run the sub-process - STARTUPINFO si; - GetStartupInfo(&si); - - si.dwFlags |= STARTF_USESTDHANDLES; - - si.hStdInput = GetStdHandle(STD_INPUT_HANDLE); - - SECURITY_ATTRIBUTES pipeAttributes = { sizeof(SECURITY_ATTRIBUTES), NULL, TRUE }; - si.hStdOutput = filterStdOutput.open_write_end(&pipeAttributes, 0, NULL); - si.hStdError = filterStdError.open_write_end(&pipeAttributes, 0, NULL); - - PROCESS_INFORMATION pi = {}; - - if(!CreateProcess(NULL, const_cast(pszCommandLine), NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)) - Die("CreateProcess"); - - CloseHandle(pi.hThread); - CloseHandle(si.hStdOutput); - CloseHandle(si.hStdError); - - (void)SetProcessWorkingSetSize(GetCurrentProcess(), (SIZE_T)-1, (SIZE_T)-1); - - HANDLE waitHandles[3] = - { - pi.hProcess, - filterStdOutput.get_read_completion(), - filterStdError.get_read_completion() - }; - - unsigned done = 0; - - char * pLineBuffer = NULL; - size_t cbLineBuffer = 0; - - while(done < ARRAYSIZE(waitHandles)) - { - switch(WaitForMultipleObjects(ARRAYSIZE(waitHandles), waitHandles, FALSE, INFINITE)) - { - case WAIT_OBJECT_0: - GetExitCodeProcess(pi.hProcess, &dwExitCode); - waitHandles[WAIT_OBJECT_0] = hNever; - ++ done; - break; - - case WAIT_OBJECT_0 + 1: - if(!filterStdOutput()) - { - waitHandles[WAIT_OBJECT_0 + 1] = hNever; - ++ done; - } - - break; - - case WAIT_OBJECT_0 + 2: - if(!filterStdError()) - { - waitHandles[WAIT_OBJECT_0 + 2] = hNever; - ++ done; - } - - break; - - default: - Die("WaitForMultipleObjects"); - } - } - - Exit(dwExitCode); -} - -#endif - -// EOF diff --git a/reactos/tools/rbuild_helper/rbuild_helper.rbuild b/reactos/tools/rbuild_helper/rbuild_helper.rbuild deleted file mode 100644 index fa9af2680e4..00000000000 --- a/reactos/tools/rbuild_helper/rbuild_helper.rbuild +++ /dev/null @@ -1,7 +0,0 @@ - - - . - - - rbuild_helper.cpp - diff --git a/reactos/tools/rbuild_helper/stringz_iterator.h b/reactos/tools/rbuild_helper/stringz_iterator.h deleted file mode 100644 index d84fae12087..00000000000 --- a/reactos/tools/rbuild_helper/stringz_iterator.h +++ /dev/null @@ -1,130 +0,0 @@ -/* - Copyright (c) 2009 KJK::Hyperion - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ - -#ifndef KJK_STRINGZ_ITERATOR_H_ -#define KJK_STRINGZ_ITERATOR_H_ - -#include -#include - -namespace kjk -{ - template > class stringz_iterator; - - template stringz_iterator stringz_begin(const CharT *); - template stringz_iterator stringz_begin(const CharT *); - - template stringz_iterator stringz_end(const CharT *); - template stringz_iterator stringz_end(const CharT *); - - template - class stringz_iterator: public std::iterator - { - private: - template friend stringz_iterator stringz_begin(const CharT2 *); - template friend stringz_iterator stringz_begin(const CharT2 *); - - template friend stringz_iterator stringz_end(const CharT2 *); - template friend stringz_iterator stringz_end(const CharT2 *); - - // FIXME: this sucks because GCC sucks - typedef const Type * pointer_; - typedef const Type& reference_; - - pointer_ m_p; - - static pointer_ set_pointer(pointer_ p) - { - if(p != 0 && Traits::eq_int_type(Traits::to_int_type(*p), 0)) - return 0; - else - return p; - } - - explicit stringz_iterator(pointer_ p): m_p(set_pointer(p)) { } - - public: - stringz_iterator(): m_p() {} - stringz_iterator(const stringz_iterator& That): m_p(set_pointer(That.m_p)) { } - - const stringz_iterator& operator=(const stringz_iterator& That) - { - m_p = set_pointer(That.m_p); - return *this; - } - - bool operator==(const stringz_iterator& That) const - { - return m_p == That.m_p; - } - - bool operator!=(const stringz_iterator& That) const - { - return m_p != That.m_p; - } - - reference_ operator*() const { return *m_p; } - - const stringz_iterator& operator++() - { - m_p = set_pointer(m_p + 1); - return *this; - } - - stringz_iterator operator++(int) - { - stringz_iterator oldValue(*this); - ++ (*this); - return oldValue; - } - - pointer_ base() const { return m_p; } - }; - - template - stringz_iterator stringz_begin(const CharT * p) - { - return stringz_iterator(p); - } - - template - stringz_iterator stringz_begin(const CharT * p) - { - return stringz_iterator(p); - } - - template - stringz_iterator stringz_end(const CharT *) - { - return stringz_iterator(0); - } - - template - stringz_iterator stringz_end(const CharT *) - { - return stringz_iterator(0); - } -} - -#endif - -// EOF diff --git a/reactos/tools/rgenstat/rgenstat.rbuild b/reactos/tools/rgenstat/rgenstat.rbuild deleted file mode 100644 index 6de3bef7407..00000000000 --- a/reactos/tools/rgenstat/rgenstat.rbuild +++ /dev/null @@ -1,6 +0,0 @@ - - - - rgenstat.c - llmosrt.c - diff --git a/reactos/tools/rsym/raddr2line.mak b/reactos/tools/rsym/raddr2line.mak deleted file mode 100644 index df00e8d02d1..00000000000 --- a/reactos/tools/rsym/raddr2line.mak +++ /dev/null @@ -1,41 +0,0 @@ -RADDR2LINE_BASE = $(TOOLS_BASE)$(SEP)rsym -RADDR2LINE_BASE_ = $(RADDR2LINE_BASE)$(SEP) - -RADDR2LINE_INT = $(INTERMEDIATE_)$(RADDR2LINE_BASE) -RADDR2LINE_INT_ = $(RADDR2LINE_INT)$(SEP) -RADDR2LINE_OUT = $(OUTPUT_)$(RADDR2LINE_BASE) -RADDR2LINE_OUT_ = $(RADDR2LINE_OUT)$(SEP) - -RADDR2LINE_TARGET = \ - $(RADDR2LINE_OUT_)raddr2line$(EXEPOSTFIX) - -RADDR2LINE_SOURCES = \ - $(RADDR2LINE_BASE_)raddr2line.c \ - $(RADDR2LINE_BASE_)rsym_common.c - -RADDR2LINE_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(RADDR2LINE_SOURCES:.c=.o)) - -RADDR2LINE_HOST_CFLAGS = $(TOOLS_CFLAGS) - -RADDR2LINE_HOST_LFLAGS = $(TOOLS_LFLAGS) - -.PHONY: raddr2line -raddr2line: $(RADDR2LINE_TARGET) - -$(RADDR2LINE_TARGET): $(RADDR2LINE_OBJECTS) | $(RADDR2LINE_OUT) - $(ECHO_HOSTLD) - ${host_gcc} $(RADDR2LINE_OBJECTS) $(RADDR2LINE_HOST_LFLAGS) -o $@ - -$(RADDR2LINE_INT_)raddr2line.o: $(RADDR2LINE_BASE_)raddr2line.c | $(RADDR2LINE_INT) - $(ECHO_HOSTCC) - ${host_gcc} $(RADDR2LINE_HOST_CFLAGS) -c $< -o $@ - -#$(RADDR2LINE_INT_)rsym_common.o: $(RADDR2LINE_BASE_)rsym_common.c | $(RADDR2LINE_INT) -# $(ECHO_HOSTCC) -# ${host_gcc} $(RADDR2LINE_HOST_CFLAGS) -c $< -o $@ - -.PHONY: raddr2line_clean -raddr2line_clean: - -@$(rm) $(RADDR2LINE_TARGET) $(RADDR2LINE_OBJECTS) 2>$(NUL) -clean: raddr2line_clean diff --git a/reactos/tools/rsym/rsym.mak b/reactos/tools/rsym/rsym.mak deleted file mode 100644 index 0adacedcae2..00000000000 --- a/reactos/tools/rsym/rsym.mak +++ /dev/null @@ -1,64 +0,0 @@ -RSYM_BASE = $(TOOLS_BASE)$(SEP)rsym -RSYM_BASE_ = $(RSYM_BASE)$(SEP) -RSYM_INT = $(INTERMEDIATE_)$(RSYM_BASE) -RSYM_INT_ = $(RSYM_INT)$(SEP) -RSYM_OUT = $(OUTPUT_)$(RSYM_BASE) -RSYM_OUT_ = $(RSYM_OUT)$(SEP) - -$(RSYM_INT): | $(TOOLS_INT) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(RSYM_OUT): | $(TOOLS_OUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -RSYM_TARGET = \ - $(RSYM_OUT_)rsym$(EXEPOSTFIX) - -ifeq ($(ARCH),amd64) -RSYM_SOURCES = \ - $(RSYM_BASE_)rsym64.c \ - $(RSYM_BASE_)rsym_common.c -else -RSYM_SOURCES = \ - $(RSYM_BASE_)rsym.c \ - $(RSYM_BASE_)rsym_common.c -endif - -RSYM_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(RSYM_SOURCES:.c=.o)) - -ifeq ($(ARCH),amd64) -RSYM_HOST_CFLAGS = $(TOOLS_CFLAGS) -D_TARGET_PE64 -else -RSYM_HOST_CFLAGS = $(TOOLS_CFLAGS) -endif - -RSYM_HOST_LFLAGS = $(TOOLS_LFLAGS) - -.PHONY: rsym -rsym: $(RSYM_TARGET) - -$(RSYM_TARGET): $(RSYM_OBJECTS) | $(RSYM_OUT) - $(ECHO_LD) - ${host_gcc} $(RSYM_OBJECTS) $(RSYM_HOST_LFLAGS) -o $@ - -$(RSYM_INT_)rsym.o: $(RSYM_BASE_)rsym.c | $(RSYM_INT) - $(ECHO_CC) - ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@ - -$(RSYM_INT_)rsym64.o: $(RSYM_BASE_)rsym64.c | $(RSYM_INT) - $(ECHO_CC) - ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@ - -$(RSYM_INT_)rsym_common.o: $(RSYM_BASE_)rsym_common.c | $(RSYM_INT) - $(ECHO_CC) - ${host_gcc} $(RSYM_HOST_CFLAGS) -c $< -o $@ - -.PHONY: rsym_clean -rsym_clean: - -@$(rm) $(RSYM_TARGET) $(RSYM_OBJECTS) 2>$(NUL) -clean: rsym_clean diff --git a/reactos/tools/sysgen/FileSystemTreeView/App.ico b/reactos/tools/sysgen/FileSystemTreeView/App.ico deleted file mode 100644 index 3a5525fd794f7a7c5c8e6187f470ea3af38cd2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmeHHJr05}7=1t!Hp3A*8IHkVf+j?-!eHY14Gtcw1Eb*_9>Bq^zETJ@GKj{_2j4$w zo9}xCh!8{T3=X##Skq>ikMjsvB|y%crWBM2iW(4pI}c%z6%lW!=~4v77#3{z!dmB1 z__&l)-{KUYR+|8|;wB^R|9ET$J@(@=#rd^=)qs85?vAy(PSF5CyNkus435LVkZ$rj zNw|JG-P7^hF<(;#o*Vk}5R#e|^13tBbQkeF?djULtvqyxd3<{9 diff --git a/reactos/tools/sysgen/FileSystemTreeView/AssemblyInfo.cs b/reactos/tools/sysgen/FileSystemTreeView/AssemblyInfo.cs deleted file mode 100644 index 9f89a3282c5..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/AssemblyInfo.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly: AssemblyTitle("")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly: AssemblyVersion("1.0.*")] - -// -// In order to sign your assembly you must specify a key to use. Refer to the -// Microsoft .NET Framework documentation for more information on assembly signing. -// -// Use the attributes below to control which key is used for signing. -// -// Notes: -// (*) If no key is specified, the assembly is not signed. -// (*) KeyName refers to a key that has been installed in the Crypto Service -// Provider (CSP) on your machine. KeyFile refers to a file which contains -// a key. -// (*) If the KeyFile and the KeyName values are both specified, the -// following processing occurs: -// (1) If the KeyName can be found in the CSP, that key is used. -// (2) If the KeyName does not exist and the KeyFile does exist, the key -// in the KeyFile is installed into the CSP and used. -// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. -// When specifying the KeyFile, the location of the KeyFile should be -// relative to the project output directory which is -// %Project Directory%\obj\. For example, if your KeyFile is -// located in the project directory, you would specify the AssemblyKeyFile -// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] -// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework -// documentation for more information on this. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/App.ico b/reactos/tools/sysgen/FileSystemTreeView/Backup/App.ico deleted file mode 100644 index 3a5525fd794f7a7c5c8e6187f470ea3af38cd2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmeHHJr05}7=1t!Hp3A*8IHkVf+j?-!eHY14Gtcw1Eb*_9>Bq^zETJ@GKj{_2j4$w zo9}xCh!8{T3=X##Skq>ikMjsvB|y%crWBM2iW(4pI}c%z6%lW!=~4v77#3{z!dmB1 z__&l)-{KUYR+|8|;wB^R|9ET$J@(@=#rd^=)qs85?vAy(PSF5CyNkus435LVkZ$rj zNw|JG-P7^hF<(;#o*Vk}5R#e|^13tBbQkeF?djULtvqyxd3<{9 diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/AssemblyInfo.cs b/reactos/tools/sysgen/FileSystemTreeView/Backup/AssemblyInfo.cs deleted file mode 100644 index 9f89a3282c5..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/AssemblyInfo.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly: AssemblyTitle("")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly: AssemblyVersion("1.0.*")] - -// -// In order to sign your assembly you must specify a key to use. Refer to the -// Microsoft .NET Framework documentation for more information on assembly signing. -// -// Use the attributes below to control which key is used for signing. -// -// Notes: -// (*) If no key is specified, the assembly is not signed. -// (*) KeyName refers to a key that has been installed in the Crypto Service -// Provider (CSP) on your machine. KeyFile refers to a file which contains -// a key. -// (*) If the KeyFile and the KeyName values are both specified, the -// following processing occurs: -// (1) If the KeyName can be found in the CSP, that key is used. -// (2) If the KeyName does not exist and the KeyFile does exist, the key -// in the KeyFile is installed into the CSP and used. -// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. -// When specifying the KeyFile, the location of the KeyFile should be -// relative to the project output directory which is -// %Project Directory%\obj\. For example, if your KeyFile is -// located in the project directory, you would specify the AssemblyKeyFile -// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] -// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework -// documentation for more information on this. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.cs b/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.cs deleted file mode 100644 index e6c055e9b12..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System; -using System.IO; -using System.Windows.Forms; -using System.ComponentModel; -using System.Collections; -using System.Drawing; - -namespace C2C.FileSystem -{ - /// - /// Summary description for DirectoryTreeView. - /// - /// - - public class FileSystemTreeView : TreeView - { - private bool _showFiles = true; - private ImageList _imageList = new ImageList(); - private Hashtable _systemIcons = new Hashtable(); - - public static readonly int Folder = 0; - - public FileSystemTreeView() - { - this.ImageList = _imageList; - this.MouseDown += new MouseEventHandler(FileSystemTreeView_MouseDown); - this.BeforeExpand += new TreeViewCancelEventHandler(FileSystemTreeView_BeforeExpand); - } - - void FileSystemTreeView_MouseDown(object sender, MouseEventArgs e) - { - TreeNode node = this.GetNodeAt(e.X, e.Y); - - if (node == null) - return; - - this.SelectedNode = node; //select the node under the mouse - } - - void FileSystemTreeView_BeforeExpand(object sender, TreeViewCancelEventArgs e) - { - if( e.Node is FileNode ) return; - - DirectoryNode node = (DirectoryNode)e.Node; - - if (!node.Loaded) - { - node.Nodes[0].Remove(); //remove the fake child node used for virtualization - node.LoadDirectory(); - if( this._showFiles == true ) - node.LoadFiles(); - } - } - - public void Load( string directoryPath ) - { - if( Directory.Exists( directoryPath ) == false ) - throw new DirectoryNotFoundException( "Directory Not Found" ); - - _systemIcons.Clear(); - _imageList.Images.Clear(); - Nodes.Clear(); - - Icon folderIcon = new Icon( typeof( FileSystemTreeView ), "icons.folder.ico"); - - _imageList.Images.Add( folderIcon ); - _systemIcons.Add( FileSystemTreeView.Folder, 0 ); - - DirectoryNode node = new DirectoryNode( this, new DirectoryInfo( directoryPath ) ); - node.Expand(); - } - - public int GetIconImageIndex( string path ) - { - string extension = Path.GetExtension( path ); - - if( _systemIcons.ContainsKey( extension ) == false ) - { - Icon icon = ShellIcon.GetSmallIcon( path ); - _imageList.Images.Add( icon ); - _systemIcons.Add( extension, _imageList.Images.Count-1 ); - } - - return (int)_systemIcons[ Path.GetExtension( path )]; - } - - public bool ShowFiles - { - get{ return this._showFiles; } - set{ this._showFiles = value; } - } - } - - public class DirectoryNode : TreeNode - { - private DirectoryInfo _directoryInfo; - - public DirectoryNode( DirectoryNode parent, DirectoryInfo directoryInfo ) : base( directoryInfo.Name ) - { - this._directoryInfo = directoryInfo; - - this.ImageIndex = FileSystemTreeView.Folder; - this.SelectedImageIndex = this.ImageIndex; - - parent.Nodes.Add( this ); - - Virtualize(); - } - - public DirectoryNode( FileSystemTreeView treeView, DirectoryInfo directoryInfo ) : base( directoryInfo.Name ) - { - this._directoryInfo = directoryInfo; - - this.ImageIndex = FileSystemTreeView.Folder; - this.SelectedImageIndex = this.ImageIndex; - - treeView.Nodes.Add( this ); - - Virtualize(); - - } - - void Virtualize() - { - int fileCount = 0; - - try - { - if( this.TreeView.ShowFiles == true ) - fileCount = this._directoryInfo.GetFiles().Length; - - if( (fileCount + this._directoryInfo.GetDirectories().Length) > 0 ) - new FakeChildNode( this ); - } - catch - { - } - } - - public void LoadDirectory() - { - foreach( DirectoryInfo directoryInfo in _directoryInfo.GetDirectories() ) - { - new DirectoryNode( this, directoryInfo ); - } - } - - public void LoadFiles() - { - foreach( FileInfo file in _directoryInfo.GetFiles() ) - { - new FileNode( this, file ); - } - } - - public bool Loaded - { - get - { - if( this.Nodes.Count != 0 ) - { - if( this.Nodes[0] is FakeChildNode ) - return false; - } - - return true; - } - } - - public new FileSystemTreeView TreeView - { - get{ return (FileSystemTreeView)base.TreeView; } - } - } - - public class FileNode : TreeNode - { - private FileInfo _fileInfo; - private DirectoryNode _directoryNode; - - public FileNode( DirectoryNode directoryNode, FileInfo fileInfo ) : base( fileInfo.Name ) - { - this._directoryNode = directoryNode; - this._fileInfo = fileInfo; - - this.ImageIndex = ((FileSystemTreeView)_directoryNode.TreeView).GetIconImageIndex( _fileInfo.FullName ); - this.SelectedImageIndex = this.ImageIndex; - - _directoryNode.Nodes.Add( this ); - } - } - - public class FakeChildNode : TreeNode - { - public FakeChildNode( TreeNode parent ) : base() - { - parent.Nodes.Add( this ); - } - } - -} diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj b/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj deleted file mode 100644 index ccafd2eb14c..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj.user b/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj.user deleted file mode 100644 index 69ac1936f52..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.csproj.user +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.resx b/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.resx deleted file mode 100644 index 3f337e081da..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/FileSystemTreeView.resx +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.0.0.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.cs b/reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.cs deleted file mode 100644 index b825eb838c0..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.cs +++ /dev/null @@ -1,178 +0,0 @@ -using System; -using System.Drawing; -using System.Collections; -using System.ComponentModel; -using System.Windows.Forms; -using System.Data; -using C2C.FileSystem; - -namespace DirectoryTreeView -{ - /// - /// Summary description for Form1. - /// - public class Form1 : System.Windows.Forms.Form - { - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.TextBox txtDirectory; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Button btnDirectory; - private C2C.FileSystem.FileSystemTreeView tree; - private System.Windows.Forms.Panel treePanel; - /// - /// Required designer variable. - /// - private System.ComponentModel.Container components = null; - - public Form1() - { - // - // Required for Windows Form Designer support - // - InitializeComponent(); - - // - // TODO: Add any constructor code after InitializeComponent call - // - } - - /// - /// Clean up any resources being used. - /// - protected override void Dispose( bool disposing ) - { - if( disposing ) - { - if (components != null) - { - components.Dispose(); - } - } - base.Dispose( disposing ); - } - - #region Windows Form Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.panel1 = new System.Windows.Forms.Panel(); - this.btnDirectory = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this.txtDirectory = new System.Windows.Forms.TextBox(); - this.treePanel = new System.Windows.Forms.Panel(); - this.panel1.SuspendLayout(); - this.SuspendLayout(); - // - // panel1 - // - this.panel1.Controls.Add(this.btnDirectory); - this.panel1.Controls.Add(this.label1); - this.panel1.Controls.Add(this.txtDirectory); - this.panel1.Dock = System.Windows.Forms.DockStyle.Top; - this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(721, 57); - this.panel1.TabIndex = 0; - // - // btnDirectory - // - this.btnDirectory.Location = new System.Drawing.Point(615, 27); - this.btnDirectory.Name = "btnDirectory"; - this.btnDirectory.Size = new System.Drawing.Size(30, 21); - this.btnDirectory.TabIndex = 2; - this.btnDirectory.Text = "..."; - this.btnDirectory.Click += new System.EventHandler(this.btnDirectory_Click); - // - // label1 - // - this.label1.Location = new System.Drawing.Point(9, 9); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(102, 18); - this.label1.TabIndex = 1; - this.label1.Text = "Directory:"; - // - // txtDirectory - // - this.txtDirectory.Location = new System.Drawing.Point(9, 27); - this.txtDirectory.Name = "txtDirectory"; - this.txtDirectory.Size = new System.Drawing.Size(603, 20); - this.txtDirectory.TabIndex = 0; - this.txtDirectory.Text = ""; - this.txtDirectory.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtDirectory_KeyDown); - this.txtDirectory.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtDirectory_KeyPress); - // - // treePanel - // - this.treePanel.Dock = System.Windows.Forms.DockStyle.Fill; - this.treePanel.Location = new System.Drawing.Point(0, 57); - this.treePanel.Name = "treePanel"; - this.treePanel.Size = new System.Drawing.Size(721, 530); - this.treePanel.TabIndex = 1; - // - // Form1 - // - this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); - this.ClientSize = new System.Drawing.Size(721, 587); - this.Controls.Add(this.treePanel); - this.Controls.Add(this.panel1); - this.Name = "Form1"; - this.Text = "Demo Application"; - this.Load += new System.EventHandler(this.Form1_Load); - this.panel1.ResumeLayout(false); - this.ResumeLayout(false); - - } - #endregion - - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - Application.Run(new Form1()); - } - - private void Form1_Load(object sender, System.EventArgs e) - { - tree = new C2C.FileSystem.FileSystemTreeView(); - treePanel.Controls.Add( tree ); - tree.Dock = DockStyle.Fill; - //tree.ShowFiles = false; - } - - - private void btnDirectory_Click(object sender, System.EventArgs e) - { - FolderBrowserDialog dlg = new FolderBrowserDialog(); - - if( dlg.ShowDialog() == DialogResult.OK ) - { - txtDirectory.Text = dlg.SelectedPath; - tree.Load( txtDirectory.Text ); - } - } - - private void txtDirectory_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) - { - - - } - - private void txtDirectory_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) - { - if( e.KeyData == Keys.Enter ) - { - if( System.IO.Directory.Exists( txtDirectory.Text ) == false ) - { - MessageBox.Show( "Directory Does Not Exist", "Invalid Directory", MessageBoxButtons.OK, MessageBoxIcon.Information ); - return; - } - tree.Load( txtDirectory.Text ); - } - } - } -} diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.resx b/reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.resx deleted file mode 100644 index 161c002f2c3..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/Form1.resx +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - False - - - True - - - Private - - - 3, 3 - - - True - - - Private - - - False - - - Private - - - Private - - - False - - - Private - - - Private - - - Private - - - False - - - Private - - - False - - - True - - - Private - - - 3, 3 - - - True - - - Private - - - False - - - (Default) - - - False - - - False - - - 3, 3 - - - True - - - 80 - - - Form1 - - - True - - - Private - - \ No newline at end of file diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/ShellIcon.cs b/reactos/tools/sysgen/FileSystemTreeView/Backup/ShellIcon.cs deleted file mode 100644 index 6dd9f867916..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Backup/ShellIcon.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using System.Drawing; -using System.Runtime.InteropServices; - -namespace C2C.FileSystem -{ - /// - /// Summary description for ShellIcon. - /// - /// - /// Summary description for ShellIcon. Get a small or large Icon with an easy C# function call - /// that returns a 32x32 or 16x16 System.Drawing.Icon depending on which function you call - /// either GetSmallIcon(string fileName) or GetLargeIcon(string fileName) - /// - public class ShellIcon - { - [StructLayout(LayoutKind.Sequential)] - public struct SHFILEINFO - { - public IntPtr hIcon; - public IntPtr iIcon; - public uint dwAttributes; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] - public string szDisplayName; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] - public string szTypeName; - }; - - - class Win32 - { - public const uint SHGFI_ICON = 0x100; - public const uint SHGFI_LARGEICON = 0x0; // 'Large icon - public const uint SHGFI_SMALLICON = 0x1; // 'Small icon - - - [DllImport("shell32.dll")] - public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags); - } - - - public ShellIcon() - { - // - // TODO: Add constructor logic here - // - } - - - public static Icon GetSmallIcon(string fileName) - { - IntPtr hImgSmall; //the handle to the system image list - SHFILEINFO shinfo = new SHFILEINFO(); - - - //Use this to get the small Icon - hImgSmall = Win32.SHGetFileInfo(fileName, 0, ref shinfo,(uint)Marshal.SizeOf(shinfo),Win32.SHGFI_ICON | Win32.SHGFI_SMALLICON); - - - //The icon is returned in the hIcon member of the shinfo struct - return System.Drawing.Icon.FromHandle(shinfo.hIcon); - } - - - public static Icon GetLargeIcon(string fileName) - { - IntPtr hImgLarge; //the handle to the system image list - SHFILEINFO shinfo = new SHFILEINFO(); - - - //Use this to get the large Icon - hImgLarge = Win32.SHGetFileInfo(fileName, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), Win32.SHGFI_ICON | Win32.SHGFI_LARGEICON); - - - //The icon is returned in the hIcon member of the shinfo struct - return System.Drawing.Icon.FromHandle(shinfo.hIcon); - } - } -} diff --git a/reactos/tools/sysgen/FileSystemTreeView/Backup/icons/folder.ico b/reactos/tools/sysgen/FileSystemTreeView/Backup/icons/folder.ico deleted file mode 100644 index c9e4b0b4a38001b92f3820c44b00a942347f8889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmeH{Jr2S!4255u{$}dL%*ZWZgW zSJ~0$)`{av1{9yF0)2s13XA|uXbfRYb8)Ac@=NTNN7U=u$4*a+#n}Se3ozf{@UUoZ z4el=sYZ)IjbYSSfUv)sFh$Jdf7#zHD<^)wB@1^t1vDUhzxU}rZspSC9hxdVv>DXtN z#+W$&!(aRN=jYr{x}Op16AASttW3PXx^$BA%a%hzhjJzFL+rPA^HbBNv>lBj@eN@5 B9CiQz diff --git a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.cs b/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.cs deleted file mode 100644 index f3da9388b71..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.cs +++ /dev/null @@ -1,202 +0,0 @@ -using System; -using System.IO; -using System.Windows.Forms; -using System.ComponentModel; -using System.Collections; -using System.Drawing; - -namespace C2C.FileSystem -{ - /// - /// Summary description for DirectoryTreeView. - /// - /// - - public class FileSystemTreeView : TreeView - { - private bool _showFiles = true; - private ImageList _imageList = new ImageList(); - private Hashtable _systemIcons = new Hashtable(); - - public static readonly int Folder = 0; - - public FileSystemTreeView() - { - this.CheckBoxes = true; - this.ImageList = _imageList; - this.MouseDown += new MouseEventHandler(FileSystemTreeView_MouseDown); - this.BeforeExpand += new TreeViewCancelEventHandler(FileSystemTreeView_BeforeExpand); - } - - void FileSystemTreeView_MouseDown(object sender, MouseEventArgs e) - { - TreeNode node = this.GetNodeAt(e.X, e.Y); - - if (node == null) - return; - - this.SelectedNode = node; //select the node under the mouse - } - - void FileSystemTreeView_BeforeExpand(object sender, TreeViewCancelEventArgs e) - { - if( e.Node is FileNode ) return; - - DirectoryNode node = (DirectoryNode)e.Node; - - if (!node.Loaded) - { - node.Nodes[0].Remove(); //remove the fake child node used for virtualization - node.LoadDirectory(); - if( this._showFiles == true ) - node.LoadFiles(); - } - } - - public void Load( string directoryPath ) - { - if( Directory.Exists( directoryPath ) == false ) - throw new DirectoryNotFoundException( "Directory Not Found" ); - - _systemIcons.Clear(); - _imageList.Images.Clear(); - Nodes.Clear(); - - Icon folderIcon = new Icon( typeof( FileSystemTreeView ), "icons.folder.ico"); - - _imageList.Images.Add( folderIcon ); - _systemIcons.Add( FileSystemTreeView.Folder, 0 ); - - DirectoryNode node = new DirectoryNode( this, new DirectoryInfo( directoryPath ) ); - node.Expand(); - } - - public int GetIconImageIndex( string path ) - { - string extension = Path.GetExtension( path ); - - if( _systemIcons.ContainsKey( extension ) == false ) - { - Icon icon = ShellIcon.GetSmallIcon( path ); - _imageList.Images.Add( icon ); - _systemIcons.Add( extension, _imageList.Images.Count-1 ); - } - - return (int)_systemIcons[ Path.GetExtension( path )]; - } - - public bool ShowFiles - { - get{ return this._showFiles; } - set{ this._showFiles = value; } - } - } - - public class DirectoryNode : TreeNode - { - private DirectoryInfo _directoryInfo; - - public DirectoryNode( DirectoryNode parent, DirectoryInfo directoryInfo ) : base( directoryInfo.Name ) - { - this._directoryInfo = directoryInfo; - - this.ImageIndex = FileSystemTreeView.Folder; - this.SelectedImageIndex = this.ImageIndex; - - parent.Nodes.Add( this ); - - Virtualize(); - } - - public DirectoryNode( FileSystemTreeView treeView, DirectoryInfo directoryInfo ) : base( directoryInfo.Name ) - { - this._directoryInfo = directoryInfo; - - this.ImageIndex = FileSystemTreeView.Folder; - this.SelectedImageIndex = this.ImageIndex; - - treeView.Nodes.Add( this ); - - Virtualize(); - - } - - void Virtualize() - { - int fileCount = 0; - - try - { - if( this.TreeView.ShowFiles == true ) - fileCount = this._directoryInfo.GetFiles().Length; - - if( (fileCount + this._directoryInfo.GetDirectories().Length) > 0 ) - new FakeChildNode( this ); - } - catch - { - } - } - - public void LoadDirectory() - { - foreach( DirectoryInfo directoryInfo in _directoryInfo.GetDirectories() ) - { - new DirectoryNode( this, directoryInfo ); - } - } - - public void LoadFiles() - { - foreach( FileInfo file in _directoryInfo.GetFiles() ) - { - new FileNode( this, file ); - } - } - - public bool Loaded - { - get - { - if( this.Nodes.Count != 0 ) - { - if( this.Nodes[0] is FakeChildNode ) - return false; - } - - return true; - } - } - - public new FileSystemTreeView TreeView - { - get{ return (FileSystemTreeView)base.TreeView; } - } - } - - public class FileNode : TreeNode - { - private FileInfo _fileInfo; - private DirectoryNode _directoryNode; - - public FileNode( DirectoryNode directoryNode, FileInfo fileInfo ) : base( fileInfo.Name ) - { - this._directoryNode = directoryNode; - this._fileInfo = fileInfo; - - this.ImageIndex = ((FileSystemTreeView)_directoryNode.TreeView).GetIconImageIndex( _fileInfo.FullName ); - this.SelectedImageIndex = this.ImageIndex; - - _directoryNode.Nodes.Add( this ); - } - } - - public class FakeChildNode : TreeNode - { - public FakeChildNode( TreeNode parent ) : base() - { - parent.Nodes.Add( this ); - } - } - -} diff --git a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj b/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj deleted file mode 100644 index 66d811ad0ab..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj +++ /dev/null @@ -1,124 +0,0 @@ - - - Local - 8.0.50727 - 2.0 - {83281176-6B39-4EB8-8CDC-82F018DEED68} - Debug - AnyCPU - App.ico - - - DirectoryTreeView - - - JScript - Grid - IE50 - false - WinExe - C2C.FileSystem - OnBuildSuccess - - - - - - - - - bin\Debug\ - false - 285212672 - false - - - DEBUG;TRACE - - - true - 4096 - false - - - false - false - false - false - 4 - full - prompt - - - bin\Release\ - false - 285212672 - false - - - TRACE - - - false - 4096 - false - - - true - false - false - false - 4 - none - prompt - - - - System - - - System.Data - - - System.DirectoryServices - - - System.Drawing - - - System.Windows.Forms - - - System.XML - - - - - - Code - - - Component - - - Form - - - Code - - - FileSystemTreeView.cs - - - Form1.cs - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj.user b/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj.user deleted file mode 100644 index d9bb8387dbc..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.csproj.user +++ /dev/null @@ -1,58 +0,0 @@ - - - 7.10.3077 - Debug - AnyCPU - - - - - - - 0 - ProjectFiles - 0 - - - false - false - false - false - false - - - Project - - - - - - - - - - - false - - - false - false - false - false - false - - - Project - - - - - - - - - - - false - - \ No newline at end of file diff --git a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.resx b/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.resx deleted file mode 100644 index 3f337e081da..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.resx +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.0.0.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - diff --git a/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.suo b/reactos/tools/sysgen/FileSystemTreeView/FileSystemTreeView.suo deleted file mode 100644 index df5e95f4d885bd8c4655ffd0810e2258e0b7a61e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*3Bx2!nwD0|OI~0pkDr|NlQkkbwcn90fxt z1pWfu3W`4%9zsqZbt)A?Ac!F!2um0g7+e|hfOHWzD+eeV3@lxW!J@egAz*c>3}HaIRG>cM kROvA!15IFH*e3V3O&mxMwEeKuK~kV0DW+6El2K$a0k4%X7XSbN diff --git a/reactos/tools/sysgen/FileSystemTreeView/Form1.cs b/reactos/tools/sysgen/FileSystemTreeView/Form1.cs deleted file mode 100644 index b825eb838c0..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Form1.cs +++ /dev/null @@ -1,178 +0,0 @@ -using System; -using System.Drawing; -using System.Collections; -using System.ComponentModel; -using System.Windows.Forms; -using System.Data; -using C2C.FileSystem; - -namespace DirectoryTreeView -{ - /// - /// Summary description for Form1. - /// - public class Form1 : System.Windows.Forms.Form - { - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.TextBox txtDirectory; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Button btnDirectory; - private C2C.FileSystem.FileSystemTreeView tree; - private System.Windows.Forms.Panel treePanel; - /// - /// Required designer variable. - /// - private System.ComponentModel.Container components = null; - - public Form1() - { - // - // Required for Windows Form Designer support - // - InitializeComponent(); - - // - // TODO: Add any constructor code after InitializeComponent call - // - } - - /// - /// Clean up any resources being used. - /// - protected override void Dispose( bool disposing ) - { - if( disposing ) - { - if (components != null) - { - components.Dispose(); - } - } - base.Dispose( disposing ); - } - - #region Windows Form Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.panel1 = new System.Windows.Forms.Panel(); - this.btnDirectory = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this.txtDirectory = new System.Windows.Forms.TextBox(); - this.treePanel = new System.Windows.Forms.Panel(); - this.panel1.SuspendLayout(); - this.SuspendLayout(); - // - // panel1 - // - this.panel1.Controls.Add(this.btnDirectory); - this.panel1.Controls.Add(this.label1); - this.panel1.Controls.Add(this.txtDirectory); - this.panel1.Dock = System.Windows.Forms.DockStyle.Top; - this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(721, 57); - this.panel1.TabIndex = 0; - // - // btnDirectory - // - this.btnDirectory.Location = new System.Drawing.Point(615, 27); - this.btnDirectory.Name = "btnDirectory"; - this.btnDirectory.Size = new System.Drawing.Size(30, 21); - this.btnDirectory.TabIndex = 2; - this.btnDirectory.Text = "..."; - this.btnDirectory.Click += new System.EventHandler(this.btnDirectory_Click); - // - // label1 - // - this.label1.Location = new System.Drawing.Point(9, 9); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(102, 18); - this.label1.TabIndex = 1; - this.label1.Text = "Directory:"; - // - // txtDirectory - // - this.txtDirectory.Location = new System.Drawing.Point(9, 27); - this.txtDirectory.Name = "txtDirectory"; - this.txtDirectory.Size = new System.Drawing.Size(603, 20); - this.txtDirectory.TabIndex = 0; - this.txtDirectory.Text = ""; - this.txtDirectory.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtDirectory_KeyDown); - this.txtDirectory.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtDirectory_KeyPress); - // - // treePanel - // - this.treePanel.Dock = System.Windows.Forms.DockStyle.Fill; - this.treePanel.Location = new System.Drawing.Point(0, 57); - this.treePanel.Name = "treePanel"; - this.treePanel.Size = new System.Drawing.Size(721, 530); - this.treePanel.TabIndex = 1; - // - // Form1 - // - this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); - this.ClientSize = new System.Drawing.Size(721, 587); - this.Controls.Add(this.treePanel); - this.Controls.Add(this.panel1); - this.Name = "Form1"; - this.Text = "Demo Application"; - this.Load += new System.EventHandler(this.Form1_Load); - this.panel1.ResumeLayout(false); - this.ResumeLayout(false); - - } - #endregion - - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - Application.Run(new Form1()); - } - - private void Form1_Load(object sender, System.EventArgs e) - { - tree = new C2C.FileSystem.FileSystemTreeView(); - treePanel.Controls.Add( tree ); - tree.Dock = DockStyle.Fill; - //tree.ShowFiles = false; - } - - - private void btnDirectory_Click(object sender, System.EventArgs e) - { - FolderBrowserDialog dlg = new FolderBrowserDialog(); - - if( dlg.ShowDialog() == DialogResult.OK ) - { - txtDirectory.Text = dlg.SelectedPath; - tree.Load( txtDirectory.Text ); - } - } - - private void txtDirectory_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) - { - - - } - - private void txtDirectory_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) - { - if( e.KeyData == Keys.Enter ) - { - if( System.IO.Directory.Exists( txtDirectory.Text ) == false ) - { - MessageBox.Show( "Directory Does Not Exist", "Invalid Directory", MessageBoxButtons.OK, MessageBoxIcon.Information ); - return; - } - tree.Load( txtDirectory.Text ); - } - } - } -} diff --git a/reactos/tools/sysgen/FileSystemTreeView/Form1.resx b/reactos/tools/sysgen/FileSystemTreeView/Form1.resx deleted file mode 100644 index 161c002f2c3..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/Form1.resx +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - False - - - True - - - Private - - - 3, 3 - - - True - - - Private - - - False - - - Private - - - Private - - - False - - - Private - - - Private - - - Private - - - False - - - Private - - - False - - - True - - - Private - - - 3, 3 - - - True - - - Private - - - False - - - (Default) - - - False - - - False - - - 3, 3 - - - True - - - 80 - - - Form1 - - - True - - - Private - - \ No newline at end of file diff --git a/reactos/tools/sysgen/FileSystemTreeView/ShellIcon.cs b/reactos/tools/sysgen/FileSystemTreeView/ShellIcon.cs deleted file mode 100644 index 6dd9f867916..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/ShellIcon.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using System.Drawing; -using System.Runtime.InteropServices; - -namespace C2C.FileSystem -{ - /// - /// Summary description for ShellIcon. - /// - /// - /// Summary description for ShellIcon. Get a small or large Icon with an easy C# function call - /// that returns a 32x32 or 16x16 System.Drawing.Icon depending on which function you call - /// either GetSmallIcon(string fileName) or GetLargeIcon(string fileName) - /// - public class ShellIcon - { - [StructLayout(LayoutKind.Sequential)] - public struct SHFILEINFO - { - public IntPtr hIcon; - public IntPtr iIcon; - public uint dwAttributes; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] - public string szDisplayName; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] - public string szTypeName; - }; - - - class Win32 - { - public const uint SHGFI_ICON = 0x100; - public const uint SHGFI_LARGEICON = 0x0; // 'Large icon - public const uint SHGFI_SMALLICON = 0x1; // 'Small icon - - - [DllImport("shell32.dll")] - public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbSizeFileInfo, uint uFlags); - } - - - public ShellIcon() - { - // - // TODO: Add constructor logic here - // - } - - - public static Icon GetSmallIcon(string fileName) - { - IntPtr hImgSmall; //the handle to the system image list - SHFILEINFO shinfo = new SHFILEINFO(); - - - //Use this to get the small Icon - hImgSmall = Win32.SHGetFileInfo(fileName, 0, ref shinfo,(uint)Marshal.SizeOf(shinfo),Win32.SHGFI_ICON | Win32.SHGFI_SMALLICON); - - - //The icon is returned in the hIcon member of the shinfo struct - return System.Drawing.Icon.FromHandle(shinfo.hIcon); - } - - - public static Icon GetLargeIcon(string fileName) - { - IntPtr hImgLarge; //the handle to the system image list - SHFILEINFO shinfo = new SHFILEINFO(); - - - //Use this to get the large Icon - hImgLarge = Win32.SHGetFileInfo(fileName, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), Win32.SHGFI_ICON | Win32.SHGFI_LARGEICON); - - - //The icon is returned in the hIcon member of the shinfo struct - return System.Drawing.Icon.FromHandle(shinfo.hIcon); - } - } -} diff --git a/reactos/tools/sysgen/FileSystemTreeView/UpgradeLog.XML b/reactos/tools/sysgen/FileSystemTreeView/UpgradeLog.XML deleted file mode 100644 index e913238577e..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/UpgradeLog.XML +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.css b/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.css deleted file mode 100644 index fae98af0a86..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.css +++ /dev/null @@ -1,207 +0,0 @@ -BODY -{ - BACKGROUND-COLOR: white; - FONT-FAMILY: "Verdana", sans-serif; - FONT-SIZE: 100%; - MARGIN-LEFT: 0px; - MARGIN-TOP: 0px -} -P -{ - FONT-FAMILY: "Verdana", sans-serif; - FONT-SIZE: 70%; - LINE-HEIGHT: 12pt; - MARGIN-BOTTOM: 0px; - MARGIN-LEFT: 10px; - MARGIN-TOP: 10px -} -.note -{ - BACKGROUND-COLOR: #ffffff; - COLOR: #336699; - FONT-FAMILY: "Verdana", sans-serif; - FONT-SIZE: 100%; - MARGIN-BOTTOM: 0px; - MARGIN-LEFT: 0px; - MARGIN-TOP: 0px; - PADDING-RIGHT: 10px -} -.infotable -{ - BACKGROUND-COLOR: #f0f0e0; - BORDER-BOTTOM: #ffffff 0px solid; - BORDER-COLLAPSE: collapse; - BORDER-LEFT: #ffffff 0px solid; - BORDER-RIGHT: #ffffff 0px solid; - BORDER-TOP: #ffffff 0px solid; - FONT-SIZE: 70%; - MARGIN-LEFT: 10px -} -.issuetable -{ - BACKGROUND-COLOR: #ffffe8; - BORDER-COLLAPSE: collapse; - COLOR: #000000; - FONT-SIZE: 100%; - MARGIN-BOTTOM: 10px; - MARGIN-LEFT: 13px; - MARGIN-TOP: 0px -} -.issuetitle -{ - BACKGROUND-COLOR: #ffffff; - BORDER-BOTTOM: #dcdcdc 1px solid; - BORDER-TOP: #dcdcdc 1px; - COLOR: #003366; - FONT-WEIGHT: normal -} -.header -{ - BACKGROUND-COLOR: #cecf9c; - BORDER-BOTTOM: #ffffff 1px solid; - BORDER-LEFT: #ffffff 1px solid; - BORDER-RIGHT: #ffffff 1px solid; - BORDER-TOP: #ffffff 1px solid; - COLOR: #000000; - FONT-WEIGHT: bold -} -.issuehdr -{ - BACKGROUND-COLOR: #E0EBF5; - BORDER-BOTTOM: #dcdcdc 1px solid; - BORDER-TOP: #dcdcdc 1px solid; - COLOR: #000000; - FONT-WEIGHT: normal -} -.issuenone -{ - BACKGROUND-COLOR: #ffffff; - BORDER-BOTTOM: 0px; - BORDER-LEFT: 0px; - BORDER-RIGHT: 0px; - BORDER-TOP: 0px; - COLOR: #000000; - FONT-WEIGHT: normal -} -.content -{ - BACKGROUND-COLOR: #e7e7ce; - BORDER-BOTTOM: #ffffff 1px solid; - BORDER-LEFT: #ffffff 1px solid; - BORDER-RIGHT: #ffffff 1px solid; - BORDER-TOP: #ffffff 1px solid; - PADDING-LEFT: 3px -} -.issuecontent -{ - BACKGROUND-COLOR: #ffffff; - BORDER-BOTTOM: #dcdcdc 1px solid; - BORDER-TOP: #dcdcdc 1px solid; - PADDING-LEFT: 3px -} -A:link -{ - COLOR: #cc6633; - TEXT-DECORATION: underline -} -A:visited -{ - COLOR: #cc6633; -} -A:active -{ - COLOR: #cc6633; -} -A:hover -{ - COLOR: #cc3300; - TEXT-DECORATION: underline -} -H1 -{ - BACKGROUND-COLOR: #003366; - BORDER-BOTTOM: #336699 6px solid; - COLOR: #ffffff; - FONT-SIZE: 130%; - FONT-WEIGHT: normal; - MARGIN: 0em 0em 0em -20px; - PADDING-BOTTOM: 8px; - PADDING-LEFT: 30px; - PADDING-TOP: 16px -} -H2 -{ - COLOR: #000000; - FONT-SIZE: 80%; - FONT-WEIGHT: bold; - MARGIN-BOTTOM: 3px; - MARGIN-LEFT: 10px; - MARGIN-TOP: 20px; - PADDING-LEFT: 0px -} -H3 -{ - COLOR: #000000; - FONT-SIZE: 80%; - FONT-WEIGHT: bold; - MARGIN-BOTTOM: -5px; - MARGIN-LEFT: 10px; - MARGIN-TOP: 20px -} -H4 -{ - COLOR: #000000; - FONT-SIZE: 70%; - FONT-WEIGHT: bold; - MARGIN-BOTTOM: 0px; - MARGIN-TOP: 15px; - PADDING-BOTTOM: 0px -} -UL -{ - COLOR: #000000; - FONT-SIZE: 70%; - LIST-STYLE: square; - MARGIN-BOTTOM: 0pt; - MARGIN-TOP: 0pt -} -OL -{ - COLOR: #000000; - FONT-SIZE: 70%; - LIST-STYLE: square; - MARGIN-BOTTOM: 0pt; - MARGIN-TOP: 0pt -} -LI -{ - LIST-STYLE: square; - MARGIN-LEFT: 0px -} -.expandable -{ - CURSOR: hand -} -.expanded -{ - color: black -} -.collapsed -{ - DISPLAY: none -} -.foot -{ -BACKGROUND-COLOR: #ffffff; -BORDER-BOTTOM: #cecf9c 1px solid; -BORDER-TOP: #cecf9c 2px solid -} -.settings -{ -MARGIN-LEFT: 25PX; -} -.help -{ -TEXT-ALIGN: right; -margin-right: 10px; -} diff --git a/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.xslt b/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.xslt deleted file mode 100644 index 83f4304ab60..00000000000 --- a/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport.xslt +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- Solution: - Project: - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - src - - - - - - - - - - - - -
FilenameStatusErrorsWarnings
- javascript:document.images[''].click()src - - - - Converted - - - - Converted - -
- - files - - - 1 file - - - Converted:
- Not converted -
-
-
- - - - : - - - - - - - - - Conversion Report - <xsl:if test="Properties/Property[@Name='LogNumber']"> - <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/> - </xsl:if> - - - - -

Conversion Report -

- -

- Time of Conversion:
-

- - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - -
- Conversion Settings -

- - -
-
diff --git a/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport_Minus.gif b/reactos/tools/sysgen/FileSystemTreeView/_UpgradeReport_Files/UpgradeReport_Minus.gif deleted file mode 100644 index 17751cb2fd5c284dfe984adc4c769982f73a0a66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69 zcmZ?wbhEHb23ky~TYXIqG7FYlP diff --git a/reactos/tools/sysgen/FileSystemTreeView/bin/Debug/DirectoryTreeView.exe b/reactos/tools/sysgen/FileSystemTreeView/bin/Debug/DirectoryTreeView.exe deleted file mode 100644 index c893a8ea1219632646c606c327780e5da4d2a98b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeHQ3wRvGk*=9t%|0y4mTXHhmeCqxBU|>y!ZyZ$!LsCsK$2yzFm^D=EA2>Hyt|{! z?Aj7O6DbcK36~EDkAsjqLLecRO9Bb6JRlAM5;)>7KuEZJJd%)ngyc(rFWdzJXWw7d zvoA^Jec#9Bw$0RZRaaM6S9e$UboYvm4_`(eBJ$!ne36XmI@D{1>`W>YPlZ}HM?y&}W`?Iu4Ib-??pjaO zu6d{;a_5F@X}_WhZHne6>H;OCsGU(aJ}P*n(5EZCnZo)@H~Mu}eXab#S$fv6m$f7nG-H!kT-(GU@8kPCj`n{pUYIBgE6fp<3pAWiD(>J3an zh-g>XcI-Z2qT47U%(DwmL0F6C3fpGF0we26H{fBuAv^_PEz!CHv=l8_pk#rP1xgku zS)gQrk_Ac@C|RInfszGE7WjW;fo1$%jlkcgI+f9_8;KsNCDMQgh>Q~#6AjO0j<**U z>katw41#$v%~)1OD-eUMN~+Qh&B8{5u2)xSzDqgQPzlD6hSUapy&J(QZ6D&^hANQD z8_B=;ZRKa_N63G)(q(b4K6C#xNY)#wMK!$vU*-mDNYGKI58;iyf=cpKAJT%x(z&GX zWB!?fRk)Z{qw1x58epFwa(k9}X+CNqL3d_@x*s<4>dsLd#iux;b2vIhqS!wO?uThW z72XPt?&BO5EF6SI)Ju_$21(z?Lacg8EhMwRNysd`kX&Ph@>#2^oq52lWAY>$#v8Kc z=Lw-lVTk(G4z_24)`C2}+FGa()+aQ;Omm8)G2MpIa?+Ske{}t?TD={dVdE^C}@RAwqyW-(W$QB{T+L5C#_X9?4nDmr(DIoal7q#Dgo z*j`MtKT@C<6QsRDRZy--HBQP_drtjSl@^wQRE{&UIU3OUx#y|g#`)a-<5Hw|s{Utx z5`{OY&SGDluPSPTN~tDmSf*;j*{Urx4`f$2$b0b#E z*jTIYJ3=wg7iIK{lR!B&`{5tq0ZvA?{m=x_Q#cB*2M4tVQD$m5l_R>ok2xC9XBjzU zV1OCUT3`*$SrVif&N?Q+G{`G;@`!JPSFI%7YqcW5YprLV4FEv{j!oH1Z}jU%16;mq z3!Tn|o@L4wm=b~+cuIZdA$E)~uim)cYcV;Eol+gfhjTMP{}35g8_3nx>44T50HDCf z889GMS7rAZ791m+p6%|TYfu(2_+7DWxqs;tJD|~!(+&aW>-*RwRtF1HcCb2G`eq?C zba8wO$A1bLdc#&k?IzBR?c5+dCtFT(7*;p4DR~#n0Qpi_M5`8PVWcC?hi`apZ_`(Z#Y;BK#ad;d%55DnfM_uTJyKu<|;1?m(R;O73IY| zJ!xK@;0*}#48~mpj|eLUpfsQ7lGGr{K)L+D@>T~M%cw?LSG79|=eB1#CPbvUkGsie zYY(CQB#dio&wf>To9xXmsZx{d$>lXGB zjExK6BzR?~(R5f}L%R-wg5szF4>w2%57RlUMYBu@(JN_pa<`E0cGWB4BHp_sw9T}gxRqLSe0UlETM}x?B+?n%T$3_0X*-%&66(tICgOc( zm?PcRZZox}ch#!s%D$B+G_78~!d!OZ>iH83%cRorq?s)}Vy4+n^>|qO^IZNGTmopd zlHm?B*=yR(>9ig1&7@6dNk}og532RMMYY<|z46pQI1)eK%!&`Y#CKE7vgQ3N`&ach zHN{pgi!P5Q-C{N-tlnrMett9!gN9u@wx#;5_toBA&8__3^7cP|(s<;Oi+com(1Dy8F=GH{bKh>n|Q`>aKceR%^{`b8n1zyRUu2JO9PM8rx>x z5*Yg4Z54C2e6!-E$6u=O{8^h``Sd9>uAF;a&88)@7yN$zCztos^{sy{{B-+Mu&S6Zw}wZ(}d@zpsn%}J&(4I;e91& zI}sm7o)vg*M!Eyq7m>CS^n;*b*-q0DuSQxq=vN{BGUyRJ2Z8s4{#C^91^tg$h%Y&o z(lkhM2nu7tYf?W&DMJZRJIJCKQu^_jSh#ahxU^B6!3O(Y+KA*hm_I+BA)63E^7)YR zFXI{7kv~NPC^8CYQVaAurm%>1Xwiqngh+_u!!H50Z$b6iiEO)(6r($kII}RZ6Zw-! zx(f-R!h{IQj^bKJHwwwBdhd9qZd5KxBiPb2p~C>Im8Jt=T39G4%f$7ur6z4q+k*TD zz*Gp=3CqRM_kg8vn%tcddJ}7mmHaOVte)@LpTAAd!bYUeeSK* z@nD^ORB@I<6>dOss5p6Iu{VM#JcMFXZ@bvjuw*`Ze3s(A_tZp|Y?Eet-!ou2s#r>) z@*l&8MyNP>qVk^r(=o+Nll7u`_}EyHmew|L7b#oUw>I#6WIT5AjK%dma3sd@wZ0FG zp~)l`*1aFQEej`OnrMMRur^G_I+-2Hun~1qnugKi-%aoLAv@GMQue|c+yvGoM`oQ^ zk1rv^T7tjfPol&8=1>mjNNw-iyvZNXRPWAeN1CUZ$G0b%$e2AnoMjTrc z0B>0($&1z7^5ffE+FE_C?On^E1izmP;wQkOz05zkYFRU27lo!JdlGRc9Wl{j(X?e3 zwPa;q#z|XAcLCRl7Mg;Ff(4GyL{pPJO2KGqpskg+Ls&1(k1rNPmS{n#F01HeBfPz4 zmqHT&YpXd+knnT5q1wDUgb$RIECy zAx1+y6;F@2}0QCnc(+m}4Q8ND@tO=}74R`|&V9*)_-bQzwcY13F`M*QqE zrm^lhtdfOs9Sj^`khaXgnFVQ02F^N2JKn%%Drw6N>;RLt!oXfMX)BF-ew|>1__fNI z$FCEOWB9dtiVlsmGIpL#y5`3`34E;-_d%V;KiKM(Y=~zDY}@^xSU!Hx2d`FY zW3@H+9zGFDZTy}-13%dF2fQc3?RY-$`{tr4fV=O@I`uXdyn+==;Q0=TWH_nm|xxZ=4`G}X7N*nM%yqx&*B8Z;>JiMObMIQ2H?=A?9 zzkWDh_F+K*-^>KYezCQt;0%*`KAJ=Oy=%_oOf!_o&#p7p6oxo)R*9f!#4I1@d z>sxF6#D zpF+3~P$uypu43St6nch+Uu1fa#{H@cvb@51I`)aCA{FO(Nb5zuO1vus%K)22Gtr|s z?c;*YqPc=yDp(DAnL%^3xq$No9;b!Kn7%@r54a9++h_+U+eWtw90b(pQkfAyr?n#f zb!`*i_q2AvhqNxhgOd8H){Xep`X0cq>LY-U>-*^h`jtM0_zj+$0RQH>576sHmgGd2(D;-6Hf{oEP&^PPoXDW@pBiQsss=OZy)~+!B zV<@kVu5_`dJ$D1UU15;F_s>2|;}`XQi3 z4-1^(XP%<~HF_`civujdk8engRtj7Ps8gH7Zz_mCAo0hAzApF`dY-O;?_>CF!0q${ zi9aOpQGx#<@Ye!g5csmd*92-B=M4ZpNwWc;#W>+!8bE507HRX1-{RC{vGD>mf&N!& z20TPt0I#6g!m|TCFo-z!!_`9BBCt(hv*OX7!bkoN?G0nP7RBd(wYEd6@y*pf0y)Pb zzR$S_>_$|J6Z8pxungIV@ z;4i_sLwnA*ovsB>kiMWz^GCF=Nc=YKbpH;-&-C|zryuYml=h#eJ*0igKcqdX-Q&+_ zBcl13zMsNy(3+sbL8JzJ zKi9^vaq^UQEhtyeBGQ6rDZMKA2hi(-FM_8rcn#vifmgI9y+7E4vJ|Hkd=~r{AaxP_ zBjT^2Ej0aF`dZKjcxP~`{+h;l7tzz6CcR02%FWCDp_Uc`)=?v1h?e0bt%Xk3!|)*t zX9%1laJj&f1)eSN41p1WyQvxc`*2DoLEsZ~4`?$mPBqL19>nKhoa)fkN1sBL01a#K z!=pU9h@J>e`!Ze#YG*~o8ESN$Aj%6Xx+Z7U*;R+4RbWlQp_uQBDiM%Nc>yEzV(})J z+pwZKfL$P_HzLj&dR6XII;>bGVV+8@aog;}-ttJdZJOKS=H9S5Y*J*pVOlR?SH_2|%L@AWdlNFq2>cpiAVNj9iZnI@Do`?yS zz4JkCft!2JgMPG)k8rw2hM=0dHG7j(jK)3Oi39O7#A4Zo4@fv&iSozXDAUJ;k|ZXtc^q?n>KD}>uGD*+zIn=w7q%j z#`Ohwq@%gLJ&T)ZHVt+PE$WJ<%mfWFY$D$HUuWSsZaAH56Kaq4f+NAOiPmM(X|zah zI+bTgqpHL}$#RX;g2NUoh5dH4GV-@rsdO}+GHv41A4zb~8V)wNO=`o|cAPJSn7Lfk z0d88q2LhUHEXJjcd)lpNtf=sw7TmbmO}KN@Wt)zZ=P#^6Pd1tPj?B_(?M+dSGidE) z>p0Ywj1HLXIQ*aV5r0{I-X^E!#%*2~!T4(lKwz+;7Ef*s(3wjV2ELyjvV&*UnnCYHKt~yQ;mZ!Tl zYTKM29MUs-V%cFS=(f0>&PW?carx%w!j-|eJjTqJ6rHV&@Pn4?b3Ogp-j^>!#)_-T zRspf#pt2Xf-iR_+V#Zl6#YDVuE{+H8G*vMy--jd-ueo z7Heq4=A+YzNnJJ^T;C)K+{>e>k%>7lO8Vmi8Jx7CXH86QHJv^?J~Vk^cRXEa2iKOZ z@#sLx!qG<`hMU=&85rQ6nis8T_}=AV>SX=YR&_Bg%!h;3 zbBr*2o5P~*(Ge?CU{{5o0e1|yAz7OXbUHJYjHWPtW8%A8;c(%A?1JnL&os-A562Sl zgwFXmkQ$_zIDwq%4ifs~)Yr=@_6caZF8;X~+EhwIGhH!AL^vY6OtgO$F z;lUmeybd+TV$^E&?T(~JP(vQ3j8T^rPo)KIxBA4+f++hz3&B_&iF8MM)u8A6?8lYw zRA$4~l2|P7D#fuBreJi5|H=Bv$r!}HN>R<3v=!l#`E^kTN2jg=aK!M{f^uQvl5nvx zlQdl`M7o>12W{K|$QhNIhlb$3Ro&2YART^-uTUx9xz5JyYTD?+35#u;Oj?+B1W_-R zpGae+VC{A3;_^)P9%fA1kqKfB)XfpQb7gTto%eRMei%;Pp$<$S=q5Y?=A&xDD@>GG znTr%-v<#YkyO9NBgDsz*GxC1F(9&<}>kAo+{5w}-yC}bdHkxVnmCdSaMBKWH`(!qW zu;=B-xE{wOWdpuJL0iqFwFfuqvTk1NmGkSJR(gY#NyXL=_nG2xs3l=WZ8a;76D+lM zNXD1z0XVMe!x}SIFp4qWv21fEuOS|8QZ^XZ52sC>hx4LOEf^d$mpfeGEJ&`=P`FPP zReXsAv|I&bp5no&e4n6V6Im=}TPHs^7EF~gIl8tiAoHq*7o=PV7VK~&Yoa*NT-joG z_HVgTH)IkC8LY+2*Kiz@v=i=^)d3^COXIyBH^ulWD{d*xZ$rL4kioKINSi2u zj+;o!%VPa9kP(A^tPShImt^}9OMuE(V#A`Rg)f)>$IFiCSW&h1V-Gf7e%DpUol5?@ z&fmFh_KII!;tAmf%dMyNe6;e3;7QoltD0S*8@0L-(2WY-#ly!Af)^2dhL_b=1g2M( zw6(@P??W*4qGp)Gc`GT#hYe$X_+f0IVFngoXK`y}z!E zYgFs=d1@=mt7fa@&#TwXo|-YQUeo2lS9BTVj^4)fs?o2hNXar9GfaO7z}d~g6*o;0n~x)t*DyqhXlzbTk*H_33`>Pk5_3fT-9OB>HtE=%Pra*QZt0 z%2^SvsF9ER1V^xghHy0R4tML-XW7xAPAipjyO=XE3komJ3f#Z@rz68Tc>ZY@9(>Ag zjkHF-d(Zu0|1mo@T)gEopZ?tspL>LPT29&-vHH_{;V8SXab|C2P zk0T!|>4qCFM7>n9P=0(7eioZe#JhG3_azJXuh&!$+GsO&?t1X< z#QjJ79V&!-ye}S7cL6k-_T?w!CJ(<)lT@`?R#2=^TLCplXaMK%95~c&CoT zvE&8pMk@ad*Fk#0&Z2PK>U{%3HR!}Um2q$lOd{z?;aP^;9qQi-+_+nY{7cY!T8^Lh zG9By}vYa8vb9XSo7s9g^H^=h4+hiBfDd6GXVDs&f<7pNCEk|sH#7_XmpzxQ|`-&a^B_j8_uLU^+M`~c#Uhf(g_+_BXQ5Yczk&wXxpb*;8> zvnccGyMAv{&9|{#HOt2PmEZ%=vMBIS8!e)|4MgKHsvfqEPNC3ru@cXGI{q@7!g$`} zdAbxz7ARSuWPy?eN){+tpkx8Dz%KPWy)Im9DTR^+N){+tpk#rP1xgkuS)gQrk_Ac@ SC|RInfszGE7Wn(L!2bXNXl9N8 diff --git a/reactos/tools/sysgen/FileSystemTreeView/bin/Debug/DirectoryTreeView.pdb b/reactos/tools/sysgen/FileSystemTreeView/bin/Debug/DirectoryTreeView.pdb deleted file mode 100644 index 0baced4e8e9e86abb083c6062289db2e9d5e84c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28160 zcmeI436zx8mB+v8ZVF^=78Mb(+4rWKwZVm^yFpq3QE-Wafrc)i$EFLr8$rh;6{86n zN6CyDFgW9aN)nuyafv86#33fma5A`!cur;}W=tmWU|hzW_kC4!8jyK4)Q>-IrxQ~GWqTO+R}P$*gKr=8$6fxZJXRq)R_qw)6MXz} z5m=bwUpsxSCGg?Wi>5!{@#UTy76iL4e4yaI-7_!P^t<1@)N{jh8}4$?*RSZg{N>4^dBp7?0V58j&4dHTG+DI=~B zj>DtjG4NQp6z&RlgFC{V;FI9aa2L2c+yhpgz(Z@3S9GJFbrD%=-74eke@4)=%8 zfCs>5!X@xPco3{DZU{US9sv)BhruIZhIK;Iv6}zo#jn0S?Zw*`HrDsN4wi&6Wpu!fY4$I&p`yV`~Xj+Opr+y6G2YmfenN#Iz`f4lwvj7@Bw-8okC z|D(bM`^UZb(#yB(e!BXB$C~A;wbOARfnzoQV_(1X{KmVR@9MwzpCAXSDYDN5G!}I`GbccQpSM`d2+|(E=U? ztgUNK%uhDACYl$`YG_O>xVEJ=v1(y+B5`R$V(p>@D-(^4wab!CrOR4^VA-@qdU~KD zt8J0x6lpOVpy(yPx3o&Kw`*giV*=>B`&`r&IojcFW5LjI0N<;J^$8msPERCmqy ze%|YHK1&vokJ1vbC&|m_{n|&bZBgE+ETefPN1u1g*zK<>ujH$Gl@`rQu$_)T0^2*; z%pS9gnsrgStToxJJG`Qz7pA}U{9|AE*V-LJPbzrk`;RYC{<%SoSp!96E{Z+aL3;)J zM7)6AIfB6xpec~xl_j^x+=Yr3G7l1p# zE5T>Mj=>W2suTB!rSK5A8J-A_Ht`>jPi<)(iuAbz*7`e<$?JdW#Xny1_vpX;fFq&9 z>3_2JvMTB6pF;nmbIZ8mx??u$_`F2xf>m{P7bEVJps?p2a2<&%3@IN{1`$%aV$QOIqUrrrHk0uAB zOq(0rL`BEQT*RdxYBOMrbLyH`B(zf#)EFNnVG-q2#^;m2SL*7l=d;M`raq&0@oJ;9 z1dd4mAI_=&wyxazFTI!kOYf!s(tGLuc2N2+y;r|?fYN{Iz4ZSdz@yRsNtD+!h^gRU z@ElNk8EvHsgChP$!e4_c@R5s*En8^Qk##JzA@ZAN!=kDnNNFBwK-EpWse2Bny61xF zx^D`6-5-!9+hpbt>t^le9pE66!uZBBSv=bl*h?fQ>gvi1Ly+Bjod5bmd8;og5aWt89NkzS}8)>d@ypP0S(r_(u$a5}6` zV%R8mr2D&{J8#1tcl$f*Iwbaj_}zXCbCPxSH4V)Px#ZW{{e1%+PEk%}d_F%8_MqrE zCP&Airn1tfD7~C`m6zUSr5ibD{b?`w8SP$AC1VJ0cKsXVe4})^AgK4nHe)0X~!=w*ZcFV;Fr)SG#Hh5jwUAjn?$Jd%z2!yQLd zHW@y!^du|YjJ=%r{KsJZ+-yBKTTT_^8aJPL-y=RA#Z$Y1#^CR!2x>iUWDK1sr!qdD z9|v|a=QuuTKef-SgRPB>$=@?X_ri1SGSpIjZ9T~NbWdUY+7;kH!Yjd2@Xx`sz(%kN zTm^RIfBIZInYE%b?O^y+6Ytx%_A__;N$OGit3kDYH7LItl`!pNuT1;bfNG!dnD(y& zI|i*e+8>(H{+pDsb~6^*TnTv}Ecz1lXs*5tvc!U~f=p3x1K1n<{W}Lz>;ZV#L23wi z6R0()czp5T>x65-Z-6sh{CVJd!n47f!CLSZ@O+m($02@p@J-^a4ExjXEHS5-=)EZ2b!a?V7q+kCf^w4UzG zyq%>xQ7d2M;%rYW^jolx!Huc_x|e#@-}}H~Q0;3C-A}j=_y9P@#mmNTAv^(m5S$1; z3|4^5W6H{I1R=eT)}1w=9JZedcjFB+<#QBrKDWLo;3kZtyUQy(s46--J4kYP{x7Bt(NYWMKWicW1er`y*7lTC@H*15_0M5D%$E?1pw zY{cJbNH(?PJYUL&pL@8oBZJqNwRSXr3=g?}`3mVUV>EXxvz-6@rjy4glh6KRZsVtR zaPm0#>B!=_$u%vBn&jFhvTHBuLmj$zQ60XV_c!Q=%p_#)l|tXr`vvLrAZS7y%K1t6 zsq@{KcDVKPMOEeqS;S`?VoX&D9GY!? zmp@m?w-RB8LZTD#zxCsipF@iJzKed>lV5p#y4MTTBxm21u8Py?_-e_<`b4w6VDsnT zX!_C4*)%_AECiAC*pu{sveRkZ^&L+CeO^CKum5iCW%zRvWmbCV&v`kd)A484wI-Tc zP)o{5zWb=)M*2LR@I2Q?FP~_+275JW)^z^sI`bUh&r9{pvq*aEiG3ly)yqhJ;)0dQ zwUM*HF8WwTIhFDG{P|fMs%-6fGM@jS~b28^N~7(Fn)ybar%No z33FacjRpIG^84`bQ}WyTgG)flP|q;NF&Wk!>;Slk{aMd>hQagU#U@VuV%u=GHWt3$ zt$r+lMJ3dS`O^F0#%CA|(w6Zhc$)C^25E~vWGZp z2V=%2Dv$htUHSlF|4p0tNEtq_!pK4I#v7T81EYRa8DZk&)um>D?YE+A)!lzc|KzLZ)&7o@+k2PxSE#*tbGR)fpI8t?{i7I-^&9*AFR z?#%5Nv??U?3+UgOu;#rld^s#1_$>HJxNq3^&E&T>FBaNO^-XJ5bOCLs?{h%)eIBSY zk;b6;xR5aGQm2Dd33w5R>;q(;x)fXhUIrrj)M}78C+{irgAqek#ufB?G(5|MJ0k@z z-?PbM?M^JTTZP0i=Z3DJPW4eJy%JiVau{oJMCg}V+Y!?pjiG2Af9C2CYMeq_hiVvU z>QH;uCdBBQCG4N{zz}jt#rY)JbTr@MuzsuRd(LJFD!~d0&4KG-J)hbN?}Oiki|AB; z_-uF~yc%8)Z-IBfx_jU)lhSPeFX|g+`;8gT80uQ<)D;s~J-)g$?VFkX$;5l{}E|IW8z-W)s<{m*RYMAQGY z4Z9$5?fm9MOUoylA8&I$a5hIik|)+fd~w9)WV9K%E16B6U9igf{GZl7sr^VksI^@& zW5?8A9nZ8+iF7W}esnt69qbSG087AAK+Z0yLcH8U%({J-qn|<5y%n~5eeQeL(Ug@= zi~(8W#O*uL~8r0uW+ zfAk#cfHjXZ8lmEg+&N19mCt5X&@_L0~0F-;Hly z0ag*N0joiLZR67~1(9v)TCf(}0GX|1HmzO zsUe{J?{ZN7cNKUUcm*gwHwi8R)$uFAJHao4_k)YU$G~Nvo?q63uY(EjJ#aaA09*m~ zD6r3HhJy`+r-Q3N`MOQu5-ic|gp4pq16OP`flOM%@JVw{UC zF~soP^9{y|=*{yTt+kuo*o!!yN(Nf5(p_uwW8q#9)!kcN9e)X`j@!V&;O!tfWS+bD zv!(6tP~%^!?i*q2yTyzjN6?(Dm@`9ny1MTIWgj+zeL%0Pn+W$Md^b1>{0=w++zeKM ztar-EmzBKGT*#gk$0HBPFMS4AU#-6u3;nnP;)bXYbT4&DRu8y3{n=9X$J)@Cv8M#h z8IwL3ddQV~7?e#@-+O_SGxrnU1=WV)hlAfEJOcbacow(~JO}(cP;>DE5M2z=VK+AA z_T!QT@XuIo;_m&_jB$QIS|=EtGgQg{zD3wZSU&6`SdOZm>plwahJOKn2p2Qy6X7}V zYIr@o4bDxKnbDNbCdpRvY>N(;esDRJ$fU}QphlhtRpyZ=l0|D?Yj6mxH6)#z4QsBJ zz>Tohv%b^a@1$|>?PAb-=qhX5jDHd`lpM}MF@*z36ZUlRFSvYHyYSU6-y|3RZ^%~p zUw7qx=)z~Xe5bka+b%rS%v3pYqlJ8!5j5*1qsA{J(G~1fb`ZC9v+U^jx|I zo)0gASHi7u3ceNA-PRUZ&pCI%@~2*be+lo0KZJ`ALowVR9sy5;D`ELi@-gLqu7>p< znVu`&0k_kqFM$C;_nvCyB-9RX{ldAU7td^JZN7H#{A7b(Wb73THR)274(M!t~Y>$hpH%=mN}tus?5@&yN9#-_P4 zxK`2r7v<3#Ej8Uu>EyGbLSSgY+TDe1X%K zv1zVMh3c~Me+qrDW$Xh?pWnv2{8Q6y=svy3yd39V@Qd`zrr9z?9~Eg`6y}g?p`Yu7 zo_*Od$fgtq>5F;)+Ftaf2|q5I*Y>dt$FS7Z@!PiQ$a+b^*JJZL`QQloIo^dl3(Xv) z=gY>qysXgyu1($N7Up=!?%S~Gu3TiD?m{?)W)9L1o_!gc=E|^6y*{kOzbFhc9|HR_ zHqDipm|h#Nm@@8RF7x5@+jy6sdGKS`obl}=^X#|8tgGBh!25>Up*oQd(HqX4`*Rta z=jMF;j=j7tz4mmzvNpqOW_m5zG`E(PX0D}n{g=)<*&Jv3?`?&(32qGane$ta!@d`I z`_5kI_bB;_1ws1Zr?1<_+q%ox2M0O3y4U1)4648foj3It+SVD5Mzq`oI&@LZse;qFR`*1!**fsR!yV9WA+&Z!a zU(-_Nqx#bD$0dU5@fDLMlucpFHgxDVip^b+GHzxsR2w5+UlX`n{2t&U6rU_+0a;T8Y-VMt76im2{S1-_UTex%Nx@3k!(_$;{CXz z=}OZZIc=piljg4!d>bmS&$qzi6o9hRwiD;yugFf*{kFf`&Q8<4HSVRM>@?jwyCrf^ zd%C0Y`kP%&cfE(w|D~=yUtU4gA(<8NVHS*e4S(Zt9pQb1FOM)yu+N!;qPa`f_;mj* zCyDc8FfOkjYsvUAm~k!5%f>C&*R%2~%!|nOcVUjWV9sA|kxEGdlEjx`5mrz~VXV0w z9Z!nP2m!n!n_tSg5!R@WZ_?WC3;X&1FK1|h~0&hS%+?-k5!X@xPShF}79s&=A)qg$D7zU4oN5LmD={pHt2HCbj@3Zo})KGSs-V6P9 z8)qm$&;`%bsK@^nI$f()7K_X)beiIemXfYg&|@rr*Vor4gY$bQL>(Z2Bdvyh<2H zJpbGn?#y2xQ_;ZxZkZcCJ$IzRTI!6!@SlBZJ7!7Xj?(hj6&F7_OH1aNox4jr4f?{Y z^%vdt&0qiHfA0Br;>OKsXu8ULUwd3r-73CCZ8qMO3BEMkytFaNTaQP&6SwdGSyS*Q z4QfA~1Lw23&26+Umg;MiccvX$*QEU{T$9osBr9ou8T!CO4GX{f1rGjlzDVoO|!Prgq~qltDz9r~?B;$Ix=|OT07mVmN>1Z}RE2drlP`Q)*5X zG<6uR8guNZqj#!d-Lh;?4GGnWTdHBHf%>4@X-9-MYENnj=gbf*dm1jLN#cftptQL=|aWNfvWlQP?*hWf2t+?Lo}%k$q{6hp9nL zgjRO$01v%$;r&I$YdXI8&)FG$2N&cn{PM~EIUlboSblZ6|HQ<{cD(w-H$Pi{GB!Q7 z|H6B@KUnhF)GHNJoBn(6mQTf)Ia@0-J4*9+&;GPbIdCa>RcoH#{Qln`m|0=hKQWNC z!#y@@!#j(1Un%|Q)aTD`kDfW+w4v>(rqa#M$bmyo{cgLmeRW{M$FpYm3da-W&f8x& z0nLKxvau(Eo?AGHIeD_NCo>0YuLwR+p^ze1#Ifrt(TcT2#Y;+-Fe_7rvIeo7wS(yA zX#bP}I_Nou6?Iv{Lq2$0&05=B9YEWMekRLTn0AN-P|#J@A{QJ}x~7y8++mAT5@Rw| z@Q22sG9U6Nxk<0GsfFs1h&|K+JVrkSo|br>`a#cB7|RvrMHFKBr(Uw zl5-@k@UiBtzD8d*9q>KoTQAp`O~3WAt@psmrLqha^n)4xjBMH^@f9F@n1~ujPf^Cu z1X8hoxc8RIqmNGBB-e08_V!a4+g72m#M~*saoB2`Xc84k`hJPumRK&aTH=EeACjm` zG$d}7*dy^#;3Rrn;NPL;}jK9&ZX=lbcdYSfRoToq2>!3ASPn#8u z^5_H5<0%vLR4N9}qQ$`Zh^$7XR0mux@nJd(I!OC~-=*IJ!;-UI&T=Kai#`PZNxBT& zOIH;?y#RZey+d~b$L>D*2U4BLHo7PZt&wf=(v$RGXdorBqSlVYO|go)+z#9IG|?@n z%JQ6^2HUVasx`un?b_|0)?&DE-3)s1h+%8%Ad2nU;Mif|y42~0ZO1f16zp+5(Mk28 zEh6lZ7WQn1YIVa(4rq;W%QHHKR%v&}3{yBk;dB{LLCFE;>z)xZOvCFb_i!dcaZe1+ z7VReV8n#8{t}8l2X3u)jvj&QWL{kF+Vd_0WBWeu|C7jb5g=@zhHd-g*o}-(Cj2hjF z#`S2LwxI3_6TXN_8!^$tUW;&C*dJ1wvR7@j+fFBZw=LZqR*HQcc5v8%N;}r$7|{;z zRXI0nx6BteC@kn? zx7}3wC`~t$^_JixeXZ}r;oYm_b%)++Tlw0>+HX%C`+@-Ake_bp%{*%iWKZ&%~jNE(TX9o*6g%-Rh7EHhP*OlHTd*KJ4?D*a4-;jvD#}$T zOIQn=@p>DHr7y*I8$Y743XSBB{D^C1B}AnPX@5AP4(=bd(sp9DBln=DmYb$353H*? z$g9&OB6vF%DKvX%LSbW(nz&Qd#HFe-r=+-e5z#jlnlL1prkZH9Lb+*IH9O7$Qj&K* zi1dqo@D0qF`iTGURq zl$y==AvIxC2iL{8P9EfJ^b+N0<`}+a;gbg`1N`W1H1*>kDp+;uS4JU@0csxjmC)CT zpTKMnR`9n2umfBdeGU9>R4z4m@TcTs(x)CoK$mlQycQmW;RnyOu?i1|k+nM%lbG(k zU)oNsIsglXDI;B4QqNAHkZxdK@%Jm&3M+mh+d;;>sRJgjdxC zjKDHcB4+hTNzOL=or(eXIE%yQ&!joDM74@5pgblnV%bN-JGR6=O_ohmcu4Tp%XjSM5Nh|8#A5K!MWx={dKuZ TBcLY!&!}P9UAq3eeA)j4ZC9R* diff --git a/reactos/tools/sysgen/FileSystemTreeView/icons/folder.ico b/reactos/tools/sysgen/FileSystemTreeView/icons/folder.ico deleted file mode 100644 index c9e4b0b4a38001b92f3820c44b00a942347f8889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1406 zcmeH{Jr2S!4255u{$}dL%*ZWZgW zSJ~0$)`{av1{9yF0)2s13XA|uXbfRYb8)Ac@=NTNN7U=u$4*a+#n}Se3ozf{@UUoZ z4el=sYZ)IjbYSSfUv)sFh$Jdf7#zHD<^)wB@1^t1vDUhzxU}rZspSC9hxdVv>DXtN z#+W$&!(aRN=jYr{x}Op16AASttW3PXx^$BA%a%hzhjJzFL+rPA^HbBNv>lBj@eN@5 B9CiQz diff --git a/reactos/tools/sysgen/RosBuilder/Controls/CatalogTriStateTreeView.cs b/reactos/tools/sysgen/RosBuilder/Controls/CatalogTriStateTreeView.cs deleted file mode 100644 index c4309b01166..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/CatalogTriStateTreeView.cs +++ /dev/null @@ -1,220 +0,0 @@ -using System; -using System.Drawing; -using System.Text; -using System.Collections.Generic; -using System.IO; -using System.Windows.Forms; - -using SIL.FieldWorks.Common.Controls; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; - -namespace TriStateTreeViewDemo -{ - public class CatalogTriStateTreeView : TriStateTreeView - { - private ISysGenDesigner m_SysGenDesigner = null; - private TreeNode m_PlatformNode = null; - - public CatalogTriStateTreeView() - { - } - - private void CatalogTriStateTreeView_BeforeCheck(object sender, TreeViewCancelEventArgs e) - { - if (m_SysGenDesigner.SysGenEngine.Project != null) - { - if (e.Node is ModuleTreeNode) - { - //Get the underlying module - ModuleTreeNode moduleNode = e.Node as ModuleTreeNode; - - if (GetChecked(e.Node) == CheckState.Unchecked) - { - //Add the selected node and dependencies - m_SysGenDesigner.PlatformController.Add(moduleNode.Module); - } - else - { - //Remove the module from our platform - m_SysGenDesigner.PlatformController.Remove(moduleNode.Module); - } - - //Update current module status - UpdateCatalogTree(); - } - else if (e.Node is FolderTreeNode) - { - if (m_AutoUpdatingParents == false) - { - //e.Cancel = (AddTreeNodeModules(e.Node) == false); - } - } - } - else - { - MessageBox.Show("Cannot modify a catalog tree without platform associated"); - } - } - - public void SetCatalog(ISysGenDesigner sysGenDesigner) - { - //Set the software catalog - m_SysGenDesigner = sysGenDesigner; - - //Load the platform tree catalog - LoadCatalogTree(); - UpdateCatalogTree(); - - NodeMouseClick += new TreeNodeMouseClickEventHandler(CatalogTriStateTreeView_NodeMouseClick); - } - - void CatalogTriStateTreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) - { - ModuleTreeNode moduleNode = e.Node as ModuleTreeNode; - - if (moduleNode != null) - m_SysGenDesigner.InspectedObject = moduleNode.Module; - } - - private void LoadCatalogTree() - { - m_PlatformNode = new TreeNode(); - - LoadPlatformModules(m_PlatformNode, m_SysGenDesigner.SysGenEngine.ProjectTask); - - Nodes.Clear(); - Nodes.Add(m_PlatformNode); - - m_PlatformNode.Text = RootNodeText; - m_PlatformNode.Expand(); - } - - private void UpdateCatalogTree() - { - BeginUpdate(); - BeforeCheck -= new TreeViewCancelEventHandler(CatalogTriStateTreeView_BeforeCheck); - - m_PlatformNode.Text = RootNodeText; - m_PlatformNode.Expand(); - - UpdatePlatformModules(m_PlatformNode); - - EndUpdate(); - BeforeCheck += new TreeViewCancelEventHandler(CatalogTriStateTreeView_BeforeCheck); - } - - private string RootNodeText - { - get - { - return string.Format("Catalog ({0} Modules-{1} Available)", - m_SysGenDesigner.PlatformController.Project.Platform.Modules.Count, - m_SysGenDesigner.PlatformController.Project.Modules.Count); - } - } - - private void UpdatePlatformModules(TreeNode node) - { - if (node is ModuleTreeNode) - { - //Get the underlying module - ModuleTreeNode moduleNode = node as ModuleTreeNode; - - if (moduleNode != null) - { - if (m_SysGenDesigner.PlatformController.Project.Platform.Modules.Contains(moduleNode.Module)) - { - SetChecked(moduleNode, CheckState.Checked); - } - else - { - SetChecked(moduleNode, CheckState.Unchecked); - } - } - } - else - { - foreach (TreeNode subNode in node.Nodes) - { - UpdatePlatformModules(subNode); - } - } - } - - private void LoadPlatformModules(TreeNode node, Task task) - { - if (task is ModuleTask) - { - RBuildModule module = ((ModuleTask)task).Module; - - node.Nodes.Add(new ModuleTreeNode(module)); - } - else if (task is ITaskContainer) - { - if (task is DirectoryTask) - { - FolderTreeNode taskNode = new FolderTreeNode(((DirectoryTask)task).Name); - - node.Nodes.Add(taskNode); - - foreach (Task innerTask in ((ITaskContainer)task).ChildTasks) - { - LoadPlatformModules(taskNode, innerTask); - } - } - else - { - foreach (Task innerTask in ((ITaskContainer)task).ChildTasks) - { - LoadPlatformModules(node, innerTask); - } - } - } - } - - public abstract class CatalogTreeNode : TreeNode - { - public abstract string NodeName { get; } - } - - public class ModuleTreeNode : CatalogTreeNode - { - RBuildModule m_Module = null; - - public ModuleTreeNode(RBuildModule module) - { - m_Module = module; - Text = module.Name; - } - - public RBuildModule Module - { - get { return m_Module; } - } - - public override string NodeName - { - get { return Module.Name; } - } - } - - public class FolderTreeNode : CatalogTreeNode - { - private string m_FolderName = null; - - public FolderTreeNode(string name) - { - m_FolderName = name; - Text = name; - } - - public override string NodeName - { - get { return m_FolderName; } - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Controls/ModuleFiltersListView.cs b/reactos/tools/sysgen/RosBuilder/Controls/ModuleFiltersListView.cs deleted file mode 100644 index 2228f2b729d..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/ModuleFiltersListView.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; - -namespace TriStateTreeViewDemo -{ - public class ModuleFiltersListViewItem : ListViewItem - { - private ModuleFilter m_ModuleFilter = null; - - public ModuleFiltersListViewItem(ModuleFilter filter) - { - m_ModuleFilter = filter; - - Text = filter.Name; - SubItems.Add(filter.Modules.Count.ToString()); - } - - public ModuleFilter Filter - { - get { return m_ModuleFilter; } - } - } - - public class ModuleFiltersListView : ListView - { - private ISysGenDesigner m_SysGenDesigner = null; - - public ModuleFiltersListView() - { - View = View.Details; - - FullRowSelect = true; - CheckBoxes = true; - - Columns.Add("Name", 200); - Columns.Add("Modules", 100); - } - - public void SetCatalog(ISysGenDesigner sysGenDesigner) - { - //Set the software catalog - m_SysGenDesigner = sysGenDesigner; - //m_SysGenDesigner.PlatformController.PlatformModulesUpdated += new EventHandler(PlatformController_PlatformModulesUpdated); - - foreach (ModuleFilter filter in sysGenDesigner.ModuleFilterController.ModuleFilters) - { - Items.Add(new ModuleFiltersListViewItem(filter)); - } - } - - //protected override void OnItemCheck(ItemCheckEventArgs ice) - //{ - // base.OnItemCheck(ice); - //} - - //protected override void OnItemChecked(ItemCheckedEventArgs e) - //{ - // base.OnItemChecked(e); - //} - - private void PlatformController_PlatformModulesUpdated(object sender, EventArgs e) - { - BeginUpdate(); - - foreach (ModuleFiltersListViewItem filterItem in Items) - { - foreach (RBuildModule module in m_SysGenDesigner.ProjectController.Project.Platform.Modules) - { - if (!filterItem.Filter.Modules.Contains(module)) - { - filterItem.Checked = false; - break; - } - } - - filterItem.Checked = true; - } - - EndUpdate(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Controls/NewItemListView.cs b/reactos/tools/sysgen/RosBuilder/Controls/NewItemListView.cs deleted file mode 100644 index e2e28dc11f5..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/NewItemListView.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; - -namespace TriStateTreeViewDemo -{ - public abstract class NewItemListViewItem : ListViewItem - { - protected ISysGenDesigner m_SysGenDesigner = null; - - public NewItemListViewItem(ISysGenDesigner designer) - { - m_SysGenDesigner = designer; - } - - public abstract string Description { get; } - public abstract string DefaultFileName { get; } - - public virtual void Apply() - { - } - } - - public class ModuleFiltersNewItemListViewItem : NewItemListViewItem - { - private ModuleFilter m_ModuleFilter = null; - - public ModuleFiltersNewItemListViewItem(ISysGenDesigner designer ,ModuleFilter filter): base(designer) - { - m_ModuleFilter = filter; - - Text = filter.Name; - } - - public override string Description - { - get { return m_ModuleFilter.Name; } - } - - public override string DefaultFileName - { - get { return null; } - } - - public override void Apply() - { - m_SysGenDesigner.ModuleFilterController.Apply(m_ModuleFilter); - } - } - - public class LanguageNewItemListViewItem : NewItemListViewItem - { - private RBuildLanguage m_Language = null; - - public LanguageNewItemListViewItem(ISysGenDesigner designer, RBuildLanguage language) - : base(designer) - { - m_Language = language; - - Text = language.Name; - } - - public override string Description - { - get { return m_Language.Name; } - } - - public override string DefaultFileName - { - get { return null; } - } - - public override void Apply() - { - m_SysGenDesigner.ProjectController.AddLanguage(m_Language); - } - } - - public class DebugChannelNewItemListViewItem : NewItemListViewItem - { - private RBuildDebugChannel m_DebugChannel = null; - - public DebugChannelNewItemListViewItem(ISysGenDesigner designer, RBuildDebugChannel channel) - : base(designer) - { - m_DebugChannel = channel; - - Text = channel.Name; - } - - public override string Description - { - get { return m_DebugChannel.Name; } - } - - public override string DefaultFileName - { - get { return null; } - } - - public override void Apply() - { - m_SysGenDesigner.ProjectController.AddDebugChannel(m_DebugChannel); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Controls/PlatformTreeView.cs b/reactos/tools/sysgen/RosBuilder/Controls/PlatformTreeView.cs deleted file mode 100644 index 1f12d95df50..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/PlatformTreeView.cs +++ /dev/null @@ -1,306 +0,0 @@ -using System; -using System.Drawing; -using System.Text; -using System.Collections.Generic; -using System.IO; -using System.Windows.Forms; - -using SIL.FieldWorks.Common.Controls; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; - -namespace TriStateTreeViewDemo -{ - public class PlatformTreeView : TriStateTreeView - { - private ISysGenDesigner m_SysGenDesigner = null; - private PlatformTreeNode m_PlatformNode = null; - - public PlatformTreeView() - { - } - - private void CatalogTriStateTreeView_BeforeCheck(object sender, TreeViewCancelEventArgs e) - { - if (m_SysGenDesigner.ProjectController.Project != null) - { - if (e.Node is ModuleTreeNode) - { - //Get the underlying module - ModuleTreeNode moduleNode = e.Node as ModuleTreeNode; - - if (GetChecked(e.Node) == CheckState.Unchecked) - { - //Add the selected node and dependencies - m_SysGenDesigner.ProjectController.Add(moduleNode.Module); - } - else - { - //Remove the module from our platform - m_SysGenDesigner.ProjectController.Remove(moduleNode.Module); - } - - } - else if (e.Node is FolderTreeNode) - { - } - } - else - { - MessageBox.Show("Cannot modify a catalog tree without platform associated"); - } - - /* cancel the paint event*/ - e.Cancel = true; - } - - public void SetCatalog(ISysGenDesigner sysGenDesigner) - { - //Set the software catalog - m_SysGenDesigner = sysGenDesigner; - - m_SysGenDesigner.ProjectController.PlatformModulesUpdated += new EventHandler(PlatformController_PlatformModulesUpdated); - - //Load the platform tree catalog - LoadCatalogTree(); - UpdateCatalogTree(); - - NodeMouseClick += new TreeNodeMouseClickEventHandler(CatalogTriStateTreeView_NodeMouseClick); - } - - void PlatformController_PlatformModulesUpdated(object sender, EventArgs e) - { - //Update current module status - UpdateCatalogTree(); - } - - void CatalogTriStateTreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) - { - CatalogTreeNode catalogNode = e.Node as CatalogTreeNode; - - if (catalogNode != null) - m_SysGenDesigner.InspectedObject = catalogNode.NodeObject; - } - - private void LoadCatalogTree() - { - m_PlatformNode = new PlatformTreeNode(m_SysGenDesigner.ProjectController.Project.Platform); - - LoadPlatformModules(m_PlatformNode); - //LoadPlatformModules(m_PlatformNode, m_SysGenDesigner.SysGenEngine.ProjectTask); - - Nodes.Clear(); - Nodes.Add(m_PlatformNode); - - m_PlatformNode.Text = RootNodeText; - m_PlatformNode.Expand(); - } - - private void UpdateCatalogTree() - { - BeginUpdate(); - BeforeCheck -= new TreeViewCancelEventHandler(CatalogTriStateTreeView_BeforeCheck); - - m_PlatformNode.Text = RootNodeText; - m_PlatformNode.Expand(); - - UpdatePlatformModules(m_PlatformNode); - - EndUpdate(); - BeforeCheck += new TreeViewCancelEventHandler(CatalogTriStateTreeView_BeforeCheck); - } - - private string RootNodeText - { - get - { - return string.Format("Catalog ({0} Modules-{1} Available)", - m_SysGenDesigner.ProjectController.Project.Platform.Modules.Count, - m_SysGenDesigner.ProjectController.Project.Modules.Count); - } - } - - private void UpdatePlatformModules(TreeNode node) - { - if (node is ModuleTreeNode) - { - //Get the underlying module - ModuleTreeNode moduleNode = node as ModuleTreeNode; - - if (moduleNode != null) - { - if (m_SysGenDesigner.ProjectController.Project.Platform.Modules.Contains(moduleNode.Module)) - { - SetChecked(moduleNode, CheckState.Checked); - } - else - { - SetChecked(moduleNode, CheckState.Unchecked); - } - } - } - else - { - foreach (TreeNode subNode in node.Nodes) - { - UpdatePlatformModules(subNode); - } - } - } - - private void LoadPlatformModules(TreeNode node) - { - foreach (RBuildModule module in m_SysGenDesigner.ProjectController.AvailableModules) - { - TreeNode parent = node; - - foreach (string part in module.CatalogPath.Split(new char[] { '\\' })) - { - if (part.Length > 0) - { - parent = GetFolderNode(parent, part); - } - } - - parent.Nodes.Add(new ModuleTreeNode(module)); - } - } - - private TreeNode GetFolderNode(TreeNode parent, string name) - { - foreach (TreeNode node in parent.Nodes) - { - CatalogTreeNode folderNode = node as CatalogTreeNode; - - if (folderNode != null) - { - if (folderNode.NodeName == name) - { - return folderNode; - } - } - } - - FolderTreeNode newNode = new FolderTreeNode(name); - - parent.Nodes.Add(newNode); - - return newNode; - } - - //private void LoadPlatformModules(TreeNode node, Task task) - //{ - // foreach (string path in - // /* - // if (task is ModuleTask) - // { - // RBuildModule module = ((ModuleTask)task).Module; - - // node.Nodes.Add(new ModuleTreeNode(module)); - // } - // else if (task is ITaskContainer) - // { - // if (task is DirectoryTask) - // { - // FolderTreeNode taskNode = new FolderTreeNode(((DirectoryTask)task).Name); - - // node.Nodes.Add(taskNode); - - // foreach (Task innerTask in ((ITaskContainer)task).ChildTasks) - // { - // LoadPlatformModules(taskNode, innerTask); - // } - // } - // else - // { - // foreach (Task innerTask in ((ITaskContainer)task).ChildTasks) - // { - // LoadPlatformModules(node, innerTask); - // } - // } - // } - // */ - //} - - public abstract class CatalogTreeNode : TreeNode - { - public abstract string NodeName { get; } - public abstract object NodeObject { get;} - } - - public class PlatformTreeNode : CatalogTreeNode - { - RBuildPlatform m_Platform = null; - - public PlatformTreeNode(RBuildPlatform platform) - { - m_Platform = platform; - Text = platform.Name; - } - - public RBuildPlatform Platform - { - get { return m_Platform; } - } - - public override string NodeName - { - get { return m_Platform.Name; } - } - - public override object NodeObject - { - get { return Platform; } - } - } - - public class ModuleTreeNode : CatalogTreeNode - { - RBuildModule m_Module = null; - - public ModuleTreeNode(RBuildModule module) - { - m_Module = module; - Text = module.Name; - } - - public RBuildModule Module - { - get { return m_Module; } - } - - public override string NodeName - { - get { return Module.Name; } - } - - public override object NodeObject - { - get { return Module; } - } - } - - public class FolderTreeNode : CatalogTreeNode - { - private string m_FolderName = null; - - public FolderTreeNode(string name) - { - m_FolderName = name; - Text = name; - } - - public override string NodeName - { - get { return m_FolderName; } - } - - public override object NodeObject - { - get { return NodeName; } - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Controls/ProjectTreeView.cs b/reactos/tools/sysgen/RosBuilder/Controls/ProjectTreeView.cs deleted file mode 100644 index 35f827319a4..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/ProjectTreeView.cs +++ /dev/null @@ -1,161 +0,0 @@ -using System; -using System.Windows.Forms; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; - -namespace TriStateTreeViewDemo -{ - public class ProjectTreeView : TreeView - { - private ISysGenDesigner m_SysGenDesigner = null; - private TreeNode m_Project = new TreeNode("Project"); - private TreeNode m_Platforms = new TreeNode("Platform"); - private TreeNode m_Languages = new TreeNode("Languages"); - private TreeNode m_DebugChannels = new TreeNode("Debug Channels"); - //private TreeNode m_Filters = new TreeNode("Filters"); - private TreeNode m_Files = new TreeNode("Files"); - private TreeNode m_Registry = new TreeNode("Registry"); - //private TreeNode m_Filters = new TreeNode("Filters"); - - public ProjectTreeView() - { - } - - public void SetCatalog(ISysGenDesigner sysGenDesigner) - { - //Set the software catalog - m_SysGenDesigner = sysGenDesigner; - m_SysGenDesigner.ProjectController.ProjectLoaded += new EventHandler(PlatformController_ProjectLoaded); - m_SysGenDesigner.ProjectController.ProjectUpdated += new EventHandler(PlatformController_ProjectUpdated); - - - LoadProject(); - } - - void PlatformController_ProjectLoaded(object sender, EventArgs e) - { - LoadProject(); - UpdateProject(); - } - - void PlatformController_ProjectUpdated(object sender, EventArgs e) - { - UpdateProject(); - } - - private void LoadProject() - { - Nodes.Clear(); - - m_Project = new ProjectTreeNode(m_SysGenDesigner.ProjectController.SysGenProject); - m_Project.Nodes.Add(m_Platforms); - m_Project.Nodes.Add(m_Languages); - m_Project.Nodes.Add(m_DebugChannels); -// m_Project.Nodes.Add(m_Filters); - m_Project.Nodes.Add(m_Files); - m_Project.Nodes.Add(m_Registry); - m_Project.Expand(); - - Nodes.Add(m_Project); - } - - private void UpdateProject() - { - m_Languages.Nodes.Clear(); - m_DebugChannels.Nodes.Clear(); - - foreach (RBuildLanguage language in m_SysGenDesigner.ProjectController.Project.Platform.Languages) - { - m_Languages.Nodes.Add(language.Name); - } - - foreach (RBuildDebugChannel channel in m_SysGenDesigner.ProjectController.Project.Platform.DebugChannels) - { - m_DebugChannels.Nodes.Add(channel.Name); - } - } - - public abstract class CatalogTreeNode : TreeNode - { - public abstract string NodeName { get; } - public abstract object NodeObject { get;} - } - - public class ProjectTreeNode : CatalogTreeNode - { - Project m_Platform = null; - - public ProjectTreeNode(Project platform) - { - m_Platform = platform; - Text = platform.FileName; - } - - public Project Platform - { - get { return m_Platform; } - } - - public override string NodeName - { - get { return m_Platform.Name; } - } - - public override object NodeObject - { - get { return Platform; } - } - } - - public class ModuleTreeNode : CatalogTreeNode - { - RBuildModule m_Module = null; - - public ModuleTreeNode(RBuildModule module) - { - m_Module = module; - Text = module.Name; - } - - public RBuildModule Module - { - get { return m_Module; } - } - - public override string NodeName - { - get { return Module.Name; } - } - - public override object NodeObject - { - get { return Module; } - } - } - - public class FolderTreeNode : CatalogTreeNode - { - private string m_FolderName = null; - - public FolderTreeNode(string name) - { - m_FolderName = name; - Text = name; - } - - public override string NodeName - { - get { return m_FolderName; } - } - - public override object NodeObject - { - get { return NodeName; } - } - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.Designer.cs b/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.Designer.cs deleted file mode 100644 index 1c20f5713ba..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.Designer.cs +++ /dev/null @@ -1,118 +0,0 @@ -namespace RosBuilder.Controls -{ - partial class RegistryEditor - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Component Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.listView1 = new System.Windows.Forms.ListView(); - this.treeView1 = new System.Windows.Forms.TreeView(); - this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); - this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); - this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.SuspendLayout(); - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.treeView1); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.listView1); - this.splitContainer1.Size = new System.Drawing.Size(623, 542); - this.splitContainer1.SplitterDistance = 207; - this.splitContainer1.TabIndex = 0; - // - // listView1 - // - this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { - this.columnHeader1, - this.columnHeader2, - this.columnHeader3}); - this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.listView1.Location = new System.Drawing.Point(0, 0); - this.listView1.Name = "listView1"; - this.listView1.Size = new System.Drawing.Size(412, 542); - this.listView1.TabIndex = 0; - this.listView1.UseCompatibleStateImageBehavior = false; - this.listView1.View = System.Windows.Forms.View.Details; - // - // treeView1 - // - this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.treeView1.Location = new System.Drawing.Point(0, 0); - this.treeView1.Name = "treeView1"; - this.treeView1.Size = new System.Drawing.Size(207, 542); - this.treeView1.TabIndex = 0; - // - // columnHeader1 - // - this.columnHeader1.Text = "Name"; - this.columnHeader1.Width = 159; - // - // columnHeader2 - // - this.columnHeader2.Text = "Type"; - this.columnHeader2.Width = 130; - // - // columnHeader3 - // - this.columnHeader3.Text = "Data"; - // - // RegistryEditor - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.splitContainer1); - this.Name = "RegistryEditor"; - this.Size = new System.Drawing.Size(623, 542); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel2.ResumeLayout(false); - this.splitContainer1.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.SplitContainer splitContainer1; - private System.Windows.Forms.TreeView treeView1; - private System.Windows.Forms.ListView listView1; - private System.Windows.Forms.ColumnHeader columnHeader1; - private System.Windows.Forms.ColumnHeader columnHeader2; - private System.Windows.Forms.ColumnHeader columnHeader3; - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.cs b/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.cs deleted file mode 100644 index 738adfbefc0..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Text; -using System.Windows.Forms; - -namespace RosBuilder.Controls -{ - public partial class RegistryEditor : UserControl - { - public RegistryEditor() - { - InitializeComponent(); - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.resx b/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.resx deleted file mode 100644 index 19dc0dd8b39..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Controls/RegistryEditor.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Form1.Designer.cs b/reactos/tools/sysgen/RosBuilder/Form1.Designer.cs deleted file mode 100644 index 04418fb8104..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Form1.Designer.cs +++ /dev/null @@ -1,38 +0,0 @@ -namespace RosBuilder -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Text = "Form1"; - } - - #endregion - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Form1.cs b/reactos/tools/sysgen/RosBuilder/Form1.cs deleted file mode 100644 index a11fbad5119..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Form1.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -namespace RosBuilder -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Form1.resx b/reactos/tools/sysgen/RosBuilder/Form1.resx deleted file mode 100644 index 19dc0dd8b39..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Form1.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Inspectors/PlatformInspector.cs b/reactos/tools/sysgen/RosBuilder/Inspectors/PlatformInspector.cs deleted file mode 100644 index 7d798289853..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Inspectors/PlatformInspector.cs +++ /dev/null @@ -1,155 +0,0 @@ -using System; -using System.Windows.Forms; -using System.ComponentModel; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace TriStateTreeViewDemo -{ - public class PlatformInspector - { - private RBuildPlatform m_Platform = null; - - public PlatformInspector(RBuildPlatform platform) - { - m_Platform = platform; - } - - [Category("Info")] - public string Name - { - get { return m_Platform.Name; } - set { m_Platform.Name = value; } - } - - [Category("Info")] - public string Description - { - get { return m_Platform.Description; } - set { m_Platform.Description = value; } - } - - [Category("Applications")] - [Description("The module to be used as a shell for the platform")] - public string Shell - { - set - { - if (value != string.Empty) - { - try - { - RBuildModule module = m_Platform.Modules.GetByName(value); - - if (module == null) - throw new ArgumentException("Unknown '" + value + "' shell module"); - - if (module.Type != ModuleType.Win32CUI && - module.Type != ModuleType.Win32GUI) - throw new ArgumentException("Only Win32 GUI and CUI applications can be set as shell"); - - /* set the shell to use */ - m_Platform.Shell = module; - } - catch (ArgumentException e) - { - MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } - get - { - if (m_Platform.Shell != null) - return m_Platform.Shell.Name; - - return string.Empty; - } - } - - [Category("Applications")] - [Description("The module to be used as a screensaver for the platform")] - public string Screensaver - { - set - { - if (value != string.Empty) - { - try - { - RBuildModule module = m_Platform.Modules.GetByName(value); - - if (module == null) - throw new ArgumentException("Unknown '" + value + "' screen saver module"); - - if (module.Type != ModuleType.Win32SCR) - throw new ArgumentException("Only Win32 SCR applications can be set as shell"); - - /* set the shell to use */ - m_Platform.Screensaver = module; - } - catch (ArgumentException e) - { - MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - } - get - { - if (m_Platform.Screensaver != null) - return m_Platform.Screensaver.Name; - - return string.Empty; - } - } - - //public IList DebugChannels - //{ - // get { return m_Platform.DebugChannels; } - //} - - [Category("Appareance")] - [Description("The module to be used as a screensaver for the platform")] - public string Wallpaper - { - set - { - if (value != string.Empty) - { - RBuildWallpaperFile iW = new RBuildWallpaperFile(); - - iW.Name = value; - - m_Platform.Wallpaper = iW; - - //foreach (RBuildModule module in m_Platform.Modules) - //{ - // foreach (RBuildFile file in module.Files) - // { - // RBuildInstallWallpaperFile wallpaper = file as RBuildInstallWallpaperFile; - - // if (wallpaper != null) - // { - // if (wallpaper.ID.ToLower() == value.ToLower()) - // { - // m_Platform.Wallpaper = wallpaper; - // } - // } - // } - //} - - // specified wallpaper not found - //throw new ArgumentException(); - } - } - get - { - if (m_Platform.Wallpaper != null) - return m_Platform.Wallpaper.ID; - - return string.Empty; - } - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/MainForm.Designer.cs b/reactos/tools/sysgen/RosBuilder/MainForm.Designer.cs deleted file mode 100644 index 9ebe4ebeefd..00000000000 --- a/reactos/tools/sysgen/RosBuilder/MainForm.Designer.cs +++ /dev/null @@ -1,654 +0,0 @@ -namespace TriStateTreeViewDemo -{ - partial class MainForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - this.statusStrip1 = new System.Windows.Forms.StatusStrip(); - this.toolStrip1 = new System.Windows.Forms.ToolStrip(); - this.newToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.openToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.saveToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator(); - this.cutToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.copyToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); - this.saveConfigToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.cmbArchitecture = new System.Windows.Forms.ToolStripComboBox(); - this.cmbDebug = new System.Windows.Forms.ToolStripComboBox(); - this.cmbOptimization = new System.Windows.Forms.ToolStripComboBox(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.helpToolStripButton = new System.Windows.Forms.ToolStripButton(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.saveAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.printToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.printPreviewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.platformToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.addFiltersToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.addLanguagesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.addDebToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.undoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.redoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.cutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pasteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator(); - this.selectAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.customizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.contentsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.indexToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator(); - this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.pgProperties = new System.Windows.Forms.PropertyGrid(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.splitContainer2 = new System.Windows.Forms.SplitContainer(); - this.tvPlatform = new TriStateTreeViewDemo.PlatformTreeView(); - this.tvProject = new TriStateTreeViewDemo.ProjectTreeView(); - this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); - this.statusStrip1.SuspendLayout(); - this.toolStrip1.SuspendLayout(); - this.menuStrip1.SuspendLayout(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.splitContainer2.Panel1.SuspendLayout(); - this.splitContainer2.Panel2.SuspendLayout(); - this.splitContainer2.SuspendLayout(); - this.SuspendLayout(); - // - // statusStrip1 - // - this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripStatusLabel1}); - this.statusStrip1.Location = new System.Drawing.Point(0, 601); - this.statusStrip1.Name = "statusStrip1"; - this.statusStrip1.Size = new System.Drawing.Size(820, 22); - this.statusStrip1.TabIndex = 5; - this.statusStrip1.Text = "statusStrip1"; - // - // toolStrip1 - // - this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.newToolStripButton, - this.openToolStripButton, - this.saveToolStripButton, - this.toolStripSeparator, - this.cutToolStripButton, - this.copyToolStripButton, - this.toolStripSeparator8, - this.saveConfigToolStripButton, - this.cmbArchitecture, - this.cmbDebug, - this.cmbOptimization, - this.toolStripSeparator1, - this.helpToolStripButton}); - this.toolStrip1.Location = new System.Drawing.Point(0, 24); - this.toolStrip1.Name = "toolStrip1"; - this.toolStrip1.Size = new System.Drawing.Size(820, 25); - this.toolStrip1.TabIndex = 6; - this.toolStrip1.Text = "toolStrip1"; - // - // newToolStripButton - // - this.newToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.newToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("newToolStripButton.Image"))); - this.newToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.newToolStripButton.Name = "newToolStripButton"; - this.newToolStripButton.Size = new System.Drawing.Size(23, 22); - this.newToolStripButton.Text = "&New"; - this.newToolStripButton.Click += new System.EventHandler(this.newToolStripButton_Click); - // - // openToolStripButton - // - this.openToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.openToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripButton.Image"))); - this.openToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.openToolStripButton.Name = "openToolStripButton"; - this.openToolStripButton.Size = new System.Drawing.Size(23, 22); - this.openToolStripButton.Text = "&Open"; - this.openToolStripButton.Click += new System.EventHandler(this.openToolStripButton_Click); - // - // saveToolStripButton - // - this.saveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.saveToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripButton.Image"))); - this.saveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.saveToolStripButton.Name = "saveToolStripButton"; - this.saveToolStripButton.Size = new System.Drawing.Size(23, 22); - this.saveToolStripButton.Text = "&Save"; - this.saveToolStripButton.Click += new System.EventHandler(this.saveToolStripButton_Click); - // - // toolStripSeparator - // - this.toolStripSeparator.Name = "toolStripSeparator"; - this.toolStripSeparator.Size = new System.Drawing.Size(6, 25); - // - // cutToolStripButton - // - this.cutToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.cutToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("cutToolStripButton.Image"))); - this.cutToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.cutToolStripButton.Name = "cutToolStripButton"; - this.cutToolStripButton.Size = new System.Drawing.Size(23, 22); - this.cutToolStripButton.Text = "C&ut"; - // - // copyToolStripButton - // - this.copyToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.copyToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("copyToolStripButton.Image"))); - this.copyToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.copyToolStripButton.Name = "copyToolStripButton"; - this.copyToolStripButton.Size = new System.Drawing.Size(23, 22); - this.copyToolStripButton.Text = "&Copy"; - // - // toolStripSeparator8 - // - this.toolStripSeparator8.Name = "toolStripSeparator8"; - this.toolStripSeparator8.Size = new System.Drawing.Size(6, 25); - // - // saveConfigToolStripButton - // - this.saveConfigToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text; - this.saveConfigToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("saveConfigToolStripButton.Image"))); - this.saveConfigToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.saveConfigToolStripButton.Name = "saveConfigToolStripButton"; - this.saveConfigToolStripButton.Size = new System.Drawing.Size(69, 22); - this.saveConfigToolStripButton.Text = "&Save Config"; - this.saveConfigToolStripButton.Click += new System.EventHandler(this.saveConfigToolStripButton_Click); - // - // cmbArchitecture - // - this.cmbArchitecture.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbArchitecture.Name = "cmbArchitecture"; - this.cmbArchitecture.Size = new System.Drawing.Size(150, 25); - // - // cmbDebug - // - this.cmbDebug.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbDebug.Name = "cmbDebug"; - this.cmbDebug.Size = new System.Drawing.Size(75, 25); - // - // cmbOptimization - // - this.cmbOptimization.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbOptimization.Name = "cmbOptimization"; - this.cmbOptimization.Size = new System.Drawing.Size(75, 25); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25); - // - // helpToolStripButton - // - this.helpToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; - this.helpToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("helpToolStripButton.Image"))); - this.helpToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta; - this.helpToolStripButton.Name = "helpToolStripButton"; - this.helpToolStripButton.Size = new System.Drawing.Size(23, 22); - this.helpToolStripButton.Text = "He&lp"; - // - // menuStrip1 - // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.fileToolStripMenuItem, - this.platformToolStripMenuItem, - this.editToolStripMenuItem, - this.toolsToolStripMenuItem, - this.helpToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(820, 24); - this.menuStrip1.TabIndex = 7; - this.menuStrip1.Text = "menuStrip1"; - // - // fileToolStripMenuItem - // - this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.newToolStripMenuItem, - this.openToolStripMenuItem, - this.toolStripSeparator2, - this.saveToolStripMenuItem, - this.saveAsToolStripMenuItem, - this.toolStripSeparator3, - this.printToolStripMenuItem, - this.printPreviewToolStripMenuItem, - this.toolStripSeparator4, - this.exitToolStripMenuItem}); - this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20); - this.fileToolStripMenuItem.Text = "&File"; - // - // newToolStripMenuItem - // - this.newToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("newToolStripMenuItem.Image"))); - this.newToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.newToolStripMenuItem.Name = "newToolStripMenuItem"; - this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N))); - this.newToolStripMenuItem.Size = new System.Drawing.Size(151, 22); - this.newToolStripMenuItem.Text = "&New"; - // - // openToolStripMenuItem - // - this.openToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripMenuItem.Image"))); - this.openToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O))); - this.openToolStripMenuItem.Size = new System.Drawing.Size(151, 22); - this.openToolStripMenuItem.Text = "&Open"; - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(148, 6); - // - // saveToolStripMenuItem - // - this.saveToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem.Image"))); - this.saveToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.saveToolStripMenuItem.Name = "saveToolStripMenuItem"; - this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S))); - this.saveToolStripMenuItem.Size = new System.Drawing.Size(151, 22); - this.saveToolStripMenuItem.Text = "&Save"; - // - // saveAsToolStripMenuItem - // - this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; - this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(151, 22); - this.saveAsToolStripMenuItem.Text = "Save &As"; - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(148, 6); - // - // printToolStripMenuItem - // - this.printToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("printToolStripMenuItem.Image"))); - this.printToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.printToolStripMenuItem.Name = "printToolStripMenuItem"; - this.printToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.P))); - this.printToolStripMenuItem.Size = new System.Drawing.Size(151, 22); - this.printToolStripMenuItem.Text = "&Print"; - // - // printPreviewToolStripMenuItem - // - this.printPreviewToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("printPreviewToolStripMenuItem.Image"))); - this.printPreviewToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.printPreviewToolStripMenuItem.Name = "printPreviewToolStripMenuItem"; - this.printPreviewToolStripMenuItem.Size = new System.Drawing.Size(151, 22); - this.printPreviewToolStripMenuItem.Text = "Print Pre&view"; - // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(148, 6); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(151, 22); - this.exitToolStripMenuItem.Text = "E&xit"; - // - // platformToolStripMenuItem - // - this.platformToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.addFiltersToolStripMenuItem, - this.addLanguagesToolStripMenuItem, - this.addDebToolStripMenuItem}); - this.platformToolStripMenuItem.Name = "platformToolStripMenuItem"; - this.platformToolStripMenuItem.Size = new System.Drawing.Size(59, 20); - this.platformToolStripMenuItem.Text = "&Platform"; - // - // addFiltersToolStripMenuItem - // - this.addFiltersToolStripMenuItem.Name = "addFiltersToolStripMenuItem"; - this.addFiltersToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.addFiltersToolStripMenuItem.Text = "&Add Filters"; - this.addFiltersToolStripMenuItem.Click += new System.EventHandler(this.addFiltersToolStripMenuItem_Click); - // - // addLanguagesToolStripMenuItem - // - this.addLanguagesToolStripMenuItem.Name = "addLanguagesToolStripMenuItem"; - this.addLanguagesToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.addLanguagesToolStripMenuItem.Text = "&Add Languages"; - this.addLanguagesToolStripMenuItem.Click += new System.EventHandler(this.addLanguagesToolStripMenuItem_Click); - // - // addDebToolStripMenuItem - // - this.addDebToolStripMenuItem.Name = "addDebToolStripMenuItem"; - this.addDebToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.addDebToolStripMenuItem.Text = "&Add Debug Channels"; - this.addDebToolStripMenuItem.Click += new System.EventHandler(this.addDebToolStripMenuItem_Click); - // - // editToolStripMenuItem - // - this.editToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.undoToolStripMenuItem, - this.redoToolStripMenuItem, - this.toolStripSeparator5, - this.cutToolStripMenuItem, - this.copyToolStripMenuItem, - this.pasteToolStripMenuItem, - this.toolStripSeparator6, - this.selectAllToolStripMenuItem}); - this.editToolStripMenuItem.Name = "editToolStripMenuItem"; - this.editToolStripMenuItem.Size = new System.Drawing.Size(37, 20); - this.editToolStripMenuItem.Text = "&Edit"; - // - // undoToolStripMenuItem - // - this.undoToolStripMenuItem.Name = "undoToolStripMenuItem"; - this.undoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z))); - this.undoToolStripMenuItem.Size = new System.Drawing.Size(150, 22); - this.undoToolStripMenuItem.Text = "&Undo"; - // - // redoToolStripMenuItem - // - this.redoToolStripMenuItem.Name = "redoToolStripMenuItem"; - this.redoToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y))); - this.redoToolStripMenuItem.Size = new System.Drawing.Size(150, 22); - this.redoToolStripMenuItem.Text = "&Redo"; - // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(147, 6); - // - // cutToolStripMenuItem - // - this.cutToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("cutToolStripMenuItem.Image"))); - this.cutToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.cutToolStripMenuItem.Name = "cutToolStripMenuItem"; - this.cutToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X))); - this.cutToolStripMenuItem.Size = new System.Drawing.Size(150, 22); - this.cutToolStripMenuItem.Text = "Cu&t"; - // - // copyToolStripMenuItem - // - this.copyToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("copyToolStripMenuItem.Image"))); - this.copyToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.copyToolStripMenuItem.Name = "copyToolStripMenuItem"; - this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C))); - this.copyToolStripMenuItem.Size = new System.Drawing.Size(150, 22); - this.copyToolStripMenuItem.Text = "&Copy"; - // - // pasteToolStripMenuItem - // - this.pasteToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("pasteToolStripMenuItem.Image"))); - this.pasteToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta; - this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem"; - this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V))); - this.pasteToolStripMenuItem.Size = new System.Drawing.Size(150, 22); - this.pasteToolStripMenuItem.Text = "&Paste"; - // - // toolStripSeparator6 - // - this.toolStripSeparator6.Name = "toolStripSeparator6"; - this.toolStripSeparator6.Size = new System.Drawing.Size(147, 6); - // - // selectAllToolStripMenuItem - // - this.selectAllToolStripMenuItem.Name = "selectAllToolStripMenuItem"; - this.selectAllToolStripMenuItem.Size = new System.Drawing.Size(150, 22); - this.selectAllToolStripMenuItem.Text = "Select &All"; - // - // toolsToolStripMenuItem - // - this.toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.customizeToolStripMenuItem, - this.optionsToolStripMenuItem}); - this.toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; - this.toolsToolStripMenuItem.Size = new System.Drawing.Size(44, 20); - this.toolsToolStripMenuItem.Text = "&Tools"; - // - // customizeToolStripMenuItem - // - this.customizeToolStripMenuItem.Name = "customizeToolStripMenuItem"; - this.customizeToolStripMenuItem.Size = new System.Drawing.Size(134, 22); - this.customizeToolStripMenuItem.Text = "&Customize"; - // - // optionsToolStripMenuItem - // - this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; - this.optionsToolStripMenuItem.Size = new System.Drawing.Size(134, 22); - this.optionsToolStripMenuItem.Text = "&Options"; - // - // helpToolStripMenuItem - // - this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.contentsToolStripMenuItem, - this.indexToolStripMenuItem, - this.searchToolStripMenuItem, - this.toolStripSeparator7, - this.aboutToolStripMenuItem}); - this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; - this.helpToolStripMenuItem.Size = new System.Drawing.Size(40, 20); - this.helpToolStripMenuItem.Text = "&Help"; - // - // contentsToolStripMenuItem - // - this.contentsToolStripMenuItem.Name = "contentsToolStripMenuItem"; - this.contentsToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.contentsToolStripMenuItem.Text = "&Contents"; - // - // indexToolStripMenuItem - // - this.indexToolStripMenuItem.Name = "indexToolStripMenuItem"; - this.indexToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.indexToolStripMenuItem.Text = "&Index"; - // - // searchToolStripMenuItem - // - this.searchToolStripMenuItem.Name = "searchToolStripMenuItem"; - this.searchToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.searchToolStripMenuItem.Text = "&Search"; - // - // toolStripSeparator7 - // - this.toolStripSeparator7.Name = "toolStripSeparator7"; - this.toolStripSeparator7.Size = new System.Drawing.Size(126, 6); - // - // aboutToolStripMenuItem - // - this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.aboutToolStripMenuItem.Text = "&About..."; - // - // pgProperties - // - this.pgProperties.Dock = System.Windows.Forms.DockStyle.Fill; - this.pgProperties.Location = new System.Drawing.Point(0, 0); - this.pgProperties.Name = "pgProperties"; - this.pgProperties.Size = new System.Drawing.Size(348, 304); - this.pgProperties.TabIndex = 9; - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.Location = new System.Drawing.Point(0, 49); - this.splitContainer1.Name = "splitContainer1"; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.tvPlatform); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(820, 552); - this.splitContainer1.SplitterDistance = 468; - this.splitContainer1.TabIndex = 11; - // - // splitContainer2 - // - this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer2.Location = new System.Drawing.Point(0, 0); - this.splitContainer2.Name = "splitContainer2"; - this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer2.Panel1 - // - this.splitContainer2.Panel1.Controls.Add(this.tvProject); - // - // splitContainer2.Panel2 - // - this.splitContainer2.Panel2.Controls.Add(this.pgProperties); - this.splitContainer2.Size = new System.Drawing.Size(348, 552); - this.splitContainer2.SplitterDistance = 244; - this.splitContainer2.TabIndex = 0; - // - // tvPlatform - // - this.tvPlatform.Dock = System.Windows.Forms.DockStyle.Fill; - this.tvPlatform.ImageIndex = 1; - this.tvPlatform.Location = new System.Drawing.Point(0, 0); - this.tvPlatform.Name = "tvPlatform"; - this.tvPlatform.SelectedImageIndex = 1; - this.tvPlatform.Size = new System.Drawing.Size(468, 552); - this.tvPlatform.TabIndex = 1; - // - // tvProject - // - this.tvProject.Dock = System.Windows.Forms.DockStyle.Fill; - this.tvProject.Location = new System.Drawing.Point(0, 0); - this.tvProject.Name = "tvProject"; - this.tvProject.Size = new System.Drawing.Size(348, 244); - this.tvProject.TabIndex = 10; - // - // toolStripStatusLabel1 - // - this.toolStripStatusLabel1.Name = "toolStripStatusLabel1"; - this.toolStripStatusLabel1.Size = new System.Drawing.Size(109, 17); - this.toolStripStatusLabel1.Text = "toolStripStatusLabel1"; - // - // MainForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(820, 623); - this.Controls.Add(this.splitContainer1); - this.Controls.Add(this.toolStrip1); - this.Controls.Add(this.statusStrip1); - this.Controls.Add(this.menuStrip1); - this.MainMenuStrip = this.menuStrip1; - this.Name = "MainForm"; - this.Text = "SysGen Platform Designer"; - this.Load += new System.EventHandler(this.MainForm_Load); - this.statusStrip1.ResumeLayout(false); - this.statusStrip1.PerformLayout(); - this.toolStrip1.ResumeLayout(false); - this.toolStrip1.PerformLayout(); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel2.ResumeLayout(false); - this.splitContainer1.ResumeLayout(false); - this.splitContainer2.Panel1.ResumeLayout(false); - this.splitContainer2.Panel2.ResumeLayout(false); - this.splitContainer2.ResumeLayout(false); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private TriStateTreeViewDemo.PlatformTreeView tvPlatform; - private System.Windows.Forms.StatusStrip statusStrip1; - private System.Windows.Forms.ToolStrip toolStrip1; - private System.Windows.Forms.ToolStripButton newToolStripButton; - private System.Windows.Forms.ToolStripButton openToolStripButton; - private System.Windows.Forms.ToolStripButton saveToolStripButton; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator; - private System.Windows.Forms.ToolStripButton cutToolStripButton; - private System.Windows.Forms.ToolStripButton copyToolStripButton; - private System.Windows.Forms.ToolStripButton saveConfigToolStripButton; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; - private System.Windows.Forms.ToolStripButton helpToolStripButton; - private System.Windows.Forms.ToolStripComboBox cmbArchitecture; - private System.Windows.Forms.ToolStripComboBox cmbDebug; - private System.Windows.Forms.MenuStrip menuStrip1; - private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem saveAsToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripMenuItem printToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem printPreviewToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem undoToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem redoToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; - private System.Windows.Forms.ToolStripMenuItem cutToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; - private System.Windows.Forms.ToolStripMenuItem selectAllToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem toolsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem customizeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem contentsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem indexToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator7; - private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; - private System.Windows.Forms.PropertyGrid pgProperties; - private System.Windows.Forms.ToolStripComboBox cmbOptimization; - private ProjectTreeView tvProject; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; - private System.Windows.Forms.SplitContainer splitContainer1; - private System.Windows.Forms.SplitContainer splitContainer2; - private System.Windows.Forms.ToolStripMenuItem platformToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem addFiltersToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem addLanguagesToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem addDebToolStripMenuItem; - private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1; - } -} - diff --git a/reactos/tools/sysgen/RosBuilder/MainForm.cs b/reactos/tools/sysgen/RosBuilder/MainForm.cs deleted file mode 100644 index c001ba7d016..00000000000 --- a/reactos/tools/sysgen/RosBuilder/MainForm.cs +++ /dev/null @@ -1,362 +0,0 @@ -using System; -using System.Xml; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -using TriStateTreeViewDemo; - -using SysGen.Framework.Catalog; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Log; -using SysGen.BuildEngine.Framework; -using SysGen.RBuild.Framework; - -namespace TriStateTreeViewDemo -{ - public interface ISysGenDesigner - { - ModuleFilterController ModuleFilterController { get; } - ProjectController ProjectController { get; } - object InspectedObject { set; } - } - - public partial class MainForm : Form, ISysGenDesigner - { - ProjectController m_ProjectController = null; - ModuleFilterController m_FilterController = null; - - public MainForm() - { - InitializeComponent(); - - m_ProjectController = new ProjectController(this); - m_FilterController = new ModuleFilterController(this); - - tvPlatform.SetCatalog(this); - tvProject.SetCatalog(this); - tvProject.DoubleClick += new EventHandler(tvProject_DoubleClick); - //lvModuleFilters.SetCatalog(this); - } - - private void button1_Click(object sender, EventArgs e) - { - //m_project = new RBuildProject(); - - m_ProjectController = new ProjectController(this); - m_FilterController = new ModuleFilterController(this); - - tvPlatform.SetCatalog(this); - tvProject.SetCatalog(this); - //lvModuleFilters.SetCatalog(this); - - //PlatformCatalogReader m_Reader = new PlatformCatalogReader(@"C:\Ros\trunk\reactos\rbuilddb.xml"); - - /* - BuildLog.Listeners.Clear(); - - m_SysGenEngine.SetDefaults = false; - m_SysGenEngine.RunBackends = false; - m_SysGenEngine.CleanCustomConfigs(); - m_SysGenEngine.ReadBuildFiles(); - - m_PlatformController = new PlatformController(this); - m_FilterController = new ModuleFilterController(this); - - catalogTriStateTreeView1.SetCatalog(this); - lvModuleFilters.SetCatalog(this); - */ - - } - - void tvProject_DoubleClick(object sender, EventArgs e) - { - } - - private void button2_Click(object sender, EventArgs e) - { - using (XmlTextWriter writer = new XmlTextWriter(@"c:\pkg.rbuild", Encoding.ASCII)) - { - writer.Indentation = 4; - writer.Formatting = Formatting.Indented; - - // Starts a new document - writer.WriteStartDocument(); - writer.WriteStartElement("module"); - writer.WriteAttributeString("name", ""); - writer.WriteAttributeString("type", "modulegroup"); - - foreach (RBuildModule module in m_ProjectController.Project.Platform.Modules) - { - writer.WriteElementString("requires", module.Name); - } - - writer.WriteEndElement(); - writer.WriteEndDocument(); - } - - } - - private void button3_Click(object sender, EventArgs e) - { - } - - public ModuleFilterController ModuleFilterController - { - get { return m_FilterController; } - } - - public ProjectController ProjectController - { - get { return m_ProjectController; } - } - - private void lvModuleFilters_SelectedIndexChanged(object sender, EventArgs e) - { - - } - - //private void lvModuleFilters_ItemCheck(object sender, ItemCheckEventArgs e) - //{ - // ModuleFiltersListViewItem filerListViewItem = lvModuleFilters.FocusedItem as ModuleFiltersListViewItem; - - // if (filerListViewItem != null) - // { - // if (e.NewValue == CheckState.Checked) - // { - // m_FilterController.Apply(filerListViewItem.Filter); - // } - // } - //} - - private void MainForm_Load(object sender, EventArgs e) - { - cmbArchitecture.Items.Add("x86 - (i486)"); - cmbArchitecture.Items.Add("x86 - (i586)"); - cmbArchitecture.Items.Add("x86 - (Pentium)"); - cmbArchitecture.Items.Add("x86 - (Pentium2)"); - cmbArchitecture.Items.Add("x86 - (Pentium3)"); - cmbArchitecture.Items.Add("x86 - (Pentium4)"); - cmbArchitecture.Items.Add("x86 - (athlon-xp)"); - cmbArchitecture.Items.Add("x86 - (athlon-mp)"); - cmbArchitecture.Items.Add("x86 - (k6-2)"); - cmbArchitecture.Items.Add("x86 - Xbox"); - cmbArchitecture.Items.Add("Power PC"); - cmbArchitecture.Items.Add("ARM"); - cmbArchitecture.SelectedIndex = 2; - - cmbDebug.Items.Add("Debug"); - cmbDebug.Items.Add("Release"); - cmbDebug.SelectedIndex = 0; - - cmbOptimization.Items.Add("Level 0"); - cmbOptimization.Items.Add("Level 1"); - cmbOptimization.Items.Add("Level 2"); - cmbOptimization.Items.Add("Level 3"); - cmbOptimization.Items.Add("Level 4"); - cmbOptimization.Items.Add("Level 5"); - cmbOptimization.SelectedIndex = 1; - } - - public object InspectedObject - { - set - { - if (value is RBuildPlatform) - { - pgProperties.SelectedObject = new PlatformInspector(m_ProjectController.Project.Platform); - } - else - pgProperties.SelectedObject = value; - } - } - - private void openToolStripButton_Click(object sender, EventArgs e) - { - m_ProjectController.Open(); - } - - private void saveToolStripButton_Click(object sender, EventArgs e) - { - m_ProjectController.Save(); - } - - private void saveConfigToolStripButton_Click(object sender, EventArgs e) - { - //if (MessageBox.Show("Your platform does not have a default shell selected ¿are you sure you want to continue?", - // "Question", - // MessageBoxButtons.YesNo, - // MessageBoxIcon.Question) == DialogResult.OK) - //{ - // Creates an XML file is not exist - using (XmlTextWriter writer = new XmlTextWriter(m_ProjectController.SysGenProject.Source + @"\config.rbuild", Encoding.ASCII)) - { - writer.Indentation = 4; - writer.Formatting = Formatting.Indented; - - // Starts a new document - writer.WriteStartDocument(); - writer.WriteStartElement("group"); - - writer.WriteComment("Platform information"); - writer.WriteElementString("platformname", m_ProjectController.Project.Platform.Name); - writer.WriteElementString("platformdescription", m_ProjectController.Project.Platform.Description); - - writer.WriteComment("Default applications"); - - if (m_ProjectController.Project.Platform.Shell != null) - { - writer.WriteElementString("platformshell", m_ProjectController.Project.Platform.Shell.Name); - } - - if (m_ProjectController.Project.Platform.Screensaver != null) - { - writer.WriteElementString("platformscreensaver", m_ProjectController.Project.Platform.Screensaver.Name); - } - - if (m_ProjectController.Project.Platform.Wallpaper != null) - { - writer.WriteElementString("platformwallpaper", m_ProjectController.Project.Platform.Wallpaper.ID); - } - - writer.WriteComment("Modules incuded in the platform"); - foreach (RBuildModule module in m_ProjectController.Project.Platform.Modules) - { - writer.WriteElementString("platformmodule", module.Name); - } - - writer.WriteComment("Languages incuded in the platform"); - foreach (RBuildLanguage language in m_ProjectController.Project.Platform.Languages) - { - writer.WriteElementString("platformlanguage", language.Name); - } - - writer.WriteComment("Debug Channels incuded in the platform"); - foreach (RBuildDebugChannel debugChannel in m_ProjectController.Project.Platform.DebugChannels) - { - writer.WriteElementString("platformdebugchhanel", debugChannel.Name); - } - - writer.WriteComment("Platform RBuild Properties"); - writer.WriteComment("Properties"); - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "SARCH"); - writer.WriteAttributeString("value", ""); - writer.WriteEndElement(); - - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "OARCH"); - writer.WriteAttributeString("value", "pentium"); - writer.WriteEndElement(); - - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "OPTIMIZE"); - writer.WriteAttributeString("value", ((int)m_ProjectController.SysGenProject.OptimizeLevel).ToString()); - writer.WriteEndElement(); - - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "KDBG"); - writer.WriteAttributeString("value", m_ProjectController.SysGenProject.KDebug ? "1" : "0"); - writer.WriteEndElement(); - - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "DBG"); - writer.WriteAttributeString("value", m_ProjectController.SysGenProject.Debug ? "1" : "0"); - writer.WriteEndElement(); - - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "GDB"); - writer.WriteAttributeString("value", m_ProjectController.SysGenProject.GDB ? "1" : "0"); - writer.WriteEndElement(); - - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "NSWPAT"); - writer.WriteAttributeString("value", m_ProjectController.SysGenProject.NSWPAT ? "1" : "0"); - writer.WriteEndElement(); - - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", "_WINKD_"); - writer.WriteAttributeString("value", m_ProjectController.SysGenProject.WINKD ? "1" : "0"); - writer.WriteEndElement(); - - writer.WriteEndElement(); - writer.WriteEndDocument(); - // } - } - } - - private void newToolStripButton_Click(object sender, EventArgs e) - { - m_ProjectController.New(); - } - - private void addFiltersToolStripMenuItem_Click(object sender, EventArgs e) - { - using (NewItemForm newItem = new NewItemForm()) - { - foreach (ModuleFilter filter in ModuleFilterController.ModuleFilters) - { - newItem.ListView.Items.Add(new ModuleFiltersNewItemListViewItem(this, filter)); - } - - if (newItem.ShowDialog() == DialogResult.OK) - { - foreach (ListViewItem lvItem in newItem.ListView.SelectedItems) - { - NewItemListViewItem item = lvItem as NewItemListViewItem; - - if (item != null) - item.Apply(); - } - } - } - } - - private void addLanguagesToolStripMenuItem_Click(object sender, EventArgs e) - { - using (NewItemForm newItem = new NewItemForm()) - { - foreach (RBuildLanguage language in m_ProjectController.Project.Languages) - { - newItem.ListView.Items.Add(new LanguageNewItemListViewItem(this, language)); - } - - if (newItem.ShowDialog() == DialogResult.OK) - { - foreach (ListViewItem lvItem in newItem.ListView.SelectedItems) - { - NewItemListViewItem item = lvItem as NewItemListViewItem; - - if (item != null) - item.Apply(); - } - } - } - } - - private void addDebToolStripMenuItem_Click(object sender, EventArgs e) - { - using (NewItemForm newItem = new NewItemForm()) - { - foreach (RBuildDebugChannel channel in m_ProjectController.Project.DebugChannels) - { - newItem.ListView.Items.Add(new DebugChannelNewItemListViewItem(this, channel)); - } - - if (newItem.ShowDialog() == DialogResult.OK) - { - foreach (ListViewItem lvItem in newItem.ListView.SelectedItems) - { - NewItemListViewItem item = lvItem as NewItemListViewItem; - - if (item != null) - item.Apply(); - } - } - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/MainForm.resx b/reactos/tools/sysgen/RosBuilder/MainForm.resx deleted file mode 100644 index 222877d4dd7..00000000000 --- a/reactos/tools/sysgen/RosBuilder/MainForm.resx +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - 127, 17 - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAQ9JREFUOE+t09lq - wkAUBmBfyr5DfY32jaReSOmFCyKCgkKLFrVUBZeKiEbshqRuaNw1xiXmLxMJBJ0Zc+GBw9zMfDPnHMZm - u1ZE35s4zXCqjmC8Al+sgHLjD9y7yGFWPIbecOO45yORtMAEHnxxJHL1IyKI9JeEXqtMwOl50Q8bSS0l - 8PzBBPbqAQQxICrgjeapgKZpkJUdBmNZB+y3d/QSnsIZKrDdqZjMFYj9OR9wB1NngHrQsJC36EkrfIkT - PuDyJ84AZbOHNF2j1Z2h9i3xAVKfOUjjZssN2oMFmq0xSkLfOmBu3E97iurnENlKxzpgbpzwO0Kh1kOy - KFoDjHmzVuYYjRmTDZfyWh9Yd/4B2Mz2w1z7EGUAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I - k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC - TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p - AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0 - BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr - UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG - CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5 - F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS - rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt - NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp - 59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAixJREFUOE+tk91L - k3EUx/cvdN9N0EW3NTWGa7EaPOUcyqphWBG9PZEv5dJlmqhYmUYtXyBb4dJJy+kknFT4BqZIjaFMJUsz - V7TEoabYRDD49ju/6Pm1Mi+iH5zLz+c855zvo1L9j/fsaRRUvvZltHmX8Ni9gMaGCO47ZlBb8wn22yHc - KJ9CackECgteIy93FBfOB6H0JrC3B6ipXsVGb2V1Dca0XhxOe8JLEXhbF7mgsuLLX3mCIwsr2G1+DrVa - huWQRwjcj+a5oLTk87qCn/D78CLiTD4UXJ7GAXOTEDjrZ7ngku3dH4Jf4ZHJCLZJXlhzxpGa4hSCurth - LsjOGo0R/A4PBsPYrHdDlgMwmRxCUF31kQvkMwFFsB7c4/+ATYkNOHL0BZKSaoXgZuU0urvATgkcP/kK - lmMDfNu0MJqZPps6/4D7cNDSCUmyC8HVskl0+MAyADS5vrG7f0X59Tm+VFoYzZyZEVTg5NR2GAwVQnCl - cByeZuChc40FJwpjek5MmU/YkH6uiHdOTmHwfg/0+jIhsOWNMRiouhPlnUnAQoI4rYSht7MYm5qDnHsN - e41tHNbucUGnKxICiqXjHpTPJgHBZ/Nv4U1oHqGZJVwstiNe72JwI+J3PYA2MV8IMjOG2dzLfOatBg+2 - 7JDQ0tEPX9cguvv8GHg5hH0mC9S6eiQweLumDhqNVQgo06dP9fN4UsIoJHRnOhVtmxZGM1NXKoJ3JmTH - Cv71r/4OTrQ4xWMwWlcAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAYdJREFUOE+t001L - QlEQBuB+TdCmRVEJRRIWtRAUlKsQhFmkpZQtIiWyAlMwP5KkXS0shLqGFkgoFqWQmaRR2qIvU7FMwWhd - 8JZXkFx0uVGzOcNh5jkDw6mr+++4SN7B6fbju/uQecYm6a25+/Hdl2IJptWNmmJyL4DwWZwZUJbtayT8 - RxGqIV8oQaaaRfrxkTmw4z2G+WuKbC6PYDgOkUSJp6ccc+AgdI4luwPbHh/UCxb0S0aZN5fHTmefMTVv - wfDEHIiBMegMpt8BZUShNoGQTIKQGxA8TTIHMoUPGF1vEOvTWHTcgqeJQahNwLqVQiRRpIdS+XcM2l4h - 1t2DI3WAP7oGoSYE3kwSPQofljcqm/kxjK4SCH0OXSMetItsUC26wZuOVptYhI0eEOuz1YI2gZnKBdpr - 6iR9V2jkKOkBQpeiCryhFFr4eioft16iU7qNho4h1Dc00QOqlRuwpSSa+UawuZXdByIZsPoUaOmWwrUf - owcOozlwZeto7ZXDuXvCfHV/+dGfqqrf44qgu28AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAeJJREFUOE+lk9FP - klEYxv1TSsecde0f0FpZrTbbal7URVvZuuJCr7pq2WzLNWy0iSHNwtIB9qG0ltLSYRJpBomUgZPMGSyU - 8SmJIOiv7zssCdrAzXd77s77e5/nnPdUVR20HBPfUCWNB4QsI176HB8IL/9iX2y1ubTMwx6utz0nuLhc - GWIfCxT153Z26ep/g9Md4FJLZ2WIZdQnAM4QSJ/BH5Z5aH6NNCljm0hgdSV4MppAPxQXCq5kil31OTx7 - DjLbOeSNNJFYUgBKq31glfpmN76F9QLEZHOJc73ubXQjMreln7Q+DdP/du0/QIsxhmNK5mjTMJ/m43mI - Qcmr5t5MZVlNpFiKrPM1vIbpVVQAOqSckF+ZekUX5UjTS+ouDFLb+CwPUPNupbN7k7WmEDcMX3hgXSpy - IP/OsrCyhXtuA6M0g+bc4wJATqaZ/x7DF4zg8f9g/OMibb355701kERriHL5fojzd2aFjNI0mjPdBUD9 - 6auUqlU/KwBZJV4skWUuvMmYV8b+Ls6jQQ81DfryO3KtfUoA/p3810G37T3VJ3TlARdvukhldjANeemx - z2B8MS0mq80GyySHj98rD2jQOpXbtgrVNprRnO2h5lQX1Sc7leYODh27W3nN9/WZDnroDx0A5wwhdtmt - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlBJREFUOE+1k1lI - lGEUhn/owm6KFuqqq4LoJooIqouMwixMM4zEjKyJGJUSlcnSITU1RSe3SdPGyGVQc6tEUSkSIXFo13CM - FonUyGmy5p9xz+Lp/z8ZbGjzpgMv5+a8z1n4Pkn6H9HZnEH7zVQayxKYF7+hMg+3ynKO4LBVMWa7xmBf - Nme1vuSl67hi0GNMj/sVqBon5XqmnXVMOqoxF+sYH6kgJyWKF13xnD/tT7xmM7bOY4y0riY6bL8nRAWo - 5mlnDUUZR+m2ZCO/L2C4T89bywmaSgIJD/WmKnEVT/MkIg/v8wTUVeTMAuQbGBLDSNaFoI8K5lxkEDpt - IDEafyJCfciPXiMAIX7enoDqUgNTci1TdhPjQ5nYn0dhrVgu1Fu+jO7iRTwyegmzKp9tGz0BZlMGE/Yy - JgbSGH95irFnB5GbF5Nb3kqmqZELl2uJN5iJSS0hPMFIWGyWJ6C0MJXRQSNjfVpGH/vjur+Jj7dXCLM7 - pme+4XBOMjDsIDgihYDj+jlISW4S8qs0XA99cXWsx9m2ksFySXRWo/RWp5Cppp3efpsw3+2ysidIMwsp - zErgc88ZnO3rkFuWYq/3ov+6JMb+OvOdLy6l8wcHvW9sWHre4Rcag69i3rX3AN7bdyDlX4zD/iBCMS/h - U8NChioXYC2SiFZ2Vsd2T3BVmaDA3EZTh1VkVVs3rEW6lBwrHoj7yu6sVQ72c+d7ltfCXH+nm5rWJ3MA - dY3cpJPKCwtEE7SbgJ1bBFm9trqzu9vvspjgT3FIubZa8C/N67P9regHTvjvLQ3rR38AAAAASUVORK5C - YII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAhhJREFUOE+1U09r - E0EU70fIR9iPUBQ8eMrR46IN5JhCDz2oBA8SBHEpCMFgG5GiwdJdq2Ijqe6ldo3Wrmhri0gXazW2YbMt - UdNmm45ulf7R/HwzU1hLIzn54LFvhvn9eW9nOjr+R0wvBLhTXEf6bgV9w0sYLJQx/uoz2mq9c7eRn2pA - L67Bq+/i29YeWLBL9Q6u5ktI6w6Kr1dbE3HwA3sT/o8mbAfQRgE1LZPXtsPgbjZxaXAG4y/Kh0m48sbP - JgwbiKYAwwLYNkR4DEje5HsMFSI5l3l2kGD6/RYezzeEMgfzwzzMWSCRlV9OFk0xqhl06wNy+Tchyb2n - dXxhv4TVaFLazppAJ9VKL0MySxYoVI0hkXaw5AbovjAWEmTur4qBqZoEdfbKVCgTBObqdolBUW0ocRs1 - P8Cx2PWQ4PJtl6a9J+xLIB1OMHIilU2b1gSMqCZ9TdTq33FEHQgJcg8rWPF3qHcJVOKeyOyoJIioDqUk - UFM2SuUqus4YIcHEzFdYji8GxIGROAc41JJHc6E1B58wRRqWhzFrEVduTR78E5mRBSz7v0l1H0AgXgsH - +2DNcPBp3cep0/rhezA5V0Vfbg5ug+4CqaiaI/rmyWu+t1zdQIysDxdmW9/GiZcVnO+fgvHkI+YXV7BG - 067VA9Ezt91Fyvq/wH8/lKHCW/RcfITj8Rs4evIaYmdHkBl63v4xtX1tLQ78AZ3a8qxOv4hDAAAAAElF - TkSuQmCC - - - - 226, 17 - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAQ9JREFUOE+t09lq - wkAUBmBfyr5DfY32jaReSOmFCyKCgkKLFrVUBZeKiEbshqRuaNw1xiXmLxMJBJ0Zc+GBw9zMfDPnHMZm - u1ZE35s4zXCqjmC8Al+sgHLjD9y7yGFWPIbecOO45yORtMAEHnxxJHL1IyKI9JeEXqtMwOl50Q8bSS0l - 8PzBBPbqAQQxICrgjeapgKZpkJUdBmNZB+y3d/QSnsIZKrDdqZjMFYj9OR9wB1NngHrQsJC36EkrfIkT - PuDyJ84AZbOHNF2j1Z2h9i3xAVKfOUjjZssN2oMFmq0xSkLfOmBu3E97iurnENlKxzpgbpzwO0Kh1kOy - KFoDjHmzVuYYjRmTDZfyWh9Yd/4B2Mz2w1z7EGUAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I - k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC - TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p - AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0 - BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr - UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG - CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5 - F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS - rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt - NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp - 59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAixJREFUOE+tk91L - k3EUx/cvdN9N0EW3NTWGa7EaPOUcyqphWBG9PZEv5dJlmqhYmUYtXyBb4dJJy+kknFT4BqZIjaFMJUsz - V7TEoabYRDD49ju/6Pm1Mi+iH5zLz+c855zvo1L9j/fsaRRUvvZltHmX8Ni9gMaGCO47ZlBb8wn22yHc - KJ9CackECgteIy93FBfOB6H0JrC3B6ipXsVGb2V1Dca0XhxOe8JLEXhbF7mgsuLLX3mCIwsr2G1+DrVa - huWQRwjcj+a5oLTk87qCn/D78CLiTD4UXJ7GAXOTEDjrZ7ngku3dH4Jf4ZHJCLZJXlhzxpGa4hSCurth - LsjOGo0R/A4PBsPYrHdDlgMwmRxCUF31kQvkMwFFsB7c4/+ATYkNOHL0BZKSaoXgZuU0urvATgkcP/kK - lmMDfNu0MJqZPps6/4D7cNDSCUmyC8HVskl0+MAyADS5vrG7f0X59Tm+VFoYzZyZEVTg5NR2GAwVQnCl - cByeZuChc40FJwpjek5MmU/YkH6uiHdOTmHwfg/0+jIhsOWNMRiouhPlnUnAQoI4rYSht7MYm5qDnHsN - e41tHNbucUGnKxICiqXjHpTPJgHBZ/Nv4U1oHqGZJVwstiNe72JwI+J3PYA2MV8IMjOG2dzLfOatBg+2 - 7JDQ0tEPX9cguvv8GHg5hH0mC9S6eiQweLumDhqNVQgo06dP9fN4UsIoJHRnOhVtmxZGM1NXKoJ3JmTH - Cv71r/4OTrQ4xWMwWlcAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAi1JREFUOE+1k/9P - UlEYxv2nWK2tVlttGmpltrCcEQ1XUjSMaUHJNLIpNcnCragplBvUoC/okJhZLG92ySUpU8RNICdIhAio - EF+e7r1UZMDW1jrb+8t7z/N83vucc8rK/sdyeYIwvpopWYbRaZTk0uIx0o0/V/JbGt7lVTwxT6CKKylt - oLd8xGYihS/hKGz2WaaeWUnoTATsMz7UCztx9Ex7cYN3jkUQU4tb4DR5LZaAcyEAg4VE5YlLMFmJQoNQ - JA61gUA6k4XPH9pCN9s+gZz2oq5Jjlq+DDfUz3Fba86bOGY9jHiUdDF0mvqT7A/F4fKEcE9nZf5d1jOI - B4ZxVJ2U5gyc8z70akegMX3AXb0ND1+8R6/GgvZbeog61OA2K3CA2lxR34JjZ69B2T8EsVyN/Q0XcwY3 - B14iGk8UpE43UukMNqhA6QyC4Q0srcQg7dagsbWHmuDHScj7jDC9nsJTqx0a4xjuaIfRqXoMSXc/hG0q - 8C4owGnqwEGeFOXHxThH9eoEV7G7VpiboE2pK0qnm9H1JLz+NUzOBfHWEcAQsQSuqAuVDa1gVZzKGUgU - jwoMqAzxNZbC3Od1jDvDYPdth+7NCpP8Yf4V7KoR5A1arg8gmQIoGMLxLJYjWSwEMphwb2J4MoZB2yqU - LBZUIxHGYB9HlBfTE4jl9+GmBPTHv6lfo//+GGoaZajmXQabumXl1HHt5TRjz5Hz2HlIgB3Vp7GNzWeo - RcX/+pq/AwHYL0leVl8fAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAY5JREFUOE+d081L - AkEUAPD1T+hYhzoERV77OHUo8JBBt+4RRkSQ4U0SunaJOkSRKQWZWCiF5kdroa0WRAoRFXXoEEkWCUFY - Wbvrvnqz7NK6OxANPIZh5v1m3uyOKZK5AaamiaLICILACDzPtDXXM+3mRlPtGnWMAK15g4fQabVBYDej - 20QFdtJXVGBxg4Xk8aWMRDhjJLh/TgUW1hPQ1T+ihmEZgXieCghiFRBRIEPAFzkxBO4fSsByOfBsRkkE - 4xkoFEv6Mla3szoAF2Jy+E2A0KMc/nyRINe3BS2yspXSAf4YR5Kfq/LUE1QJopxEU8qSP6kD5nwxFUAE - A0E8hdM1rz0BXtDvhheHwMEnwKkkJ2OPAJMuw+TUDB2QJAneKzxgCRNnHwTBUJJd3ijYx8fowBcvwstr - BXIXdxBOZAmCu2JgssMxBGvOOmNA+d5KP+sJw17qiJRjn3bDwOAocF4LQMWtRTABf9W/hLWjFcpsA0Fc - tm76+6C+vJ+J4b4WgmAp/0bMTXVg6ekFNrQM3y3xMcC3lb+tAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAYdJREFUOE+t001L - QlEQBuB+TdCmRVEJRRIWtRAUlKsQhFmkpZQtIiWyAlMwP5KkXS0shLqGFkgoFqWQmaRR2qIvU7FMwWhd - 8JZXkFx0uVGzOcNh5jkDw6mr+++4SN7B6fbju/uQecYm6a25+/Hdl2IJptWNmmJyL4DwWZwZUJbtayT8 - RxGqIV8oQaaaRfrxkTmw4z2G+WuKbC6PYDgOkUSJp6ccc+AgdI4luwPbHh/UCxb0S0aZN5fHTmefMTVv - wfDEHIiBMegMpt8BZUShNoGQTIKQGxA8TTIHMoUPGF1vEOvTWHTcgqeJQahNwLqVQiRRpIdS+XcM2l4h - 1t2DI3WAP7oGoSYE3kwSPQofljcqm/kxjK4SCH0OXSMetItsUC26wZuOVptYhI0eEOuz1YI2gZnKBdpr - 6iR9V2jkKOkBQpeiCryhFFr4eioft16iU7qNho4h1Dc00QOqlRuwpSSa+UawuZXdByIZsPoUaOmWwrUf - owcOozlwZeto7ZXDuXvCfHV/+dGfqqrf44qgu28AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAeJJREFUOE+lk9FP - klEYxv1TSsecde0f0FpZrTbbal7URVvZuuJCr7pq2WzLNWy0iSHNwtIB9qG0ltLSYRJpBomUgZPMGSyU - 8SmJIOiv7zssCdrAzXd77s77e5/nnPdUVR20HBPfUCWNB4QsI176HB8IL/9iX2y1ubTMwx6utz0nuLhc - GWIfCxT153Z26ep/g9Md4FJLZ2WIZdQnAM4QSJ/BH5Z5aH6NNCljm0hgdSV4MppAPxQXCq5kil31OTx7 - DjLbOeSNNJFYUgBKq31glfpmN76F9QLEZHOJc73ubXQjMreln7Q+DdP/du0/QIsxhmNK5mjTMJ/m43mI - Qcmr5t5MZVlNpFiKrPM1vIbpVVQAOqSckF+ZekUX5UjTS+ouDFLb+CwPUPNupbN7k7WmEDcMX3hgXSpy - IP/OsrCyhXtuA6M0g+bc4wJATqaZ/x7DF4zg8f9g/OMibb355701kERriHL5fojzd2aFjNI0mjPdBUD9 - 6auUqlU/KwBZJV4skWUuvMmYV8b+Ls6jQQ81DfryO3KtfUoA/p3810G37T3VJ3TlARdvukhldjANeemx - z2B8MS0mq80GyySHj98rD2jQOpXbtgrVNprRnO2h5lQX1Sc7leYODh27W3nN9/WZDnroDx0A5wwhdtmt - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlBJREFUOE+1k1lI - lGEUhn/owm6KFuqqq4LoJooIqouMwixMM4zEjKyJGJUSlcnSITU1RSe3SdPGyGVQc6tEUSkSIXFo13CM - FonUyGmy5p9xz+Lp/z8ZbGjzpgMv5+a8z1n4Pkn6H9HZnEH7zVQayxKYF7+hMg+3ynKO4LBVMWa7xmBf - Nme1vuSl67hi0GNMj/sVqBon5XqmnXVMOqoxF+sYH6kgJyWKF13xnD/tT7xmM7bOY4y0riY6bL8nRAWo - 5mlnDUUZR+m2ZCO/L2C4T89bywmaSgIJD/WmKnEVT/MkIg/v8wTUVeTMAuQbGBLDSNaFoI8K5lxkEDpt - IDEafyJCfciPXiMAIX7enoDqUgNTci1TdhPjQ5nYn0dhrVgu1Fu+jO7iRTwyegmzKp9tGz0BZlMGE/Yy - JgbSGH95irFnB5GbF5Nb3kqmqZELl2uJN5iJSS0hPMFIWGyWJ6C0MJXRQSNjfVpGH/vjur+Jj7dXCLM7 - pme+4XBOMjDsIDgihYDj+jlISW4S8qs0XA99cXWsx9m2ksFySXRWo/RWp5Cppp3efpsw3+2ysidIMwsp - zErgc88ZnO3rkFuWYq/3ov+6JMb+OvOdLy6l8wcHvW9sWHre4Rcag69i3rX3AN7bdyDlX4zD/iBCMS/h - U8NChioXYC2SiFZ2Vsd2T3BVmaDA3EZTh1VkVVs3rEW6lBwrHoj7yu6sVQ72c+d7ltfCXH+nm5rWJ3MA - dY3cpJPKCwtEE7SbgJ1bBFm9trqzu9vvspjgT3FIubZa8C/N67P9regHTvjvLQ3rR38AAAAASUVORK5C - YII= - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/ModuleFilter.cs b/reactos/tools/sysgen/RosBuilder/ModuleFilter.cs deleted file mode 100644 index 0853aeec8a1..00000000000 --- a/reactos/tools/sysgen/RosBuilder/ModuleFilter.cs +++ /dev/null @@ -1,295 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.BuildEngine; -using SysGen.BuildEngine.Framework; -using SysGen.RBuild.Framework; - -namespace TriStateTreeViewDemo -{ - public class ModuleFilterController - { - private List m_ModuleFilters = new List(); - private ISysGenDesigner m_SysGenDesigner = null; - - public ModuleFilterController(ISysGenDesigner engine) - { - //The engine... - m_SysGenDesigner = engine; - - RegisterDinamicFilters(); - RegisterModuleGroups(); - InitializeFilters(); - } - - private void RegisterDinamicFilters() - { - m_ModuleFilters.Add(new AllModuleFilter()); - m_ModuleFilters.Add(new AllWin32CUIModuleFilter()); - m_ModuleFilters.Add(new AllWin32GUIModuleFilter()); - m_ModuleFilters.Add(new AllScreenSaversModuleFilter()); - m_ModuleFilters.Add(new AllKeyboardLayoutsModuleFilter()); - m_ModuleFilters.Add(new AllDriversModuleFilter()); - m_ModuleFilters.Add(new AllDllsModuleFilter()); - } - - private void RegisterModuleGroups() - { - foreach (RBuildModule module in m_SysGenDesigner.ProjectController.AvailableModules) - { - if (module.Type == ModuleType.ModuleGroup) - { - m_ModuleFilters.Add(new PackageModuleFilter(module)); - } - } - } - - private void InitializeFilters() - { - foreach (ModuleFilter filter in m_ModuleFilters) - { - filter.Designer = m_SysGenDesigner; - filter.Initialize(); - } - } - - public List ModuleFilters - { - get { return m_ModuleFilters; } - } - - public void Apply(ModuleFilter filter) - { - m_SysGenDesigner.ProjectController.Add(filter.Modules); - } - - public void Remove(ModuleFilter filter) - { - //m_SysGenDesigner.PlatformController.Remove(filter.Modules); - } - } - - public abstract class ModuleFilter - { - protected ISysGenDesigner m_Project = null; - protected RBuildModuleCollection m_Modules = new RBuildModuleCollection(); - - public ModuleFilter() - { - } - - public virtual void Initialize() - { - ExecuteRule(); - } - - public abstract void ExecuteRule(); - - public RBuildModuleCollection Modules - { - get { return m_Modules; } - } - - public ISysGenDesigner Designer - { - get { return m_Project; } - set { m_Project = value; } - } - - public abstract string Name { get; } - - public override string ToString() - { - return string.Format("{0} - ({1} modules)", - Name, - Modules.Count); - } - } - - public class PackageModuleFilter : ModuleFilter - { - RBuildModule m_Module = null; - - public PackageModuleFilter(RBuildModule module) - { - //Save the underlaying module... - m_Module = module; - } - - public override string Name - { - get { return (m_Module.Description != null) ? m_Module.Description : m_Module.Name; } - } - - public override void ExecuteRule() - { - Modules.Add(m_Module.Needs); - } - } - - public class AllModuleFilter : ModuleFilter - { - public AllModuleFilter() - { - } - - public override string Name - { - get { return "All"; } - } - - public override void ExecuteRule() - { - foreach (RBuildModule module in Designer.ProjectController.AvailableModules) - { - if (Modules.Contains(module) == false) - Modules.Add(module); - } - } - } - - public class AllWin32CUIModuleFilter : ModuleFilter - { - public AllWin32CUIModuleFilter() - { - } - - public override string Name - { - get { return "All Console Applications"; } - } - - public override void ExecuteRule() - { - foreach (RBuildModule module in Designer.ProjectController.AvailableModules) - { - if (module.Type == ModuleType.Win32CUI) - { - if (Modules.Contains(module) == false) - Modules.Add(module); - } - } - } - } - - public class AllWin32GUIModuleFilter : ModuleFilter - { - public AllWin32GUIModuleFilter() - { - } - - public override string Name - { - get { return "All Graphical Applications"; } - } - - public override void ExecuteRule() - { - foreach (RBuildModule module in Designer.ProjectController.AvailableModules) - { - if (module.Type == ModuleType.Win32GUI) - { - if (Modules.Contains(module) == false) - Modules.Add(module); - } - } - } - } - - public class AllScreenSaversModuleFilter : ModuleFilter - { - public AllScreenSaversModuleFilter() - { - } - - public override string Name - { - get { return "All ScreenSavers"; } - } - - public override void ExecuteRule() - { - foreach (RBuildModule module in Designer.ProjectController.AvailableModules) - { - if (module.Type == ModuleType.Win32SCR) - { - if (Modules.Contains(module) == false) - Modules.Add(module); - } - } - } - } - - public class AllKeyboardLayoutsModuleFilter : ModuleFilter - { - public AllKeyboardLayoutsModuleFilter() - { - } - - public override string Name - { - get { return "All Keyboard Layouts"; } - } - - public override void ExecuteRule() - { - foreach (RBuildModule module in Designer.ProjectController.AvailableModules) - { - if (module.Type == ModuleType.KeyboardLayout) - { - if (Modules.Contains(module) == false) - Modules.Add(module); - } - } - } - } - - public class AllDriversModuleFilter : ModuleFilter - { - public AllDriversModuleFilter() - { - } - - public override string Name - { - get { return "All Drivers"; } - } - - public override void ExecuteRule() - { - foreach (RBuildModule module in Designer.ProjectController.AvailableModules) - { - if (module.Type == ModuleType.KernelModeDriver) - { - if (Modules.Contains(module) == false) - Modules.Add(module); - } - } - } - } - - public class AllDllsModuleFilter : ModuleFilter - { - public AllDllsModuleFilter() - { - } - - public override string Name - { - get { return "All Dlls"; } - } - - public override void ExecuteRule() - { - foreach (RBuildModule module in Designer.ProjectController.AvailableModules) - { - if (module.Type == ModuleType.Win32DLL) - { - if (Modules.Contains(module) == false) - Modules.Add(module); - } - } - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/NewItemForm.Designer.cs b/reactos/tools/sysgen/RosBuilder/NewItemForm.Designer.cs deleted file mode 100644 index 81bcb58e30d..00000000000 --- a/reactos/tools/sysgen/RosBuilder/NewItemForm.Designer.cs +++ /dev/null @@ -1,135 +0,0 @@ -namespace TriStateTreeViewDemo -{ - partial class NewItemForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.lbItems = new System.Windows.Forms.Label(); - this.lvAddItem = new System.Windows.Forms.ListView(); - this.btnAdd = new System.Windows.Forms.Button(); - this.btnCancel = new System.Windows.Forms.Button(); - this.lbDescription = new System.Windows.Forms.Label(); - this.lbName = new System.Windows.Forms.Label(); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.SuspendLayout(); - // - // lbItems - // - this.lbItems.AutoSize = true; - this.lbItems.Location = new System.Drawing.Point(12, 24); - this.lbItems.Name = "lbItems"; - this.lbItems.Size = new System.Drawing.Size(78, 13); - this.lbItems.TabIndex = 0; - this.lbItems.Text = "Available Items"; - // - // lvAddItem - // - this.lvAddItem.Location = new System.Drawing.Point(12, 40); - this.lvAddItem.Name = "lvAddItem"; - this.lvAddItem.Size = new System.Drawing.Size(583, 236); - this.lvAddItem.TabIndex = 1; - this.lvAddItem.UseCompatibleStateImageBehavior = false; - this.lvAddItem.View = System.Windows.Forms.View.List; - this.lvAddItem.DoubleClick += new System.EventHandler(this.lvAddItem_DoubleClick); - // - // btnAdd - // - this.btnAdd.DialogResult = System.Windows.Forms.DialogResult.OK; - this.btnAdd.Location = new System.Drawing.Point(439, 348); - this.btnAdd.Name = "btnAdd"; - this.btnAdd.Size = new System.Drawing.Size(75, 23); - this.btnAdd.TabIndex = 2; - this.btnAdd.Text = "Add"; - this.btnAdd.UseVisualStyleBackColor = true; - // - // btnCancel - // - this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.btnCancel.Location = new System.Drawing.Point(520, 348); - this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(75, 23); - this.btnCancel.TabIndex = 3; - this.btnCancel.Text = "Cancel"; - this.btnCancel.UseVisualStyleBackColor = true; - // - // lbDescription - // - this.lbDescription.AutoSize = true; - this.lbDescription.Location = new System.Drawing.Point(12, 279); - this.lbDescription.Name = "lbDescription"; - this.lbDescription.Size = new System.Drawing.Size(79, 13); - this.lbDescription.TabIndex = 4; - this.lbDescription.Text = "Select any item"; - // - // lbName - // - this.lbName.AutoSize = true; - this.lbName.Location = new System.Drawing.Point(9, 308); - this.lbName.Name = "lbName"; - this.lbName.Size = new System.Drawing.Size(35, 13); - this.lbName.TabIndex = 5; - this.lbName.Text = "&Name"; - // - // textBox1 - // - this.textBox1.Location = new System.Drawing.Point(53, 305); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(542, 20); - this.textBox1.TabIndex = 6; - // - // NewItemForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(607, 383); - this.Controls.Add(this.textBox1); - this.Controls.Add(this.lbName); - this.Controls.Add(this.lbDescription); - this.Controls.Add(this.btnCancel); - this.Controls.Add(this.btnAdd); - this.Controls.Add(this.lvAddItem); - this.Controls.Add(this.lbItems); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "NewItemForm"; - this.Text = "Add Item"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Label lbItems; - private System.Windows.Forms.ListView lvAddItem; - private System.Windows.Forms.Button btnAdd; - private System.Windows.Forms.Button btnCancel; - private System.Windows.Forms.Label lbDescription; - private System.Windows.Forms.Label lbName; - private System.Windows.Forms.TextBox textBox1; - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/NewItemForm.cs b/reactos/tools/sysgen/RosBuilder/NewItemForm.cs deleted file mode 100644 index 4101b0c988c..00000000000 --- a/reactos/tools/sysgen/RosBuilder/NewItemForm.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; - -namespace TriStateTreeViewDemo -{ - public partial class NewItemForm : Form - { - public NewItemForm() - { - InitializeComponent(); - } - - public ListView ListView - { - get { return lvAddItem; } - } - - private void lvAddItem_DoubleClick(object sender, EventArgs e) - { - DialogResult = DialogResult.OK; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/NewItemForm.resx b/reactos/tools/sysgen/RosBuilder/NewItemForm.resx deleted file mode 100644 index 19dc0dd8b39..00000000000 --- a/reactos/tools/sysgen/RosBuilder/NewItemForm.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/PlatformCatalogReader.cs b/reactos/tools/sysgen/RosBuilder/PlatformCatalogReader.cs deleted file mode 100644 index 7a847340622..00000000000 --- a/reactos/tools/sysgen/RosBuilder/PlatformCatalogReader.cs +++ /dev/null @@ -1,206 +0,0 @@ -using System; -using System.Collections; -using System.Diagnostics; -using System.Text; -using System.Xml; -using System.Collections.Generic; - -using SysGen.RBuild.Framework; - -namespace SysGen.Framework.Catalog -{ - public class PlatformCatalogReader - { - XmlDocument doc = new XmlDocument(); - - RBuildProject m_Project = new RBuildProject(); - - public PlatformCatalogReader(string filename) - { - doc.Load(filename); - } - - public RBuildProject Project - { - get { return m_Project; } - } - - public void Read() - { - - foreach (XmlNode node in doc.SelectSingleNode("/catalog/modules").ChildNodes) - { - RBuildModule module = new RBuildModule(); - - module.Type = (ModuleType)Enum.Parse(typeof(ModuleType), node.Attributes["type"].Value.ToString()); - module.Name = node.Attributes["name"].Value.ToString(); - module.Folder.Base = node.Attributes["base"].Value.ToString(); - module.CatalogPath = node.Attributes["path"].Value.ToString(); - module.Description = node.Attributes["desc"].Value.ToString(); - - m_Project.Modules.Add(module); - } - - foreach (XmlNode node in doc.SelectSingleNode("/catalog/modules").ChildNodes) - { - RBuildModule module = m_Project.Modules.GetByName(node.Attributes["name"].Value.ToString()); - - foreach (XmlNode snode in node.SelectSingleNode("libraries").ChildNodes) - { - module.Libraries.Add(m_Project.Modules.GetByName(snode.InnerText)); - } - - foreach (XmlNode snode in node.SelectSingleNode("dependencies").ChildNodes) - { - module.Dependencies.Add(m_Project.Modules.GetByName(snode.InnerText)); - } - - foreach (XmlNode snode in node.SelectSingleNode("requeriments").ChildNodes) - { - module.Requeriments.Add(m_Project.Modules.GetByName(snode.InnerText)); - } - } - - foreach (XmlNode node in doc.SelectSingleNode("/catalog/languages").ChildNodes) - { - RBuildLanguage language = new RBuildLanguage(); - - language.Name = node.Attributes["name"].Value.ToString(); - - m_Project.Languages.Add(language); - } - - foreach (XmlNode node in doc.SelectSingleNode("/catalog/debugchannels").ChildNodes) - { - RBuildDebugChannel language = new RBuildDebugChannel(); - - language.Name = node.Attributes["name"].Value.ToString(); - - m_Project.DebugChannels.Add(language); - } - - /* - RBuildModuleInfoCollection modules = new RBuildModuleInfoCollection(); - - - WhitespaceHandling = WhitespaceHandling.None; - - ReadStartElement("modules"); - while (Name == "module") - { - RBuildModuleInfo module = new RBuildModuleInfo(); - - MoveToFirstAttribute(); - do - { - switch (Name) - { - case "name": - module.Name = Value; - break; - case "type": - module.Type = (ModuleType)Enum.Parse(typeof(ModuleType), Value); - break; - case "base": - module.Base = Value; - break; - case "desc": - module.CatalogPath = Value; - break; - case "path": - module.CatalogPath = Value; - break; - } - - } - while (MoveToNextAttribute()); - - MoveToElement(); - - //Read(); - //Read(); - - if (Name == "libraries") - { - if (!IsEmptyElement) - { - ReadStartElement("libraries"); - while (Name == "library") - { - ReadStartElement("library"); - module.Libraries.Add(ReadContentAsString()); - ReadEndElement(); - } - ReadEndElement(); - } - else - ReadStartElement("libraries"); - } - - if (Name == "dependencies") - { - if (!IsEmptyElement) - { - ReadStartElement("dependencies"); - while (Name == "dependency") - { - ReadStartElement("dependency"); - module.Dependencies.Add(ReadContentAsString()); - ReadEndElement(); - } - ReadEndElement(); - } - else - ReadStartElement("dependencies"); - } - - if (Name == "requeriments") - { - if (!IsEmptyElement) - { - ReadStartElement("requeriments"); - while (Name == "requires") - { - ReadStartElement("requires"); - module.Requirements.Add(ReadContentAsString()); - ReadEndElement(); - } - ReadEndElement(); - } - else - ReadStartElement("requeriments"); - } - - modules.Add(module); - - Read(); - } - - ReadEndElement(); - - foreach (RBuildModuleInfo moduleInfo in modules) - { - RBuildModule module = new RBuildModule(); - - module.Type = moduleInfo.Type; - module.Name = moduleInfo.Name; - - m_Modules.Add(module); - } - - foreach (RBuildModuleInfo moduleInfo in modules) - { - RBuildModule module = m_Modules.GetByName(moduleInfo.Name); - - foreach (string library in moduleInfo.Libraries) - module.Libraries.Add(m_Modules.GetByName(library)); - - foreach (string library in moduleInfo.Dependencies) - module.Dependencies.Add(m_Modules.GetByName(library)); - - foreach (string library in moduleInfo.Requirements) - module.Requeriments.Add(m_Modules.GetByName(library)); - }*/ - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/PlatformController.cs b/reactos/tools/sysgen/RosBuilder/PlatformController.cs deleted file mode 100644 index 1d710cb372f..00000000000 --- a/reactos/tools/sysgen/RosBuilder/PlatformController.cs +++ /dev/null @@ -1,86 +0,0 @@ -using System; -using System.Windows.Forms; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; - -namespace TriStateTreeViewDemo -{ - public class PlatformController - { - private ISysGenDesigner m_SysGenDesigner = null; - - public PlatformController(ISysGenDesigner engine) - { - m_SysGenDesigner = engine; - } - - public ProjectTask ProjectTask - { - get { return m_SysGenDesigner.SysGenEngine.ProjectTask; } - } - - public RBuildProject Project - { - get { return m_SysGenDesigner.SysGenEngine.Project; } - } - - public void Remove(RBuildModule module) - { - } - - public void Add(RBuildModule module) - { - SysGenDependencyTracker dependencyTracker = new SysGenDependencyTracker(module , Project.Platform.Modules); - - if (AskAddModulesToPlatform(dependencyTracker.Missing)) - { - Project.Platform.Modules.Add(dependencyTracker.Dependencies); - } - } - - public void Add(RBuildModuleCollection modules) - { - SysGenDependencyTracker dependencyTracker = new SysGenDependencyTracker(modules, Project.Platform.Modules); - - if (AskAddModulesToPlatform(dependencyTracker.Missing)) - { - Project.Platform.Modules.Add(dependencyTracker.Dependencies); - } - } - - public bool AskAddModulesToPlatform(RBuildModuleCollection missingDependencies) - { - if (missingDependencies.Count > 0) - { - StringBuilder str = new StringBuilder(); - - str.AppendFormat("This action requieres adding {0} dependecies no present in your platform :", missingDependencies.Count); - str.AppendLine(); - str.AppendLine(); - - foreach (RBuildModule dependency in missingDependencies) - { - str.AppendFormat("{0} on '{1}' \n", - dependency.Name, - dependency.Base); - } - - str.AppendLine(); - str.AppendLine("¿Do you want to add this dependencies?"); - - if (MessageBox.Show(str.ToString(), "RosBuilder", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) - { - return true; - } - } - else - return true; - - return false; - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Program.cs b/reactos/tools/sysgen/RosBuilder/Program.cs deleted file mode 100644 index 6d9cbcb5b1f..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Program.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Reflection; -using System.Collections.Generic; -using System.Windows.Forms; - -using TriStateTreeViewDemo; - -namespace TriStateTreeViewDemo -{ - static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main(string[] args) - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - - MainForm mainForm = new MainForm(); - - if (args.Length == 0) - { - //Create file associations from .dnml files to the script engine - CreateFileAssociation(); - } - else if (args[0].ToLower() == "remove") - { - //Remove file associations for .dnml files to the script engine - RemoveFileAssociation(); - } - else - { - mainForm.ProjectController.Open(args[0]); - - if (args.Length > 1) - { - if (args[1].ToLower() == "x86") - { - MessageBox.Show("86"); - } - else if (args[1].ToLower() == "ppc") - { - MessageBox.Show("ppc"); - } - else if (args[1].ToLower() == "arm") - { - MessageBox.Show("arm"); - } - else - { - MessageBox.Show("Unknown Architecture"); - } - - if (args.Length > 2) - { - if (args[2].ToLower() == "debug") - { - mainForm.ProjectController.SysGenProject.Debug = true; - } - else if (args[2].ToLower() == "release") - { - mainForm.ProjectController.SysGenProject.Debug = false; - } - else - { - MessageBox.Show("Unknown Target Mode"); - } - } - } - } - - //Run the application - Application.Run(mainForm); - } - - internal static void CreateFileAssociation() - { - FileAssociation FA = new FileAssociation(); - FA.Extension = "sgpd"; - FA.ContentType = "application/sysgenproject"; - FA.FullName = "SysGenProject"; - FA.ProperName = "SysGenProject"; - FA.AddCommand("open", "\"" + Assembly.GetExecutingAssembly().Location + "\" \" %1\""); - FA.AddCommand("edit", "notepad.exe %1"); - FA.AddCommand("Generate x86", "\"" + Assembly.GetExecutingAssembly().Location + "\" \" %1\" X86 RELEASE"); - FA.AddCommand("Generate x86 [DEBUG]", "\"" + Assembly.GetExecutingAssembly().Location + "\" \" %1\" X86 DEBUG"); - FA.IconPath = Assembly.GetExecutingAssembly().Location; - FA.IconIndex = 0; - FA.Create(); - } - - internal static void RemoveFileAssociation() - { - FileAssociation FA = new FileAssociation(); - FA.Extension = "sgpd"; - FA.ContentType = "application/sysgenproject"; - FA.FullName = "SysGenProject"; - FA.ProperName = "SysGenProject"; - FA.AddCommand("open", Assembly.GetExecutingAssembly().Location + " %1"); - FA.AddCommand("edit", "notepad.exe %1"); - FA.AddCommand("edit123", "notepad.exe %1"); - FA.IconPath = Assembly.GetExecutingAssembly().Location; - FA.IconIndex = 0; - FA.Remove(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Project/Project.cs b/reactos/tools/sysgen/RosBuilder/Project/Project.cs deleted file mode 100644 index f024dc385a5..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Project/Project.cs +++ /dev/null @@ -1,267 +0,0 @@ -using System; -using System.Collections.Specialized; -using System.Collections.Generic; -using System.Xml; -using System.Collections; -using System.IO; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace TriStateTreeViewDemo -{ - public enum TargetArchitectureType - { - X86, - X86_i486, - X86_i586, - X86_Pentium, - X86_Pentium2, - X86_Pentium3, - X86_Pentium4, - X86_AthlonXP, - X86_AthlonMP, - X86_Xbox, - PPC, - ARM - } - - public enum OptimizeLevelType : int - { - Level_0 = 0, - Level_1 = 1, - Level_2 = 2, - Level_3 = 3, - Level_4 = 4, - Level_5 = 5 - } - - public class Project : RBuildPlatform - { - RBuildProject m_Project = null; - - string m_FilePath; // full path to this project, including filename - string m_FileName = "Unnamed"; - - //MovieOptions movieOptions; - //CompilerOptions compilerOptions; - //PathCollection classpaths; - //PathCollection compileTargets; - //HiddenPathCollection hiddenPaths; - //AssetCollection libraryAssets; - bool traceEnabled; // selected configuration - - public bool NoOutput; // Disable file building - public string InputPath; // For code injection - public string OutputPath; - public string PreBuildEvent; - public string PostBuildEvent; - public string TestMovieCommand; - public bool AlwaysRunPostBuild; - public bool ShowHiddenPaths; - - public string Source; - - public Project(RBuildProject project,string path) - { - m_FilePath = path; - m_FileName = Path.GetFileName(path); - m_Project = project; - m_Project.Platform = this; - } - - public Project(RBuildProject project) - { - m_Project = project; - m_Project.Platform = this; - } - - public RBuildProject RBuildProject - { - get { return m_Project; } - } - - public virtual bool UsesInjection { get { return false; } } - public virtual bool HasLibraries { get { return false; } } - public virtual void ValidateBuild(out string error) { error = null; } - - #region Simple Properties - - public string ProjectPath { get { return m_FilePath; } set { m_FilePath = value; } } - //public string Name { get { return Path.GetFileNameWithoutExtension(path).Replace(' ', '-'); } } - public string Directory { get { return Path.GetDirectoryName(m_FilePath); } } - public Boolean TraceEnabled { set { traceEnabled = value; } get { return traceEnabled; } } - - public string FileName - { - get { return m_FileName; } - } - - //// we only provide getters for these to preserve the original pointer - //public MovieOptions MovieOptions { get { return movieOptions; } } - //public PathCollection Classpaths { get { return classpaths; } } - //public PathCollection CompileTargets { get { return compileTargets; } } - //public HiddenPathCollection HiddenPaths { get { return hiddenPaths; } } - //public AssetCollection LibraryAssets { get { return libraryAssets; } } - - //public CompilerOptions CompilerOptions - //{ - // get { return compilerOptions; } - // set { compilerOptions = value; } - //} - - //public PathCollection AbsoluteClasspaths - //{ - // get - // { - // PathCollection absolute = new PathCollection(); - // foreach (string cp in classpaths) - // absolute.Add(GetAbsolutePath(cp)); - // return absolute; - // } - //} - - //public string OutputPathAbsolute { get { return GetAbsolutePath(OutputPath); } } - - public bool CanBuild - { - get { return OutputPath != null && OutputPath.Length > 0; } - } - - #endregion - - #region Methods - - // all the Set/Is methods expect absolute paths (as opposed to the way they're - // actually stored) - - //public void SetPathHidden(string path, bool isHidden) - //{ - // path = GetRelativePath(path); - - // if (isHidden) - // { - // hiddenPaths.Add(path); - // compileTargets.RemoveAtOrBelow(path); // can't compile hidden files - // libraryAssets.RemoveAtOrBelow(path); // can't embed hidden resources - // } - // else hiddenPaths.Remove(path); - //} - - //public bool IsPathHidden(string path) - //{ - // return hiddenPaths.IsHidden(GetRelativePath(path)); - //} - - public void SetCompileTarget(string path, bool isCompileTarget) - { - //if (isCompileTarget) - // compileTargets.Add(GetRelativePath(path)); - //else - // compileTargets.Remove(GetRelativePath(path)); - } - - //public bool IsCompileTarget(string path) { return compileTargets.Contains(GetRelativePath(path)); } - - public void SetLibraryAsset(string path, bool isLibraryAsset) - { - //if (isLibraryAsset) - // libraryAssets.Add(GetRelativePath(path)); - //else - // libraryAssets.Remove(GetRelativePath(path)); - } - - //public bool IsLibraryAsset(string path) { return libraryAssets.Contains(GetRelativePath(path)); } -// public LibraryAsset GetAsset(string path) { return libraryAssets[GetRelativePath(path)]; } - - public void ChangeAssetPath(string fromPath, string toPath) - { - //if (IsLibraryAsset(fromPath)) - //{ - // //LibraryAsset asset = libraryAssets[GetRelativePath(fromPath)]; - // //libraryAssets.Remove(asset); - // //asset.Path = GetRelativePath(toPath); - // //libraryAssets.Add(asset); - //} - } - - //public bool IsInput(string path) { return GetRelativePath(path) == InputPath; } - //public bool IsOutput(string path) { return GetRelativePath(path) == OutputPath; } - - /// - /// Call this when you delete a path so we can remove all our references to it - /// - public void NotifyPathsDeleted(string path) - { - //path = GetRelativePath(path); - //hiddenPaths.Remove(path); - //compileTargets.RemoveAtOrBelow(path); - //libraryAssets.RemoveAtOrBelow(path); - } - - /// - /// Returns the path to the "obj\" subdirectory, creating it if necessary. - /// - public string GetObjDirectory() - { - string objPath = Path.Combine(this.Directory, "obj"); - if (!System.IO.Directory.Exists(objPath)) - System.IO.Directory.CreateDirectory(objPath); - return objPath; - } - - #endregion - - #region Relative Path Helpers - - //public string GetRelativePath(string path) - //{ - // return ProjectPaths.GetRelativePath(this.Directory,path); - //} - - //public string GetAbsolutePath(string path) - //{ - // return ProjectPaths.GetAbsolutePath(this.Directory,path); - //} - - #endregion - - public Project Load() - { - ProjectReader reader = new ProjectReader(this, ProjectPath); - - try - { - return reader.ReadProject(); - } - catch (XmlException exception) - { - string format = string.Format("Error in Project '{0}' line {1}, position {2}.", - ProjectPath, - exception.LineNumber, - exception.LinePosition); - - throw new Exception(format, exception); - } - finally - { - reader.Close(); - } - } - - public void Save() - { - ProjectWriter writer = new ProjectWriter(this, ProjectPath); - - try - { - writer.WriteProject(); - writer.Flush(); - } - finally - { - writer.Close(); - } - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Project/ProjectReader.cs b/reactos/tools/sysgen/RosBuilder/Project/ProjectReader.cs deleted file mode 100644 index 4fec3546bc6..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Project/ProjectReader.cs +++ /dev/null @@ -1,319 +0,0 @@ -using System; -using System.Windows.Forms; -using System.Collections; -using System.Diagnostics; -using System.Text; -using System.Xml; -using System.Collections.Generic; - -using SysGen.RBuild.Framework; - -namespace TriStateTreeViewDemo -{ - public class ProjectReader : XmlTextReader - { - Project project; - - public ProjectReader(Project project, string filename) - : base(filename) - { - this.project = project; - WhitespaceHandling = WhitespaceHandling.None; - } - - protected Project Project { get { return project; } } - - public virtual Project ReadProject() - { - MoveToContent(); - - while (Read()) - ProcessNode(Name); - - return project; - } - - private void ReadModules() - { - RBuildModule module = null; - - ReadStartElement("modules"); - while (Name == "module") - { - try - { - module = project.RBuildProject.Modules.GetByName(GetAttribute("name")); - - if (module == null) - throw new Exception("Unkown module '" + Value + "'"); - - project.Modules.Add(module); - - //project.SysGenDesinger.PlatformController.Project.Platform.Modules.Add(module); - } - catch (Exception e) - { - MessageBox.Show( - e.Message, - "Error", - MessageBoxButtons.OK, - MessageBoxIcon.Error); - } - - //project.Modules.Add(GetAttribute("name")); - - // continue reading - Read(); - } - - ReadEndElement(); - } - - private void ReadLanguages() - { - RBuildLanguage language = null; - - ReadStartElement("languages"); - while (Name == "language") - { - try - { - language = project.RBuildProject.Languages.GetByName(GetAttribute("name")); - - if (language == null) - throw new Exception("Unkown language '" + Value + "'"); - - project.Languages.Add(language); - } - catch (Exception e) - { - MessageBox.Show(e.Message, - "Error", - MessageBoxButtons.OK, - MessageBoxIcon.Error); - } - - // continue reading - Read(); - } - - ReadEndElement(); - } - - //private void ReadRSLPaths() - //{ - // //project.CompilerOptions.RSLPaths = ReadLibrary("rslPaths"); - //} - - //private void ReadExternalLibraryPaths() - //{ - // //project.CompilerOptions.ExternalLibraryPaths = ReadLibrary("externalLibraryPaths"); - //} - - //private void ReadLibrayPath() - //{ - // //project.CompilerOptions.LibraryPaths = ReadLibrary("libraryPaths"); - //} - - //private void ReadIncludeLibraries() - //{ - // //project.CompilerOptions.IncludeLibraries = ReadLibrary("includeLibraries"); - //} - - //private string[] ReadLibrary(string name) - //{ - // ReadStartElement(name); - // List elements = new List(); - // while (Name == "element") - // { - // elements.Add(GetAttribute("path")); - // Read(); - // } - // ReadEndElement(); - // string[] result = new string[elements.Count]; - // elements.CopyTo(result); - // return result; - //} - - public void ReadApplications() - { - ReadStartElement("applications"); - while (Name == "option") - { - MoveToFirstAttribute(); - switch (Name) - { - case "shell": - project.Shell = Project.RBuildProject.Modules.GetByName(Value); - break; - case "screensaver": - project.Screensaver = Project.RBuildProject.Modules.GetByName(Value); - break; - case "wallpaper": - //project.Wallpaper = Value; - break; - } - Read(); - } - ReadEndElement(); - } - - //protected virtual void ProcessNode(string name) - //{ - // switch (name) - // { - // case "output": ReadOutputOptions(); break; - // // case "classpaths": ReadClasspaths(); break; - // // case "compileTargets": ReadCompileTargets(); break; - // // case "hiddenPaths": ReadHiddenPaths(); break; - // // case "preBuildCommand": ReadPreBuildCommand(); break; - // // case "postBuildCommand": ReadPostBuildCommand(); break; - // // case "options": ReadProjectOptions(); break; - // } - //} - - // process AS3-specific stuff - protected virtual void ProcessNode(string name) - { - if (NodeType == XmlNodeType.Element) - { - switch (name) - { - //case "build": ReadBuildOptions(); break; - //case "includeLibraries": ReadIncludeLibraries(); break; - //case "libraryPaths": ReadLibrayPath(); break; - //case "externalLibraryPaths": ReadExternalLibraryPaths(); break; - case "modules": - ReadModules(); - break; - case "languages": - ReadLanguages(); - break; - case "applications": - ReadApplications(); - break; - case "output": - ReadOutputOptions(); - break; - case "options": - ReadProjectOptions(); - break; - //default: - // base.ProcessNode(name); break; - } - } - } - - public void ReadOutputOptions() - { - ReadStartElement("output"); - while (Name == "movie") - { - MoveToFirstAttribute(); - switch (Name) - { - case "name": - project.Name = Value; - break; - case "desc": - project.Description = Value; - break; - //case "path": project.OutputPath = OSPath(Value); break; - //case "fps": project.MovieOptions.Fps = IntValue; break; - //case "width": project.MovieOptions.Width = IntValue; break; - //case "height": project.MovieOptions.Height = IntValue; break; - //case "version": project.MovieOptions.Version = IntValue; break; - //case "background": project.MovieOptions.Background = Value; break; - } - Read(); - } - ReadEndElement(); - } - - //public void ReadClasspaths() - //{ - // ReadStartElement("classpaths"); - // //ReadPaths("class",project.Classpaths); - // ReadEndElement(); - //} - - //public void ReadCompileTargets() - //{ - // ReadStartElement("compileTargets"); - // //ReadPaths("compile",project.CompileTargets); - // ReadEndElement(); - //} - - //public void ReadHiddenPaths() - //{ - // ReadStartElement("hiddenPaths"); - // //ReadPaths("hidden",project.HiddenPaths); - // ReadEndElement(); - //} - - //public void ReadPreBuildCommand() - //{ - // if (!IsEmptyElement) - // { - // ReadStartElement("preBuildCommand"); - // project.PreBuildEvent = OSPath(ReadString().Trim()); - // ReadEndElement(); - // } - //} - - public void ReadPostBuildCommand() - { - //project.AlwaysRunPostBuild = Convert.ToBoolean(GetAttribute("alwaysRun")); - - //if (!IsEmptyElement) - //{ - // ReadStartElement("postBuildCommand"); - // project.PostBuildEvent = OSPath(ReadString().Trim()); - // ReadEndElement(); - //} - } - - public void ReadProjectOptions() - { - ReadStartElement("options"); - while (Name == "option") - { - MoveToFirstAttribute(); - switch (Name) - { - case "debug": - project.Debug = BoolValue; - break; - case "kdebug": - project.KDebug = BoolValue; - break; - case "source": - project.Source = Value; - break; - } - Read(); - } - ReadEndElement(); - } - - public bool BoolValue { get { return Convert.ToBoolean(Value); } } - public int IntValue { get { return Convert.ToInt32(Value); } } - - //public void ReadPaths(string pathNodeName, IAddPaths paths) - //{ - // while (Name == pathNodeName) - // { - // paths.Add(OSPath(GetAttribute("path"))); - // Read(); - // } - //} - - //protected string OSPath(string path) - //{ - // if (path != null) - // return path.Replace('\\',System.IO.Path.DirectorySeparatorChar); - // else - // return null; - //} - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Project/ProjectWriter.cs b/reactos/tools/sysgen/RosBuilder/Project/ProjectWriter.cs deleted file mode 100644 index 1061c326395..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Project/ProjectWriter.cs +++ /dev/null @@ -1,170 +0,0 @@ -using System; -using System.Collections; -using System.IO; -using System.Diagnostics; -using System.Text; -using System.Xml; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Framework; - -namespace TriStateTreeViewDemo -{ - public class ProjectWriter : XmlTextWriter - { - Project m_Project; - - public ProjectWriter(Project project, string filename) : base(filename,Encoding.UTF8) - { - m_Project = project; - Formatting = Formatting.Indented; - } - - protected Project Project { get { return m_Project; } } - - public void WriteProject() - { - WriteStartDocument(); - WriteStartElement("project"); - WriteOutputOptions(); - WriteBuildOptions(); - WriteProjectOptions(); - WriteEndElement(); - WriteEndDocument(); - } - - public void WriteOutputOptions() - { - WriteComment(" Output SWF options "); - WriteStartElement("output"); - WriteOption("movie", "name", m_Project.Name); - WriteOption("movie", "desc", m_Project.Description); - WriteEndElement(); - } - - public void WriteBuildOptions() - { - WriteComment(" Build options "); - WriteStartElement("build"); - - if (Project.Modules.Count > 0) - { - WriteStartElement("modules"); - foreach (RBuildModule module in Project.Modules) - { - WriteStartElement("module"); - WriteAttributeString("name", module.Name); - WriteEndElement(); - } - WriteEndElement(); - } - - WriteEndElement(); - - if (Project.Languages.Count > 0) - { - WriteComment(" Build options "); - WriteStartElement("languages"); - foreach (RBuildLanguage language in Project.Languages) - { - WriteStartElement("language"); - WriteAttributeString("name", language.Name); - WriteEndElement(); - } - WriteEndElement(); - } - - if (Project.DebugChannels.Count > 0) - { - WriteStartElement("debugchhanels"); - foreach (RBuildDebugChannel channel in Project.DebugChannels) - { - WriteStartElement("debugchannel"); - WriteAttributeString("name", channel.Name); - WriteEndElement(); - } - WriteEndElement(); - } - - WriteStartElement("applications"); - - if (m_Project.Shell != null) - WriteOption("Shell", m_Project.Shell.Name); - - if (m_Project.Screensaver != null) - WriteOption("Screensaver", m_Project.Screensaver.Name); - - if (m_Project.Wallpaper != null) - WriteOption("Wallpaper", m_Project.Wallpaper.Name); - - WriteEndElement(); - } - - public void WriteClasspaths() - { - WriteComment(" Other classes to be compiled into your SWF "); - WriteStartElement("classpaths"); - //WritePaths(project.Classpaths,"class"); - WriteEndElement(); - } - - public void WriteCompileTargets() - { - WriteComment(" Class files to compile (other referenced classes will automatically be included) "); - WriteStartElement("compileTargets"); - //WritePaths(project.CompileTargets,"compile"); - WriteEndElement(); - } - - public void WriteHiddenPaths() - { - WriteComment(" Paths to exclude from the Project Explorer tree "); - WriteStartElement("hiddenPaths"); - //WritePaths(project.HiddenPaths,"hidden"); - WriteEndElement(); - } - - public void WritePreBuildCommand() - { - WriteComment(" Executed before build "); - WriteStartElement("preBuildCommand"); - if (m_Project.PreBuildEvent.Length > 0) - WriteString(m_Project.PreBuildEvent); - WriteEndElement(); - } - - public void WritePostBuildCommand() - { - WriteComment(" Executed after build "); - WriteStartElement("postBuildCommand"); - WriteAttributeString("alwaysRun",m_Project.AlwaysRunPostBuild.ToString()); - if (m_Project.PostBuildEvent.Length > 0) - WriteString(m_Project.PostBuildEvent); - WriteEndElement(); - - } - - public void WriteProjectOptions() - { - WriteComment(" Other project options "); - WriteStartElement("options"); - WriteOption("debug",m_Project.Debug); - WriteOption("kdebug",m_Project.KDebug); - WriteOption("source", @"c:\ros\trunk\reactos" /*project.Source*/); - WriteEndElement(); - } - - public void WriteOption(string optionName, object optionValue) - { - WriteOption("option", optionName, optionValue); - } - - public void WriteOption(string nodeName, string optionName, object optionValue) - { - WriteStartElement(nodeName); - WriteAttributeString(optionName, optionValue.ToString()); - WriteEndElement(); - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/ProjectController.cs b/reactos/tools/sysgen/RosBuilder/ProjectController.cs deleted file mode 100644 index c77491d236f..00000000000 --- a/reactos/tools/sysgen/RosBuilder/ProjectController.cs +++ /dev/null @@ -1,222 +0,0 @@ -using System; -using System.Windows.Forms; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; -using SysGen.Framework.Catalog; - -namespace TriStateTreeViewDemo -{ - public class ProjectController - { - private ISysGenDesigner m_SysGenDesigner = null; - private RBuildProject m_Project = null; - - public event EventHandler PlatformModulesUpdated; - public event EventHandler ProjectLoaded; - public event EventHandler ProjectSaved; - public event EventHandler ProjectUpdated; - - public ProjectController(ISysGenDesigner engine) - { - m_SysGenDesigner = engine; - - PlatformCatalogReader m_Catalog = new PlatformCatalogReader(@"C:\Ros\trunk\reactos\rbuilddb.xml"); - m_Catalog.Read(); - - m_Project = m_Catalog.Project; - - New(); - } - - public void New() - { - m_Project.Platform = new Project(m_Project); - - if (ProjectLoaded != null) - ProjectLoaded(this, EventArgs.Empty); - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - } - - public void Open(string file) - { - SysGenProject = new Project(m_Project, file); - SysGenProject.Load(); - - if (ProjectLoaded != null) - ProjectLoaded(this, EventArgs.Empty); - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - } - - public void Open() - { - using (OpenFileDialog openFile = new OpenFileDialog()) - { - openFile.Title = "Open SysGen Designer Project File"; - //openFile.InitialDirectory = m_SysGenEngine.BaseDirectory; - openFile.Filter = "SysGen Project File|*.sgpd"; - - if (openFile.ShowDialog() == DialogResult.OK) - { - SysGenProject = new Project(m_Project, openFile.FileName); - SysGenProject.Load(); - - if (ProjectLoaded != null) - ProjectLoaded(this, EventArgs.Empty); - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - } - } - } - - public void Save() - { - using (SaveFileDialog saveFile = new SaveFileDialog()) - { - saveFile.Title = "Save SysGen Designer Project File"; - //saveFile.InitialDirectory = m_SysGenEngine.BaseDirectory; - saveFile.Filter = "SysGen Project File|*.sgpd"; - - if (saveFile.ShowDialog() == DialogResult.OK) - { - SysGenProject.ProjectPath = saveFile.FileName; - SysGenProject.Save(); - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - - if (ProjectSaved != null) - ProjectSaved(this, EventArgs.Empty); - } - } - } - - public RBuildModuleCollection AvailableModules - { - get { return m_Project.Modules; } - } - - public RBuildProject Project - { - get { return m_Project; } - } - - public Project SysGenProject - { - get { return Project.Platform as Project; } - set { Project.Platform = value; } - } - - public void Remove(RBuildModule module) - { - SysGenDependencyTracker dependencyTracker = new SysGenDependencyTracker(Project, module); - - if (dependencyTracker.Using.Count > 0) - { - string s = string.Format("Cannot remove module '{0}' because '{1}' modules depends on it", - module.Name, - dependencyTracker.Using.Count); - - MessageBox.Show(s, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - else - { - Project.Platform.Modules.Remove(module); - } - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - } - - public void Add(RBuildModule module) - { - SysGenDependencyTracker dependencyTracker = new SysGenDependencyTracker(Project , module); - - if (AskAddModulesToPlatform(dependencyTracker.Missing)) - { - Project.Platform.Modules.Add(dependencyTracker.DependsOn); - Project.Platform.Modules.Add(module); - } - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - } - - public void Add(RBuildModuleCollection modules) - { - SysGenDependencyTracker dependencyTracker = new SysGenDependencyTracker(Project, modules); - - if (AskAddModulesToPlatform(dependencyTracker.Missing)) - { - Project.Platform.Modules.Add(dependencyTracker.DependsOn); - Project.Platform.Modules.Add(modules); - } - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - } - - public void AddLanguage(RBuildLanguage language) - { - if (Project.Platform.Languages.Contains(language) == false) - Project.Platform.Languages.Add(language); - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - - if (ProjectUpdated != null) - ProjectUpdated(this, EventArgs.Empty); - } - - public void AddDebugChannel(RBuildDebugChannel channel) - { - if (Project.Platform.DebugChannels.Contains(channel) == false) - Project.Platform.DebugChannels.Add(channel); - - if (PlatformModulesUpdated != null) - PlatformModulesUpdated(this, EventArgs.Empty); - - if (ProjectUpdated != null) - ProjectUpdated(this, EventArgs.Empty); - } - - public bool AskAddModulesToPlatform(RBuildModuleCollection missingDependencies) - { - if (missingDependencies.Count > 0) - { - StringBuilder str = new StringBuilder(); - - str.AppendFormat("This action requieres adding {0} dependecies no present in your platform :", missingDependencies.Count); - str.AppendLine(); - str.AppendLine(); - - foreach (RBuildModule dependency in missingDependencies) - { - str.AppendFormat("{0} on '{1}' \n", - dependency.Name, - dependency.Base); - } - - str.AppendLine(); - str.AppendLine("¿Do you want to add this dependencies?"); - - if (MessageBox.Show(str.ToString(), "RosBuilder", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) - { - return true; - } - } - else - return true; - - return false; - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Properties/AssemblyInfo.cs b/reactos/tools/sysgen/RosBuilder/Properties/AssemblyInfo.cs deleted file mode 100644 index 0b59df60ad1..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("RosBuilder")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Sand")] -[assembly: AssemblyProduct("RosBuilder")] -[assembly: AssemblyCopyright("Copyright © Sand 2007")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("8f4d0b84-8882-4b89-8e3c-8ce5238d603f")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/reactos/tools/sysgen/RosBuilder/Properties/Resources.Designer.cs b/reactos/tools/sysgen/RosBuilder/Properties/Resources.Designer.cs deleted file mode 100644 index 268c5602106..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.4927 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace RosBuilder.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("RosBuilder.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Properties/Resources.resx b/reactos/tools/sysgen/RosBuilder/Properties/Resources.resx deleted file mode 100644 index af7dbebbace..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Properties/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Properties/Settings.Designer.cs b/reactos/tools/sysgen/RosBuilder/Properties/Settings.Designer.cs deleted file mode 100644 index 71b700b5e99..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.4927 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace RosBuilder.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/reactos/tools/sysgen/RosBuilder/Properties/Settings.settings b/reactos/tools/sysgen/RosBuilder/Properties/Settings.settings deleted file mode 100644 index 39645652af6..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj b/reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj deleted file mode 100644 index 3e94b2c1469..00000000000 --- a/reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj +++ /dev/null @@ -1,148 +0,0 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {78A0F196-A5BD-469A-B901-B269671AFB0A} - WinExe - Properties - RosBuilder - RosBuilder - - - 2.0 - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - Component - - - Component - - - Component - - - UserControl - - - RegistryEditor.cs - - - Form - - - Form1.cs - - - Form - - - MainForm.cs - - - - Form - - - NewItemForm.cs - - - Code - - - - - - - - - - Designer - RegistryEditor.cs - - - Designer - Form1.cs - - - Designer - MainForm.cs - - - Designer - NewItemForm.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26} - SysGen.RBuild.Framework - - - {8F5F8375-4097-4952-B860-784EB9961ABE} - SysGen.Framework - - - {99CEE41D-B76D-4102-B0AD-C81069509D17} - TriStateTreeView - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj.user b/reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj.user deleted file mode 100644 index 6a34e7dcdf5..00000000000 --- a/reactos/tools/sysgen/RosBuilder/SysGen.Designer.csproj.user +++ /dev/null @@ -1,5 +0,0 @@ - - - ShowAllFiles - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosBuilder/Util/FileAssociation.cs b/reactos/tools/sysgen/RosBuilder/Util/FileAssociation.cs deleted file mode 100644 index f60b10d4603..00000000000 --- a/reactos/tools/sysgen/RosBuilder/Util/FileAssociation.cs +++ /dev/null @@ -1,244 +0,0 @@ -using System; -using System.Security; -using System.Collections; -using Microsoft.Win32; - -namespace TriStateTreeViewDemo -{ - /// List of commands. - internal struct CommandList - { - /// - /// Holds the names of the commands. - /// - public ArrayList Captions; - /// - /// Holds the commands. - /// - public ArrayList Commands; - } - /// Properties of the file association. - internal struct FileType - { - /// - /// Holds the command names and the commands. - /// - public CommandList Commands; - /// - /// Holds the extension of the file type. - /// - public string Extension; - /// - /// Holds the proper name of the file type. - /// - public string ProperName; - /// - /// Holds the full name of the file type. - /// - public string FullName; - /// - /// Holds the name of the content type of the file type. - /// - public string ContentType; - /// - /// Holds the path to the resource with the icon of this file type. - /// - public string IconPath; - /// - /// Holds the icon index in the resource file. - /// - public short IconIndex; - } - /// Creates file associations for your programs. - /// The following example creates a file association for the type XYZ with a non-existent program. - ///


VB.NET code
- /// - /// Dim FA as New FileAssociation - /// FA.Extension = "xyz" - /// FA.ContentType = "application/myprogram" - /// FA.FullName = "My XYZ Files!" - /// FA.ProperName = "XYZ File" - /// FA.AddCommand("open", "C:\mydir\myprog.exe %1") - /// FA.Create - /// - ///
C# code
- /// - /// FileAssociation FA = new FileAssociation(); - /// FA.Extension = "xyz"; - /// FA.ContentType = "application/myprogram"; - /// FA.FullName = "My XYZ Files!"; - /// FA.ProperName = "XYZ File"; - /// FA.AddCommand("open", "C:\\mydir\\myprog.exe %1"); - /// FA.Create(); - /// - ///
- public class FileAssociation - { - /// Initializes an instance of the FileAssociation class. - public FileAssociation() - { - FileInfo = new FileType(); - FileInfo.Commands.Captions = new ArrayList(); - FileInfo.Commands.Commands = new ArrayList(); - } - /// Gets or sets the proper name of the file type. - /// A String representing the proper name of the file type. - public string ProperName - { - get - { - return FileInfo.ProperName; - } - set - { - FileInfo.ProperName = value; - } - } - /// Gets or sets the full name of the file type. - /// A String representing the full name of the file type. - public string FullName - { - get - { - return FileInfo.FullName; - } - set - { - FileInfo.FullName = value; - } - } - /// Gets or sets the content type of the file type. - /// A String representing the content type of the file type. - public string ContentType - { - get - { - return FileInfo.ContentType; - } - set - { - FileInfo.ContentType = value; - } - } - /// Gets or sets the extension of the file type. - /// A String representing the extension of the file type. - /// If the extension doesn't start with a dot ("."), a dot is automatically added. - public string Extension - { - get - { - return FileInfo.Extension; - } - set - { - if (value.Substring(0, 1) != ".") - value = "." + value; - FileInfo.Extension = value; - } - } - /// Gets or sets the index of the icon of the file type. - /// A short representing the index of the icon of the file type. - public short IconIndex - { - get - { - return FileInfo.IconIndex; - } - set - { - FileInfo.IconIndex = value; - } - } - /// Gets or sets the path of the resource that contains the icon for the file type. - /// A String representing the path of the resource that contains the icon for the file type. - /// This resource can be an executable or a DLL. - public string IconPath - { - get - { - return FileInfo.IconPath; - } - set - { - FileInfo.IconPath = value; - } - } - /// Adds a new command to the command list. - /// The name of the command. - /// The command to execute. - /// Caption -or- Command is null (VB.NET: Nothing). - public void AddCommand(string Caption, string Command) - { - if (Caption == null || Command == null) - throw new ArgumentNullException(); - FileInfo.Commands.Captions.Add(Caption); - FileInfo.Commands.Commands.Add(Command); - } - /// Creates the file association. - /// Extension -or- ProperName is null (VB.NET: Nothing). - /// Extension -or- ProperName is empty. - /// The user does not have registry write access. - public void Create() - { - // remove the extension to avoid incompatibilities [such as DDE links] - try - { - Remove(); - } - catch (ArgumentException) {} // the extension doesn't exist - - // create the exception - if (Extension == "" || ProperName == "") - throw new ArgumentException(); - int cnt; - - try - { - RegistryKey RegKey = Registry.ClassesRoot.CreateSubKey(Extension); - RegKey.SetValue("", ProperName); - - if (ContentType != null && ContentType != "") - RegKey.SetValue("Content Type", ContentType); - - RegKey.Close(); - RegKey = Registry.ClassesRoot.CreateSubKey(ProperName); - RegKey.SetValue("", FullName); - RegKey.Close(); - - if (IconPath != "") - { - RegKey = Registry.ClassesRoot.CreateSubKey(ProperName + "\\" + "DefaultIcon"); - RegKey.SetValue("", IconPath + "," + IconIndex.ToString()); - RegKey.Close(); - } - - for (cnt = 0; cnt < FileInfo.Commands.Captions.Count; cnt++) - { - RegKey = Registry.ClassesRoot.CreateSubKey(ProperName + "\\" + "Shell" + "\\" + (String)FileInfo.Commands.Captions[cnt]); - RegKey = RegKey.CreateSubKey("Command"); - RegKey.SetValue("", FileInfo.Commands.Commands[cnt]); - RegKey.Close(); - } - } - catch - { - throw new SecurityException(); - } - } - /// Removes the file association. - /// Extension -or- ProperName is null (VB.NET: Nothing). - /// Extension -or- ProperName is empty -or- the specified extension doesn't exist. - /// The user does not have registry delete access. - public void Remove() - { - if (Extension == null || ProperName == null) - throw new ArgumentNullException(); - if (Extension == "" || ProperName == "") - throw new ArgumentException(); - Registry.ClassesRoot.DeleteSubKeyTree(Extension); - Registry.ClassesRoot.DeleteSubKeyTree(ProperName); - } - /// Holds the properties of the file type. - private FileType FileInfo; - } -} diff --git a/reactos/tools/sysgen/RosFramework/Base/RBuildElement.cs b/reactos/tools/sysgen/RosFramework/Base/RBuildElement.cs deleted file mode 100644 index 3376bd00ed7..00000000000 --- a/reactos/tools/sysgen/RosFramework/Base/RBuildElement.cs +++ /dev/null @@ -1,311 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public abstract class RBuildElement : IRBuildNamed - { - protected string m_RBuild = null; - protected string m_Name = null; - protected string m_Base = null; - protected string m_Path = null; - protected string m_XmlFile = null; - - protected List m_AssemblyFlags = new List(); - protected List m_CompilerFlags = new List(); - protected List m_LinkerFlags = new List(); - protected RBuildIncludeFolderCollection m_Includes = new RBuildIncludeFolderCollection(); - protected RBuildPlatformFileCollection m_Files = new RBuildPlatformFileCollection(); - protected RBuildDefineCollection m_Defines = new RBuildDefineCollection(); - protected RBuildPropertyCollection m_Properties = new RBuildPropertyCollection(); - protected RBuildFolderCollection m_Folders = new RBuildFolderCollection(); - protected RBuildFolder m_Folder = new RBuildFolder(); - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public virtual RBuildFolder Folder - { - get { return m_Folder; } - set { m_Folder = value; } - } - - public string XmlFile - { - get { return m_XmlFile; } - set { m_XmlFile = value; } - } - - public string Path - { - get { return m_Path; } - set { m_Path = value; } - } - - public string Base - { - get { return Folder.FullPath; } - } - - public string RBuildPath - { - get { return System.IO.Path.Combine(Base, RBuildFile); } - } - - public string RBuildFile - { - get { return m_RBuild; } - set { m_RBuild = value; } - } - - public Uri BaseURI - { - get { return new Uri(Base, UriKind.Relative); } - } - - public string BaseParent - { - get { return Base.Replace(System.IO.Path.DirectorySeparatorChar + Name , string.Empty); } - } - - public string FolderFullPath - { - get { return System.IO.Path.Combine(Path, Base); } - } - - public RBuildFolderCollection Folders - { - get { return m_Folders; } - } - - public RBuildPlatformFileCollection Files - { - get { return m_Files; } - } - - public RBuildPropertyCollection Properties - { - get { return m_Properties; } - } - - public List CompilerFlags - { - get { return m_CompilerFlags; } - } - - public List LinkerFlags - { - get { return m_LinkerFlags; } - } - - public List AssemblyFlags - { - get { return m_AssemblyFlags; } - } - - public RBuildDefineCollection Defines - { - get { return m_Defines; } - } - - public RBuildIncludeFolderCollection IncludeFolders - { - get { return m_Includes; } - set { m_Includes = value; } - } - - public string MakeFilePreCondition - { - get { return string.Format("{0}_PRECONDITION", Name); } - } - - public string MakeFileRCFlags - { - get { return string.Format("{0}_RCFLAGS", Name); } - } - - public string MakeFileWIDLFlags - { - get { return string.Format("{0}_WIDLFLAGS", Name); } - } - - public string MakeFileLFlags - { - get { return string.Format("{0}_LFLAGS", Name); } - } - - public string MakeFileNASMFlags - { - get { return string.Format("{0}_NASMFLAGS", Name); } - } - - public string MakeFileFoldersMacro - { - get { return string.Format("$({0}_FOLDERS)", Name); } - } - - public string MakeFileFolders - { - get { return string.Format("{0}_FOLDERS", Name); } - } - - public string MakeFileCFlags - { - get { return string.Format("{0}_CFLAGS", Name); } - } - - public string MakeFileObjs - { - get { return string.Format("{0}_OBJS", Name); } - } - - public string MakeFileSources - { - get { return string.Format("{0}_SOURCES", Name); } - } - - public string MakeFileHeaders - { - get { return string.Format("{0}_HEADERS", Name); } - } - - public string MakeFileMakeTarget - { - get { return string.Format("{0}", Name); } - } - - public string MakeFileFlagDebugTarget - { - get { return string.Format("{0}_flagdebug", Name); } - } - - public string MakeFileInfoTarget - { - get { return string.Format("{0}_info", Name); } - } - - public string MakeFileCleanTarget - { - get { return string.Format("{0}_clean", Name); } - } - - public string MakeFileDependsTarget - { - get { return string.Format("{0}_depends", Name); } - } - - public string MakeFileInstallTarger - { - get { return string.Format("{0}_install", Name); } - } - - public string MakeFileHeadersMacro - { - get { return string.Format("$({0}_HEADERS)", Name); } - } - - public string MakeFileMCHeadersMacro - { - get { return string.Format("$({0}_MCHEADERS)", Name); } - } - - public string MakeFileMCHeaders - { - get { return string.Format("{0}_MCHEADERS", Name); } - } - - public string MakeFileRPCHeadersMacro - { - get { return string.Format("$({0}_RPCHEADERS)", Name); } - } - - public string MakeFileRPCHeaders - { - get { return string.Format("{0}_RPCHEADERS", Name); } - } - - public string MakeFileRPCSourcesMacro - { - get { return string.Format("$({0}_RPCSOURCES)", Name); } - } - - public string MakeFileRPCSources - { - get { return string.Format("{0}_RPCSOURCES", Name); } - } - - public string MakeFilePCHMacro - { - get { return string.Format("$({0}_PCH)", Name); } - } - - public string MakeFilePCHHeaders - { - get { return string.Format("{0}_PCH", Name); } - } - - public string MakeFileNASMMacro - { - get { return string.Format("$({0}_NASMFLAGS)", Name); } - } - - public string MakeFileCFlagsMacro - { - get { return string.Format("$({0}_CFLAGS)", Name); } - } - - public string MakeFileLFlagsMacro - { - get { return string.Format("$({0}_LFLAGS)", Name); } - } - - public string MakeFileWIDLFlagsMacro - { - get { return string.Format("$({0}_WIDLFLAGS)", Name); } - } - - public string MakeFileObjsMacro - { - get { return string.Format("$({0}_OBJS)", Name); } - } - - public string MakeFileSourcesMacro - { - get { return string.Format("$({0}_SOURCES)", Name); } - } - - public string MakeFilePreConditionMacro - { - get { return string.Format("$({0}_PRECONDITION)", Name); } - } - - public string MakeFileRCFlagsMacro - { - get { return string.Format("$({0}_RCFLAGS)", Name); } - } - - public abstract void SaveAs(string file); - - public override bool Equals(object obj) - { - if (obj is RBuildElement) - { - RBuildElement element = obj as RBuildElement; - - if (element.Name == Name) - return true; - } - - return false; - } - - public override int GetHashCode() - { - return base.GetHashCode(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildAPIStatusCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildAPIStatusCollection.cs deleted file mode 100644 index e877521ee0c..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildAPIStatusCollection.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildAPIStatusCollection : List - { - public int Percentage - { - get - { - if (TotalFunctions == 0) - return 100; - - return ((100 * ImplementedFunctionsCount) / TotalFunctions); - } - } - - public int TotalFunctions - { - get { return (ImplementedFunctionsCount + UnImplementedFunctionsCount); } - } - - public int ImplementedFunctionsCount - { - get - { - int count = 0; - - foreach (RBuildAPIInfo info in this) - if (info.Implemented == true) - count++; - - return count; - } - } - - public int UnImplementedFunctionsCount - { - get - { - int count = 0; - - foreach (RBuildAPIInfo info in this) - if (info.Implemented == false) - count++; - - return count; - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildAuthorCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildAuthorCollection.cs deleted file mode 100644 index e9f588ae119..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildAuthorCollection.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildAuthorCollection : List - { - public RBuildAuthor GetByName(string alias) - { - foreach (RBuildAuthor author in this) - { - if (author.Contributor.Alias == alias) - return author; - } - - return null; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildBuildFamilyCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildBuildFamilyCollection.cs deleted file mode 100644 index c2f0b416a42..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildBuildFamilyCollection.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildBuildFamilyCollection : List - { - public RBuildBuildFamily GetByName(string name) - { - foreach (RBuildBuildFamily family in this) - { - if (family.Name == name) - return family; - } - - return null; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildContributorCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildContributorCollection.cs deleted file mode 100644 index ee8e5530b7e..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildContributorCollection.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildContributorCollection : List - { - public RBuildContributor GetByName(string alias) - { - foreach (RBuildContributor contributor in this) - { - if (contributor.Alias == alias) - return contributor; - } - - return null; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildDebugChannelCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildDebugChannelCollection.cs deleted file mode 100644 index 8f45b25cfb1..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildDebugChannelCollection.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildDebugChannelCollection : List - { - public RBuildDebugChannel GetByName(string name) - { - foreach (RBuildDebugChannel channel in this) - { - if (channel.Name == name) - return channel; - } - - return null; - } - - public string Text - { - get - { - StringBuilder sBuilder = new StringBuilder(); - - foreach (RBuildDebugChannel channel in this) - { - sBuilder.Append(channel.Text); - } - - return sBuilder.ToString(); - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildDefineCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildDefineCollection.cs deleted file mode 100644 index 7281ab8a556..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildDefineCollection.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; - -namespace SysGen.RBuild.Framework -{ - public class RBuildDefineCollection : List - { - public bool IsDefined(string name) - { - foreach (RBuildDefine define in this) - { - if (define.Name == name) - return true; - } - - return false; - } - - public void Add(string name) - { - Add(new RBuildDefine(name)); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildExportedFunctionsCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildExportedFunctionsCollection.cs deleted file mode 100644 index c3d17463fad..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildExportedFunctionsCollection.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildExportedFunctionsCollection : List - { - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildFamilyCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildFamilyCollection.cs deleted file mode 100644 index 66ea4355fd4..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildFamilyCollection.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildFamilyCollection : List - { - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildFileCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildFileCollection.cs deleted file mode 100644 index 08e47dd24be..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildFileCollection.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildFileCollection : List - { - public void Add(RBuildFileCollection files) - { - foreach (RBuildFile file in files) - { - Add(file); - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildFolderCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildFolderCollection.cs deleted file mode 100644 index 09faabaa28f..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildFolderCollection.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildFolderCollection : List - { - public void Add(RBuildFolderCollection folders) - { - foreach (RBuildFolder folder in folders) - { - Add(folder); - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildIncludeFolderCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildIncludeFolderCollection.cs deleted file mode 100644 index 96b63771fe8..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildIncludeFolderCollection.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildIncludeFolderCollection : List - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildInstallFolderCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildInstallFolderCollection.cs deleted file mode 100644 index e9620346126..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildInstallFolderCollection.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildInstallFolderCollection : List - { - public RBuildInstallFolder GetByName(string name) - { - foreach (RBuildInstallFolder folder in this) - { - if (NormalizeFolderName(folder.Name) == NormalizeFolderName(name)) - return folder; - } - - return null; - } - - private string NormalizeFolderName(string path) - { - return path.Replace( - Path.AltDirectorySeparatorChar, - Path.DirectorySeparatorChar); - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildLanguageCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildLanguageCollection.cs deleted file mode 100644 index d81f0506a49..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildLanguageCollection.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildLanguageCollection : List - { - public RBuildLanguage GetByName(string culture) - { - foreach (RBuildLanguage language in this) - { - if (language.Name == culture) - return language; - } - - return null; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildLocalizationFileCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildLocalizationFileCollection.cs deleted file mode 100644 index 7e005d00616..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildLocalizationFileCollection.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildLocalizationFileCollection : List - { - public bool ContainsLocalization(string culture) - { - return GetByName(culture) != null; - } - - public RBuildLocalizationFile GetByName(string culture) - { - foreach (RBuildLocalizationFile file in this) - { - if (file.IsoName == culture) - return file; - } - - return null; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildModuleCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildModuleCollection.cs deleted file mode 100644 index 2c472e74f07..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildModuleCollection.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class ModulePreferenceComparer : IComparer - { - public int Compare(RBuildModule x, RBuildModule y) - { - if (x.Type == y.Type) - return 0; - - if (x.Type == ModuleType.BuildTool) - return -1; - - return 1; - } - } - - public class RBuildModuleCollection : List - { - public event EventHandler OnModuleAdded; - - public void Add(RBuildModuleCollection modules) - { - foreach (RBuildModule module in modules) - { - Add(module); - } - } - - public new void Add(RBuildModule module) - { - if (module == null) - throw new Exception("Could not add a null instance"); - - if (GetByName(module.Name) == null) - { - base.Add(module); - } - - if (OnModuleAdded != null) - OnModuleAdded(this, EventArgs.Empty); - } - - public void Add(string moduleName) - { - RBuildModule module = GetByName(moduleName); - - if (module == null) - throw new Exception(string.Format("Unknown '{0}' module", moduleName)); - - Add(module); - } - - public void Add(int index, RBuildModule moduleName) - { - base.Insert(index, moduleName); - } - - public void DisableAll() - { - foreach (RBuildModule module in this) - { - // Disable module - module.Enabled = false; - } - } - - public RBuildModule GetByName(string name) - { - foreach (RBuildModule module in this) - { - if (module.Name == name) - return module; - } - - return null; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildModuleInfoCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildModuleInfoCollection.cs deleted file mode 100644 index 4670f093936..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildModuleInfoCollection.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildModuleInfoCollection : List - { - public RBuildModuleInfo GetByName(string name) - { - foreach (RBuildModuleInfo module in this) - { - if (module.Name == name) - return module; - } - - return null; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildPlatformFileCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildPlatformFileCollection.cs deleted file mode 100644 index 7ccf135cefc..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildPlatformFileCollection.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildPlatformFileCollection : List - { - public void Add(RBuildPlatformFileCollection files) - { - foreach (RBuildPlatformFile file in files) - { - Add(file); - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildPropertyCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildPropertyCollection.cs deleted file mode 100644 index f3a4769258f..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildPropertyCollection.cs +++ /dev/null @@ -1,108 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.Text.RegularExpressions; - -namespace SysGen.RBuild.Framework -{ - public class RBuildPropertyCollection : List - { - /// - /// Adds a property that cannot be changed. - /// - /// - /// Properties added with this method can never be changed. Note that - /// they are removed if the Clear method is called. - /// - /// Name of property - /// Value of property - public virtual void AddReadOnly(string name, string value) - { - Add(name, value, true); - } - - /// - /// Adds a property to the collection. - /// - /// Name of property - /// Value of property - public virtual void Add(string name, string value) - { - Add(name, value, false); - } - - /// - /// Adds a property to the collection. - /// - /// Name of property - /// Value of property - public virtual void Add(string name, bool value) - { - Add(name, value.ToString()); - } - - /// - /// Adds a property to the collection. - /// - /// Name of property - /// Value of property - public virtual void Add(string name, string value, bool readOnly) - { - if (!PropertyExists(name)) - { - Add(new RBuildProperty(name, value , readOnly)); - } - } - - /// - /// Adds a property to the collection. - /// - /// Name of property - /// Value of property - public virtual void Add(string name, string value, bool readOnly, bool isInternal) - { - if (!PropertyExists(name)) - { - Add(new RBuildProperty(name, value, readOnly,isInternal)); - } - } - - /// - /// Returns true if a property is listed as read only - /// - /// Property to check - /// true if readonly, false otherwise - public virtual bool IsReadOnlyProperty(string name) - { - if (PropertyExists(name)) - return this[name].ReadOnly; - return false; - } - - /// - /// Returns true if a property exists - /// - /// Property to check - /// true if exists, false otherwise - public bool PropertyExists(string name) - { - return (this[name] != null); - } - - /// - /// Indexer property. - /// - public virtual RBuildProperty this[string name] - { - get - { - foreach (RBuildProperty property in this) - if (property.Name == name) - return property; - - return null; - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Collections/RBuildSourceFileCollection.cs b/reactos/tools/sysgen/RosFramework/Collections/RBuildSourceFileCollection.cs deleted file mode 100644 index 7175bac8e8a..00000000000 --- a/reactos/tools/sysgen/RosFramework/Collections/RBuildSourceFileCollection.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class SourceCodePreferenceComparer : IComparer - { - public int Compare(RBuildSourceFile x, RBuildSourceFile y) - { - if (x.First != y.First) - { - if (x.First) - return -1; - else - return 1; - } - - if (x.Extension == y.Extension) - return 0; - - if (x.IsWidl) - return -1; - else if (y.IsWidl) - return 1; - - if (x.IsAssembler) - return 1; - else if (y.IsAssembler) - return -1; - - if (x.IsNASM) - return 1; - else if (y.IsNASM) - return -1; - - return 0; - } - } - - public class RBuildSourceFileCollection : List - { - public bool ContainsASM - { - get - { - foreach (RBuildSourceFile file in this) - { - if ((file.IsAssembler) || (file.IsNASM)) - { - return true; - } - } - - // This module does not contain C++ code - return false; - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildInstallable.cs b/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildInstallable.cs deleted file mode 100644 index 4e5a8467d0b..00000000000 --- a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildInstallable.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public interface IRBuildInstallable - { - string InstallBase { get; set; } - - RBuildInstallFolder InstallFolder { get; set; } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildModulesContainer.cs b/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildModulesContainer.cs deleted file mode 100644 index 9bc5f9902f3..00000000000 --- a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildModulesContainer.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace SysGen.RBuild.Framework -{ - public interface IRBuildModulesContainer - { - RBuildSourceFileCollection Modules { get; } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildNamed.cs b/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildNamed.cs deleted file mode 100644 index 34252cab108..00000000000 --- a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildNamed.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace SysGen.RBuild.Framework -{ - public interface IRBuildNamed - { - string Name { get; } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildSourceFilesContainer.cs b/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildSourceFilesContainer.cs deleted file mode 100644 index 78eccd72cdb..00000000000 --- a/reactos/tools/sysgen/RosFramework/Interfaces/IRBuildSourceFilesContainer.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace SysGen.RBuild.Framework -{ - public interface IRBuildSourceFilesContainer - { - RBuildSourceFileCollection SourceFiles { get; } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Misc/Utility.cs b/reactos/tools/sysgen/RosFramework/Misc/Utility.cs deleted file mode 100644 index da5200b907d..00000000000 --- a/reactos/tools/sysgen/RosFramework/Misc/Utility.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - class Utility - { - public static string GetSafeString (string str) - { - str = str.Replace(" ", string.Empty); - str = str.Replace(".", string.Empty); - - return str; - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildModuleGroup.cs b/reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildModuleGroup.cs deleted file mode 100644 index 6cc00b2fe2a..00000000000 --- a/reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildModuleGroup.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework.NotImplementedYet -{ - public class RBuildModuleGroup - { - private RBuildModuleCollection m_Modules = new RBuildModuleCollection(); - private string m_Name = null; - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public RBuildModuleCollection Modules - { - get { return m_Modules; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildPatch.cs b/reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildPatch.cs deleted file mode 100644 index 0b8b9c22b82..00000000000 --- a/reactos/tools/sysgen/RosFramework/NotImplementedYet/RBuildPatch.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework.NotImplementedYet -{ - public class RBuildPatch - { - private string m_Filename = null; - private string m_Name = null; - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string FileName - { - get { return m_Filename; } - set { m_Filename = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Obsolete/PlatformCatalog.cs b/reactos/tools/sysgen/RosFramework/Obsolete/PlatformCatalog.cs deleted file mode 100644 index 4d8fcfbaf41..00000000000 --- a/reactos/tools/sysgen/RosFramework/Obsolete/PlatformCatalog.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using System.Xml; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class PlatformCatalog - { - public List m_Platform = new List(); - public SoftwareCatalog m_SoftwareCatalog = new SoftwareCatalog(); - - public PlatformCatalog() - { - } - - public List Platforms - { - get { return m_Platform; } - } - - public SoftwareCatalog SoftwareCatalog - { - get { return m_SoftwareCatalog; } - set { m_SoftwareCatalog = value; } - } - - public RosPlatform GetPlatformByName(string name) - { - foreach (RosPlatform platform in Platforms) - { - if (platform.Name == name) - { - return platform; - } - } - - throw new Exception("Platform not found in catalog"); - } - - public void LoadFromFile(string file) - { - XmlDocument doc = new XmlDocument(); - - //Load the file in to memory - doc.Load(file); - - //Load modules ... - foreach (XmlNode node in doc.SelectNodes("/platforms/platform")) - { - RosPlatform platform = new RosPlatform(); - - platform.Name = node.Attributes["name"].InnerText; - - if (node.Attributes["base"] != null) - { - platform.Base = node.Attributes["base"].InnerText; - } - - m_Platform.Add(platform); - } - - foreach (XmlNode comp in doc.SelectNodes("/platforms/platform")) - { - // Get the component name.... - string name = comp.Attributes["name"].InnerText; - - RosPlatform platform = GetPlatformByName(name); - - if (platform.Base != null) - { - platform.ParentPlatform = GetPlatformByName(platform.Base); - - foreach (RBuildModule module in platform.ParentModules) - { - platform.Modules.Add(module); - } - } - - foreach (XmlNode dep in comp.SelectNodes("modules/module")) - { - // Gets the dependency name - name = dep.Attributes["name"].InnerText; - - RBuildModule module = SoftwareCatalog.Modules.GetByName(name); - - platform.Modules.Add(module); - } - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Obsolete/RosArchitecture.cs b/reactos/tools/sysgen/RosFramework/Obsolete/RosArchitecture.cs deleted file mode 100644 index 593a0373a1a..00000000000 --- a/reactos/tools/sysgen/RosFramework/Obsolete/RosArchitecture.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RosArchitecture - { - private string m_Name = null; - private string m_Sub = null; - private string m_Optimization = null; - - public RosArchitecture () - { - m_Name = "i386"; - m_Sub = string.Empty; - m_Optimization = "pentium"; - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string SubArchitecture - { - get { return m_Sub; } - set { m_Sub = value; } - } - - public string Optimization - { - get { return m_Optimization; } - set { m_Optimization = value; } - } - - public string SafeName - { - get { return Utility.GetSafeString(m_Name).ToUpper(); } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/Obsolete/RosOSImage.cs b/reactos/tools/sysgen/RosFramework/Obsolete/RosOSImage.cs deleted file mode 100644 index 7890b26cf26..00000000000 --- a/reactos/tools/sysgen/RosFramework/Obsolete/RosOSImage.cs +++ /dev/null @@ -1,209 +0,0 @@ -using System; -using System.Xml; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildOSImage - { - private RosPlatform m_Platform = null; - private RBuildLanguage m_Language = null; - private RosArchitecture m_Architecture = null; - - private Dictionary m_Properties = new Dictionary(); - private List m_Defines = new List(); - private List m_Includes = new List(); - - private bool m_Debug = false; - //private bool m_KernelDebugger = false; - //private bool m_GDBDebugger = false; - - private bool m_MakeBootCD = false; - private bool m_MakeLiveCD = false; - - public RBuildOSImage() - { - Properties.Add("SARCH", ""); - Properties.Add("OARCH", "pentium"); - Properties.Add("OPTIMIZE", "1"); - Properties.Add("MP", "0"); - Properties.Add("KDBG", "0"); - Properties.Add("DBG", "0"); - Properties.Add("GDB", "0"); - Properties.Add("NSWPAT", "0"); - Properties.Add("NTLPC", "1"); - Properties.Add("_WINKD_", "0"); - - Defines.Add ("_M_IX86"); - Defines.Add ("_X86_"); - Defines.Add ("__i386__"); - Defines.Add ("_REACTOS_"); - - Includes.Add("."); - Includes.Add("include"); - Includes.Add("include/psdk"); - Includes.Add("include/dxsdk"); - Includes.Add("include/crt"); - Includes.Add("include/ddk"); - Includes.Add("include/GL"); - Includes.Add("include/ndk"); - Includes.Add("include/reactos"); - Includes.Add("include/reactos/libs"); - } - - public bool MakeLiveCD - { - get { return m_MakeLiveCD; } - set { m_MakeLiveCD = value; } - } - - public bool MakeBootCD - { - get { return m_MakeBootCD; } - set { m_MakeBootCD = value; } - } - - public RBuildLanguage Language - { - get { return m_Language; } - set { m_Language = value; } - } - - public RosPlatform Platform - { - get { return m_Platform; } - set { m_Platform = value; } - } - - public RosArchitecture Architecture - { - get { return m_Architecture; } - set { m_Architecture = value; } - } - - public Dictionary Properties - { - get { return m_Properties; } - } - - public List Defines - { - get { return m_Defines; } - } - - public List Includes - { - get { return m_Includes; } - } - - public string ReleaseType - { - get - { - if (m_Debug) - return "DBG"; - - return "RELEASE"; - } - } - - public string ImageType - { - get - { - if (m_MakeBootCD) - return "BootCD"; - - return "LiveCD"; - } - } - - public void SaveAs(string file) - { - // Creates an XML file is not exist - using (XmlTextWriter writer = new XmlTextWriter(file, Encoding.ASCII)) - { - writer.Indentation = 4; - writer.Formatting = Formatting.Indented; - - // Starts a new document - writer.WriteStartDocument(); - writer.WriteStartElement("project"); - writer.WriteAttributeString("name", "ReactOS"); - writer.WriteAttributeString("makefile", "makefile.auto"); - writer.WriteAttributeString("xmlns", "xi", null, "http://www.w3.org/2001/XInclude"); - - writer.WriteComment("Generic Properties"); - foreach (KeyValuePair property in Properties) - { - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", property.Key); - writer.WriteAttributeString("value", property.Value); - writer.WriteEndElement(); - } - - foreach (string define in Defines) - { - writer.WriteStartElement("define"); - writer.WriteAttributeString("name", define); - writer.WriteEndElement(); - } - - writer.WriteStartElement("xi:include"); - writer.WriteAttributeString("href", "baseaddress.rbuild"); - writer.WriteEndElement(); - - writer.WriteStartElement("xi:include"); - writer.WriteAttributeString("href", "boot/bootdata/bootdata.rbuild"); - writer.WriteEndElement(); - - writer.WriteElementString("compilerflag", "-Os"); - writer.WriteElementString("compilerflag", "-ftracer"); - writer.WriteElementString("compilerflag", "-momit-leaf-frame-pointer"); - writer.WriteElementString("compilerflag", "-mpreferred-stack-boundary=2"); - - writer.WriteElementString("compilerflag", "-Wno-strict-aliasing"); - writer.WriteElementString("compilerflag", "-Wpointer-arith"); - writer.WriteElementString("linkerflag", "-enable-stdcall-fixup"); - - foreach (string include in Includes) - { - writer.WriteStartElement("include"); - writer.WriteAttributeString("root", "intermediate"); - writer.WriteString(include); - writer.WriteEndElement(); - - writer.WriteStartElement("include"); - writer.WriteString(include); - writer.WriteEndElement(); - } - - foreach (RBuildModule module in Platform.Modules) - { - writer.WriteStartElement("xi:include"); - writer.WriteAttributeString("href", module.RBuildFile); - writer.WriteEndElement(); - } - - writer.WriteEndElement(); //Project - writer.WriteEndDocument(); - } - - string a = Name; - } - - public string Name - { - get { - return ""; - //return string.Format("{0}_{1}{2}_{3}_{4}.iso", - // Platform.SafeName, - // Architecture.SafeName , - // Language.CultureInfo.ThreeLetterISOLanguageName, - // ImageType, - // ReleaseType); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/Obsolete/RosPlatform.cs b/reactos/tools/sysgen/RosFramework/Obsolete/RosPlatform.cs deleted file mode 100644 index 2864a425bbf..00000000000 --- a/reactos/tools/sysgen/RosFramework/Obsolete/RosPlatform.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.Xml; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RosPlatform - { - private List m_Modules = new List(); - - private string m_Name = null; - private string m_Base = null; - - private RosPlatform m_ParentPlatform = null; - - public RosPlatform() - { - m_Name = "ReactOS Core"; - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string Base - { - get { return m_Base; } - set { m_Base = value; } - } - - public RosPlatform ParentPlatform - { - get { return m_ParentPlatform; } - set { m_ParentPlatform = value; } - } - - public string SafeName - { - get { return Utility.GetSafeString(m_Name); } - } - - public void SaveAs(string file) - { - - } - - public List Modules - { - get { return m_Modules; } - } - - public List ParentModules - { - get - { - List modules = new List(); - - if (ParentPlatform != null) - { - foreach (RBuildModule module in ParentPlatform.Modules) - { - modules.Add(module); - } - - foreach (RBuildModule module in ParentPlatform.ParentModules) - { - modules.Add(module); - } - } - - return modules; - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Obsolete/SoftwareCatalog.cs b/reactos/tools/sysgen/RosFramework/Obsolete/SoftwareCatalog.cs deleted file mode 100644 index 5169cf21a55..00000000000 --- a/reactos/tools/sysgen/RosFramework/Obsolete/SoftwareCatalog.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Xml; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class SoftwareCatalog - { - public RBuildModuleCollection m_Modules = new RBuildModuleCollection(); - - public SoftwareCatalog() - { - } - - public RBuildModuleCollection Modules - { - get { return m_Modules; } - } - - public void LoadFromFile(string file) - { - XmlDocument doc = new XmlDocument(); - - //Load the file in to memory - doc.Load(file); - - //Load modules ... - foreach (XmlNode node in doc.SelectNodes("/modules/module")) - { - RBuildModule module; - - module = new RBuildModule(); - module.Metadata = new RBuildMetadata(); - - module.Name = node.Attributes["name"].Value; - //module.Base = node.Attributes["base"].Value; - module.Metadata.Description = node.Attributes["desc"].Value; - //module.Rbuild = node.Attributes["rbuild"].Value; - - /* - foreach (XmlNode dep in node.SelectNodes("provides/provide")) - { - string value = dep.SelectSingleNode("value").InnerText; - string type = dep.SelectSingleNode("type").InnerText; - - module.Provides.Add(value, type); - }*/ - - m_Modules.Add(module); - } - - foreach (XmlNode comp in doc.SelectNodes("/modules/module")) - { - // Get the component name.... - string componentName = comp.Attributes["name"].Value; - - foreach (XmlNode dep in comp.SelectNodes("dependencies/dependency")) - { - // Gets the dependency name - string dependencyName = dep.Attributes["name"].Value; - - foreach (RBuildModule dependency in m_Modules) - { - if (dependency.Name == dependencyName) - { - foreach (RBuildModule module in m_Modules) - { - if (module.Name == componentName) - { - module.Libraries.Add(dependency); - } - } - } - } - } - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/Properties/AssemblyInfo.cs b/reactos/tools/sysgen/RosFramework/Properties/AssemblyInfo.cs deleted file mode 100644 index c9902b14d7b..00000000000 --- a/reactos/tools/sysgen/RosFramework/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("RosFramework")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Sand")] -[assembly: AssemblyProduct("RosFramework")] -[assembly: AssemblyCopyright("Copyright © Sand 2007")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("bc0dfcae-52a0-41f1-83b6-df64128d52b7")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/reactos/tools/sysgen/RosFramework/RBuildAPIInfo.cs b/reactos/tools/sysgen/RosFramework/RBuildAPIInfo.cs deleted file mode 100644 index dc175f72398..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildAPIInfo.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildAPIInfo - { - private string m_Name; - private string m_File; - private bool m_Implemented; - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string File - { - get { return m_File; } - set { m_File = value; } - } - - public bool Implemented - { - get { return m_Implemented; } - set { m_Implemented = value; } - } - - public string HtmlDocFileName - { - get { return string.Format("{0}.htm", Name); } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildAuthor.cs b/reactos/tools/sysgen/RosFramework/RBuildAuthor.cs deleted file mode 100644 index eb504b687d6..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildAuthor.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public enum AuthorRole - { - Developer, - Mantainer, - Translator - } - - public class RBuildAuthor - { - private AuthorRole m_AuthorRole = AuthorRole.Developer; - private RBuildContributor m_Contributor = null; - - /// - /// The underlying contributor. - /// - public RBuildContributor Contributor - { - get { return m_Contributor; } - set { m_Contributor = value; } - } - - /// - /// The author role. - /// - public AuthorRole Role - { - get { return m_AuthorRole; } - set { m_AuthorRole = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildAutoRegister.cs b/reactos/tools/sysgen/RosFramework/RBuildAutoRegister.cs deleted file mode 100644 index 8bc526a5f01..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildAutoRegister.cs +++ /dev/null @@ -1,106 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - /// - /// Type of registration - /// - public enum AutoRegisterType : int - { - DllRegisterServer = 1, - DllInstall = 2, - Both = 3 - } - - public enum SetupApiFolder : int - { - SourceDrive = 1, //(the directory from which the INF file was installed) - OS = 10, //(%SystemRoot%) - System = 11, //(%SystemRoot%\system32) - Drivers = 12, //(%SystemRoot%\system32\drivers) - Inf = 17, //(%SystemRoot%\inf) - Help = 18, //(%SystemRoot%\Help) - Fonts = 20, //(%SystemRoot%\Fonts) - Root = 24, //(%SystemDrive%) - Shared = 25, //(%ALLUSERSPROFILE%\Shared Documents) - UserProfile = 53 //(%USERPROFILE%) - } - - public enum SetupApiShellFolder : int - { - AllUsersApplicationData, // 16419 %ALLUSERSPROFILE%\Application Data - AllUsersDesktop, // 16409 %ALLUSERSPROFILE%\Desktop - AllUsersMyDocuments, // 16430 %ALLUSERSPROFILE%\Documents - AllUsersMyMusic, // 16437 %ALLUSERSPROFILE%\Documents\My Music - AllUsersMyPictures, // 16438 %ALLUSERSPROFILE%\Documents\My Pictures - AllUsersMyVideos, // 16439 %ALLUSERSPROFILE%\Documents\My Videos - AllUsersFavourites, // 16415 %ALLUSERSPROFILE%\Favorites - AllUsersStartMenu, // 16406 %ALLUSERSPROFILE%\Start Menu - AllUsersStartMenuPrograms, // 16407 %ALLUSERSPROFILE%\Start Menu\Programs - AllUsersStartMenuAdministrativeTools, // 16431 %ALLUSERSPROFILE%\Start Menu\Programs\Administrative Tools - AllUsersStartMenuStartup, // 16408 %ALLUSERSPROFILE%\Start Menu\Programs\Startup - AllUsersTemplates, // 16429 %ALLUSERSPROFILE%\Templates - UserApplicationData, // 16410 %USERPROFILE%\Application Data - UserCookies, // 16417 %USERPROFILE%\Cookies - UserDesktop, // 16384 %USERPROFILE%\Desktop - UserDesktop2, // 16400 %USERPROFILE%\Desktop - UserFavourites, // 16390 %USERPROFILE%\Favorites - UserLocalSettingsApplicationData, // 16412 %USERPROFILE%\Local Settings\Application Data - UserLocalSettingsMSCDBruning, // 16443 %USERPROFILE%\Local Settings\Application Data\Microsoft\CD Burning - UserHistory, // 16418 %USERPROFILE%\Local Settings\History - UserTemporaryInternetFiles, // 16416 %USERPROFILE%\Local Settings\Temporary Internet Files - UserMyDocuments, // 16389 %USERPROFILE%\My Documents - UserMyMusic, // 16397 %USERPROFILE%\My Documents\My Music - UserMyPictures, // 16423 %USERPROFILE%\My Documents\My Pictures - UserMyVideos, // 16398 %USERPROFILE%\My Documents\My Videos - UserNetHood, // 16403 %USERPROFILE%\NetHood - UserPrintHood, // 16411 %USERPROFILE%\PrintHood - UserRecent, // 16392 %USERPROFILE%\Recent - UserSendTo, // 16393 %USERPROFILE%\SendTo - UserStartMenu, // 16395 %USERPROFILE%\Start Menu - UserStartMenuPrograms, // 16386 %USERPROFILE%\Start Menu\Programs - UserStartMenuAdministrativeTools, // 16432 %USERPROFILE%\Start Menu\Programs\Administrative Tools - UserStartMenuStartup, // 16391 %USERPROFILE%\Start Menu\Programs\Startup - UserTemplates, // 16405 %USERPROFILE%\Templates - ProgramFiles, // 16422 %ProgramFiles% - ProgramFilesCommonFiles, // 16427 %ProgramFiles%\Common Files - SystenResources, // 16440 %SystemRoot%\Resources - SystemEnglishResources // 16441 %SystemRoot%\Resources\0409 - } - - /// - /// An autoregister element specifies that the generated executable should be - /// registered in the registry during second stage setup. - /// - public class RBuildAutoRegister - { - private AutoRegisterType m_AutoRegisterType = AutoRegisterType.Both; - private string m_InfSection = null; - - /// - /// Name of section in syssetup.inf. - /// - public string InfSection - { - get { return m_InfSection; } - set { m_InfSection = value; } - } - - /// - /// Type of registration. - /// - public AutoRegisterType Type - { - get { return m_AutoRegisterType; } - set { m_AutoRegisterType = value; } - } - - public int RegistrationType - { - get { return (int)Type; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildBootstrapFile.cs b/reactos/tools/sysgen/RosFramework/RBuildBootstrapFile.cs deleted file mode 100644 index 07771b10d46..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildBootstrapFile.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - /// - /// A bootstrap element specifies that the generated file should - /// be put on the bootable CD as a bootstrap file. - /// - public class RBuildBootstrapFile : RBuildCDFileBase - { - public RBuildBootstrapFile() - { - } - - public RBuildBootstrapFile(string basePath , string name) - { - Base = basePath; - Name = name; - } - - //public override RBuildFile CDNewFile - //{ - // get - // { - // RBuildFile file = (RBuildFile)Clone(); - - // file.Name = NewName; - // file.Base = InstallBase; - // file.Root = PathRoot.CDOutput; - - // return file; - // } - //} - - //public virtual RBuildFile CDNewFile - //{ - // get - // { - // RBuildFile file = (RBuildFile)Clone(); - - // file.Name = NewName; - // file.Base = InstallBase; - // file.Root = PathRoot.CDOutput; - - // return file; - // } - //} - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildBuildFamily.cs b/reactos/tools/sysgen/RosFramework/RBuildBuildFamily.cs deleted file mode 100644 index 24014e0e2c7..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildBuildFamily.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildBuildFamily - { - private string m_Name = null; - private string m_Description = null; - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string Description - { - get { return m_Description; } - set { m_Description = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildCDFile.cs b/reactos/tools/sysgen/RosFramework/RBuildCDFile.cs deleted file mode 100644 index e8b34f00252..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildCDFile.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - /// - /// A cdfile element specifies the name of a file that is to be put on the bootable CD. - /// - public class RBuildCDFile : RBuildCDFileBase - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildCDFileBase.cs b/reactos/tools/sysgen/RosFramework/RBuildCDFileBase.cs deleted file mode 100644 index 5f07e283027..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildCDFileBase.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildCDFileBase : RBuildOutputFile /*RBuildPlatformFile*/ - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildCompilationUnit.cs b/reactos/tools/sysgen/RosFramework/RBuildCompilationUnit.cs deleted file mode 100644 index 2b1348b8c7b..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildCompilationUnit.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - /// - /// A compilationunit element specifies that one or more source code - /// files are to be compiled as a single compilation unit. - /// - public class RBuildCompilationUnitFile : RBuildSourceFile , IRBuildSourceFilesContainer - { - private RBuildSourceFileCollection m_SourceFiles = new RBuildSourceFileCollection(); - - /// - /// Gets the collection of . - /// - public RBuildSourceFileCollection SourceFiles - { - get { return m_SourceFiles; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildContributor.cs b/reactos/tools/sysgen/RosFramework/RBuildContributor.cs deleted file mode 100644 index a881176f071..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildContributor.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Text.RegularExpressions; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildContributor - { - private string m_FirstName = null; - private string m_LastName = null; - private string m_Alias = null; - private string m_City = null; - private string m_Country = null; - private string m_Mail = null; - private string m_Website = null; - private bool m_Active = true; - - public string FirstName - { - get { return m_FirstName; } - set { m_FirstName = value; } - } - - public string Website - { - get { return m_Website; } - set { m_Website = value; } - } - - public string LastName - { - get { return m_LastName; } - set { m_LastName = value; } - } - - public string Alias - { - get { return m_Mail; } - set { m_Mail = value; } - } - - public string Mail - { - get { return m_Alias; } - set { m_Alias = value; } - } - - public string City - { - get { return m_City; } - set { m_City = value; } - } - - public string Country - { - get { return m_Country; } - set { m_Country = value; } - } - - public bool Active - { - get { return m_Active; } - set { m_Active = value; } - } - - public string FullName - { - get { return string.Format("{0} {1}", FirstName, LastName); } - } - - public string HtmlDocFileName - { - get { return string.Format("{0}.htm", Alias); } - } - - public bool HasAlias - { - get { return ((Alias != null) && (Alias.Length > 0)); } - } - - public bool HasMail - { - get { return ((Mail != null) && (Mail.Length > 0)); } - } - - public bool HasLocation - { - get { return ((City != null) && (City.Length > 0) && (Country != null) && (Country.Length > 0)); } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildDebugChannel.cs b/reactos/tools/sysgen/RosFramework/RBuildDebugChannel.cs deleted file mode 100644 index 6125c49bd48..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildDebugChannel.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.Text; -using System.IO; -using System.Collections.Generic; - -namespace SysGen.RBuild.Framework -{ - public class RBuildDebugChannel - { - private string m_Name = null; - private bool m_Warn = true; - private bool m_Error = true; - private bool m_Trace = false; - private bool m_Fixme = true; - - public RBuildDebugChannel() - { - } - - public RBuildDebugChannel(string name) - { - m_Name = name; - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public bool Warn - { - get { return m_Warn; } - set { m_Warn = value; } - } - - public bool Error - { - get { return m_Error; } - set { m_Error = value; } - } - - public bool Trace - { - get { return m_Trace; } - set { m_Trace = value; } - } - - public bool Fixme - { - get { return m_Fixme; } - set { m_Fixme = value; } - } - - public string Text - { - get - { - StringBuilder sBuilder = new StringBuilder(); - - if (Warn) - sBuilder.AppendFormat("warn+{0},", Name); - if (Error) - sBuilder.AppendFormat("err+{0},", Name); - if (Trace) - sBuilder.AppendFormat("trace+{0},", Name); - if (Fixme) - sBuilder.AppendFormat("fix+{0},", Name); - - return sBuilder.ToString(); - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildExportFunction.cs b/reactos/tools/sysgen/RosFramework/RBuildExportFunction.cs deleted file mode 100644 index 9e1868a01f5..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildExportFunction.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public enum CallingConventionType - { - None, - StdCall, - Pascal, - VarArgs - } - - public class RBuildExportFunction - { - private string m_Ordinal; - private string m_FunctionName; - private CallingConventionType m_CallingConvention = CallingConventionType.None; - private bool m_Stub; - - public string Ordinal - { - get { return m_Ordinal; } - set { m_Ordinal = value; } - } - - public string FunctionName - { - get { return m_FunctionName; } - set { m_FunctionName = value; } - } - - public CallingConventionType CallingConvention - { - get { return m_CallingConvention; } - set { m_CallingConvention = value; } - } - - public bool IsStub - { - get { return m_Stub; } - set { m_Stub = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildFamily.cs b/reactos/tools/sysgen/RosFramework/RBuildFamily.cs deleted file mode 100644 index 067453a19df..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildFamily.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildFamily - { - private string m_FamilyName = null; - - public string Name - { - get { return m_FamilyName; } - set { m_FamilyName = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildFile.cs b/reactos/tools/sysgen/RosFramework/RBuildFile.cs deleted file mode 100644 index ed070b95ecf..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildFile.cs +++ /dev/null @@ -1,441 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public enum PathRoot - { - Default, - SourceCode, - Output, - Intermediate, - CDOutput, - Temporary, - Install, - BootCD, - LiveCD, - Platform - } - - public enum SourceType - { - Unknown, - C, - CPP, - IDL, - Assembler, - NASM, - WineBuild, - WindResource, - MessageTable, - Header - } - - public class RBuildFolder : RBuildFileSystemInfo - { - private List m_Contents = new List(); - - public RBuildFolder() - { - } - - public RBuildFolder(RBuildFolder parentFolder , string name) - { - Root = parentFolder.Root; - Base = parentFolder.Base; - Name = name; - } - - public RBuildFolder(PathRoot rootPath) - { - Root = rootPath; - //Base = "."; - } - - public RBuildFolder (PathRoot rootPath, string basePath) - { - Root = rootPath; - Base = basePath; - } - - public RBuildFolder Parent - { - get - { - RBuildFolder folder = null; - - folder = new RBuildFolder(); - folder.Base = Path.GetDirectoryName(FullPath); - folder.Name = ""; - folder.Root = Root; - - return folder; - // return new RBuildFolder(Root, Path.GetDirectoryName(Base), Name); - } - } - - public List Contents - { - get { return m_Contents; } - } - - public override string ToString() - { - return string.Format("{0} - {1}", Root, FullPath); - } - } - - public class RBuildSourceFile : RBuildFile, IComparable - { - private bool m_First = false; - private string m_Switches = string.Empty; - - public string Switches - { - get { return m_Switches; } - set { m_Switches = value; } - } - - public bool First - { - get { return m_First; } - set { m_First = value; } - } - - public SourceType Type - { - get - { - if (IsC) - return SourceType.C; - if (IsCPP) - return SourceType.CPP; - if (IsAssembler) - return SourceType.Assembler; - if (IsNASM) - return SourceType.NASM; - if (IsWidl) - return SourceType.IDL; - if (IsWindResource) - return SourceType.WindResource; - if (IsWineBuild) - return SourceType.WineBuild; - if (IsMessageTable) - return SourceType.MessageTable; - if (IsHeader) - return SourceType.Header; - - return SourceType.Unknown; - } - } - - public bool CompilableObject - { - get - { - if (IsWidl) - return false; - if (IsMessageTable) - return false; - - return true; - } - } - - public bool IsCPP - { - get - { - switch (Extension) - { - case ".cc": - case ".cpp": - case ".cxx": - return true; - default: - return false; - } - } - } - - public bool IsWidl - { - get - { - if (Extension == ".idl") - return true; - - return false; - } - } - - public bool IsMessageTable - { - get - { - if (Extension == ".mc") - return true; - - return false; - } - } - - public bool IsHeader - { - get - { - if (Extension == ".h") - return true; - - return false; - } - } - - public bool IsWineBuild - { - get - { - if (Extension == ".spec") - return true; - - return false; - } - } - - public bool IsWindResource - { - get - { - if (Extension == ".rc") - return true; - - return false; - } - } - - public bool IsNASM - { - get - { - if (Extension == ".asm") - return true; - - return false; - } - } - - public bool IsAssembler - { - get - { - if (Extension == ".s") - return true; - - return false; - } - } - - public bool IsC - { - get - { - if (Extension == ".c") - return true; - - return false; - } - } - - public bool IsCompilable - { - get { return (IsC || IsCPP || IsAssembler || IsNASM || IsWidl || IsWindResource || IsWineBuild || IsHeader); } - } - - public override string ToString() - { - return string.Format("{0} {1}" , Name , Type); - } - - #region IComparable Members - - public int CompareTo(object obj) - { - RBuildSourceFile source = (RBuildSourceFile)obj; - - if (First != source.First) - { - if (source.First) - return 1; - else - return -1; - } - - return 0; - } - - #endregion - } - - public class RBuildFile : RBuildFileSystemInfo - { - public RBuildFile() - { - } - - public RBuildFile(RBuildElement element) - : base (element) - { - } - - public string Extension - { - get { return Path.GetExtension(Name).Trim().ToLower(); } - } - - public override object Clone() - { - RBuildFile file = new RBuildFile(); - - file.Base = Base; - file.Name = Name; - file.Root = Root; - file.Enabled = Enabled; - - return file; - } - - public RBuildFolder Folder - { - get { return new RBuildFolder(Root, Base); } - } - } - - /// - /// Represents the base class for source-code , installable file , folder , include folder , cdfile taks ... from a build. - /// - public abstract class RBuildFileSystemInfo : ICloneable - { - protected RBuildElement m_Element = null; - protected PathRoot m_Root = PathRoot.Default; - protected string m_Name = string.Empty; //"."; - protected string m_Base = string.Empty; //null; - protected bool m_Enabled = true; - - public RBuildFileSystemInfo(RBuildElement element) - { - m_Element = element; - } - - public RBuildFileSystemInfo() - { - } - - private string NormalizePath(string path) - { - return path.Replace( - Path.AltDirectorySeparatorChar, - Path.DirectorySeparatorChar); - } - - public string FullPath - { - get { - - if (Base == null || Name == null) - { - int i = 10; - } - - return NormalizePath(Path.Combine(Base, Name)); - } - } - - public string Name - { - get { return m_Name; } - set - { - if (value == null) - { - int i = 10; - } - m_Name = value; } - } - - public string Base - { - get { return m_Base; } - set - { - if (value == null) - { - int i = 10; - } - m_Base = value; - } - } - - public bool Enabled - { - get { return m_Enabled; } - set { m_Enabled = value; } - } - - //TODO : ELIMINAR - public RBuildElement Element - { - get { return m_Element; } - set { m_Element = value; } - } - - public virtual PathRoot Root - { - get { return m_Root; } - set { m_Root = value; } - } - - public string[] BasePathParts - { - get { return Base.Split(new char[] { '\\' }); } - } - - public override bool Equals(object obj) - { - if (obj is RBuildFileSystemInfo) - { - RBuildFileSystemInfo rfsInfo = obj as RBuildFileSystemInfo; - - if ((rfsInfo.Base == Base) && - (rfsInfo.Root == Root) && - (rfsInfo.Name == Name)) - { - return true; - } - - if ((rfsInfo.FullPath == FullPath) && (rfsInfo.Root == Root)) - { - return true; - } - } - - // The instances are not equal - return false; - } - - public override int GetHashCode() - { - return Base.GetHashCode() ^ Name.GetHashCode() ^ Root.GetHashCode (); - } - - #region ICloneable Members - - public virtual object Clone() - { - throw new Exception("The method or operation is not implemented."); - } - - #endregion - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildImportLibrary.cs b/reactos/tools/sysgen/RosFramework/RBuildImportLibrary.cs deleted file mode 100644 index 04d9508d25f..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildImportLibrary.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - /// - /// An importlibrary element specifies that an import library should be - /// generated which other modules can use to link with the current module. - /// - public sealed class RBuildImportLibrary : RBuildFile - { - private string m_DllName = null; - - /// - /// Creates a new instance of the . - /// - public RBuildImportLibrary() - { - } - - public string DllName - { - get { return m_DllName; } - set { m_DllName = value; } - } - - public bool IsSpecFile - { - get { return Name.EndsWith(".spec.def"); } - } - - public string Definition - { - get { return Name; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildInfInstallerFile.cs b/reactos/tools/sysgen/RosFramework/RBuildInfInstallerFile.cs deleted file mode 100644 index 0eec49b37ae..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildInfInstallerFile.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildInfInstallerFile : RBuildFile - { - private string m_InstallSection = "DefaultInstall"; - - public string InstallSection - { - get { return m_InstallSection; } - set { m_InstallSection = value; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildInstallFile.cs b/reactos/tools/sysgen/RosFramework/RBuildInstallFile.cs deleted file mode 100644 index a401e126969..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildInstallFile.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildInstallFile : RBuildPlatformFile - { - } - - public class RBuildWallpaperFile : RBuildInstallFile - { - private string m_ID = null; - - public RBuildWallpaperFile() - { - } - - public RBuildWallpaperFile(string file) - { - Name = file; - } - - public string ID - { - get - { - if (m_ID == null || - m_ID == string.Empty) - return base.Name; - - return m_ID; - } - set { m_ID = value; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildInstallFolder.cs b/reactos/tools/sysgen/RosFramework/RBuildInstallFolder.cs deleted file mode 100644 index acc7918b249..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildInstallFolder.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildInstallFolder : RBuildFolder - { - private string m_ID = null; - - public RBuildInstallFolder() - { - Root = PathRoot.Install; - } - - public RBuildInstallFolder(string id, string name) - { - ID = id; - Name = name; - Root = PathRoot.Install; - } - - public string ID - { - get { return m_ID; } - set { m_ID = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildLanguage.cs b/reactos/tools/sysgen/RosFramework/RBuildLanguage.cs deleted file mode 100644 index 0e0be1389f2..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildLanguage.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System; -using System.Globalization; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildLanguage - { - private string m_Name = null; - private string m_LCID = null; - - private CultureInfo m_CultureInfo = null; - - public RBuildLanguage() - { - } - - public RBuildLanguage(string name) - { - //IsoName = name; - Name = name; - } - - public string LCID - { - get { return m_LCID; } - set { m_LCID = value; } - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public CultureInfo CultureInfo - { - get { return m_CultureInfo; } - } - - //public string IsoName - //{ - // get { return m_CultureInfo.Name; } - // set { m_CultureInfo = CultureInfo.GetCultureInfo(value); } - //} - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildLocalizationFile.cs b/reactos/tools/sysgen/RosFramework/RBuildLocalizationFile.cs deleted file mode 100644 index cbc46aa5c99..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildLocalizationFile.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Globalization; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildLocalizationFile : RBuildFile - { - private bool m_Dirty = false; - private CultureInfo m_CultureInfo = null; - - public RBuildLocalizationFile() - { - } - - public CultureInfo CultureInfo - { - get { return m_CultureInfo; } - } - - public bool Dirty - { - get { return m_Dirty; } - set { m_Dirty = value; } - } - - public string IsoName - { - get { return m_CultureInfo.Name; } - set { m_CultureInfo = CultureInfo.GetCultureInfo(value); } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildMetadata.cs b/reactos/tools/sysgen/RosFramework/RBuildMetadata.cs deleted file mode 100644 index e828dbdc725..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildMetadata.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildMetadata - { - private string m_Description = null; - - public string Description - { - get { return m_Description; } - set { m_Description = value; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildModule.cs b/reactos/tools/sysgen/RosFramework/RBuildModule.cs deleted file mode 100644 index df4f0aa0720..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildModule.cs +++ /dev/null @@ -1,1215 +0,0 @@ -using System; -using System.Xml; -using System.IO; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Text; -using System.ComponentModel; - -namespace SysGen.RBuild.Framework -{ - public enum ModuleType - { - BuildTool = 0, - StaticLibrary = 1, - ObjectLibrary = 2, - Kernel = 3, - KernelModeDLL = 4, - KernelModeDriver = 5, - NativeDLL = 6, - NativeCUI = 7, - Win32DLL = 8, - Win32OCX = 9, - Win32CUI = 10, - Win32GUI = 11, - BootLoader = 12, - BootSector = 13, - Iso = 14, - LiveIso = 15, - Test = 16, - RpcServer = 17, - RpcClient = 18, - Alias = 19, - BootProgram = 20, - Win32SCR = 21, - IdlHeader = 23, - IsoRegTest = 24, - LiveIsoRegTest = 25, - EmbeddedTypeLib = 26, - ElfExecutable = 27, - RpcProxy = 28, - HostStaticLibrary = 29, - Cabinet = 30, - Package = 50, - ModuleGroup = 51, - PlatformProfile = 52, - KeyboardLayout, - MessageHeader, - IdlInterface - } - - [DefaultPropertyAttribute("Name")] - public class RBuildModule : RBuildElement, IRBuildSourceFilesContainer//, IRBuildInstallable - { - private string m_InstallBase = "."; - private string m_InstallName = null; - private string m_BaseAddress = null; - private string m_EntryPoint = null; - private string m_AliasOf = null; - private string m_Extension = null; - private string m_BuildType = null; - private string m_Description = null; - private string m_LCID = null; - private string m_CDLabel = null; - private string m_OutputName = null; - private string m_CatalogPath = null; - - private ModuleType m_Type = ModuleType.Win32CUI; - - protected bool m_Enabled = true; - protected bool m_Unicode = false; - protected bool m_AllowWarnings = false; - protected bool m_IsStartupLib = false; - protected bool m_UnderscoreSymbols = false; - protected bool m_MangledSymbols = false; - protected bool m_HostBuild = false; - - //protected RBuildInfInstallerFile m_InfInstallComponent = null; - protected RBuildFile m_LinkerScript = null; - protected RBuildSourceFile m_PrecompiledHeader = null; - protected RBuildAutoRegister m_AutoRegister = null; - protected RBuildSetupFile m_RBuildSetup = null; - protected RBuildImportLibrary m_ImportLibrary = null; - protected RBuildMetadata m_Metadata = null; - //protected RBuildInstallFolder m_InstallFolder = null; - protected RBuildBootstrapFile m_Bootstrap = null; - protected RBuildModule m_BootSectorModule = null; - - private RBuildFamilyCollection m_Families = new RBuildFamilyCollection(); - private RBuildAPIStatusCollection m_ApiInfo = new RBuildAPIStatusCollection(); - private RBuildModuleCollection m_Dependencies = new RBuildModuleCollection(); - private RBuildModuleCollection m_Libraries = new RBuildModuleCollection(); - private RBuildModuleCollection m_Requeriments = new RBuildModuleCollection(); - private RBuildSourceFileCollection m_SourceFiles = new RBuildSourceFileCollection(); - private RBuildLocalizationFileCollection m_LocalizationFiles = new RBuildLocalizationFileCollection(); - private RBuildExportedFunctionsCollection m_ExportedFunctions = new RBuildExportedFunctionsCollection(); - private RBuildAuthorCollection m_Authors = new RBuildAuthorCollection(); - private List m_RegistryKeys = new List(); - private List m_CompilationUnits = new List(); - - //public void GenerateFromPath(string path) - //{ - // m_Base = path; - - // m_Path = System.IO.Path.GetFileName(path); - // m_Name = System.IO.Path.GetFileName(path); - //} - - public RBuildSourceFile PreCompiledHeader - { - get - { - foreach (RBuildSourceFile file in SourceFiles) - { - if (file.Type == SourceType.Header) - return file; - } - - return null; - } - } - - public RBuildFile LinkerScript - { - get { return m_LinkerScript; } - set { m_LinkerScript = value; } - } - - public RBuildBootstrapFile Bootstrap - { - get { return m_Bootstrap; } - set { m_Bootstrap = value; } - } - - public bool IsBootstrap - { - get { return Bootstrap != null; } - } - - //Hack: - public bool IsSpecialIncludedBootStrap - { - get { return (Name == "ntdll"); } - } - - //Hack:: - public bool IsSpecialExcludedBootStrap - { - get { return (Name == "hal"); } - } - - public RBuildModule BootSector - { - get { return m_BootSectorModule; } - set { m_BootSectorModule = value; } - } - - //public RBuildInstallFolder InstallFolder - //{ - // get { return m_InstallFolder; } - // set { m_InstallFolder = value; } - //} - - public RBuildMetadata Metadata - { - get { return m_Metadata; } - set { m_Metadata = value; } - } - - public string Extension - { - get - { - if ((m_Extension == null) || (m_Extension == string.Empty)) - return DefaultExtension; - - return m_Extension; - } - set { m_Extension = value; } - } - - public string DefaultExtension - { - get - { - switch (Type) - { - case ModuleType.StaticLibrary: - case ModuleType.HostStaticLibrary: - return ".a"; - case ModuleType.ObjectLibrary: - return ".o"; - case ModuleType.Kernel: - case ModuleType.NativeCUI: - case ModuleType.Win32CUI: - case ModuleType.Win32GUI: - return ".exe"; - case ModuleType.Win32SCR: - return ".scr"; - case ModuleType.KeyboardLayout: - case ModuleType.KernelModeDLL: - case ModuleType.NativeDLL: - case ModuleType.Win32DLL: - return ".dll"; - case ModuleType.Win32OCX: - return ".ocx"; - case ModuleType.KernelModeDriver: - case ModuleType.BootLoader: - return ".sys"; - case ModuleType.BootSector: - return ".o"; - case ModuleType.Iso: - case ModuleType.LiveIso: - case ModuleType.IsoRegTest: - case ModuleType.LiveIsoRegTest: - return ".iso"; - case ModuleType.Test: - return ".exe"; - case ModuleType.RpcServer: - case ModuleType.RpcClient: - case ModuleType.RpcProxy: - return ".o"; - case ModuleType.BuildTool: - return ".exe"; - case ModuleType.Alias: - case ModuleType.BootProgram: - case ModuleType.IdlHeader: - case ModuleType.IdlInterface: - case ModuleType.MessageHeader: - case ModuleType.Package: - case ModuleType.ModuleGroup: - case ModuleType.PlatformProfile: - return string.Empty; - case ModuleType.EmbeddedTypeLib: - return ".tlb"; - case ModuleType.Cabinet: - return ".cab"; - default: - throw new Exception("Unknown Module Type: " + Type.ToString()); - } - } - } - - public string CatalogPath - { - get - { - if (m_CatalogPath == null) - return Folder.Parent.FullPath; - - return m_CatalogPath; - } - set { m_CatalogPath = value; } - } - - public RBuildImportLibrary ImportLibrary - { - get { return m_ImportLibrary; } - set { m_ImportLibrary = value; } - } - - public string AliasOf - { - get { return m_AliasOf; } - set { m_AliasOf = value; } - } - - public string BuildType - { - get - { - if (m_BuildType == null) - m_BuildType = "BOOTPROG"; - - return m_BuildType; - } - set { m_BuildType = value; } - } - - public string BaseAddress - { - get - { - if ((m_BaseAddress == null) || (m_BaseAddress == string.Empty)) - return DefaultBaseAdress; - - return m_BaseAddress; - } - set { m_BaseAddress = value; } - } - - public string EntryPoint - { - get - { - if (string.IsNullOrEmpty(m_EntryPoint)) - return DefaultEntrypoint; - - return m_EntryPoint; - } - set { m_EntryPoint = value; } - } - - public bool NoEntryPoint - { - get { return (EntryPoint == "0") || (EntryPoint == "0x0"); } - } - - public string LinkerEntryPoint - { - get - { - if (NoEntryPoint) - return EntryPoint; - - return string.Format("_{0}", EntryPoint); - } - } - - public string HtmlDocFileName - { - get { return string.Format("{0}.htm", Name); } - } - - public bool IsDefaultBaseAdress - { - get { return (BaseAddress == DefaultBaseAdress); } - } - - public bool IsDefaultEntryPoint - { - get { return (EntryPoint == DefaultEntrypoint); } - } - - public bool PCH - { - get { return (PreCompiledHeader != null); } - } - - public bool CPlusPlus - { - get - { - foreach (RBuildSourceFile file in SourceFiles) - { - if ((file.Extension == ".cpp") || - (file.Extension == ".cc") || - (file.Extension == ".cxx")) - { - return true; - } - } - - // This module does not contain C++ code - return false; - } - } - - public bool IsRPC - { - get - { - switch (Type) - { - case ModuleType.RpcClient: - case ModuleType.RpcServer: - case ModuleType.RpcProxy: - return true; - default: - return false; - } - } - } - - public bool IsLibrary - { - get - { - switch (Type) - { - case ModuleType.StaticLibrary: - case ModuleType.ObjectLibrary: - case ModuleType.HostStaticLibrary: //HACK - return true; - default: - return false; - } - } - } - - public bool HasInstallBase - { - get { return InstallBase != null; } - } - - public bool IsInstallable - { - get { return (IsDLL) || (IsApplication); } - } - - public bool IsApplication - { - get - { - switch (Type) - { - case ModuleType.NativeCUI: - case ModuleType.Win32CUI: - case ModuleType.Win32SCR: - case ModuleType.Win32GUI: - return true; - case ModuleType.KeyboardLayout: - case ModuleType.Kernel: - case ModuleType.KernelModeDLL: - case ModuleType.KernelModeDriver: - case ModuleType.NativeDLL: - case ModuleType.Win32DLL: - case ModuleType.Win32OCX: - case ModuleType.Test: - case ModuleType.BuildTool: - case ModuleType.HostStaticLibrary: - case ModuleType.StaticLibrary: - case ModuleType.ObjectLibrary: - case ModuleType.BootLoader: - case ModuleType.BootSector: - case ModuleType.BootProgram: - case ModuleType.Iso: - case ModuleType.LiveIso: - case ModuleType.IsoRegTest: - case ModuleType.LiveIsoRegTest: - case ModuleType.RpcServer: - case ModuleType.RpcClient: - case ModuleType.RpcProxy: - case ModuleType.Alias: - case ModuleType.IdlHeader: - case ModuleType.IdlInterface: - case ModuleType.MessageHeader: - case ModuleType.EmbeddedTypeLib: - case ModuleType.Cabinet: - case ModuleType.Package: - case ModuleType.ModuleGroup: - case ModuleType.PlatformProfile: - return false; - default: - throw new Exception("Unknown Module Type: " + Type.ToString()); - } - } - } - - public bool IsDLL - { - get - { - switch (Type) - { - case ModuleType.Kernel: - case ModuleType.KernelModeDLL: - case ModuleType.KernelModeDriver: - case ModuleType.NativeDLL: - case ModuleType.Win32DLL: - case ModuleType.Win32OCX: - case ModuleType.KeyboardLayout: - return true; - case ModuleType.NativeCUI: - case ModuleType.Win32CUI: - case ModuleType.Test: - case ModuleType.Win32SCR: - case ModuleType.Win32GUI: - case ModuleType.BuildTool: - case ModuleType.HostStaticLibrary: - case ModuleType.StaticLibrary: - case ModuleType.ObjectLibrary: - case ModuleType.BootLoader: - case ModuleType.BootSector: - case ModuleType.BootProgram: - case ModuleType.Iso: - case ModuleType.LiveIso: - case ModuleType.IsoRegTest: - case ModuleType.LiveIsoRegTest: - case ModuleType.RpcServer: - case ModuleType.RpcClient: - case ModuleType.RpcProxy: - case ModuleType.Alias: - case ModuleType.IdlHeader: - case ModuleType.IdlInterface: - case ModuleType.MessageHeader: - case ModuleType.EmbeddedTypeLib: - case ModuleType.Cabinet: - case ModuleType.Package: - case ModuleType.ModuleGroup: - case ModuleType.PlatformProfile: - return false; - default: - throw new Exception("Unknown Module Type: " + Type.ToString()); - } - } - } - - public string DefaultBaseAdress - { - get - { - switch (Type) - { - case ModuleType.Kernel: - return "0x80800000"; - case ModuleType.Win32DLL: - case ModuleType.Win32OCX: - return "0x10000000"; - case ModuleType.NativeDLL: - case ModuleType.NativeCUI: - case ModuleType.Win32CUI: - case ModuleType.Test: - return "0x00400000"; - case ModuleType.Win32SCR: - case ModuleType.Win32GUI: - return "0x00400000"; - case ModuleType.KeyboardLayout: - case ModuleType.KernelModeDLL: - case ModuleType.KernelModeDriver: - return "0x00010000"; - case ModuleType.BuildTool: - case ModuleType.HostStaticLibrary: - case ModuleType.StaticLibrary: - case ModuleType.ObjectLibrary: - case ModuleType.BootLoader: - case ModuleType.BootSector: - case ModuleType.Iso: - case ModuleType.LiveIso: - case ModuleType.IsoRegTest: - case ModuleType.LiveIsoRegTest: - case ModuleType.RpcServer: - case ModuleType.RpcClient: - case ModuleType.RpcProxy: - case ModuleType.Alias: - case ModuleType.BootProgram: - case ModuleType.IdlHeader: - case ModuleType.IdlInterface: - case ModuleType.MessageHeader: - case ModuleType.EmbeddedTypeLib: - case ModuleType.Cabinet: - case ModuleType.Package: - case ModuleType.ModuleGroup: - case ModuleType.PlatformProfile: - return string.Empty; - default: - throw new Exception("Unknown Module Type: " + Type.ToString()); - } - } - } - - public string DefaultEntrypoint - { - get - { - switch (Type) - { - case ModuleType.Kernel: - return "KiSystemStartup"; - case ModuleType.KeyboardLayout: - case ModuleType.KernelModeDLL: - case ModuleType.KernelModeDriver: - return "DriverEntry@8"; - case ModuleType.NativeDLL: - return "DllMainCRTStartup@12"; - case ModuleType.NativeCUI: - return "NtProcessStartup@4"; - case ModuleType.Win32DLL: - case ModuleType.Win32OCX: - return "DllMain@12"; - case ModuleType.Win32CUI: - case ModuleType.Test: - { - if (Unicode) - return "wmainCRTStartup"; - return "mainCRTStartup"; - } - case ModuleType.Win32SCR: - case ModuleType.Win32GUI: - { - if (Unicode) - return "wWinMainCRTStartup"; - return "WinMainCRTStartup"; - } - case ModuleType.HostStaticLibrary: - case ModuleType.BuildTool: - case ModuleType.StaticLibrary: - case ModuleType.ObjectLibrary: - case ModuleType.BootLoader: - case ModuleType.BootSector: - case ModuleType.Iso: - case ModuleType.LiveIso: - case ModuleType.IsoRegTest: - case ModuleType.LiveIsoRegTest: - case ModuleType.RpcServer: - case ModuleType.RpcClient: - case ModuleType.RpcProxy: - case ModuleType.Alias: - case ModuleType.BootProgram: - case ModuleType.IdlHeader: - case ModuleType.IdlInterface: - case ModuleType.MessageHeader: - case ModuleType.EmbeddedTypeLib: - case ModuleType.Cabinet: - case ModuleType.Package: - case ModuleType.ModuleGroup: - case ModuleType.PlatformProfile: - return string.Empty; - default: - throw new Exception("Unknown Module Type: " + Type.ToString()); - } - } - } - - public bool IsBuildable - { - get { return Type != ModuleType.Package && Type != ModuleType.ModuleGroup && Type != ModuleType.PlatformProfile; } - } - - public bool IncludeInAllTarget - { - get - { - if (Type == ModuleType.BootSector || - Type == ModuleType.Iso || - Type == ModuleType.LiveIso || - Type == ModuleType.IsoRegTest || - Type == ModuleType.LiveIsoRegTest || - Type == ModuleType.Test || - Type == ModuleType.Alias) - { - return false; - } - - return true; - } - } - - public bool LinksToCRuntimeLibrary - { - get - { - foreach (RBuildModule module in Libraries) - { - if ((module.Name == "libcntpr") || - (module.Name == "crt")) - { - return true; - } - } - - return false; - } - } - - /// - /// Default root to use when someone references - /// this module by using include - /// - public PathRoot IncludeDefaultRoot - { - get - { - switch (Type) - { - case ModuleType.RpcClient: - case ModuleType.RpcServer: - case ModuleType.RpcProxy: - return PathRoot.Intermediate; - default: - return PathRoot.SourceCode; - } - } - } - - /// - /// Gets the folder to be used when another object - /// references this module - /// - public PathRoot ReferenceDefaultRoot - { - get - { - switch (Type) - { - case ModuleType.RpcClient: - case ModuleType.RpcServer: - case ModuleType.RpcProxy: - case ModuleType.IdlHeader: - case ModuleType.MessageHeader: - case ModuleType.BootSector: - case ModuleType.StaticLibrary: - case ModuleType.HostStaticLibrary: - return PathRoot.Intermediate; - default: - return PathRoot.Output; - } - } - } - - /// - /// Gets the folder to be used when another objects - /// references the target file generated by this module - /// - public PathRoot TargetDefaultRoot - { - get - { - switch (Type) - { - case ModuleType.Iso: - case ModuleType.LiveIso: - case ModuleType.IsoRegTest: - case ModuleType.LiveIsoRegTest: - return PathRoot.Default; - case ModuleType.RpcClient: - case ModuleType.RpcServer: - case ModuleType.RpcProxy: - case ModuleType.IdlHeader: - case ModuleType.MessageHeader: - case ModuleType.BootSector: - case ModuleType.StaticLibrary: - case ModuleType.EmbeddedTypeLib: - case ModuleType.HostStaticLibrary: - return PathRoot.Intermediate; - default: - return PathRoot.Output; - } - } - } - - public bool Enabled - { - get { return m_Enabled; } - set { m_Enabled = value; } - } - - public bool MangledSymbols - { - get { return m_MangledSymbols; } - set { m_MangledSymbols = value; } - } - - public bool IsStartupLib - { - get { return m_IsStartupLib; } - set { m_IsStartupLib = value; } - } - - public bool UnderscoreSymbols - { - get { return m_UnderscoreSymbols; } - set { m_UnderscoreSymbols = value; } - } - - public bool Unicode - { - get { return m_Unicode; } - set { m_Unicode = value; } - } - - public bool AllowWarnings - { - get { return m_AllowWarnings; } - set { m_AllowWarnings = value; } - } - - /* - public RBuildFolder Folder - { - get { return new RBuildFolder(PathRoot.SourceCode, Base); } - } - */ - - /// - /// Gets the collection of . - /// - public RBuildSourceFileCollection SourceFiles - { - get { return m_SourceFiles; } - set { m_SourceFiles = value; } - } - - public RBuildLocalizationFileCollection LocalizationFiles - { - get { return m_LocalizationFiles; } - set { m_LocalizationFiles = value; } - } - - public List RegistryKeys - { - get { return m_RegistryKeys; } - set { m_RegistryKeys = value; } - } - - public RBuildAuthorCollection Authors - { - get { return m_Authors; } - set { m_Authors = value; } - } - - public List CompilationUnits - { - get { return m_CompilationUnits; } - } - - public RBuildExportedFunctionsCollection ExportedFunctions - { - get { return m_ExportedFunctions; } - } - - public RBuildAPIStatusCollection ApiInfo - { - get { return m_ApiInfo; } - } - - public RBuildFamilyCollection Families - { - get { return m_Families; } - } - - public string ModulePath - { - get { return m_Path + @"\"; } - } - - public RBuildFolder TargetFolder - { - get - { - RBuildFolder folder = null; - - folder = new RBuildFolder(); - folder.Root = TargetDefaultRoot; - - //Las ISO son excepciones a la regla , generan su resultado en el raiz y no en la carpeta - //del módulo donde se encuentran - if (Type != ModuleType.Iso && - Type != ModuleType.LiveIso && - Type != ModuleType.IsoRegTest && - Type != ModuleType.LiveIsoRegTest) - { - folder.Name = Folder.Name; - folder.Base = Folder.Base; - } - - return folder; - } - } - - public RBuildFile TargetFile - { - get - { - RBuildFile file = null; - - file = new RBuildFile(); - file.Name = TargetName; - file.Base = TargetFolder.FullPath; - file.Root = TargetFolder.Root; - - return file; - } - } - - public RBuildFile Install - { - get - { - RBuildFile file = null; - - file = new RBuildFile(); - file.Base = InstallBase; - file.Name = InstallName; - file.Root = PathRoot.Install; - - return file; - } - } - - public RBuildFile PlatformInstall - { - get - { - RBuildFile file = null; - - file = new RBuildFile(); - file.Base = "%SystemRoot%\\" + InstallBase; - file.Name = InstallName; - file.Root = PathRoot.Platform; - - return file; - } - } - - public RBuildFile Dependency - { - get - { - RBuildFile file = null; - - file = new RBuildFile(); - file.Base = Folder.FullPath; - file.Name = DependencyName; - file.Root = PathRoot.Intermediate; // ReferenceDefaultRoot; - - return file; - } - } - - public string CDLabel - { - get { return "ReactOS"; } - set { m_CDLabel = value; } - } - - public string TargetName - { - get - { - if (OutputName != null) - return OutputName; - - if (InstallName != null) - return InstallName; - - return string.Format("{0}{1}", Name, Extension); - } - } - - public string DependencyName - { - get - { - if (HasImportLibrary) - return string.Format("lib{0}.a" , Name); - - //Get the regular name - return string.Format("{0}.a" , Name); - } - } - - public string InstallBase - { - get { return m_InstallBase; } - set { m_InstallBase = value; } - } - - public string InstallName - { - get { return m_InstallName; } - set { m_InstallName = value; } - } - - public string OutputName - { - get { return m_OutputName; } - set { m_OutputName = value; } - } - - public bool Host - { - get { return m_HostBuild; } - set { m_HostBuild = value; } - } - - public bool HasImportLibrary - { - get { return (ImportLibrary != null) && (Type != ModuleType.StaticLibrary); } - } - - public bool HasMessageTables - { - get - { - foreach (RBuildSourceFile source in SourceFiles) - if (source.Type == SourceType.MessageTable) - return true; - - return false; - } - } - - public bool HasIDLs - { - get - { - foreach (RBuildSourceFile source in SourceFiles) - if (source.Type == SourceType.IDL) - return true; - - return false; - } - } - - ///* - //public string[] BaseLocation - //{ - // get { return Base.Split(new char[] { '\\' }); } - //} - - //public string[] PathLocation - //{ - // get - // { - // Uri uri = new Uri(Base , UriKind.Relative); - - // return Base.Split(new char[] { '\\' }); - - // /* - // DirectoryInfo info = new DirectoryInfo(Base); - // return info.Parent.FullName.Split(new char[] { '\\' }); - // */ - // } - //} - //*/ - - public bool IsModuleInRoot - { - get { return Path == string.Empty; } - } - - public string Description - { - get { return m_Description; } - set { m_Description = value; } - } - - public string LCID - { - get { return m_LCID; } - set { m_LCID = value; } - } - - public RBuildModuleCollection Dependencies - { - get { return m_Dependencies; } - } - - public RBuildModuleCollection Requeriments - { - get { return m_Requeriments; } - } - - public RBuildModuleCollection Libraries - { - get { return m_Libraries; } - } - - public RBuildModuleCollection Needs - { - get - { - RBuildModuleCollection modules = new RBuildModuleCollection(); - - modules.Add(Dependencies); - modules.Add(Libraries); - modules.Add(Requeriments); - - return modules; - } - } - - public ModuleType Type - { - get { return m_Type; } - set { m_Type = value; } - } - - public RBuildSetupFile Setup - { - get { return m_RBuildSetup; } - set { m_RBuildSetup = value; } - } - - public RBuildAutoRegister AutoRegister - { - get { return m_AutoRegister; } - set { m_AutoRegister = value; } - } - - public string MakeFileTargetMacro - { - get { return string.Format("$({0}_TARGET)", Name); } - } - - public string MakeFileTarget - { - get { return string.Format("{0}_TARGET", Name); } - } - - public string MakeFileLibs - { - get { return string.Format("{0}_LIBS", Name); } - } - - public string MakeFileLinkDeps - { - get { return string.Format("{0}_LINKDEPS", Name); } - } - - public string MakeFileLinkDepsMacro - { - get { return string.Format("$({0}_LINKDEPS)", Name); } - } - - public string MakeFileLibsMacro - { - get { return string.Format("$({0}_LIBS)", Name); } - } - - public override void SaveAs(string moduleFile) - { - // Creates an XML file is not exist - using (XmlTextWriter writer = new XmlTextWriter(moduleFile, Encoding.ASCII)) - { - writer.Indentation = 4; - writer.Formatting = Formatting.Indented; - - // Starts a new document - writer.WriteStartDocument(); - - writer.WriteComment("File autogenerated by RosBuilder 0.1"); - writer.WriteStartElement("module"); - - writer.WriteAttributeString("name", Name); - writer.WriteAttributeString("type", Type.ToString()); - writer.WriteAttributeString("installbase", InstallBase); - writer.WriteAttributeString("installname", InstallName); - writer.WriteAttributeString("unicode", Unicode.ToString()); - writer.WriteAttributeString("allowwarnings", AllowWarnings.ToString()); - writer.WriteAttributeString("underscoresymbols", UnderscoreSymbols.ToString()); - writer.WriteAttributeString("baseadress", BaseAddress); - writer.WriteAttributeString("entrypoint", EntryPoint); - writer.WriteAttributeString("extension", Extension); - writer.WriteAttributeString("isstartuplib", IsStartupLib.ToString()); - writer.WriteAttributeString("mangledsymbols", MangledSymbols.ToString()); - - writer.WriteStartElement("include"); - writer.WriteAttributeString("base", Name); - writer.WriteString("."); - writer.WriteEndElement(); - - foreach (RBuildFolder include in IncludeFolders) - { - writer.WriteStartElement("include"); - writer.WriteAttributeString("base", include.Base); - writer.WriteString(include.Name); - writer.WriteEndElement(); - } - - foreach (RBuildDefine define in Defines) - { - writer.WriteStartElement("define"); - writer.WriteAttributeString("name", define.Name); - - if (define.Name != string.Empty) - { - writer.WriteString(define.Value); - } - - writer.WriteEndElement(); - } - - foreach (RBuildModule dependency in Dependencies) - { - writer.WriteStartElement("dependency"); - writer.WriteString(dependency.Name); - writer.WriteEndElement(); - } - - foreach (RBuildModule library in Libraries) - { - writer.WriteStartElement("library"); - writer.WriteString(library.Name); - writer.WriteEndElement(); - } - - foreach (RBuildSourceFile sourceFile in SourceFiles) - { - if (sourceFile.IsCompilable) - { - if (sourceFile.Switches != string.Empty) - { - writer.WriteAttributeString("switches", sourceFile.Switches); - } - - writer.WriteStartElement("file"); - writer.WriteString(sourceFile.Name); - writer.WriteEndElement(); - } - } - - if (PreCompiledHeader != null) - { - writer.WriteStartElement("pch"); - writer.WriteString(PreCompiledHeader.Name); - writer.WriteEndElement(); - } - - writer.WriteEndDocument(); - } - } - - public override string ToString() - { - return string.Format("Module : '{0}' Type : {1} Base : '{2}' Libraries : '{3}' Dependencies : '{4}' Requeriments : '{5}'", - Name, - Type, - Base, - Libraries.Count, - Dependencies.Count, - Requeriments.Count); - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildModuleGroup.cs b/reactos/tools/sysgen/RosFramework/RBuildModuleGroup.cs deleted file mode 100644 index a3c57c26c8a..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildModuleGroup.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildModuleGroup - { - private string m_Name = null; - private RBuildModuleCollection m_Modules = new RBuildModuleCollection(); - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public RBuildModuleCollection Modules - { - get { return m_Modules; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildModuleInfo.cs b/reactos/tools/sysgen/RosFramework/RBuildModuleInfo.cs deleted file mode 100644 index c4c944e87fc..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildModuleInfo.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildModuleInfo - { - private string m_Name = string.Empty; - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - private string m_Base = string.Empty; - - public string Base - { - get { return m_Base; } - set { m_Base = value; } - } - private string m_CatalogPath = string.Empty; - - public string CatalogPath - { - get { return m_CatalogPath; } - set { m_CatalogPath = value; } - } - private ModuleType m_Type = ModuleType.BuildTool; - - public ModuleType Type - { - get { return m_Type; } - set { m_Type = value; } - } - - List m_Libraries = new List(); - List m_Dependencies = new List(); - List m_Requirements = new List(); - - public List Libraries - { - get { return m_Libraries; } - set { m_Libraries = value; } - } - - public List Dependencies - { - get { return m_Dependencies; } - set { m_Dependencies = value; } - } - - public List Requirements - { - get { return m_Requirements; } - set { m_Requirements = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildPlatform.cs b/reactos/tools/sysgen/RosFramework/RBuildPlatform.cs deleted file mode 100644 index 8940398da6e..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildPlatform.cs +++ /dev/null @@ -1,133 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public enum OptimizeLevelType : int - { - Level_0 = 0, - Level_1 = 1, - Level_2 = 2, - Level_3 = 3, - Level_4 = 4, - Level_5 = 5 - } - - public class RBuildPlatform - { - private string m_Name = "Unamed Platform"; - private string m_Description = "This Platform has not yet a description"; - private bool m_Debug = true; - private bool m_KDebug = true; - private bool m_GDB = false; - private bool m_NSWPAT = false; - private bool m_WINKD = false; - private OptimizeLevelType m_OptimizeLevelType = OptimizeLevelType.Level_1; - private RBuildModule m_ShellModule = null; - private RBuildModule m_ScreenSaverModule = null; - private RBuildLanguage m_Language = null; - private RBuildWallpaperFile m_Wallpaper = null; - private RBuildModuleCollection m_Modules = new RBuildModuleCollection(); - private RBuildModuleCollection m_Autorun = new RBuildModuleCollection(); - private RBuildLanguageCollection m_Languages = new RBuildLanguageCollection(); - private RBuildDebugChannelCollection m_DebugChannels = new RBuildDebugChannelCollection(); - - public RBuildPlatform() - { - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string Description - { - get { return m_Description; } - set { m_Description = value; } - } - - public RBuildDebugChannelCollection DebugChannels - { - get { return m_DebugChannels; } - } - - public RBuildModule Shell - { - get { return m_ShellModule; } - set { m_ShellModule = value; } - } - - public RBuildModule Screensaver - { - get { return m_ScreenSaverModule; } - set { m_ScreenSaverModule = value; } - } - - public RBuildLanguage Language - { - get { return m_Language; } - set { m_Language = value; } - } - - public RBuildWallpaperFile Wallpaper - { - get { return m_Wallpaper; } - set { m_Wallpaper = value; } - } - - public RBuildModuleCollection Modules - { - get { return m_Modules; } - } - - public RBuildModuleCollection AutorunModules - { - get { return m_Autorun; } - } - - public RBuildLanguageCollection Languages - { - get { return m_Languages; } - } - - public bool Debug - { - get { return m_Debug; } - set { m_Debug = value; } - } - - public bool KDebug - { - get { return m_KDebug; } - set { m_KDebug = value; } - } - - public bool GDB - { - get { return m_GDB; } - set { m_GDB = value; } - } - - public bool NSWPAT - { - get { return m_NSWPAT; } - set { m_NSWPAT = value; } - } - - public bool WINKD - { - get { return m_WINKD; } - set { m_WINKD = value; } - } - - public OptimizeLevelType OptimizeLevel - { - get { return m_OptimizeLevelType; } - set { m_OptimizeLevelType = value; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/RBuildPlatformFile.cs b/reactos/tools/sysgen/RosFramework/RBuildPlatformFile.cs deleted file mode 100644 index 2e300fd4f30..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildPlatformFile.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildOutputFile : RBuildFile //, IRBuildInstallable - { - private string m_InstallBase = "."; //"."; - private string m_NewName = null; - - public string NewName - { - get - { - if (m_NewName == null) - return m_Name; - return m_NewName; - } - set { m_NewName = value; } - } - - public string InstallBase - { - get { return m_InstallBase; } - set { m_InstallBase = value; } - } - - public virtual RBuildFile CDNewFile - { - get - { - RBuildFile file = (RBuildFile)Clone(); - - file.Name = NewName; - file.Base = InstallBase; - file.Root = PathRoot.CDOutput; - - return file; - } - } - - public virtual RBuildFile NewFile - { - get - { - RBuildFile file = (RBuildFile)Clone(); - - file.Name = NewName; - file.Base = InstallBase; - file.Root = Root; - - return file; - } - } - } - - public class RBuildPlatformFile : RBuildOutputFile - { - //protected RBuildInstallFolder m_InstallFolder = null; - - //public RBuildInstallFolder InstallFolder - //{ - // get { return m_InstallFolder; } - // set { m_InstallFolder = value; } - //} - - public RBuildFile PlatformInstall - { - get - { - RBuildFile file = null; - - file = new RBuildFile(); - file.Base = "%SystemRoot%\\" + InstallBase; - file.Name = Name; - file.Root = PathRoot.Platform; - - return file; - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildProject.cs b/reactos/tools/sysgen/RosFramework/RBuildProject.cs deleted file mode 100644 index c771b923d95..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildProject.cs +++ /dev/null @@ -1,163 +0,0 @@ -using System; -using System.Text; -using System.Xml; -using System.Collections.Generic; - -namespace SysGen.RBuild.Framework -{ - /// - /// There can be one project per top-level XML build file. - /// A project can only be defined in a top-level xml build file. - /// - public class RBuildProject : RBuildElement - { - private RBuildContributorCollection m_Contributors = new RBuildContributorCollection(); - private RBuildModuleCollection m_Modules = new RBuildModuleCollection(); - private RBuildLanguageCollection m_Languages = new RBuildLanguageCollection(); - private RBuildInstallFolderCollection m_InstallFolders = new RBuildInstallFolderCollection(); - private RBuildBuildFamilyCollection m_BuildFamilies = new RBuildBuildFamilyCollection(); - private RBuildPlatform m_Platform = new RBuildPlatform(); - private RBuildDebugChannelCollection m_DebugChannels = new RBuildDebugChannelCollection(); - - private string m_PackagesFile = "obj-i386/reactos.dff"; - private string m_MakeFile = "makefile.auto"; - - public RBuildProject() - { - Folder = new RBuildFolder(PathRoot.SourceCode); - } - - /// - /// Filename of the GNU makefile that is to be created. - /// - public string MakeFile - { - get { return m_MakeFile; } - set { m_MakeFile = value; } - } - - public string PackagesFile - { - get { return m_PackagesFile; } - set { m_PackagesFile = value; } - } - - public RBuildDebugChannelCollection DebugChannels - { - get { return m_DebugChannels; } - } - - public RBuildPlatform Platform - { - get { return m_Platform; } - set { m_Platform = value; } - } - - public RBuildBuildFamilyCollection BuildFamilies - { - get { return m_BuildFamilies; } - set { m_BuildFamilies = value; } - } - - public RBuildInstallFolderCollection InstallFolders - { - get { return m_InstallFolders; } - set { m_InstallFolders = value; } - } - - public RBuildContributorCollection Contributors - { - get { return m_Contributors; } - set { m_Contributors = value; } - } - - public RBuildModuleCollection Modules - { - get { return m_Modules; } - } - - public RBuildLanguageCollection Languages - { - get { return m_Languages; } - } - - public string MakeFileGCCOptions - { - get { return string.Format("{0}_GCCOPTIONS", Name); } - } - - public string MakeFileGCCOptionsMacro - { - get { return string.Format("$({0}_GCCOPTIONS)", Name); } - } - - public override void SaveAs(string projectFile) - { - // Creates an XML file is not exist - using (XmlTextWriter writer = new XmlTextWriter(projectFile, Encoding.ASCII)) - { - writer.Indentation = 4; - writer.Formatting = Formatting.Indented; - - // Starts a new document - writer.WriteStartDocument(); - writer.WriteStartElement("project"); - writer.WriteAttributeString("name", Name); - writer.WriteAttributeString("makefile", MakeFile); - writer.WriteAttributeString("xmlns", "xi", null, "http://www.w3.org/2001/XInclude"); - - /* - writer.WriteComment("Generic Properties"); - foreach (KeyValuePair property in Properties) - { - writer.WriteStartElement("property"); - writer.WriteAttributeString("name", property.Key); - writer.WriteAttributeString("value", property.Value); - writer.WriteEndElement(); - } - - foreach (string define in Defines) - { - writer.WriteStartElement("define"); - writer.WriteAttributeString("name", define); - writer.WriteEndElement(); - }*/ - - writer.WriteStartElement("xi:include"); - writer.WriteAttributeString("href", "baseaddress.rbuild"); - writer.WriteEndElement(); - - writer.WriteStartElement("xi:include"); - writer.WriteAttributeString("href", "boot/bootdata/bootdata.rbuild"); - writer.WriteEndElement(); - - writer.WriteElementString("compilerflag", "-Os"); - writer.WriteElementString("compilerflag", "-ftracer"); - writer.WriteElementString("compilerflag", "-momit-leaf-frame-pointer"); - writer.WriteElementString("compilerflag", "-mpreferred-stack-boundary=2"); - - writer.WriteElementString("compilerflag", "-Wno-strict-aliasing"); - writer.WriteElementString("compilerflag", "-Wpointer-arith"); - writer.WriteElementString("linkerflag", "-enable-stdcall-fixup"); - - foreach (RBuildFolder folder in IncludeFolders) - { - writer.WriteStartElement("include"); - writer.WriteAttributeString("root", folder.Root.ToString()); - writer.WriteString(folder.Name); - writer.WriteEndElement(); - } - - foreach (RBuildModule module in Modules) - { - writer.WriteStartElement("xi:include"); - writer.WriteAttributeString("href", module.RBuildFile); - writer.WriteEndElement(); - } - - writer.WriteEndElement(); //Project - writer.WriteEndDocument(); - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildProperty.cs b/reactos/tools/sysgen/RosFramework/RBuildProperty.cs deleted file mode 100644 index bbc996f00e0..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildProperty.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildProperty : RBuildValueKey - { - public RBuildProperty(string name, string value) - : base(name, value) - { - } - - public RBuildProperty(string name, string value, bool readOnly) - : base(name, value, readOnly) - { - } - - public RBuildProperty(string name, string value, bool readOnly, bool isInternal) - : base(name, value, readOnly, isInternal) - { - } - } - - public class RBuildBaseAdress : RBuildProperty - { - public RBuildBaseAdress(string name, string value) - : base(name, value, true) - { - } - } - - public class RBuildDefine : RBuildValueKey - { - public RBuildDefine(string name) - : base(name, string.Empty, true) - { - } - - public RBuildDefine(string name, string value) - : base(name, value, true) - { - } - } - - public abstract class RBuildValueKey - { - protected string m_Name = null; - protected string m_Value = null; - protected bool m_ReadOnly = false; - protected bool m_IsInternal = false; - - public RBuildValueKey(string name, string value) - { - m_Name = name; - m_Value = value; - } - - public RBuildValueKey(string name, string value, bool readOnly) - { - m_Name = name; - m_Value = value; - m_ReadOnly = readOnly; - } - - public RBuildValueKey(string name, string value, bool readOnly, bool isInternal) - { - m_Name = name; - m_Value = value; - m_ReadOnly = readOnly; - m_IsInternal = isInternal; - } - - public bool IsEmpty - { - get { return string.IsNullOrEmpty(Value); } - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string Value - { - get { return m_Value; } - set { m_Value = value; } - } - - public bool ReadOnly - { - get { return m_ReadOnly; } - set { m_ReadOnly = value; } - } - - public bool Internal - { - get { return m_IsInternal; } - set { m_IsInternal = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildRegistryKey.cs b/reactos/tools/sysgen/RosFramework/RBuildRegistryKey.cs deleted file mode 100644 index 2f573be5409..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildRegistryKey.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using Microsoft.Win32; - -namespace SysGen.RBuild.Framework -{ - public class RBuildRegistryKey - { - private bool m_Enabled = true; - private bool m_LiveCD = true; - private bool m_BootCD = true; - - private string m_KeyName = null; - private string m_KeyValue = null; - - private RegistryHive m_RegistryHive = RegistryHive.ClassesRoot; - private RegistryValueKind m_RegistryValueKind = RegistryValueKind.Unknown; - - public RBuildRegistryKey() - { - } - - public bool LiveCD - { - get { return m_LiveCD; } - set { m_LiveCD = value; } - } - - public bool BootCD - { - get { return m_BootCD; } - set { m_BootCD = value; } - } - - public bool Enabled - { - get { return m_Enabled; } - set { m_Enabled = value; } - } - - public string KeyName - { - get { return m_KeyName; } - set { m_KeyName = value; } - } - - public string KeyValue - { - get { return m_KeyValue; } - set { m_KeyValue = value; } - } - - public RegistryHive RegistryHive - { - get { return m_RegistryHive; } - set { m_RegistryHive = value; } - } - - public RegistryValueKind RegistryValueKind - { - get { return m_RegistryValueKind; } - set { m_RegistryValueKind = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildSetup.cs b/reactos/tools/sysgen/RosFramework/RBuildSetup.cs deleted file mode 100644 index 42dc5c18ed7..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildSetup.cs +++ /dev/null @@ -1,52 +0,0 @@ -//using System; -//using System.IO; -//using System.Collections.Generic; -//using System.Text; - -//namespace SysGen.RBuild.Framework -//{ -// public enum SetupType -// { -// Device, -// Component -// } - -// public class RBuildSetup : RBuildPlatformFile -// { -// private SetupType m_SetupType = SetupType.Component; -// private bool m_InstallAlways = true; -// private string m_InstallSection = "DefaultInstall"; - -// public SetupType SetupType -// { -// get { return m_SetupType; } -// set { m_SetupType = value; } -// } - -// public string InstallSection -// { -// get { return m_InstallSection; } -// set { m_InstallSection = value; } -// } - -// public string DefaultInstallSection -// { -// get -// { -// switch (SetupType) -// { -// case SetupType.Device: -// return "DefaultInstall"; -// default: -// return "DefaultInstall"; -// } -// } -// } - -// public bool InstallAlways -// { -// get { return m_InstallAlways; } -// set { m_InstallAlways = value; } -// } -// } -//} diff --git a/reactos/tools/sysgen/RosFramework/RBuildSetupFile.cs b/reactos/tools/sysgen/RosFramework/RBuildSetupFile.cs deleted file mode 100644 index 6bd9aee38c9..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildSetupFile.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public enum SetupType - { - Device, - Component - } - - public class RBuildSetupFile : RBuildPlatformFile - { - private SetupType m_SetupType = SetupType.Component; - private bool m_InstallAlways = true; - private string m_InstallSection = "DefaultInstall"; - - public SetupType SetupType - { - get { return m_SetupType; } - set { m_SetupType = value; } - } - - public string InstallSection - { - get { return m_InstallSection; } - set { m_InstallSection = value; } - } - - public string DefaultInstallSection - { - get - { - switch (SetupType) - { - case SetupType.Device: - return "DefaultInstall"; - default: - return "DefaultInstall"; - } - } - } - - public bool InstallAlways - { - get { return m_InstallAlways; } - set { m_InstallAlways = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildSolution.cs b/reactos/tools/sysgen/RosFramework/RBuildSolution.cs deleted file mode 100644 index 32d10134769..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildSolution.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class RBuildSolution - { - private List m_Projects = null; - - /// - /// The projects this solution contains. - /// - public List Projects - { - get { return m_Projects; } - set { m_Projects = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildTarget.cs b/reactos/tools/sysgen/RosFramework/RBuildTarget.cs deleted file mode 100644 index adf726165e3..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildTarget.cs +++ /dev/null @@ -1,274 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public enum TargetType - { - LiveCD, - BootCD - } - - public enum TargetDebugOutputType - { - COM1, - COM2, - Screen, - Bochs - } - - public enum TargetDebugType - { - None, - Debug, - KernelDebug - } - - public enum TargetWindowsPlatformType - { - WindowsNT4 = 0x400, - Windows2000 = 0x500, - WindowsXP = 0x501, - Windows2003 = 0x0502, - WindowsVista = 0x600 - } - - public enum TargetWindowsSPType - { - NoServicePack, - ServicePack1 = 0x100, - ServicePack2 = 0x200, - ServicePack3 = 0x300, - ServicePack4 = 0x400, - ServicePack5 = 0x500, - ServicePack6 = 0x600, - ServicePack7 = 0x700, - ServicePack8 = 0x800, - ServicePack9 = 0x900 - } - - public enum TargetPlatformType - { - NT4, /* Windows NT 4.0 */ - NT4_SP1, - NT4_SP2, - NT4_SP3, - NT4_SP4, - NT4_SP5, - NT4_SP6, - NT5, /* Windows 2000 */ - NT5_SP1, - NT5_SP2, - NT5_SP3, - NT5_SP4, - NT51, /* Windows XP */ - NT51_SP1, - NT51_SP2, - NT52, /* Windows 2003 */ - NT52_SP1, - NT52_SP2, - NT6 /* Windows Vista */ - } - - public enum TargetArchitectureType - { - X86, - X86_i486, - X86_i586, - X86_Pentium, - X86_Pentium2, - X86_Pentium3, - X86_Pentium4, - X86_AthlonXP, - X86_AthlonMP, - X86_Xbox, - PPC - } - - public enum TargetOptimizeLevelType - { - Level_0, - Level_1, - Level_2, - Level_3, - Level_4, - Level_5 - } - - public class RBuildTarget - { - private string m_Name = null; - - private bool m_RegTest = false; - private bool m_Multiprocessor = false; - - private TargetType m_Type = TargetType.BootCD; - private TargetDebugType m_DebugType = TargetDebugType.None; - private TargetPlatformType m_PlatformType = TargetPlatformType.NT5_SP4; - private TargetDebugOutputType m_DebugOutputType = TargetDebugOutputType.COM1; - private TargetArchitectureType m_ArchitectureType = TargetArchitectureType.X86_Pentium; - private TargetOptimizeLevelType m_OptimizeLevelType = TargetOptimizeLevelType.Level_1; - - public RBuildTarget() - { - } - - public RBuildTarget(string name) - { - m_Name = name; - } - - public RBuildTarget(string name, TargetType type) - { - m_Name = name; - m_Type = type; - } - - public RBuildTarget(string name, TargetType type, TargetDebugType debugType) - { - m_Name = name; - m_Type = type; - m_DebugType = debugType; - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public bool MultiProcessor - { - get { return m_Multiprocessor; } - set { m_Multiprocessor = value; } - } - - public bool RegressionTest - { - get { return m_RegTest; } - set { m_RegTest = value; } - } - - public bool Debug - { - get { return ((DebugType == TargetDebugType.Debug) || (DebugType == TargetDebugType.KernelDebug)); } - } - - public bool KernelDebug - { - get { return (DebugType == TargetDebugType.KernelDebug); } - } - - public TargetType Type - { - get { return m_Type; } - set { m_Type = value; } - } - - public TargetDebugType DebugType - { - get { return m_DebugType; } - set { m_DebugType = value; } - } - - public TargetDebugOutputType DebugOutputType - { - get { return m_DebugOutputType; } - set { m_DebugOutputType = value; } - } - - public TargetPlatformType PlatformType - { - get { return m_PlatformType; } - set { m_PlatformType = value; } - } - - public TargetArchitectureType ArchitectureType - { - get { return m_ArchitectureType; } - set { m_ArchitectureType = value; } - } - - public TargetOptimizeLevelType OptimizeType - { - get { return m_OptimizeLevelType; } - set { m_OptimizeLevelType = value; } - } - - public TargetWindowsSPType WindowsServicePack - { - get - { - switch (PlatformType) - { - case TargetPlatformType.NT4: - case TargetPlatformType.NT5: - case TargetPlatformType.NT51: - case TargetPlatformType.NT52: - case TargetPlatformType.NT6: - return TargetWindowsSPType.NoServicePack; - case TargetPlatformType.NT4_SP1: - case TargetPlatformType.NT5_SP1: - case TargetPlatformType.NT51_SP1: - case TargetPlatformType.NT52_SP1: - return TargetWindowsSPType.ServicePack1; - case TargetPlatformType.NT4_SP2: - case TargetPlatformType.NT5_SP2: - case TargetPlatformType.NT51_SP2: - case TargetPlatformType.NT52_SP2: - return TargetWindowsSPType.ServicePack2; - case TargetPlatformType.NT4_SP3: - case TargetPlatformType.NT5_SP3: - return TargetWindowsSPType.ServicePack3; - case TargetPlatformType.NT4_SP4: - case TargetPlatformType.NT5_SP4: - return TargetWindowsSPType.ServicePack4; - case TargetPlatformType.NT4_SP5: - return TargetWindowsSPType.ServicePack5; - case TargetPlatformType.NT4_SP6: - return TargetWindowsSPType.ServicePack6; - default: - throw new Exception(""); - } - } - } - - public TargetWindowsPlatformType WindowsPlatfom - { - get - { - switch (PlatformType) - { - case TargetPlatformType.NT4: - case TargetPlatformType.NT4_SP1: - case TargetPlatformType.NT4_SP2: - case TargetPlatformType.NT4_SP3: - case TargetPlatformType.NT4_SP4: - case TargetPlatformType.NT4_SP5: - case TargetPlatformType.NT4_SP6: - return TargetWindowsPlatformType.WindowsNT4; - case TargetPlatformType.NT5: - case TargetPlatformType.NT5_SP1: - case TargetPlatformType.NT5_SP2: - case TargetPlatformType.NT5_SP3: - case TargetPlatformType.NT5_SP4: - return TargetWindowsPlatformType.Windows2000; - case TargetPlatformType.NT51: - case TargetPlatformType.NT51_SP1: - case TargetPlatformType.NT51_SP2: - return TargetWindowsPlatformType.WindowsXP; - case TargetPlatformType.NT52: - case TargetPlatformType.NT52_SP1: - case TargetPlatformType.NT52_SP2: - return TargetWindowsPlatformType.Windows2003; - case TargetPlatformType.NT6: - return TargetWindowsPlatformType.WindowsVista; - default: - throw new Exception(""); - } - } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/RBuildUnAttendSetup.cs b/reactos/tools/sysgen/RosFramework/RBuildUnAttendSetup.cs deleted file mode 100644 index a240dbda757..00000000000 --- a/reactos/tools/sysgen/RosFramework/RBuildUnAttendSetup.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public enum InstallType : int - { - SkipMBRInstall = 0, - FloppyMBRInstall = 1, - HDDMBRInstall = 2 - } - - public class RBuildUnAttendSetup - { - private InstallType m_InstallType = InstallType.HDDMBRInstall; - private int m_DestinationDiskNumber = 0; - private int m_DestinationPartitionNumber = 1; - private bool m_FormatPartition; - private bool m_AutoPartition; - private bool m_DisableVmwDriverInstall; - private bool m_Enabled = false; - private string m_InstallDirectory; - private string m_FullName; - private string m_OrgName; - private string m_ComputerName; - private string m_AdminPassword; - - public InstallType InstallType - { - get { return m_InstallType; } - set { m_InstallType = value; } - } - - public int DestinationDiskNumber - { - get { return m_DestinationDiskNumber; } - set { m_DestinationDiskNumber = value; } - } - - public int DestinationPartitionNumber - { - get { return m_DestinationPartitionNumber; } - set { m_DestinationPartitionNumber = value; } - } - - public string InstallDirectory - { - get { return m_InstallDirectory; } - set { m_InstallDirectory = value; } - } - - public string FullName - { - get { return m_FullName; } - set { m_FullName = value; } - } - - public string OrgName - { - get { return m_OrgName; } - set { m_OrgName = value; } - } - - public string ComputerName - { - get { return m_ComputerName; } - set { m_ComputerName = value; } - } - - public string AdminPassword - { - get { return m_AdminPassword; } - set { m_AdminPassword = value; } - } - - public bool FormatPartition - { - get { return m_FormatPartition; } - set { m_FormatPartition = value; } - } - - public bool AutoPartition - { - get { return m_AutoPartition; } - set { m_AutoPartition = value; } - } - - public bool DisableVmwDriverInstall - { - get { return m_DisableVmwDriverInstall; } - set { m_DisableVmwDriverInstall = value; } - } - - public bool Enabled - { - get { return m_Enabled; } - set { m_Enabled = value; } - } - } -} diff --git a/reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj b/reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj deleted file mode 100644 index 6ccaf2fe069..00000000000 --- a/reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj +++ /dev/null @@ -1,117 +0,0 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26} - Library - Properties - SysGen.RBuild.Framework - SysGen.RBuild.Framework - - - 2.0 - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj.user b/reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj.user deleted file mode 100644 index 6a34e7dcdf5..00000000000 --- a/reactos/tools/sysgen/RosFramework/SysGen.RBuild.Framework.csproj.user +++ /dev/null @@ -1,5 +0,0 @@ - - - ShowAllFiles - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SYSGen/Backends/Backend.cs b/reactos/tools/sysgen/SYSGen/Backends/Backend.cs deleted file mode 100644 index 849137aa76d..00000000000 --- a/reactos/tools/sysgen/SYSGen/Backends/Backend.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SYSGen.Backends -{ - public abstract class Backend - { - } -} diff --git a/reactos/tools/sysgen/SYSGen/Backends/Catalog/CatalogBackend.cs b/reactos/tools/sysgen/SYSGen/Backends/Catalog/CatalogBackend.cs deleted file mode 100644 index 52bd011dd41..00000000000 --- a/reactos/tools/sysgen/SYSGen/Backends/Catalog/CatalogBackend.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SYSGen.Backends; - -namespace SYSGen.Backends.Catalog -{ - class CatalogBackend : Backend - { - } -} diff --git a/reactos/tools/sysgen/SYSGen/Backends/Mingw/MingwBackend.cs b/reactos/tools/sysgen/SYSGen/Backends/Mingw/MingwBackend.cs deleted file mode 100644 index 73c2ae3a7bd..00000000000 --- a/reactos/tools/sysgen/SYSGen/Backends/Mingw/MingwBackend.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SYSGen.Backends; - -namespace SYSGen.Backends.Mingw -{ - class MingwBackend : Backend - { - } -} diff --git a/reactos/tools/sysgen/SYSGen/Program.cs b/reactos/tools/sysgen/SYSGen/Program.cs deleted file mode 100644 index c49fc075055..00000000000 --- a/reactos/tools/sysgen/SYSGen/Program.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SYSGen -{ - class Program - { - static void Main(string[] args) - { - } - } -} diff --git a/reactos/tools/sysgen/SYSGen/Properties/AssemblyInfo.cs b/reactos/tools/sysgen/SYSGen/Properties/AssemblyInfo.cs deleted file mode 100644 index 04c75a90f62..00000000000 --- a/reactos/tools/sysgen/SYSGen/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SYSGen")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Sand")] -[assembly: AssemblyProduct("SYSGen")] -[assembly: AssemblyCopyright("Copyright © Sand 2007")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("eb4b0be6-5b08-4933-b932-61bf335383db")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/reactos/tools/sysgen/SYSGen/SYSGen.csproj b/reactos/tools/sysgen/SYSGen/SYSGen.csproj deleted file mode 100644 index 93452a30484..00000000000 --- a/reactos/tools/sysgen/SYSGen/SYSGen.csproj +++ /dev/null @@ -1,56 +0,0 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {5AEA291F-D79C-4FC1-AA60-96C591658B85} - Exe - Properties - SYSGen - sysgen - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26} - RosFramework - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementArrayAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementArrayAttribute.cs deleted file mode 100644 index 3e2e2155fe8..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementArrayAttribute.cs +++ /dev/null @@ -1,33 +0,0 @@ -// NAnt - A .NET build tool -// Copyright (C) 2001 Gerry Shaw -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// Ian MacLean ( ian@maclean.ms ) - -namespace SysGen.BuildEngine.Attributes -{ - using System; - using System.Reflection; - - /// Indicates that property should be treated as a xml arrayList for the task. - [AttributeUsage(AttributeTargets.Property, Inherited=true)] - public class BuildElementArrayAttribute : BuildElementAttribute { - - public BuildElementArrayAttribute(string name) : base(name) { - - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementAttribute.cs deleted file mode 100644 index 5b453a063f2..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/BuildElementAttribute.cs +++ /dev/null @@ -1,50 +0,0 @@ -// NAnt - A .NET build tool -// Copyright (C) 2001 Gerry Shaw -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// Ian MacLean ( ian@maclean.ms ) - -namespace SysGen.BuildEngine.Attributes -{ - - using System; - using System.Reflection; - - /// Indicates that field should be treated as a xml file set for the task. - [AttributeUsage(AttributeTargets.Property, Inherited=true)] - public class BuildElementAttribute : Attribute - { - - string _name; - bool _required; - - public BuildElementAttribute(string name) - { - Name = name; - } - - public string Name - { - get { return _name; } - set { _name = value; } - } - public bool Required - { - get { return _required; } - set { _required = value; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/ElementNameAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/ElementNameAttribute.cs deleted file mode 100644 index a52f72ef520..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/ElementNameAttribute.cs +++ /dev/null @@ -1,45 +0,0 @@ -// NAnt - A .NET build tool -// Copyright (C) 2001 Gerry Shaw -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// Ian MacLean (ian_maclean@another.com) - -namespace SysGen.BuildEngine.Attributes { - - using System; - using System.Reflection; - - /// Indicates that class should be treated as a NAnt element. - /// - /// Attach this attribute to a subclass of Element to have NAnt be able - /// to recognize it. The name should be short but must not confict - /// with any other element already in use. - /// - [AttributeUsage(AttributeTargets.Class, Inherited=false, AllowMultiple=false)] - public class ElementNameAttribute : Attribute { - - string _name; - - public ElementNameAttribute(string name) { - _name = name; - } - - public string Name { - get { return _name; } - set { _name = value; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionAttribute.cs deleted file mode 100644 index 506cab8a400..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionAttribute.cs +++ /dev/null @@ -1,60 +0,0 @@ -namespace SysGen.BuildEngine.Attributes -{ - using System; - using System.Reflection; - - /// - /// Indicates that the method should be exposed as a function in NAnt build - /// files. - /// - /// - /// Attach this attribute to a method of a class that derives from - /// to have NAnt be able to recognize it. - /// - [AttributeUsage(AttributeTargets.Method, Inherited=false, AllowMultiple=false)] - public sealed class FunctionAttribute : Attribute { - #region Public Instance Constructors - - /// - /// Initializes a new instance of the - /// class with the specified name. - /// - /// The name of the function. - /// is . - /// is a zero-length . - public FunctionAttribute(string name) { - if (name == null) { - throw new ArgumentNullException("name"); - } - - if (name.Trim().Length == 0) { - throw new ArgumentOutOfRangeException("name", name, "A zero-length string is not an allowed value."); - } - - _name = name; - } - - #endregion Public Instance Constructors - - #region Public Instance Properties - - /// - /// Gets or sets the name of the function. - /// - /// - /// The name of the function. - /// - public string Name { - get { return _name; } - set { _name = value; } - } - - #endregion Public Instance Properties - - #region Private Instance Fields - - private string _name; - - #endregion Private Instance Fields - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionSetAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionSetAttribute.cs deleted file mode 100644 index 0ac033f07e0..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/FunctionSetAttribute.cs +++ /dev/null @@ -1,90 +0,0 @@ -namespace SysGen.BuildEngine.Attributes -{ - using System; - using System.Reflection; - - /// - /// Indicates that class should be treated as a set of functions. - /// - /// - /// Attach this attribute to a class that derives from - /// to have NAnt be able to recognize it as containing custom functions. - /// - [AttributeUsage(AttributeTargets.Class, Inherited=false, AllowMultiple=false)] - public sealed class FunctionSetAttribute : Attribute { - #region Public Instance Constructors - - /// - /// Initializes a new instance of the - /// class with the specified name. - /// - /// The prefix used to distinguish the functions. - /// The category of the functions. - /// - /// is . - /// -or- - /// is . - /// - /// - /// is a zero-length . - /// -or- - /// is a zero-length . - /// - public FunctionSetAttribute(string prefix, string category) { - if (prefix == null) { - throw new ArgumentNullException("prefix"); - } - if (category == null) { - throw new ArgumentNullException("category"); - } - - if (prefix.Trim().Length == 0) { - throw new ArgumentOutOfRangeException("prefix", prefix, "A zero-length string is not an allowed value."); - } - if (category.Trim().Length == 0) { - throw new ArgumentOutOfRangeException("category", category, "A zero-length string is not an allowed value."); - } - - _prefix = prefix; - _category = category; - } - - #endregion Public Instance Constructors - - #region Public Instance Properties - - /// - /// Gets or sets the category of the function set. - /// - /// - /// The name of the category of the function set. - /// - /// - /// This will be displayed in the user docs. - /// - public string Category { - get { return _category; } - set { _category = value; } - } - - /// - /// Gets or sets the prefix of all functions in this function set. - /// - /// - /// The prefix of the functions in this function set. - /// - public string Prefix { - get { return _prefix; } - set { _prefix = value; } - } - - #endregion Public Instance Properties - - #region Private Instance Fields - - private string _prefix; - private string _category; - - #endregion Private Instance Fields - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskAttributeAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskAttributeAttribute.cs deleted file mode 100644 index 3242801bf09..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskAttributeAttribute.cs +++ /dev/null @@ -1,43 +0,0 @@ -namespace SysGen.BuildEngine.Attributes -{ - using System; - using System.Reflection; - - /// Indicates that field should be treated as a xml attribute for the task. - /// - /// Examples of how to specify task attributes - /// - /// // task XmlType default is string - /// [TaskAttribute("out", Required=true)] - /// string _out = null; // assign default value here - /// - /// [TaskAttribute("optimize")] - /// [BooleanValidator()] - /// // during ExecuteTask you can safely use Convert.ToBoolean(_optimize) - /// string _optimize = Boolean.FalseString; - /// - /// [TaskAttribute("warnlevel")] - /// [Int32Validator(0,4)] // limit values to 0-4 - /// // during ExecuteTask you can safely use Convert.ToInt32(_optimize) - /// string _warnlevel = "0"; - /// - /// [FileSet("sources")] - /// FileSet _sources = new FileSet(); - /// - /// NOTE: Attribute values must be of type of string if you want - /// to be able to have macros. The field stores the exact value during - /// InitializeTask. Just before ExecuteTask is called NAnt will expand - /// all the macros with the current values. - /// - [AttributeUsage( AttributeTargets.Property, Inherited=true)] - public class TaskAttributeAttribute : TaskPropertyAttribute { - - public TaskAttributeAttribute(string name) : base(name){ - } - - public override TaskPropertyLocation Location - { - get { return TaskPropertyLocation.Attribute; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskFileSetAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskFileSetAttribute.cs deleted file mode 100644 index fd9ad0cad05..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskFileSetAttribute.cs +++ /dev/null @@ -1,33 +0,0 @@ -// NAnt - A .NET build tool -// Copyright (C) 2001 Gerry Shaw -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// Gerry Shaw (gerry_shaw@yahoo.com) -// Ian MacLean ( ian@maclean.ms ) - -namespace SysGen.BuildEngine.Attributes { - - using System; - using System.Reflection; - - /// Indicates that field should be treated as a xml file set for the task. - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited=true)] - public class FileSetAttribute : BuildElementAttribute { - - public FileSetAttribute(string name) : base(name) { - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskNameAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskNameAttribute.cs deleted file mode 100644 index d46357f6892..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskNameAttribute.cs +++ /dev/null @@ -1,46 +0,0 @@ -namespace SysGen.BuildEngine.Attributes -{ - using System; - using System.Reflection; - - /// Indicates that class should be treated as a task. - /// - /// Attach this attribute to a subclass of Task to have NAnt be able - /// to recognize it. The name should be short but must not confict - /// with any other task already in use. - /// - [AttributeUsage(AttributeTargets.Class, Inherited=false, AllowMultiple=false)] - public class TaskNameAttribute : Attribute - { - private string m_Namespace = null; - private string m_Name = null; - - public TaskNameAttribute(string name) - { - m_Name = name; - } - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string Namespace - { - get { return m_Namespace; } - set { m_Namespace = value; } - } - - public string FullTaskName - { - get - { - if (Namespace != null) - return string.Format("{0}:{1}", Namespace, Name); - - return Name; - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskOptionSetAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskOptionSetAttribute.cs deleted file mode 100644 index c62c48f3312..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskOptionSetAttribute.cs +++ /dev/null @@ -1,32 +0,0 @@ -// NAnt - A .NET build tool -// Copyright (C) 2001 Gerry Shaw -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// Tomas Restrepo (tomasr@mvps.org) - -namespace SysGen.BuildEngine.Attributes { - - using System; - using System.Reflection; - - /// Indicates that field should be treated as a xml option set for the task. - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited=true)] - public class OptionSetAttribute : BuildElementAttribute { - - public OptionSetAttribute(string name) : base(name) { - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskPropertyAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskPropertyAttribute.cs deleted file mode 100644 index 6ee83ec2058..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskPropertyAttribute.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using System.Reflection; - -namespace SysGen.BuildEngine.Attributes -{ - public enum TaskPropertyLocation - { - Attribute, - Node - } - - /// Indicates that field should be treated as a xml attribute for the task. - /// - /// Examples of how to specify task attributes - /// - /// // task XmlType default is string - /// [BuildAttribute("out", Required=true)] - /// string _out = null; // assign default value here - /// - /// [BuildAttribute("optimize")] - /// [BooleanValidator()] - /// // during ExecuteTask you can safely use Convert.ToBoolean(_optimize) - /// string _optimize = Boolean.FalseString; - /// - /// [BuildAttribute("warnlevel")] - /// [Int32Validator(0,4)] // limit values to 0-4 - /// // during ExecuteTask you can safely use Convert.ToInt32(_optimize) - /// string _warnlevel = "0"; - /// - /// [FileSet("sources")] - /// FileSet _sources = new FileSet(); - /// - /// NOTE: Attribute values must be of type of string if you want - /// to be able to have macros. The field stores the exact value during - /// InitializeTask. Just before ExecuteTask is called NAnt will expand - /// all the macros with the current values. - /// - [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field , Inherited=true)] - public abstract class TaskPropertyAttribute : Attribute - { - string _name; - bool _required = false; - bool _expandProperties = true; - - public TaskPropertyAttribute(string name) { - _name = name; - } - - public string Name { - get { return _name; } - set { _name = value; } - } - - public bool Required { - get { return _required; } - set { _required = value; } - } - - public bool ExpandProperties { - get { return _expandProperties; } - set { _expandProperties = value; } - } - - public abstract TaskPropertyLocation Location { get; } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskValueAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskValueAttribute.cs deleted file mode 100644 index 9a00b764e17..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/TaskValueAttribute.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Reflection; - -namespace SysGen.BuildEngine.Attributes -{ - [AttributeUsage(AttributeTargets.Property, Inherited = true)] - public class TaskValueAttribute : TaskPropertyAttribute - { - public TaskValueAttribute() - : base(null) - { - } - - public override TaskPropertyLocation Location - { - get { return TaskPropertyLocation.Node; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Base/ValidatorAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Base/ValidatorAttribute.cs deleted file mode 100644 index 21592caa508..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Base/ValidatorAttribute.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace SysGen.BuildEngine.Attributes -{ - using System; - using System.Reflection; - - public abstract class ValidatorAttribute : Attribute - { - /// - /// Validates the object. - /// - /// The object to be validated - /// Throws a ValidationException when validation fails. - /// Returns an indication of the result. - public abstract bool Validate(object value); - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/BooleanValidatorAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/BooleanValidatorAttribute.cs deleted file mode 100644 index a77c4044db3..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/BooleanValidatorAttribute.cs +++ /dev/null @@ -1,21 +0,0 @@ -namespace SysGen.BuildEngine.Attributes -{ - using System; - using System.Reflection; - - /// - /// Indicates that field should be able to be converted into a Boolean. - /// - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property , Inherited=true)] - public class BooleanValidatorAttribute : ValidatorAttribute - { - public BooleanValidatorAttribute() - { - } - - public override bool Validate(object value) - { - return SysGenConversion.ToBolean(value); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Int32ValidatorAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Int32ValidatorAttribute.cs deleted file mode 100644 index 0336016ff3d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/Int32ValidatorAttribute.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Reflection; - -namespace SysGen.BuildEngine.Attributes -{ - /// - /// Indicates that field should be able to be converted into a Int32 within the given range. - /// - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = true)] - public class Int32ValidatorAttribute : ValidatorAttribute - { - int _minValue = Int32.MinValue; - int _maxValue = Int32.MaxValue; - - public Int32ValidatorAttribute() - { - } - - public Int32ValidatorAttribute(int minValue, int maxValue) - { - MinValue = minValue; - MaxValue = maxValue; - } - - public int MinValue - { - get { return _minValue; } - set { _minValue = value; } - } - - public int MaxValue - { - get { return _maxValue; } - set { _maxValue = value; } - } - - public override bool Validate(object value) - { - try - { - Int32 intValue = Convert.ToInt32(value); - if (intValue < MinValue || intValue > MaxValue) - { - throw new ValidationException(String.Format("Cannot resolve '{0}' to integer between '{1}' and '{2}'.", value.ToString(), MinValue, MaxValue)); - } - } - catch (Exception) - { - throw new ValidationException(String.Format("Cannot resolve '{0}' to integer value.", value.ToString())); - } - return true; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/StringValidatorAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/StringValidatorAttribute.cs deleted file mode 100644 index be617dee875..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/StringValidatorAttribute.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Reflection; - -namespace SysGen.BuildEngine.Attributes -{ - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = true)] - public class StringValidatorAttribute : ValidatorAttribute - { - private bool m_AllowEmpty = true; - private bool m_AllowSpaces = true; - - public override bool Validate(object value) - { - if (!AllowSpaces && string.Equals(value, " ")) - throw new ValidationException("No spaces allowed"); - - if (!AllowEmpty && value.ToString().Length == 0) - throw new ValidationException("No empty string allowed"); - - return true; - } - - public bool AllowEmpty - { - get { return m_AllowEmpty; } - set { m_AllowEmpty = value; } - } - - public bool AllowSpaces - { - get { return m_AllowSpaces; } - set { m_AllowSpaces = value; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/UriValidatorAttribute.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/UriValidatorAttribute.cs deleted file mode 100644 index 54da6e52690..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Attributes/Validators/UriValidatorAttribute.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Reflection; - -namespace SysGen.BuildEngine.Attributes -{ - /// - /// Indicates that field should be able to be converted into a Uri. - /// - [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = true)] - public class UriValidatorAttribute : ValidatorAttribute - { - public override bool Validate(object value) - { - try - { - Uri uriValue = new Uri(value.ToString(), UriKind.Relative); - } - catch (Exception) - { - throw new ValidationException(String.Format("Cannot resolve '{0}' to Uri.", value.ToString())); - } - - return true; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/APIDocumentation/APIDocumentation.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/APIDocumentation/APIDocumentation.cs deleted file mode 100644 index 330f3d65ef6..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/APIDocumentation/APIDocumentation.cs +++ /dev/null @@ -1,395 +0,0 @@ -using System; -using System.Text.RegularExpressions; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; -using SysGen.BuildEngine.Backends; - -namespace SysGen.BuildEngine.Backends -{ - public class APIDocumentation : HtmlDocumenterBaseBacked - { - public APIDocumentation(SysGenEngine sysgen) - : base(sysgen) - { - if (Directory.Exists(@"C:\rosLib")) - Directory.Delete(@"C:\rosLib", true); - - Directory.CreateDirectory(@"C:\rosLib"); - - File.Copy(@"c:\style.css", @"c:\rosLib\style.css"); - } - - protected override string FriendlyName - { - get { return "APIDocumentation Report"; } - } - - private void WriteModuleFunctions() - { - foreach (RBuildModule module in Project.Modules) - { - if (module.IsDLL || module.IsLibrary) - { - foreach (RBuildAPIInfo apiInfo in module.ApiInfo) - { - using (StreamWriter sw = new StreamWriter(@"C:\roslib\" + apiInfo.HtmlDocFileName)) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Module"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("{0} Function", apiInfo.Name); - writer.RenderEndTag(); - - if (apiInfo.Implemented) - { - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Function '{0}' on '{1}' is currently implemented.", - apiInfo.Name, - apiInfo.File); - writer.RenderEndTag(); - } - else - { - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Function '{0}' on '{1}' is currently un-implemented.", - apiInfo.Name, - apiInfo.File); - writer.RenderEndTag(); - } - } - } - } - } - } - } - - private void WriteModules() - { - foreach (RBuildModule module in Project.Modules) - { - if (module.IsDLL || module.IsLibrary) - { - using (StreamWriter sw = new StreamWriter(@"C:\roslib\" + module.HtmlDocFileName)) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Module"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("{0}", module.Name); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Module {0} has a total of {1} functions , {2} implemented and {3} un-implemented ({4}%)", - module.Name, - module.ApiInfo.TotalFunctions, - module.ApiInfo.ImplementedFunctionsCount, - module.ApiInfo.UnImplementedFunctionsCount, - module.ApiInfo.Percentage); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("{0} Functions", module.Name); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildAPIInfo apiInfo in module.ApiInfo) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute("href", apiInfo.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(apiInfo.Name); - writer.RenderEndTag(); - - if (!apiInfo.Implemented) - { - writer.RenderBeginTag(HtmlTextWriterTag.B); - writer.Write("(UnImplemented)"); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - } - } - - private void WriteWelcome() - { - using (StreamWriter sw = new StreamWriter(@"C:\roslib\welcome.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Warnings"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("ReactOS API Documentation"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Welcome to the ReactOS API documentation website."); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H1); - writer.Write("Implementation status Color Key"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "5"); - writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - for (int i = 0; i <= 100; i = i + 5) - { - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct" + i); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write("{0}%" , i); - writer.RenderEndTag(); - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Native DLLs"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Modules) - { - if (module.Type == ModuleType.NativeDLL) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute("href", module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Win32 DLLs"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Modules) - { - if (module.Type == ModuleType.Win32DLL) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute("href", module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void WriteHeader() - { - using (StreamWriter sw = new StreamWriter(@"C:\roslib\header.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - writer.WriteLine("

ReactOS API Documentation

"); - } - } - } - - private void WriteFrameSet() - { - using (StreamWriter sw = new StreamWriter(@"C:\roslib\default.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - writer.WriteLine(""); - writer.WriteLine(""); - writer.WriteLine(""); - writer.WriteLine(""); - writer.WriteLine(""); - writer.WriteLine(""); - writer.WriteLine(""); - } - } - } - - private void ReadApiStatusFile() - { - XmlDocument doc = new XmlDocument(); - - //Load the file in to memory - doc.Load(@"C:\Ros\clean\reactos\apistatus.xml"); - - foreach (XmlNode comp in doc.SelectNodes("/components/component")) - { - // Get the component name.... - string modulename = comp.Attributes["name"].InnerText; - - RBuildModule module = Project.Modules.GetByName(modulename); - - if (module != null) - { - foreach (XmlNode dep in comp.SelectNodes("functions/f")) - { - // Gets the dependency name - string name = dep.Attributes["n"].InnerText; - string file = dep.Attributes["f"].InnerText; - bool imp = Boolean.Parse(dep.Attributes["i"].InnerText); - - RBuildAPIInfo apiInfo = new RBuildAPIInfo(); - - apiInfo.Name = name; - apiInfo.File = file; - apiInfo.Implemented = imp; - - module.ApiInfo.Add(apiInfo); - } - } - } - } - - protected override void Generate() - { - ReadApiStatusFile(); - WriteFrameSet(); - WriteHeader(); - WriteWelcome(); - WriteModules(); - WriteModuleFunctions(); - - using (StreamWriter sw = new StreamWriter(@"C:\roslib\tree.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Warnings"); - - writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "2"); - writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "2"); - writer.AddAttribute(HtmlTextWriterAttribute.Border, "0"); - //writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - foreach (RBuildModule module in Project.Modules) - { - if ((module.IsDLL) || (module.IsLibrary)) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - - if ((module.ApiInfo.Percentage >= 0) && (module.ApiInfo.Percentage <= 5)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct0"); - if ((module.ApiInfo.Percentage >= 5) && (module.ApiInfo.Percentage <= 10)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct5"); - if ((module.ApiInfo.Percentage >= 10) && (module.ApiInfo.Percentage <= 15)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct10"); - if ((module.ApiInfo.Percentage >= 15) && (module.ApiInfo.Percentage <= 20)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct15"); - if ((module.ApiInfo.Percentage >= 20) && (module.ApiInfo.Percentage <= 25)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct20"); - if ((module.ApiInfo.Percentage >= 25) && (module.ApiInfo.Percentage <= 30)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct25"); - if ((module.ApiInfo.Percentage >= 30) && (module.ApiInfo.Percentage <= 35)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct30"); - if ((module.ApiInfo.Percentage >= 35) && (module.ApiInfo.Percentage <= 40)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct35"); - if ((module.ApiInfo.Percentage >= 40) && (module.ApiInfo.Percentage <= 45)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct40"); - if ((module.ApiInfo.Percentage >= 45) && (module.ApiInfo.Percentage <= 50)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct45"); - if ((module.ApiInfo.Percentage >= 50) && (module.ApiInfo.Percentage <= 55)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct50"); - if ((module.ApiInfo.Percentage >= 55) && (module.ApiInfo.Percentage <= 60)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct55"); - if ((module.ApiInfo.Percentage >= 60) && (module.ApiInfo.Percentage <= 65)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct60"); - if ((module.ApiInfo.Percentage >= 65) && (module.ApiInfo.Percentage <= 70)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct65"); - if ((module.ApiInfo.Percentage >= 70) && (module.ApiInfo.Percentage <= 75)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct70"); - if ((module.ApiInfo.Percentage >= 75) && (module.ApiInfo.Percentage <= 80)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct75"); - if ((module.ApiInfo.Percentage >= 80) && (module.ApiInfo.Percentage <= 85)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct80"); - if ((module.ApiInfo.Percentage >= 85) && (module.ApiInfo.Percentage <= 90)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct85"); - if ((module.ApiInfo.Percentage >= 90) && (module.ApiInfo.Percentage <= 95)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct90"); - if ((module.ApiInfo.Percentage >= 95) && (module.ApiInfo.Percentage <= 100)) - writer.AddAttribute(HtmlTextWriterAttribute.Class, "pct100"); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - - if (module.ApiInfo.Count > 0) - { - writer.AddAttribute("href", module.HtmlDocFileName); - writer.AddAttribute("target", "content"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - - writer.Write(" (I:{0} U:{1} P:{2}%)", - module.ApiInfo.ImplementedFunctionsCount, - module.ApiInfo.UnImplementedFunctionsCount, - module.ApiInfo.Percentage); - } - else - { - writer.Write(module.Name); - } - - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - if (module.ApiInfo.Count > 0) - { - foreach (RBuildAPIInfo apiInfo in module.ApiInfo) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute("href", apiInfo.HtmlDocFileName); - writer.AddAttribute("target", "content"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(apiInfo.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - else - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write("No documentation available yet"); - writer.RenderEndTag(); - } - writer.RenderEndTag(); - - - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/Backend.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/Backend.cs deleted file mode 100644 index 5811c6fc253..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/Backend.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Reflection; -using System.Diagnostics; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Log; - -namespace SysGen.BuildEngine.Backends -{ - public abstract class Backend - { - private SysGenEngine m_SysGenEngine = null; - - public Backend(SysGenEngine sysgen) - { - m_SysGenEngine = sysgen; - } - - public SysGenEngine SysGen - { - get { return m_SysGenEngine; } - } - - public RBuildProject Project - { - get { return m_SysGenEngine.Project; } - } - - public string AppInfo - { - get { return string.Format("{0} {1}", AppName, AppVersion); } - } - - public string AppName - { - get { return "SysGen"; } - } - - public string AppVersion - { - get - { - FileVersionInfo info = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location); - - return string.Format("{0}.{1}.{2}", - info.FileMajorPart, - info.FileMinorPart, - info.FileBuildPart); - } - } - - protected abstract string FriendlyName { get;} - //protected abstract string Name { get;} - - public void Run() - { - BuildLog.WriteLine(); - BuildLog.Write("[Backend] {0} running ...", FriendlyName); - - try - { - //Run current Backend - Generate(); - - //Report OK - BuildLog.Write("{0,30}", "[OK]"); - } - catch (Exception e) - { - //Report OK - BuildLog.Write("{0,30}", "[FAIL]"); - throw; - } - } - - protected abstract void Generate(); - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/CompilerBaseBacked.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/CompilerBaseBacked.cs deleted file mode 100644 index 9c1d05417e9..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/CompilerBaseBacked.cs +++ /dev/null @@ -1,160 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.BuildEngine.Framework; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public abstract class CompilerBaseBacked : Backend - { - public CompilerBaseBacked(SysGenEngine sysgen) - : base(sysgen) - { - //Initialize(); - } - - protected override void Generate() - { - CheckCompiler(); - GenerateRosCfg(); - GenerateFolders(); - //GenerateBuildNumber(); - //GenerateCompilationUnits(); - GenerateTxtSetupCustomHive(); - GenerateSysSetup(); - GenerateTxtSetup(); - GenerateDffSetup(); - } - - protected virtual void GenerateCompilationUnits() - { - foreach (RBuildModule module in SysGen.Project.Modules) - { - foreach (RBuildCompilationUnitFile unit in module.CompilationUnits) - { - using (CompilationUnitFileWriter writer = new CompilationUnitFileWriter(module , unit , SysGen.ResolveRBuildFilePath(unit))) - { - writer.WriteFile(); - } - } - } - } - - protected virtual void GenerateRosCfg() - { - Directory.CreateDirectory (Project.Path + "\\obj-i386\\include\\reactos"); - - using (HeaderRosCfgFileWriter writer = new HeaderRosCfgFileWriter(SysGen.Project, Project.Path + "\\obj-i386\\include\\reactos\\roscfg.h")) - { - writer.WriteFile(); - } - } - - protected virtual void GenerateDffSetup() - { - using (DffFileWriter writer = new DffFileWriter(Project, Project.Path + "\\obj-i386\\reactos.dff")) - { - writer.WriteFile(); - } - } - - protected virtual void GenerateBuildNumber() - { - using (DffFileWriter writer = new DffFileWriter(SysGen.Project, "c:\\buildno.h")) - { - writer.WriteFile(); - } - } - - protected virtual void GenerateTxtSetup() - { - using (TxtSetupFileWriter writer = new TxtSetupFileWriter(SysGen.Project, "c:\\txtsetup.sif")) - { - writer.WriteFile(); - } - } - - protected virtual void GenerateTxtSetupCustomHive() - { - //using (DesktopComponentSetupFileWriter writer = new DesktopComponentSetupFileWriter(SysGen.Project, Project.Path + "\\output-i386\\wallpaper.inf")) - //{ - // writer.WriteFile(); - - // RBuildSetup s = new RBuildSetup(); - - // s.InstallBase = "inf"; - // s.Name = "wallpaper.inf"; - // s.Root = PathRoot.Output; - - // Project.Files.Add(s); - //} - - //using (ShellComponentSetupFileWriter writer = new ShellComponentSetupFileWriter(SysGen.Project, Project.Path + "\\output-i386\\shell.inf")) - //{ - // writer.WriteFile(); - - // RBuildSetup s1 = new RBuildSetup(); - - // s1.InstallBase = "inf"; - // s1.Name = "shell.inf"; - // s1.Root = PathRoot.Output; - - // Project.Files.Add(s1); - //} - - using (TxtSetupHiveFileWriter writer = new TxtSetupHiveFileWriter(SysGen.Project, Project.Path + "\\output-i386\\hivecst.inf")) - { - writer.WriteFile(); - } - - RBuildBootstrapFile bs = new RBuildBootstrapFile(); - - bs.InstallBase = "reactos"; - bs.Name = "hivecst.inf"; - bs.Root = PathRoot.Output; - - Project.Files.Add(bs); - } - - protected virtual void GenerateSysSetup() - { - Directory.CreateDirectory(Project.Path + "\\output-i386\\media\\inf"); - - using (SysSetupFileWriter writer = new SysSetupFileWriter(SysGen.Project, Project.Path + "\\output-i386\\media\\inf\\syssetup.inf")) - { - writer.WriteFile(); - } - } - - private void GenerateFolders() - { - //foreach (RBuildModule module in Project.Modules) - //{ - // foreach (RBuildFolder folder in module.Folders) - // { - // if (folders.Contains(folder) == false) - // folders.Add(folder); - // } - //} - - //foreach (RBuildFolder folder in Project.Folders) - //{ - // if (folders.Contains(folder) == false) - // folders.Add(folder); - //} - - //foreach (RBuildFolder folder in folders) - //{ - // GenerateFolder(makefile, folder); - //} - } - - protected virtual void CheckCompiler() - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/HtmlDocumenterBaseBacked.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/HtmlDocumenterBaseBacked.cs deleted file mode 100644 index aac5117de0d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Base/HtmlDocumenterBaseBacked.cs +++ /dev/null @@ -1,97 +0,0 @@ -using System; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.BuildEngine; -using SysGen.BuildEngine.Framework; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public abstract class HtmlDocumenterBaseBacked : Backend - { - public HtmlDocumenterBaseBacked(SysGenEngine sysgen) - : base(sysgen) - { - } - - public string ReportFileExtension - { - get { return "htm"; } - } - - protected string GetHtmlFileName(IRBuildNamed namedObject) - { - return string.Format("{0}.{1}", - namedObject.Name, - ReportFileExtension); - } - - protected void WriteDocumentStart(HtmlTextWriter writer, string title) - { - writer.RenderBeginTag(HtmlTextWriterTag.Html);// - writer.RenderBeginTag(HtmlTextWriterTag.Head);// - writer.RenderBeginTag(HtmlTextWriterTag.Title); // - writer.Write(title); - writer.RenderEndTag(); // - writer.AddAttribute(HtmlTextWriterAttribute.Rel, "stylesheet"); - writer.AddAttribute(HtmlTextWriterAttribute.Type, "text/css"); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "style.css"); - writer.RenderBeginTag(HtmlTextWriterTag.Link); - writer.RenderEndTag(); - - writer.RenderEndTag(); // - writer.RenderBeginTag(HtmlTextWriterTag.Body);// - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "header"); - writer.RenderBeginTag(HtmlTextWriterTag.Div); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "default.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("ReactOS RBuild Documentation"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.P); - - if (!Project.Properties["ARCH"].IsEmpty) - { - if (!Project.Properties["SARCH"].IsEmpty) - { - writer.Write("RBuild Documentation for the '{0}' architecture, sub-architecture '{1}'. Project used '{2}'", - Project.Properties["ARCH"].Value, - Project.Properties["SARCH"].Value, - Project.RBuildFile); - } - else - { - writer.Write("RBuild Documentation for the '{0}' architecture. Project used '{1}'", - Project.Properties["ARCH"].Value, - Project.RBuildFile); - } - } - - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - protected void WriteDocumentEnd(HtmlTextWriter writer) - { - writer.WriteBreak(); - writer.AddAttribute(HtmlTextWriterAttribute.Class, "footer"); - writer.RenderBeginTag(HtmlTextWriterTag.Div); - WriteDocumentLastUpdate(writer); - writer.RenderEndTag(); - - writer.RenderEndTag(); // - writer.RenderEndTag(); // - } - - protected void WriteDocumentLastUpdate(HtmlTextWriter writer) - { - //writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Document last updated on {0}", DateTime.Now); - //writer.RenderEndTag(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/BaseAddress/BaseAddressReportBackend.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/BaseAddress/BaseAddressReportBackend.cs deleted file mode 100644 index df0cf9ebc2d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/BaseAddress/BaseAddressReportBackend.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System; -using System.Globalization; -using System.Text.RegularExpressions; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; -using SysGen.BuildEngine.Backends; - -namespace SysGen.BuildEngine.Backends -{ - public class BaseAddressReportBackend : Backend - { - private List m_Modules = new List (); - - public class BaseAddressModule - { - private FileInfo m_FileInfo = null; - private RBuildModule m_Module = null; - - public BaseAddressModule(RBuildModule module , string file) - { - m_Module = module; - m_FileInfo = new FileInfo(file); - } - - public string Name - { - get { return m_Module.Name; } - } - - public string BaseAddress - { - get { return m_Module.BaseAddress; } - } - - public long Size - { - get { return m_FileInfo.Length; } - } - - public string HexBaseAddressStart - { - get { return m_Module.BaseAddress.Replace("0x", string.Empty); } - } - - public long BaseAddressStart - { - get { return Int64.Parse(HexBaseAddressStart, NumberStyles.AllowHexSpecifier); } - } - - public long BaseAddressEnd - { - get { return m_FileInfo.Length + BaseAddressStart; } - } - } - - public BaseAddressReportBackend(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "Base Address Report"; } - } - - protected override void Generate() - { - foreach (RBuildModule module in Project.Modules) - { - if (module.Type == ModuleType.Win32DLL || - module.Type == ModuleType.Win32OCX) - { - if (module.BaseAddress != module.DefaultBaseAdress) - { - BaseAddressModule baseAddressModule = new BaseAddressModule(module , SysGen.ResolveRBuildFilePath (module.TargetFile)); - - Console.WriteLine(baseAddressModule.Name); - - Console.WriteLine(" {0} {1}", - baseAddressModule.BaseAddressStart, - baseAddressModule.BaseAddressEnd); - - m_Modules.Add (baseAddressModule); - } - } - - - } - - using (StreamWriter sw = new StreamWriter(Directory.GetCurrentDirectory() + "\\overlapping.txt")) - { - foreach (BaseAddressModule module in m_Modules) - { - foreach (BaseAddressModule testModule in m_Modules) - { - if (module.Name != testModule.Name) - { - if ((testModule.BaseAddressStart >= module.BaseAddressStart && testModule.BaseAddressStart <= module.BaseAddressEnd) || - (testModule.BaseAddressEnd >= module.BaseAddressStart && testModule.BaseAddressEnd <= module.BaseAddressEnd) || - (testModule.BaseAddressStart <= module.BaseAddressStart && testModule.BaseAddressEnd >= module.BaseAddressEnd)) - { - sw.WriteLine("- Module '{0}' [size '{1} and base address '{2}' [start:{3} end:{4}] is provably being overlapped by module '{5}' [size '{6} and base address '{7}' [start:{3} end:{8}]", - module.Name, - module.Size, - module.BaseAddress, - module.BaseAddressStart, - module.BaseAddressEnd, - testModule.Name, - testModule.Size, - testModule.BaseAddress, - testModule.BaseAddressStart, - testModule.BaseAddressEnd); - } - } - } - } - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/BuildLogReport/BuildLogReport.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/BuildLogReport/BuildLogReport.cs deleted file mode 100644 index af1fb660479..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/BuildLogReport/BuildLogReport.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Text.RegularExpressions; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class BuildLogReportEntry - { - public string File; - public string Message; - public string Position; - public string Type; - } - - public class BuildLogReport : Backend - { - private List m_Errors = new List(); - - public BuildLogReport(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "Build Log analizer"; } - } - - private List Errors - { - get { return m_Errors; } - } - - protected override void Generate() - { - using (StreamReader sr = new StreamReader(@"C:\Ros\Trunk\reactos\RosBE-Logs\BuildLog-4.1.3-20070210-0630.txt")) - { - Regex regex = new Regex(@"(.*?):(.*?): (.*?): (.*?)$", - RegexOptions.IgnoreCase | - RegexOptions.Multiline | - RegexOptions.Compiled); - - MatchCollection matches = regex.Matches(sr.ReadToEnd()); - foreach (Match match in matches) - { - BuildLogReportEntry error = new BuildLogReportEntry(); - - error.File = match.Groups[1].ToString(); - error.Position = match.Groups[2].ToString(); - error.Type = match.Groups[3].ToString(); - error.Message = match.Groups[4].ToString(); - - Errors.Add(error); - } - } - - using (StreamWriter sw = new StreamWriter(@"C:\rosbuildwarnings.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - writer.WriteLine("{0} Warnings" , Errors.Count); - - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("File"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Line/Column"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Error"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (BuildLogReportEntry report in m_Errors) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(report.File); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(report.Position); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(report.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(report.Message); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Catalog/CatalogBackend.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Catalog/CatalogBackend.cs deleted file mode 100644 index 9e2a499d2b0..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Catalog/CatalogBackend.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class CatalogBackend : Backend - { - public CatalogBackend(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "Component catalog"; } - } - - private string CatalogFile - { - get { return Path.Combine(SysGen.BaseDirectory, "catalog.xml"); } - } - - protected override void Generate() - { - // Creates an XML file is not exist - using (XmlTextWriter writer = new XmlTextWriter(CatalogFile, Encoding.ASCII)) - { - writer.Indentation = 4; - writer.Formatting = Formatting.Indented; - - // Starts a new document - writer.WriteStartDocument(); - writer.WriteComment("File autogenerated by " + AppInfo); - writer.WriteStartElement("modules"); - - foreach (RBuildModule module in Project.Modules) - { - writer.WriteStartElement("module"); - writer.WriteAttributeString("name", module.Name); - writer.WriteAttributeString("type", module.Type.ToString()); - writer.WriteAttributeString("base", module.Base); - writer.WriteAttributeString("path", module.Path); - writer.WriteAttributeString("desc", module.Description); - - writer.WriteStartElement("dependencies"); - foreach (RBuildModule library in module.Libraries) - { - writer.WriteStartElement("dependency"); - writer.WriteAttributeString("name", library.Name); - writer.WriteEndElement(); - } - writer.WriteEndElement(); - - writer.WriteEndElement(); - } - - writer.WriteEndElement(); - writer.WriteEndDocument(); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Html/HtmlBackend.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Html/HtmlBackend.cs deleted file mode 100644 index 02f40a102f9..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Html/HtmlBackend.cs +++ /dev/null @@ -1,2743 +0,0 @@ -using System; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; -using System.Drawing; - -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class HtmlBackend : HtmlDocumenterBaseBacked - { - public HtmlBackend(SysGenEngine sysgen) - : base(sysgen) - { - try - { - if (Directory.Exists(@"C:\rosDoc")) - Directory.Delete(@"C:\rosDoc", true); - - Directory.CreateDirectory(@"C:\rosDoc"); - - File.Copy(@"c:\style.css", @"c:\rosDoc\style.css"); - } - catch (Exception) - { - } - } - - protected override string FriendlyName - { - get { return "HTML Report"; } - } - - private void GenerateFrontPage() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\default.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "RBuild Auto Documentation"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Modules"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "platform.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Platform"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Quick platform overview."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "modules.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Modules"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("ReactOS is a modular operating system, made of components that collaborate with each other."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "baseaddresses.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Base Addresses"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Memory address serving as a reference point for other addresses."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "dllbaseaddresses.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("DLL Base Addresses"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Base addresses used in ReactOS dlls."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "properties.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Properties"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Properties used during the build process."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "defines.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Project Defines"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Global defines."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "depmap.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Dependency map"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Graphically represents interdependencies between modules."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "files.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Files"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Files included for current platform."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "installfolders.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Install Folders"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Install folders created during ReactOS setup."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "installfiles.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Install Files"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Install files created during ReactOS setup."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "authors.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Authors"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Individuals who have contributed time and energy to supporting the ReactOS Project."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "unicodemodules.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Unicode"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Modules supporting UNICODE builds"); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "localizations.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Localizations"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Languages and cultures currently supported by ReactOS"); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "codestats.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Stats"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Basic ReactOS code base statistics"); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "warnings.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("RBuild Warnings"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Warnings and inconsistencies detected by rbuild."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "buildsummary.htm"); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("Build Summary"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write("Options and build settings per module."); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateDependencyMap() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\depmap.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Module Dependency Map"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Module Dependency Map"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.B); - writer.Write("Direct Dependencies :"); - writer.RenderEndTag(); - writer.Write("Dependencies and libraries this module is using"); - - writer.RenderBeginTag(HtmlTextWriterTag.Br); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.B); - writer.Write("Full Dependencies :"); - writer.RenderEndTag(); - writer.Write("Dependencies and libraries this module and it's dependencies are using"); - - SysGenDependencyTracker dependencyTracker = null; - - foreach (RBuildModule module in Project.Platform.Modules) - { - dependencyTracker = new SysGenDependencyTracker(Project, module); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("{0}", module.Name); - writer.RenderEndTag(); - - writer.AddAttribute("name", module.Name); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Blockquote); - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Direct Dependencies"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule dependency in module.Needs) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "#" + dependency.Name); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("{0} - ({1} Dependencies , {2} Libraries , {3} Requeriments)", - dependency.Name, - dependency.Dependencies.Count, - dependency.Libraries.Count, - dependency.Requeriments.Count); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Full Dependencies"); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule dependency in dependencyTracker.DependsOn) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, "#" + dependency.Name); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write("{0} - ({1} Dependencies , {2} Libraries , {3} Requeriments)", - dependency.Name, - dependency.Dependencies.Count, - dependency.Libraries.Count, - dependency.Requeriments.Count); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - } - } - - private void GenerateModulesBuildSummary() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\buildsummary.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Modules"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Modules"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Module"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Libraries"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Dependencies"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("CFLAGS"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("LFLAGS"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - - foreach (RBuildModule library in module.Libraries) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, library.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(library.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - - foreach (RBuildModule dependency in module.Dependencies) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, dependency.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(dependency.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - - foreach (string flag in module.CompilerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(flag); - writer.RenderEndTag(); - } - - foreach (string flag in Project.CompilerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(flag); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - - foreach (string flag in module.LinkerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(flag); - writer.RenderEndTag(); - } - - foreach (string flag in Project.LinkerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(flag); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateModules() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\modules.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Modules"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Modules"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Module"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Unicode"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("C++"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("PCH"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Target"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Install Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Install Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("RBuild"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Unicode); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.CPlusPlus); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.PCH); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.InstallBase); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.InstallName); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.RBuildPath); - writer.RenderEndTag(); - - writer.RenderEndTag(); - } - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateStats() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\codestats.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Stats"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Stats"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Modules"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(Project.Modules.Count); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateWarnings() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\warnings.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Warnings"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Warnings"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Unicode == false) - { - if ((module.Defines.IsDefined("UNICODE")) || - (module.Defines.IsDefined("_UNICODE")) || - (module.Defines.IsDefined("_UNICODE_"))) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.WriteLine("Module '{0}' has unicode defines but 'Unicode' property set to 'False'", module.Name); - writer.RenderEndTag(); - } - } - - foreach (RBuildDefine define in Project.Defines) - { - if (module.Defines.IsDefined(define.Name)) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.WriteLine("Module '{0}' defines '{1}' already inherited from project ", module.Name, define.Name); - writer.RenderEndTag(); - } - } - - foreach (string flag in Project.CompilerFlags) - { - if (module.CompilerFlags.Contains(flag)) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.WriteLine("Module '{0}' has compiler flag '{1}' already inherited from project ", module.Name, flag); - writer.RenderEndTag(); - } - } - - foreach (string flag in Project.LinkerFlags) - { - if (module.LinkerFlags.Contains(flag)) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.WriteLine("Module '{0}' has linker flag '{1}' already inherited from project ", module.Name, flag); - writer.RenderEndTag(); - } - } - - foreach (RBuildFolder include in module.IncludeFolders) - { - if (Project.IncludeFolders.Contains(include)) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.WriteLine("Module '{0}' includes folder '({1}){2}' already inherited from project ", module.Name, include.Root, include.FullPath); - writer.RenderEndTag(); - } - - if (include.Root == PathRoot.Default || - include.Root == PathRoot.SourceCode) - { - if (SysGen.RBuildFolderExists(include) == false) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.WriteLine("Module '{0}' includes folder '({1}){2}' which could not be found ", module.Name, include.Root, include.FullPath); - writer.RenderEndTag(); - } - } - } - } - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateFiles() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\files.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Modules"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Files"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Path"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Install Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("New Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildOutputFile file in Project.Files) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.FullPath); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.InstallBase); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.NewFile.FullPath); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.GetType().Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateBaseAddresses() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\baseaddresses.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "BaseAdress"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Base Adress"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Value"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildProperty property in SysGen.Project.Properties) - { - if (property is RBuildBaseAdress) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(property.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(property.Value); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateDllBaseAddresses() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\dllbaseaddresses.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Dll's base addresses"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Dll's base addresses"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Module"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base Adress"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Is Default"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.IsDLL) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.BaseAddress); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.IsDefaultBaseAdress); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - } - } - } - - private void GenerateDefines() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\defines.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Project Defines"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Project Defines"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Value"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildDefine define in Project.Defines) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(define.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(define.Value); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateProperties() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\properties.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Properties"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Properties"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Value"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Read-Only"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Internal"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildProperty property in SysGen.Project.Properties) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(property.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(property.Value); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(property.ReadOnly); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(property.Internal); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(property.GetType().Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateInstallFiles() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\installfiles.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Install Files"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Install Files"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("ID"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Enabled) - { - if (module.IsInstallable) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.InstallBase); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.TargetFile.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - - foreach (RBuildOutputFile file in module.Files) - { - RBuildPlatformFile platformFile = file as RBuildPlatformFile; - - if (platformFile != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(platformFile.InstallBase); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(platformFile.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - } - - foreach (RBuildOutputFile file in Project.Files) - { - RBuildPlatformFile platformFile = file as RBuildPlatformFile; - - if (platformFile != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(platformFile.InstallBase); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(platformFile.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateInstallFolders() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\installfolders.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Folders"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Install Folders"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("ID"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildInstallFolder folder in Project.InstallFolders) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.ID); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateAuthors() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\authors.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Authors"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("ReactOS Authors"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Alias"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Mail"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("City"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Country"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Active"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildContributor contributor in Project.Contributors) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - - if (contributor.Alias != null) - { - writer.AddAttribute(HtmlTextWriterAttribute.Href, contributor.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(contributor.Alias); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(contributor.FullName); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(contributor.Mail); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(contributor.City); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(contributor.Country); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(contributor.Active); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateContributors() - { - foreach (RBuildContributor contributor in Project.Contributors) - { - if (contributor.Alias != null) - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\" + contributor.HtmlDocFileName)) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Authors"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("ReactOS Authors"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Module"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Roles"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Authors.GetByName(contributor.Alias) != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildAuthor author in module.Authors) - { - if (author.Contributor == contributor) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(author.Role); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - } - } - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - } - } - - private void GenerateLocalizations() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\localizations.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Translations"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Available Languages"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("ID"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("ThreeLetter ISO"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildLanguage language in Project.Languages) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(language.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(language.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(language.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Localization by Module"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Module"); - writer.RenderEndTag(); - - foreach (RBuildLanguage language in Project.Languages) - { - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write(language.Name); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildLanguage language in Project.Languages) - { - RBuildLocalizationFile localization = module.LocalizationFiles.GetByName(language.Name); - - if (localization != null) - { - if (localization.Dirty) - { - writer.AddAttribute(HtmlTextWriterAttribute.Class, "Red"); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write("Yes"); - writer.RenderEndTag(); - } - else - { - writer.AddAttribute(HtmlTextWriterAttribute.Class, "Green"); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write("Yes"); - writer.RenderEndTag(); - } - } - else - { - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write("No"); - writer.RenderEndTag(); - } - } - - writer.RenderEndTag(); - } - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - private void GenerateModulePages() - { - foreach (RBuildModule module in Project.Platform.Modules) - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\" + module.HtmlDocFileName)) - { - // Creates an XML file is not exist - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, module.Name); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Module : {0}", module.Name); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Base); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Entry Point"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.EntryPoint); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("C++"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.CPlusPlus); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base Adress"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.BaseAddress); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Unicode"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Unicode); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Target Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Type.ToString()); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - - if (module.Families.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Families this module belong"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildFamily family in module.Families) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, ""); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(family.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.Folders.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Folders"); - writer.RenderEndTag(); - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildFolder folder in module.Folders) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.FullPath); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.IsBuildable) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Output Files"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("File"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - if (module.TargetFile != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.TargetFile.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.TargetFile.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.TargetFile.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (module.Install != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Install.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Install.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Install.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (module.PlatformInstall != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.PlatformInstall.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.PlatformInstall.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.PlatformInstall.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.Authors.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Authors"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Alias"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Full Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Mail"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Role"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildAuthor author in module.Authors) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, author.Contributor.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(author.Contributor.Alias); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(author.Contributor.FullName); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(author.Contributor.Mail); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(author.Role); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.Metadata != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Metadata"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Description"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Metadata.Description); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (module.AutoRegister != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("COM Auto register"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Register Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.AutoRegister.Type.ToString()); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("SysSetup INF Section"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.AutoRegister.InfSection); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (module.ImportLibrary != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("DLL Import"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.ImportLibrary.Root); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.ImportLibrary.Base); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Definition"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.ImportLibrary.Definition); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Import Dll Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.ImportLibrary.DllName); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (module.Bootstrap != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("CD Bootstrap"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Install Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Bootstrap.InstallBase); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Path"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Bootstrap.FullPath); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("New name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Bootstrap.NewName); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (module.Dependencies.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Dependencies"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildModule dependency in module.Dependencies) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, dependency.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(dependency.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.Libraries.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Libraries"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildModule dependency in module.Libraries) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, dependency.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(dependency.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.Requeriments.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Requeriments"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildModule dependency in module.Requeriments) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, dependency.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(dependency.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - SysGenDependencyTracker dependencyTracker = new SysGenDependencyTracker(Project,module); - - if (dependencyTracker.DependsOn.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Depdends On"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildModule dependency in dependencyTracker.DependsOn) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, dependency.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(dependency.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (dependencyTracker.DependencyOf.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Dependency Of"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildModule dependency in dependencyTracker.DependencyOf) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, dependency.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(dependency.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(dependency.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Include Folders"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildFolder folder in module.IncludeFolders) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.FullPath); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - foreach (RBuildFolder folder in Project.IncludeFolders) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(folder.FullPath); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.TrueString); - writer.RenderEndTag(); - - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - if (module.LocalizationFiles.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Localizations"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("ISO Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Resource"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Outdated"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildLocalizationFile localization in module.LocalizationFiles) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(localization.CultureInfo.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(localization.CultureInfo.EnglishName); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(localization.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(localization.Dirty); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.Defines.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Defines"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Value"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildDefine define in module.Defines) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(define.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(define.Value); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - foreach (RBuildDefine define in Project.Defines) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(define.Name); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(define.Value); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.TrueString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - writer.RenderEndTag(); - } - - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Linker Flags"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Flag"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (string flag in module.LinkerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(flag); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - foreach (string flag in Project.LinkerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(flag); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.TrueString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - if (module.LinkerScript != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Linker Script"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.LinkerScript.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.LinkerScript.FullPath); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderEndTag(); - } - - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("CompilerFlags Flags"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Flag"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Inherited"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (string flag in module.CompilerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(flag); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - foreach (string flag in Project.CompilerFlags) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(flag); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.TrueString); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - if (module.Files.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Files"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Path"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Install Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("New Name"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildOutputFile file in module.Files) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.FullPath); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.InstallBase); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.NewFile.FullPath); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.GetType().Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - } - - if (module.SourceFiles.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Source Files"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Source Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Switches"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - foreach (RBuildSourceFile file in module.SourceFiles) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.FullPath); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(file.Switches); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderEndTag(); - - if (module.PreCompiledHeader != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Precompiled Header"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Root"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Source Type"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.PreCompiledHeader.Root); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.PreCompiledHeader.Type); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.PreCompiledHeader.FullPath); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderEndTag(); - } - } - - WriteDocumentEnd(writer); - } - } - } - } - - private void GenerateUnicodeModules() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\unicodemodules.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Unicode"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Unicode Modules"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Module"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Unicode) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Type); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write("Non-Unicode Modules"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Module"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Base"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Type"); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (!module.Unicode) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.Name); - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Base); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(module.Type); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - - writer.RenderEndTag(); - - - WriteDocumentEnd(writer); - } - } - } - - private void GeneratePlatformFrontPage() - { - using (StreamWriter sw = new StreamWriter(@"C:\rosDoc\platform.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteDocumentStart(writer, "Platform"); - - writer.RenderBeginTag(HtmlTextWriterTag.H2); - writer.Write(Project.Platform.Name); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.P); - writer.Write(Project.Platform.Description); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Modules"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.WriteLine("{0} out of {1}", Project.Platform.Modules.Count, Project.Modules.Count); - writer.RenderEndTag(); - writer.RenderEndTag(); - - if (Project.Platform.Shell != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Shell"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(Project.Platform.Shell.InstallName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (Project.Platform.Screensaver != null) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Screen Saver"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(Project.Platform.Screensaver.InstallName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (Project.Platform.Languages.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Languages"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildLanguage language in Project.Platform.Languages) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(language.Name); - writer.RenderEndTag(); - } - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - if (Project.Platform.DebugChannels.Count > 0) - { - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Debug Channels"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildDebugChannel channel in Project.Platform.DebugChannels) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(channel.Name); - writer.RenderEndTag(); - } - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Platform Profiles"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.ModuleGroup) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.Write(module.Description); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Debug Build"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.TrueString); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Kernel Debug"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(bool.FalseString); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.H3); - writer.Write("Files"); - writer.RenderEndTag(); - - writer.AddAttribute(HtmlTextWriterAttribute.Class, "table"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("GUI Applications"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Console Applications"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Dlls"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Drivers"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("Keyboard Layouts"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("KernelMode DLLs"); - writer.RenderEndTag(); - writer.RenderBeginTag(HtmlTextWriterTag.Th); - writer.Write("OCX & TypeLibs"); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.Win32GUI) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.Win32CUI) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.Win32DLL) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.KernelModeDriver) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.KeyboardLayout) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.KernelModeDLL) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.RenderBeginTag(HtmlTextWriterTag.Ul); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.Win32OCX || module.Type == ModuleType.EmbeddedTypeLib) - { - writer.RenderBeginTag(HtmlTextWriterTag.Li); - writer.AddAttribute(HtmlTextWriterAttribute.Href, module.HtmlDocFileName); - writer.RenderBeginTag(HtmlTextWriterTag.A); - writer.Write(module.TargetName); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - - writer.RenderEndTag(); - - WriteDocumentEnd(writer); - } - } - } - - protected override void Generate() - { - GenerateFrontPage(); - GeneratePlatformFrontPage(); - GenerateModules(); - GenerateProperties(); - GenerateModulesBuildSummary(); - GenerateStats(); - //GenerateDependencyMap(); - GenerateWarnings(); - GenerateFiles(); - GenerateBaseAddresses(); - GenerateDllBaseAddresses(); - GenerateDefines(); - GenerateInstallFolders(); - GenerateInstallFiles(); - GenerateAuthors(); - GenerateContributors(); - GenerateLocalizations(); - GenerateModulePages(); - GenerateUnicodeModules(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/MSVisualStudio.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/MSVisualStudio.cs deleted file mode 100644 index c1744aad138..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/MSVisualStudio.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.BuildEngine.Framework.VisualStudio; -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class MSVisualStudio : Backend - { - public MSVisualStudio(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "Visual Studio 6.0-2005"; } - } - - protected override void Generate() - { - VSSolution solution = new VSSolution(); - - solution.Name = "ReactOS"; - solution.FileName = "reactos.sln"; - - foreach (RBuildModule module in SysGen.Project.Modules) - { - VSProject project = new VSProject(); - - //project.Name = module.Name; - project.FileName = module.Name + ".vcproj"; - - solution.Projects.Add(project); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/VisualStudio/Solution.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/VisualStudio/Solution.cs deleted file mode 100644 index 00ececbee87..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/MSVisualStudio/VisualStudio/Solution.cs +++ /dev/null @@ -1,703 +0,0 @@ -using System; -using System.IO; -using System.Xml; -using System.Collections; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.BuildEngine.Framework.VisualStudio -{ - public enum VisualStudioVersion - { - VS6, - VS2002, - VS2003, - VS2005 - } - - #region ProjectFile - public class ProjectFile - { - private string relPath = ""; - private string basePath = ""; - private string buildAction = ""; - private string subType = ""; - - public string AbsolutePath - { - get - { - return Path.Combine(basePath, relPath); - } - } - public string AbsoluteDirectory - { - get - { - return Path.GetDirectoryName(Path.Combine(basePath, relPath)); - } - } - - public string RelativePath - { - get - { - return relPath; - } - } - - public string BasePath - { - get - { - return basePath; - } - } - public string BuildAction - { - get - { - return buildAction; - } - } - public string SubType - { - get - { - return subType; - } - } - - public override string ToString() - { - StringBuilder buff = new StringBuilder("\nProject File:"); - buff.Append("\n\tRelativePath:"); - buff.Append(relPath); - buff.Append("\n\tBuildAction:"); - buff.Append(buildAction); - buff.Append("\n\tSubType:"); - buff.Append(subType); - buff.Append("\n\tBasePath:"); - buff.Append(basePath); - return buff.ToString(); - } - - public ProjectFile( - string relPath, - string buildAction, - string subType, - string basePath) - { - this.relPath = relPath; - this.buildAction = buildAction; - this.subType = subType; - this.basePath = basePath; - } - } - #endregion - - #region ProjectFileCollection - public class ProjectFileCollection : ReadOnlyCollectionBase - { - public ProjectFile this[int index] - { - get - { - return (ProjectFile)this.InnerList[index]; - } - } - - public override string ToString() - { - StringBuilder buff = new StringBuilder(); - buff.Append("\nProjectFileCollection"); - foreach (ProjectFile pf in this.InnerList) - { - buff.Append(pf.ToString()); - } - return buff.ToString(); - } - - public ProjectFileCollection(ProjectFile[] projectFileArray) - { - foreach (ProjectFile projectFile in projectFileArray) - { - this.InnerList.Add(projectFile); - } - } - - - } - #endregion - - #region ProjectReference - public class ProjectReference - { - private string name = ""; - private string assemblyName = ""; - private string hintPath = ""; - private string basePath = ""; - - public string Name - { - get - { - return this.name; - - } - } - public string AssemblyName - { - get - { - return this.assemblyName; - } - } - public string HintPath - { - get - { - return this.hintPath; - } - } - public string AbsolutePath - { - get - { - return Path.Combine(this.basePath, this.hintPath); - } - } - - public string BasePath - { - get - { - return this.basePath; - } - } - public override string ToString() - { - StringBuilder buff = new StringBuilder("\nReference:"); - buff.Append("\n\tName"); - buff.Append(name); - buff.Append("\n\tAssemblyName"); - buff.Append(assemblyName); - buff.Append("\n\tHintPath:"); - buff.Append(hintPath); - buff.Append("\n\tBasePath:"); - buff.Append(basePath); - return buff.ToString(); - } - - public ProjectReference(string name, - string assemblyName, - string hintPath, - string basePath) - { - this.name = name; - this.assemblyName = assemblyName; - this.hintPath = hintPath; - this.basePath = basePath; - } - - } - #endregion - - #region ProjectReferenceCollection - public class ProjectReferenceCollection : ReadOnlyCollectionBase - { - public ProjectReference this[int index] - { - get - { - return (ProjectReference)this.InnerList[index]; - } - } - - public override string ToString() - { - StringBuilder buff = new StringBuilder(); - buff.Append("\nProjectReferenceCollection"); - foreach (ProjectReference pr in this.InnerList) - { - buff.Append(pr.ToString()); - } - return buff.ToString(); - } - - public ProjectReferenceCollection(ProjectReference[] - projectReferenceArray) - { - foreach (ProjectReference projectReference in projectReferenceArray) - { - this.InnerList.Add(projectReference); - } - } - - } - #endregion - - #region ProjectConfigItem - public class ProjectConfigItem - { - private string key = ""; - private string keyValue = ""; - - public string Key - { - get - { - return key; - } - } - public string Value - { - get - { - return keyValue; - } - } - - public override string ToString() - { - StringBuilder buff = new StringBuilder(); - buff.Append("\nProjectConfigItem:"); - buff.Append("\n\tKey:"); - buff.Append(key); - buff.Append("\n\tValue:"); - buff.Append(keyValue); - return buff.ToString(); - } - - public ProjectConfigItem(string key, string keyValue) - { - this.key = key; - this.keyValue = keyValue; - - } - } - #endregion - - #region ProjectConfigItemCollection - public class ProjectConfigItemCollection : ReadOnlyCollectionBase - { - private string basePath = ""; - - public string Name - { - get - { - string name = ""; - foreach (ProjectConfigItem pc in this.InnerList) - { - if (pc.Key.Equals("Name")) - { - name = pc.Value; - break; - } - } - return name; - } - } - - public string OutputRelPath - { - get - { - string relPath = ""; - foreach (ProjectConfigItem pc in this.InnerList) - { - if (pc.Key.Equals("OutputPath")) - { - relPath = pc.Value; - break; - } - } - return relPath; - } - } - - public string OutputAbsolutePath - { - get - { - string absPath = OutputRelPath; - absPath = Path.Combine(this.basePath, absPath); - return absPath.Replace("\\.\\", ""); - } - } - - public ProjectConfigItem this[int index] - { - get - { - return (ProjectConfigItem)this.InnerList[index]; - } - } - - public override string ToString() - { - StringBuilder buff = new StringBuilder(); - buff.Append("\nProjectConfigItemCollection:"); - foreach (ProjectConfigItem pc in this.InnerList) - { - buff.Append(pc.ToString()); - } - return buff.ToString(); - } - - public ProjectConfigItemCollection(ProjectConfigItem[] - projectConfigItemArray, string basePath) - { - this.basePath = basePath; - foreach (ProjectConfigItem pc in projectConfigItemArray) - { - this.InnerList.Add(pc); - } - - } - } - #endregion - - #region ProjectConfigCollection - public class ProjectConfigCollection : ReadOnlyCollectionBase - { - public override string ToString() - { - StringBuilder buff = new StringBuilder(); - buff.Append("\nProjectConfigCollection:"); - foreach (ProjectConfigItemCollection pc in this.InnerList) - { - buff.Append(pc.ToString()); - } - return buff.ToString(); - } - - public ProjectConfigItemCollection this[int index] - { - get - { - return (ProjectConfigItemCollection)this.InnerList[index]; - } - } - - public ProjectConfigCollection(XmlNodeList configItems, string basePath) - { - if (configItems.Count > 0) - { - foreach (XmlNode configItem in configItems) - { - // create an array of items: - ProjectConfigItem[] projectConfigItemArray = new - ProjectConfigItem[configItem.Attributes.Count]; - int i = 0; - foreach (XmlAttribute attrib in configItem.Attributes) - { - projectConfigItemArray[i] = new - ProjectConfigItem(attrib.Name, attrib.Value); - i++; - } - // create a ProjectConfigItemCollection: - ProjectConfigItemCollection projectConfigItemCollection = new - ProjectConfigItemCollection(projectConfigItemArray, basePath); - this.InnerList.Add(projectConfigItemCollection); - } - } - } - } - #endregion - - #region Project - public class VSProject : VSItem - { - private string basePath = ""; - private string projectBasePath = ""; - private string projectFileName = ""; - private string projectGuid = ""; - private string projectConfigurationGuid = ""; - private string projectName = ""; - private string projectType = ""; - private ProjectConfigCollection configCollection = null; - private ProjectReferenceCollection referenceCollection = null; - private ProjectFileCollection fileCollection = null; - - public string AbsolutePath - { - get - { - return Path.Combine(basePath, projectFileName); - } - } - - public string AbsoluteDirectory - { - get - { - return basePath; - } - } - - public ProjectConfigCollection Configurations - { - get - { - return configCollection; - } - } - public ProjectReferenceCollection ReferenceCollection - { - get - { - return referenceCollection; - } - } - public ProjectFileCollection FileCollection - { - get - { - return fileCollection; - } - } - - public string RelPath - { - get - { - return projectFileName; - } - } - - public string Guid - { - get - { - return projectGuid; - } - } - - public string ConfigurationGuid - { - get - { - return projectConfigurationGuid; - } - } - - public string Name - { - get - { - return projectName; - } - } - - public string ProjectType - { - get - { - return projectType; - } - } - - public override string ToString() - { - StringBuilder buff = new StringBuilder(); - buff.Append("\nProject:"); - buff.Append("\n\tName:"); - buff.Append(projectName); - buff.Append("\n\tFileName:"); - buff.Append(projectFileName); - buff.Append("\n\tBasePath:"); - buff.Append(basePath); - buff.Append("\n\tGuid:"); - buff.Append(projectGuid); - buff.Append("\nConfiguration:"); - buff.Append(configCollection.ToString()); - buff.Append("\nReferences:"); - buff.Append(referenceCollection.ToString()); - buff.Append("\nFiles:"); - buff.Append(fileCollection.ToString()); - return buff.ToString(); - } - } - #endregion - - #region ProjectCollection - public class ProjectCollection : List - { - public override string ToString() - { - StringBuilder buff = new StringBuilder(); - buff.Append("\nProject Collection:"); - foreach (VSProject p in this) - { - buff.Append(p.ToString()); - } - return buff.ToString(); - } - } - #endregion - - #region Solution - public class VSSolution : VSItem - { - private string solutionFileName = ""; - private string solutionDirectory = ""; - private string solutionFileVersion = ""; - private ProjectCollection projectCollection = null; - - public string LongestSharedPath - { - get - { - // find the longest path which is shared by all of the - // objects in the project (if any) - string longestSharedPath = solutionDirectory; - foreach (VSProject p in projectCollection) - { - string projectDir = p.AbsoluteDirectory; - longestSharedPath = getMinimumSharedPath(longestSharedPath, - projectDir); - foreach (ProjectFile pf in p.FileCollection) - { - string fileDir = pf.AbsoluteDirectory; - longestSharedPath = getMinimumSharedPath(longestSharedPath, - fileDir); - } - } - return longestSharedPath; - } - } - - private string getMinimumSharedPath( - string sharedPath, - string newPath - ) - { - string retSharedPath = ""; - if (sharedPath.Length > 0) - { - string[] sharedPathParts = sharedPath.Split( - (new char[] {Path.DirectorySeparatorChar, - Path.AltDirectorySeparatorChar })); - string[] newPathParts = newPath.Split( - (new char[] {Path.DirectorySeparatorChar, - Path.AltDirectorySeparatorChar})); - int max = Math.Min(sharedPathParts.Length, newPathParts.Length); - int sharedCount = 0; - for (int i = 0; i < max; i++) - { - if - (!sharedPathParts[i].ToUpper().Equals(newPathParts[i].ToUpper()) - ) - { - break; - } - else - { - sharedCount = i + 1; - } - } - if (sharedCount == 0) - { - return ""; - } - else - { - for (int i = 0; i < sharedCount; i++) - { - if (retSharedPath.Length > 0) - { - retSharedPath += Path.DirectorySeparatorChar; - } - retSharedPath += sharedPathParts[i]; - } - } - } - return retSharedPath; - } - - public string FileVersion - { - get - { - return solutionFileVersion; - } - } - - public ProjectCollection Projects - { - get - { - return projectCollection; - } - } - - public string FileName - { - get - { - return solutionFileName; - } - set - { - solutionFileName = value; - } - } - - public string BasePath - { - get - { - return solutionDirectory; - } - } - - public override string ToString() - { - StringBuilder s = new StringBuilder(); - s.Append("\nSolution:"); - s.Append("\nFileName:"); - s.Append(solutionFileName); - s.Append("\nVersion:"); - s.Append(solutionFileVersion); - if (projectCollection != null) - { - s.Append(projectCollection.ToString()); - } - return s.ToString(); - } - - public VSSolution() - { - } - - public VSSolution(string fileName) - { - solutionFileName = fileName; - } - } - #endregion - - public class VSItem - { - private string m_Name = null; - private string m_FileName = null; - - public string Name - { - get { return m_Name; } - set { m_Name = value; } - } - - public string FileName - { - get { return m_FileName; } - set { m_FileName = value; } - } - - public void SaveAs(VisualStudioVersion version) - { - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/CompilableFile.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/CompilableFile.cs deleted file mode 100644 index c4451fceeab..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/CompilableFile.cs +++ /dev/null @@ -1,621 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Tasks; - -namespace SysGen.BuildEngine.Backends -{ - public class BackedBuildIncludeFolder : BackedBuildFolder - { - public BackedBuildIncludeFolder(RBuildFolder folder, SysGenEngine sysgen) - : base(sysgen) - { - m_RBuildFile = folder; - } - } - - public class BackendBuildFile : BackendBuildFileSystemInfo - { - public BackendBuildFile(SysGenEngine sysgen) - : base(sysgen) - { - m_RBuildFile = new RBuildFile(); - } - - public string GetPathWithNewExtension(PathRoot root, string newExtension) - { - return GetPath(root, BuildFile.Name, newExtension); - } - - public string GetPathWithNewName(PathRoot root, string newName) - { - return GetPath(root, newName, Path.GetExtension(BuildFile.Name)); - } - - public string GetPath(PathRoot root, string newName, string newExtension) - { - return Path.Combine(SysGen.GetPathRoot(root), Path.ChangeExtension(newName, newExtension)); - } - - public string IntermediateFolderFullPath - { - get { return Path.Combine(SysGen.GetPathRoot(PathRoot.Intermediate), BuildFile.Base) /*+ @"\."*/; } - } - - public string BaseFolderFullPath - { - get { return Path.Combine(SysGen.GetPathRoot(PathRoot.SourceCode), BuildFile.Base) /*+ @"\."*/; } - } - - public RBuildFile BuildFile - { - get { return m_RBuildFile as RBuildFile; } - } - } - - public class BackedBuildFolder : BackendBuildFileSystemInfo - { - public BackedBuildFolder(RBuildFolder folder, SysGenEngine sysgen) - : base(sysgen) - { - m_RBuildFile = folder; - } - - public BackedBuildFolder(SysGenEngine sysgen) - : base(sysgen) - { - m_RBuildFile = new RBuildFolder(); - } - - public RBuildFolder BuildFolder - { - get { return m_RBuildFile as RBuildFolder; } - } - } - - public abstract class BackendBuildFileSystemInfo - { - protected RBuildFileSystemInfo m_RBuildFile = null; - protected SysGenEngine m_SysGenEngine = null; - - public BackendBuildFileSystemInfo(SysGenEngine sysgen) - { - m_SysGenEngine = sysgen; - } - - public SysGenEngine SysGen - { - get { return m_SysGenEngine; } - } - - public string RelativePath - { - get { return SysGen.NormalizePath(m_RBuildFile.FullPath); } - } - - public string GetPath(PathRoot root) - { - return Path.Combine(SysGen.GetPathRoot(root), RelativePath); - } - - public string OriginalFullPath - { - get { return Path.Combine(SysGen.GetPathRoot(m_RBuildFile.Root), RelativePath); } - } - - public string BaseFullPath - { - get { return Path.Combine(SysGen.BaseDirectory, RelativePath); } - } - - public string IntermediateFullPath - { - get { return Path.Combine(SysGen.IntermediateDirectory, RelativePath); } - } - - public string OutputFullPath - { - get { return Path.Combine(SysGen.OutputDirectory, RelativePath); } - } - - public string BootCDOutputDirectory - { - get { return Path.Combine(SysGen.BootCDOutputDirectory, RelativePath); } - } - - public string TemporaryFullPath - { - get { return Path.Combine(SysGen.TemporaryDirectory, RelativePath); } - } - - public string InstallFullPath - { - get { return Path.Combine(SysGen.InstallDirectory, RelativePath); } - } - - public RBuildModule Module - { - get { return m_RBuildFile.Element as RBuildModule; } - } - } - - public class SourceFile : BackendBuildModule - { - RBuildSourceFile m_File = null; - BackendBuildFile m_SourceCodeFile = null; - BackendBuildFile m_SourceCodeObjectFile = null; - BackendBuildFile m_SourceCodeActualFile = null; - BackendBuildFile m_SourceCodeHeaderFile = null; - BackendBuildFile m_SourceCodePCHeaderFile = null; - BackendBuildFile m_SourceRpcClientHeaderFile = null; - BackendBuildFile m_SourceRpcServerHeaderFile = null; - BackendBuildFile m_SourceMessageTableHeaderFile = null; - BackendBuildFile m_SourceMessageTableResourceFile = null; - BackendBuildFile m_PCH = null; - BackendBuildFile m_PCHTemp = null; - - public SourceFile(RBuildSourceFile file, RBuildModule module, SysGenEngine sysgen) - : base(module, sysgen) - { - m_File = file; - - m_SourceCodeFile = new BackendBuildFile(sysgen); - m_SourceCodeFile.BuildFile.Name = file.Name; - m_SourceCodeFile.BuildFile.Element = module; - m_SourceCodeFile.BuildFile.Base = file.Base; - m_SourceCodeFile.BuildFile.Root = file.Root; - - m_SourceCodeObjectFile = new BackendBuildFile(sysgen); - m_SourceCodeObjectFile.BuildFile.Name = GetObjectFileName(file); - m_SourceCodeObjectFile.BuildFile.Element = module; - m_SourceCodeObjectFile.BuildFile.Base = file.Base; - - m_SourceCodeActualFile = new BackendBuildFile(sysgen); - m_SourceCodeActualFile.BuildFile.Name = GetActualSourceFile(file); - m_SourceCodeActualFile.BuildFile.Element = module; - m_SourceCodeActualFile.BuildFile.Base = file.Base; - - m_SourceCodeHeaderFile = new BackendBuildFile(sysgen); - m_SourceCodeHeaderFile.BuildFile.Name = GetHeaderFile(file); - m_SourceCodeHeaderFile.BuildFile.Element = module; - m_SourceCodeHeaderFile.BuildFile.Base = file.Base; - - m_SourceRpcClientHeaderFile = new BackendBuildFile(sysgen); - m_SourceRpcClientHeaderFile.BuildFile.Name = GetRpcClientHeaderFile(file); - m_SourceRpcClientHeaderFile.BuildFile.Element = module; - m_SourceRpcClientHeaderFile.BuildFile.Base = file.Base; - - m_SourceRpcServerHeaderFile = new BackendBuildFile(sysgen); - m_SourceRpcServerHeaderFile.BuildFile.Name = GetRpcServerHeaderFile(file); - m_SourceRpcServerHeaderFile.BuildFile.Element = module; - m_SourceRpcServerHeaderFile.BuildFile.Base = file.Base; - - m_SourceMessageTableHeaderFile = new BackendBuildFile(sysgen); - m_SourceMessageTableHeaderFile.BuildFile.Name = GetMessageTableHeaderFile(file); - m_SourceMessageTableHeaderFile.BuildFile.Element = module; - m_SourceMessageTableHeaderFile.BuildFile.Base = /*file.Base; //*/ "include/reactos"; - - m_SourceMessageTableResourceFile = new BackendBuildFile(sysgen); - m_SourceMessageTableResourceFile.BuildFile.Name = GetMessageTableResourceFile(file); - m_SourceMessageTableResourceFile.BuildFile.Element = module; - m_SourceMessageTableResourceFile.BuildFile.Base = file.Base; - } - - public string GetMessageTableResourceFile(RBuildFile file) - { - return Path.GetFileNameWithoutExtension(file.Name) + ".rc"; - } - - public string GetMessageTableHeaderFile(RBuildFile file) - { - return Path.GetFileNameWithoutExtension(file.Name) + ".h"; - } - - public string GetRpcServerHeaderFile(RBuildFile file) - { - return Path.GetFileNameWithoutExtension(file.Name) + "_s.h"; - } - - public string GetRpcClientHeaderFile(RBuildFile file) - { - return Path.GetFileNameWithoutExtension(file.Name) + "_c.h"; - } - - public string GetRpcProxyHeaderFile(RBuildFile file) - { - return Path.GetFileNameWithoutExtension(file.Name) + "_p.h"; - } - - private string GetHeaderFile(RBuildFile file) - { - switch (file.Extension) - { - case ".idl": - { - if (Module.Type == ModuleType.RpcServer) - return GetRpcServerHeaderFile(file); - - if (Module.Type == ModuleType.RpcClient) - return GetRpcClientHeaderFile(file); - - if (Module.Type == ModuleType.RpcProxy) - return GetRpcProxyHeaderFile(file); - - return Path.ChangeExtension(file.Name, ".h"); - } - break; - default: - return file.Name; - } - } - - private string GetActualSourceFile(RBuildFile file) - { - switch (file.Extension) - { - case ".spec": - return Path.ChangeExtension(file.Name, ".stubs.c"); - break; - case ".idl": - { - if (Module.Type == ModuleType.RpcServer) - return Path.GetFileNameWithoutExtension(file.Name) + "_s.c"; - - if (Module.Type == ModuleType.RpcClient) - return Path.GetFileNameWithoutExtension(file.Name) + "_c.c"; - - if (Module.Type == ModuleType.RpcProxy) - return Path.GetFileNameWithoutExtension(file.Name) + "_p.c"; - - return Path.ChangeExtension(file.Name, ".h"); - } - break; - default: - return file.Name; - } - } - - private string GetObjectFileName(RBuildFile file) - { - string filename = null; - switch (file.Extension) - { - case ".h": - filename = Path.ChangeExtension(file.Name, ".h.gch"); - break; - case ".mc": - filename = Path.ChangeExtension(file.Name, ".rc"); - break; - case ".rc": - filename = Path.ChangeExtension(file.Name, ".coff"); - break; - case ".spec": - filename = Path.ChangeExtension(file.Name, ".stubs.o"); - break; - case ".idl": - { - if (Module.Type == ModuleType.RpcServer) - return Path.GetFileNameWithoutExtension(file.Name) + "_s.o"; - - if (Module.Type == ModuleType.RpcClient) - return Path.GetFileNameWithoutExtension(file.Name) + "_c.o"; - - if (Module.Type == ModuleType.RpcProxy) - return Path.GetFileNameWithoutExtension(file.Name) + "_p.o"; - - /* - if (Module.Type == ModuleType.EmbeddedTypeLib) - return Path.GetFileNameWithoutExtension(file.Name) + ".tlb"; - */ - - filename = Path.ChangeExtension(file.Name, ".h"); - } - break; - //case ".c": - //case ".cpp": - //case ".cxx": - // { - // filename = Path.ChangeExtension(file.Name, ".o"); - // } - // break; - default: - filename = Path.ChangeExtension(file.Name, ".o"); - - //HACK: - if (Module.Type == ModuleType.BootSector) - return filename; - - //filename = string.Format("{1}_{0}{2}", - // Module.Name, - // Path.GetFileNameWithoutExtension(filename), - // Path.GetExtension(filename)); - break; - } - - if (file.Extension == ".mc" || - file.Extension == ".rc" || - file.Extension == ".c" || - file.Extension == ".cpp" || - file.Extension == ".cxx" || - file.Extension == ".asm" || - file.Extension == ".s") - { - filename = string.Format("{0}_{1}{2}", - Path.GetFileNameWithoutExtension(filename), - Module.Name, - Path.GetExtension(filename)); - } - else if (file.Extension == ".h") - { - return filename; - } - - return filename; - } - - public BackendBuildFile SourceCodeFile - { - get { return m_SourceCodeFile; } - } - - public BackendBuildFile SourceCodeHeaderFile - { - get { return m_SourceCodeHeaderFile; } - } - - public BackendBuildFile SourceCodeObjectFile - { - get { return m_SourceCodeObjectFile; } - } - - public BackendBuildFile SourceCodeActualFile - { - get { return m_SourceCodeActualFile; } - } - - public BackendBuildFile SourceRpcClientHeaderFile - { - get { return m_SourceRpcClientHeaderFile; } - } - - public BackendBuildFile SourceRpcServerHeaderFile - { - get { return m_SourceRpcServerHeaderFile; } - } - - public BackendBuildFile SourceCodePCHeaderFile - { - get { return m_SourceCodePCHeaderFile; } - } - - public RBuildSourceFile File - { - get { return m_File; } - } - - public BackendBuildFile MessageTableHeaderFile - { - get { return m_SourceMessageTableHeaderFile; } - } - - public BackendBuildFile MessageTableResourceFile - { - get { return m_SourceMessageTableResourceFile; } - } - } - - public class LibraryModule : BackendBuildModule - { - BackendBuildFile m_Dependency = null; - - public LibraryModule(RBuildModule module, SysGenEngine sysgen) : base (module , sysgen) - { - m_Dependency = new BackendBuildFile(sysgen); - m_Dependency.BuildFile.Name = module.DependencyName; - m_Dependency.BuildFile.Element = module; - m_Dependency.BuildFile.Base = module.Base; - } - - public BackendBuildFile Dependency - { - get { return m_Dependency; } - } - } - - public class BackendBuildModule - { - SysGenEngine m_SysGenEngine = null; - RBuildModule m_Module = null; - BackendBuildFile m_Target = null; - BackendBuildFile m_TargetNoStrip = null; - BackendBuildFile m_Dependency = null; - BackendBuildFile m_Definition = null; - - public BackendBuildModule(RBuildModule module, SysGenEngine sysgen) - { - m_Module = module; - m_SysGenEngine = sysgen; - - m_Target = new BackendBuildFile(sysgen); - m_Target.BuildFile.Name = module.TargetFile.Name; //module.TargetName; - m_Target.BuildFile.Element = module; - m_Target.BuildFile.Base = module.TargetFile.Base; //module.Base; - - m_TargetNoStrip = new BackendBuildFile(sysgen); - m_TargetNoStrip.BuildFile.Name = GetNoStripTargetName(module); - m_TargetNoStrip.BuildFile.Element = module; - m_TargetNoStrip.BuildFile.Base = module.Base; - - m_Dependency = new BackendBuildFile(sysgen); - m_Dependency.BuildFile.Name = module.DependencyName; - m_Dependency.BuildFile.Element = module; - m_Dependency.BuildFile.Base = module.Base; - - - m_Definition = new BackendBuildFile(sysgen); - m_Definition.BuildFile.Element = module; - - if (module.ImportLibrary == null) - { - m_Definition.BuildFile.Name = "tools/rbuild/empty.def"; - m_Definition.BuildFile.Base = sysgen.BaseDirectory; - } - else - { - if (IsWineModule) - m_Definition.BuildFile.Root = PathRoot.Intermediate; - - m_Definition.BuildFile.Name = module.ImportLibrary.Definition; - m_Definition.BuildFile.Base = module.ImportLibrary.Base; - } - } - - public bool IsWineModule - { - get - { - if (Module.ImportLibrary == null) - return false; - - return ((Module.ImportLibrary.Definition != null) && - (Module.ImportLibrary.Definition != string.Empty) && - (Module.ImportLibrary.Definition.Contains(".spec.def"))); - } - } - - public string GetNoStripTargetName(RBuildModule module) - { - return string.Format("{0}.nostrip{1}", - Path.GetFileNameWithoutExtension(module.TargetName), - Path.GetExtension(module.TargetName)); - } - - public string LibTempFileName - { - get - { - if (m_Module.Type == ModuleType.StaticLibrary) - return m_Module.TargetName; - - return Path.ChangeExtension(m_Module.TargetName, ".temp.a"); - } - } - - public string ExpTempFileName - { - get - { - if (m_Module.Type == ModuleType.StaticLibrary) - return m_Module.TargetName; - - return Path.ChangeExtension(m_Module.TargetName, ".temp.exp"); - } - } - - public string JunkTempFileName - { - get - { - if (m_Module.Type == ModuleType.StaticLibrary) - return m_Module.TargetName; - - return Path.ChangeExtension(m_Module.TargetName, ".junk.tmp"); - } - } - - public string RcTempFileName - { - get - { - if (m_Module.Type == ModuleType.StaticLibrary) - return m_Module.TargetName; - - return Path.ChangeExtension(m_Module.TargetName, ".rci.tmp"); - } - } - - public string ResTempFileName - { - get - { - if (m_Module.Type == ModuleType.StaticLibrary) - return m_Module.TargetName; - - return Path.ChangeExtension(m_Module.TargetName, ".res.tmp"); - } - } - - public string JunkTempFileNameFullPath - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.SourceCode), JunkTempFileName); } - } - - public string RcTempFileNameFullPath - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.Temporary), RcTempFileName); } - } - - public string ResTempFileNameFullPath - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.Intermediate), ResTempFileName); } - } - - public string ExpTempFileNameFullPath - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.SourceCode), ExpTempFileName); } - } - - public string LibTempFileNameFullPath - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.Intermediate), LibTempFileName); } - } - - public string ModuleIntermediateLocation - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.Intermediate), Module.Base); } - } - - public string ModuleOutputLocation - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.Output), Module.Base); } - } - - public string ModuleBaseIntermediateLocation - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.Intermediate), Module.Base); } - } - - public string ModuleBaseOutputLocation - { - get { return Path.Combine(m_SysGenEngine.GetPathRoot(PathRoot.Output), Module.Base); } - } - - public RBuildModule Module - { - get { return m_Module; } - } - - public BackendBuildFile Target - { - get { return m_Target; } - } - - public BackendBuildFile Dependency - { - get { return m_Dependency; } - } - - public BackendBuildFile Definition - { - get { return m_Definition; } - } - - public BackendBuildFile TargetNoStrip - { - get { return m_TargetNoStrip; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwBackend.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwBackend.cs deleted file mode 100644 index 356dde7aa9a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwBackend.cs +++ /dev/null @@ -1,504 +0,0 @@ -using System; -using System.IO; -using System.Collections; -using System.Collections.Generic; -using System.Text; - -using SysGen.BuildEngine; -using SysGen.BuildEngine.Backends; -using SysGen.BuildEngine.Framework; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwBackend : CompilerBaseBacked - { - public const string ECHO_AR_MACRO = "$(ECHO_AR)"; - public const string ECHO_CC_MACRO = "$(ECHO_CC)"; - public const string ECHO_LD_MACRO = "$(ECHO_LD)"; - public const string ECHO_WRC_MACRO = "$(ECHO_WRC)"; - - public const string EMPTY_DEF_FILE = "tools\\rbuild\\empty.def"; - - protected bool m_UsePipe = false; - protected bool m_UsePch = false; - protected bool m_ManualBinUtilsSetting = false; - - protected List m_ModuleHandlers = new List(); - - public MingwBackend(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "MINGW32 Backend"; } - } - - private void WriteXmlRBuildFiles(MakefileWriter makefile, RBuildProject project) - { - foreach (string xmlBuildFile in SysGen.BuildFiles) - { - makefile.WriteIndentedLine(xmlBuildFile); - } - } - - protected List ModuleHandlers - { - get { return m_ModuleHandlers; } - } - - protected override void Generate() - { - base.Generate(); - - using (MakefileWriter makefile = new MakefileWriter(Directory.GetCurrentDirectory() + "\\" + Project.MakeFile)) - { - makefile.WriteComplexComment("THIS FILE IS AUTOMATICALLY GENERATED, EDIT " + Project.XmlFile + " INSTEAD"); - makefile.WriteLine(); - - makefile.WriteProperty("nasm", "nasm"); - makefile.WriteProperty("ARCH", "i386"); - - foreach (RBuildProperty property in SysGen.Project.Properties) - { - if (property.Internal == false) - { - if (property.Value != null) - { - makefile.WriteProperty( - property.Name.ToString(), - property.Value.ToString()); - } - } - } - - makefile.WriteComplexComment("XML rbuild files"); - - makefile.WritePropertyListStart("XMLBUILDFILES"); - WriteXmlRBuildFiles(makefile, Project); - makefile.WritePropertyListEnd(); - - MingwRBuildElementHandler projectHandler = new MingwRBuildProjectHandler(Project); - - projectHandler.Makefile = makefile; - projectHandler.SysGen = SysGen; - projectHandler.GenerateMakeFile(); - - //BackendBuildModule cModule; - SourceFile cFile; - MingwRBuildModuleHandler moduleHandler = null; - - foreach (RBuildModule module in SysGen.Project.Platform.Modules) - { - makefile.WritePropertyListStart(module.MakeFileSources); - foreach (RBuildSourceFile file in module.SourceFiles) - { - makefile.WriteIndentedLine(file.FullPath); - } - makefile.WritePropertyListEnd(); - } - - foreach (RBuildModule module in SysGen.Project.Platform.Modules) - { - if (module.Type == ModuleType.RpcClient) - { - makefile.WritePropertyListStart(module.MakeFileRPCHeaders); - - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - - if (cFile.File.IsWidl) - { - makefile.WriteIndentedLine(cFile.SourceRpcClientHeaderFile.IntermediateFullPath); - } - } - - makefile.WritePropertyListEnd(); - makefile.WritePropertyListStart(module.MakeFileRPCSources); - - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - - if (cFile.File.IsWidl) - { - makefile.WriteIndentedLine(cFile.SourceCodeActualFile.IntermediateFullPath); - } - } - - makefile.WritePropertyListEnd(); - } - - if (module.Type == ModuleType.RpcClient || - module.Type == ModuleType.RpcServer || - module.Type == ModuleType.RpcProxy) - { - makefile.WritePropertyListStart(module.MakeFileObjs); - - // Procesamos primero los .idl que generan .h que pueden - // ser luego requeridos para compilar el resto del módulo. - - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - - if (cFile.File.IsWidl) - { - makefile.WriteIndentedLine(cFile.SourceCodeObjectFile.IntermediateFullPath); - } - } - - // Luego compilamos el resto de fuentes - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - - if (!cFile.File.IsWidl && !cFile.File.IsMessageTable) - { - makefile.WriteIndentedLine(cFile.SourceCodeObjectFile.IntermediateFullPath); - } - } - - makefile.WritePropertyListEnd(); - } - else - { - makefile.WritePropertyListStart(module.MakeFileHeaders); - - // Procesamos primero los .idl que generan .h que pueden - // ser luego requeridos para compilar el resto del módulo. - - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - - if (module.Type == ModuleType.EmbeddedTypeLib) - { - /* idl files in EmbeddedTypeLib modules do not generate header files */ - } - else - { - if (cFile.File.IsWidl) - { - makefile.WriteIndentedLine(cFile.SourceCodeObjectFile.IntermediateFullPath); - } - } - } - - makefile.WritePropertyListEnd(); - makefile.WritePropertyListStart(module.MakeFilePCHHeaders); - - // Procesamos primero los .idl que generan .h que pueden - // ser luego requeridos para compilar el resto del módulo. - - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - - if (cFile.File.IsHeader) - { - makefile.WriteIndentedLine(cFile.SourceCodeObjectFile.IntermediateFullPath); - } - } - - makefile.WritePropertyListEnd(); - makefile.WritePropertyListStart(module.MakeFileMCHeaders); - - // Procesamos primero los .idl que generan .h que pueden - // ser luego requeridos para compilar el resto del módulo. - - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - - if (cFile.File.IsMessageTable) - { - makefile.WriteIndentedLine(cFile.MessageTableHeaderFile.IntermediateFullPath); - } - } - - makefile.WritePropertyListEnd(); - makefile.WritePropertyListStart(module.MakeFileObjs); - - foreach (RBuildSourceFile file in module.SourceFiles) - { - cFile = new SourceFile(file, module, SysGen); - //if (cFile.File.IsCompilable) - if (!cFile.File.IsWidl && !cFile.File.IsMessageTable &&!cFile.File.IsHeader) - { - makefile.WriteIndentedLine(cFile.SourceCodeObjectFile.IntermediateFullPath); - } - } - - makefile.WritePropertyListEnd(); - } - } - - makefile.WriteLine(); - - - foreach (RBuildModule module in SysGen.Project.Platform.Modules) - { - moduleHandler = null; - - switch (module.Type) - { - case ModuleType.RpcClient: - moduleHandler = new MingwRpcClientHeaderModuleHandler(module); - break; - case ModuleType.RpcServer: - moduleHandler = new MingwRpcServerHeaderModuleHandler(module); - break; - case ModuleType.RpcProxy: - moduleHandler = new MingwRpcProxyModuleHandler(module); - break; - case ModuleType.BootLoader: - moduleHandler = new MingwBootLoaderModuleHandler(module); - break; - case ModuleType.BootSector: - moduleHandler = new MingwBootSectorModuleHandler(module); - break; - case ModuleType.IdlHeader: - moduleHandler = new MingwIdlHeaderModuleHandler(module); - break; - case ModuleType.Win32CUI: - moduleHandler = new MingwWin32CUIModuleHandler(module); - break; - case ModuleType.Win32SCR: - case ModuleType.Win32GUI: - moduleHandler = new MingwWin32GUIModuleHandler(module); - break; - case ModuleType.Win32DLL: - moduleHandler = new MingwWin32DLLModuleHandler(module); - break; - case ModuleType.Win32OCX: - moduleHandler = new MingwWin32OCXModuleHandler(module); - break; - case ModuleType.KeyboardLayout: - case ModuleType.KernelModeDLL: - moduleHandler = new MingwKernelModeDLLModuleHandler(module); - break; - case ModuleType.KernelModeDriver: - moduleHandler = new MingwKernelModeDriverModuleHandler(module); - break; - case ModuleType.Kernel: - moduleHandler = new MingwKernelModuleHandler(module); - break; - case ModuleType.NativeCUI: - moduleHandler = new MingwNativeCUIModuleHandler(module); - break; - case ModuleType.NativeDLL: - moduleHandler = new MingwNativeDLLModuleHandler(module); - break; - case ModuleType.ObjectLibrary: - moduleHandler = new MingwObjectLibraryModuleHandler(module); - break; - case ModuleType.StaticLibrary: - moduleHandler = new MingwStaticLibraryModuleHandler(module); - break; - case ModuleType.EmbeddedTypeLib: - moduleHandler = new MingwEmbeddedTypeLibModuleHandler(module); - break; - case ModuleType.HostStaticLibrary: - moduleHandler = new MingwHostStaticLibraryModuleHandler(module); - break; - case ModuleType.BuildTool: - moduleHandler = new MingwBuildToolModuleHandler(module); - break; - case ModuleType.Cabinet: - moduleHandler = new MingwCabinetModuleHandler(module); - break; - case ModuleType.Iso: - moduleHandler = new MingwBootCDTargetHandler(module); - break; - case ModuleType.LiveIso: - moduleHandler = new MingwLiveCDTargetHandler(module); - break; - case ModuleType.IsoRegTest: - moduleHandler = new MingwBootCDRegTestTargetHandler(module); - break; - case ModuleType.LiveIsoRegTest: - moduleHandler = new MingwLiveCDRegTestTargetHandler(module); - break; - case ModuleType.MessageHeader: - moduleHandler = new MingwMessageHeaderModuleHandler(module); - break; - case ModuleType.Package: - moduleHandler = new MingwPackageModuleHandler(module); - break; - } - - if (moduleHandler != null) - { - moduleHandler.SysGen = SysGen; - moduleHandler.Makefile = makefile; - moduleHandler.Project = Project; - - ModuleHandlers.Add(moduleHandler); - } - - } - - foreach (MingwRBuildModuleHandler moduleHandler2 in ModuleHandlers) - { - if (moduleHandler2.Module.IsBuildable) // Hack - { - makefile.WriteProperty(moduleHandler2.Module.MakeFileTarget, moduleHandler2.ModuleTarget); - } - } - - foreach (MingwRBuildModuleHandler moduleHandler2 in ModuleHandlers) - { - if (moduleHandler2.Module.IsBuildable) // Hack - { - makefile.WriteComplexComment("Buid instructions for module '{0}' on '{1}' [{2}]", - moduleHandler2.Module.Name, - moduleHandler2.Module.Base, - moduleHandler2.Module.Type); - - moduleHandler2.GenerateMakeFile(); - - makefile.WritePhonyTarget(moduleHandler2.Module.MakeFileMakeTarget); - makefile.WriteRule(moduleHandler2.Module.Name, moduleHandler2.Module.MakeFileTargetMacro); - makefile.WriteLine(); - - makefile.WriteSingleLineTarget(moduleHandler2.Module.MakeFileInfoTarget); - makefile.WriteLine("\t@echo =======================Module Info============================"); - makefile.WriteLine("\t@echo Name: '{0}'", moduleHandler2.Module.Name); - makefile.WriteLine("\t@echo Type: '{0}'", moduleHandler2.Module.Type); - makefile.WriteLine("\t@echo Base: '{0}'", moduleHandler2.Module.Base); - makefile.WriteLine("\t@echo XML: '{0}'", moduleHandler2.Module.RBuildPath); - makefile.WriteLine("\t@echo Target: '{0}'", moduleHandler2.Module.TargetName); - makefile.WriteLine("\t@echo ==============================================================="); - makefile.WriteLine(); - - makefile.WriteSingleLineTarget(moduleHandler2.Module.MakeFileFlagDebugTarget); - makefile.WriteLine("\t@echo =======================Module Debug Info======================="); - makefile.WriteLine("\t@echo CFLAGS: '{0}'", moduleHandler2.Module.MakeFileCFlagsMacro); - makefile.WriteLine("\t@echo LFLAGS: '{0}'", moduleHandler2.Module.MakeFileLFlagsMacro); - makefile.WriteLine("\t@echo LIBS: '{0}'", moduleHandler2.Module.MakeFileLibsMacro); - makefile.WriteLine("\t@echo LINKDEPS: '{0}'", moduleHandler2.Module.MakeFileLinkDepsMacro); - makefile.WriteLine("\t@echo NASM: '{0}'", moduleHandler2.Module.MakeFileNASMMacro); - makefile.WriteLine("\t@echo OBJS: '{0}'", moduleHandler2.Module.MakeFileObjsMacro); - makefile.WriteLine("\t@echo RCFLAGS: '{0}'", moduleHandler2.Module.MakeFileRCFlagsMacro); - makefile.WriteLine("\t@echo TARGET: '{0}'", moduleHandler2.Module.MakeFileTargetMacro); - makefile.WriteLine("\t@echo WIDL: '{0}'", moduleHandler2.Module.MakeFileWIDLFlagsMacro); - makefile.WriteLine("\t@echo ==============================================================="); - makefile.WriteLine(); - } - } - - GenerateAllTarget(makefile); - GenerateCleanTarget(makefile); - GenerateInstallTarget(makefile); - GenerateTestTarget(makefile); - } - } - - private void GenerateAllTarget(MakefileWriter makefile) - { - makefile.WriteComplexComment("Generate the ALL target"); - makefile.WriteTarget("all"); - - foreach (RBuildModule module in SysGen.Project.Platform.Modules) - { - if ((module.Enabled) && (module.IncludeInAllTarget)) - { - makefile.WriteIndentedLine(module.MakeFileTargetMacro); - } - } - } - - private void GenerateCleanTarget(MakefileWriter makefile) - { - makefile.WriteComplexComment("Generate the CLEAN target"); - makefile.WriteTarget("clean"); - - foreach (RBuildModule module in SysGen.Project.Platform.Modules) - { - makefile.WriteIndentedLine(module.MakeFileCleanTarget); - } - } - - private void GenerateInstallTarget(MakefileWriter makefile) - { - makefile.WriteComplexComment("Generate the INSTALL target"); - makefile.WriteTarget("install"); - - //foreach (RBuildModule module in SysGen.Project.Platform.Modules) - //{ - // makefile.WriteIndentedLine(module.MakeFileCleanTarget); - //} - } - - private void GenerateTestTarget(MakefileWriter makefile) - { - RBuildFolderCollection folders = new RBuildFolderCollection(); - - makefile.WriteComplexComment("Generate the TEST target"); - makefile.WriteSingleLineTarget("test"); - - foreach (RBuildFolder folder in Project.Folders) - { - if (folders.Contains(folder) == false) - folders.Add(folder); - } - - foreach (RBuildModule module in Project.Modules) - { - foreach (RBuildFolder folder in module.Folders) - { - if (folders.Contains(folder) == false) - folders.Add(folder); - } - } - - foreach (RBuildInstallFolder folder in Project.InstallFolders) - { - if (folders.Contains(folder) == false) - folders.Add(folder); - } - - foreach (RBuildFolder folder in folders) - { - GenerateFolder(makefile, folder); - } - } - - private void GenerateFolder(MakefileWriter makefile, RBuildFolder folder) - { - if ((folder.Root == PathRoot.Default) || - (folder.Root == PathRoot.SourceCode)) - { - makefile.WriteLine("{0}: | {1}", - SysGen.ResolveRBuildFilePath(new RBuildFolder(PathRoot.Intermediate, folder.FullPath)), - SysGen.ResolveRBuildFilePath(new RBuildFolder(PathRoot.Intermediate, folder.Parent.FullPath))); - - makefile.WriteSingleLineIndented("$(ECHO_MKDIR)"); - makefile.WriteSingleLineIndented("$(mkdir) $@"); - - makefile.WriteLine("{0}: | {1}", - SysGen.ResolveRBuildFilePath(new RBuildFolder(PathRoot.Output, folder.FullPath)), - SysGen.ResolveRBuildFilePath(new RBuildFolder(PathRoot.Output, folder.Parent.FullPath))); - - makefile.WriteSingleLineIndented("$(ECHO_MKDIR)"); - makefile.WriteSingleLineIndented("$(mkdir) $@"); - } - - //Create the install and output folders - if (folder.Root == PathRoot.Output || - folder.Root == PathRoot.Install) - { - makefile.WriteLine("{0}: | {1}", - SysGen.ResolveRBuildFilePath(new RBuildFolder(folder.Root, folder.FullPath)), - SysGen.ResolveRBuildFilePath(new RBuildFolder(folder.Root, folder.Parent.FullPath))); - - makefile.WriteSingleLineIndented("$(ECHO_MKDIR)"); - makefile.WriteSingleLineIndented("$(mkdir) $@"); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwRBuildElementHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwRBuildElementHandler.cs deleted file mode 100644 index f76bcc21151..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/MingwRBuildElementHandler.cs +++ /dev/null @@ -1,923 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public enum LinkerSubSystem - { - Windows, - Console, - Native - } - - public abstract class MingwRBuildMakefileGenerator - { - protected SysGenEngine m_SysGenEngine = null; - protected MakefileWriter m_Makefile = null; - - public SysGenEngine SysGen - { - get { return m_SysGenEngine; } - set { m_SysGenEngine = value; } - } - - public MakefileWriter Makefile - { - get { return m_Makefile; } - set { m_Makefile = value; } - } - - protected virtual string ResolveRBuildFilePath(RBuildFile file) - { - return SysGen.ResolveRBuildFilePath(file); - } - - protected virtual string ResolveRBuildFolderPath(RBuildFolder folder) - { - return SysGen.ResolveRBuildFolderPath(folder); - } - - public virtual string ResolveRBuildFilePath(PathRoot root, RBuildFileSystemInfo file) - { - return SysGen.ResolveRBuildFilePath(root , file); - } - - public abstract void GenerateMakeFile(); - } - - public abstract class MingwRBuildElementHandler : MingwRBuildMakefileGenerator - { - protected RBuildElement m_BuildElement = null; - - public MingwRBuildElementHandler(RBuildElement element) - { - m_BuildElement = element; - } - - public override void GenerateMakeFile() - { - /* Do checking */ - CheckSourceFiles(); - - /* Do makefile generation */ - WriteCommon(); - WriteSpecific(); - //WritePCHFiles(); - WriteFiles(); - WriteLinker(); - WriteImportLibrary(); - WriteCleanTarget(); - } - - protected virtual void WriteFolders() - { - Makefile.WritePropertyListStart(BuildElement.MakeFileFolders); - WriteElementFolders(Makefile, BuildElement); - Makefile.WritePropertyListEnd(); - } - - protected virtual void CheckSourceFiles() - { - } - - protected virtual void WriteCommon() - { - WriteFolders(); - WriteCFlags(); - WriteRCFlags(); - WriteLFlags(); - WriteWIDLFlags(); - } - - protected virtual void WriteStrip() - { - } - - protected virtual void WriteNonSymbolStripped() - { - } - - protected virtual void WriteRsym() - { - } - - protected virtual void WriteImportLibrary() - { - } - - protected virtual void WriteLinker() - { - } - - protected virtual void WriteCleanTarget() - { - } - - protected virtual void WriteSpecific() - { - } - - protected virtual void WriteFiles() - { - } - - protected virtual void WritePCHFiles() - { - } - - protected virtual void WriteCFlags() - { - Makefile.WritePropertyListStart(BuildElement.MakeFileCFlags); - WriteElementIncludes(Makefile, BuildElement); - WriteElementDefines(Makefile, BuildElement); - Makefile.WritePropertyListEnd(); - } - - protected virtual void WriteLFlags() - { - Makefile.WritePropertyListStart(BuildElement.MakeFileLFlags); - WriteLinkerFlags(Makefile, BuildElement); - Makefile.WritePropertyListEnd(); - } - - protected virtual void WriteRCFlags() - { - Makefile.WriteProperty(BuildElement.MakeFileRCFlags, BuildElement.MakeFileCFlagsMacro); - } - - protected virtual void WriteWIDLFlags() - { - Makefile.WriteProperty(BuildElement.MakeFileWIDLFlags, BuildElement.MakeFileCFlagsMacro); - } - - protected void WriteElementDefines(MakefileWriter makefile, RBuildElement element) - { - foreach (RBuildDefine define in element.Defines) - { - if (!define.IsEmpty) - { - makefile.WriteIndentedLine("-D" + define.Name + "=" + define.Value); - } - else - makefile.WriteIndentedLine("-D" + define.Name); - } - } - - protected void WriteElementDependencyFlags(MakefileWriter makefile, RBuildModule module) - { - foreach (RBuildModule dependency in module.Dependencies) - { - Makefile.WriteIndentedLine(dependency.MakeFileTargetMacro); - } - } - - protected void WriteElementIncludes(MakefileWriter makefile, RBuildElement element) - { - foreach (RBuildFolder includeFolder in element.IncludeFolders) - { - Makefile.WriteIndentedLine("-I" + ResolveRBuildFolderPath(includeFolder)); - } - } - - protected void WriteElementFolders(MakefileWriter makefile, RBuildElement element) - { - foreach (RBuildFolder folder in element.Folders) - { - Makefile.WriteIndentedLine(ResolveRBuildFolderPath(folder)); - } - } - - protected void WriteModuleAssemblyFlags(MakefileWriter makefile, RBuildModule module) - { - foreach (string assemblyFlag in module.AssemblyFlags) - { - Makefile.WriteIndentedLine(assemblyFlag); - } - } - - protected void WriteCompilerFlags(MakefileWriter makefile, RBuildElement element) - { - foreach (string compilerFlag in element.CompilerFlags) - { - Makefile.WriteIndentedLine(compilerFlag); - } - } - - protected void WriteLinkerFlags(MakefileWriter makefile, RBuildElement element) - { - foreach (string linkerFlag in element.LinkerFlags) - { - Makefile.WriteIndentedLine(linkerFlag); - } - } - - public RBuildElement BuildElement - { - get { return m_BuildElement; } - } - } - - public abstract class MingwRBuildModuleHandler : MingwRBuildElementHandler - { - private RBuildProject m_Project = null; - private RBuildModule m_Module = null; - - private BackendBuildModule m_CompModule = null; - private BackedBuildFolder m_Folder = null; - - public MingwRBuildModuleHandler(RBuildModule module) - : base(module) - { - m_Module = module; - } - - ////Para que sirve? - //public bool ReferenceObjects - //{ - // get - // { - // switch (Module.Type) - // { - // case ModuleType.RpcServer: - // case ModuleType.RpcClient: - // case ModuleType.RpcProxy: - // case ModuleType.ObjectLibrary: - // //case ModuleType.IdlHeader: - // //case ModuleType.MessageHeader: - // return true; - // } - - // return false; - // } - //} - - public string ModuleTarget - { - get - { - if (Module.Type == ModuleType.IdlHeader) - return Module.MakeFileHeadersMacro; - - if (Module.Type == ModuleType.MessageHeader) - return Module.MakeFileMCHeadersMacro; - - if (Module.Type == ModuleType.RpcServer || - Module.Type == ModuleType.RpcClient || - Module.Type == ModuleType.RpcProxy || - Module.Type == ModuleType.ObjectLibrary) - { - return Module.MakeFileObjsMacro; - } - - if (Module.TargetFile.Root == PathRoot.Intermediate || - Module.TargetFile.Root == PathRoot.Output || - Module.TargetFile.Root == PathRoot.Default) - { - return ResolveRBuildFilePath(Module.TargetFile); - } - else - throw new BuildException("Don't know module target"); - } - } - - public override void GenerateMakeFile() - { - //m_Project = SysGen.Project; - - m_CompModule = new BackendBuildModule(Module, SysGen); - m_Folder = new BackedBuildFolder(SysGen); - m_Folder.BuildFolder.Base = Module.Folder.Base; - m_Folder.BuildFolder.Name = Module.Folder.Name; - m_Folder.BuildFolder.Element = Module; - - // Si se trata de un WinModule agregamos un include a la carpeta intermedia - // ya que algunas dlls de wine generan ahi sus recursos incrustrados como iconos - // o bitmaps - if (CompilableModule.IsWineModule) - { - Module.IncludeFolders.Add(new RBuildFolder(PathRoot.Intermediate, Module.Base)); - } - - // Llamamos a la clase base - base.GenerateMakeFile(); - } - - protected override void WriteFiles() - { - foreach (RBuildSourceFile file in Module.SourceFiles) - { - SourceFile sourceFile = new SourceFile(file, Module, SysGen); - - if (CanCompile(file)) - { - WriteFileBuildInstructions(sourceFile); - } - else - throw new Exception("Don't know how to write build instructions for '" + sourceFile.SourceCodeFile.OriginalFullPath + "' on module '" + Module.Name + "'"); - } - } - - protected abstract void WriteFileBuildInstructions(SourceFile sourceFile); - - protected abstract bool CanCompile(RBuildSourceFile file); - - protected override void WriteSpecific() - { - WriteModuleCommon(); - WritePreconditions(); - } - - protected virtual void WritePreconditions() - { - Makefile.WritePropertyAppendListStart(Module.MakeFilePreCondition); - WriteElementDependencyFlags(Makefile, Module); - Makefile.WritePropertyListEnd(); - Makefile.WriteLine(); - - foreach (RBuildSourceFile file in Module.SourceFiles) - { - if (file.IsCompilable) - { - Makefile.WriteLine("{0}: {1}", ResolveRBuildFilePath(file), Module.MakeFilePreConditionMacro); - } - } - - Makefile.WriteLine(); - } - - protected virtual void WriteWidl() - { - Makefile.WritePropertyListStart(Module.MakeFileWIDLFlags); - WriteElementIncludes(Makefile, Module); - Makefile.WritePropertyListEnd(); - - Makefile.WritePropertyAppend(Module.MakeFileWIDLFlags, Project.MakeFileWIDLFlagsMacro); - } - - protected virtual void WriteLibs() - { - Makefile.WritePropertyListStart(Module.MakeFileLibs); - - foreach (RBuildModule dependency in Module.Libraries) - { - if (dependency.IsDLL || dependency.IsLibrary || dependency.IsRPC) - { - if (dependency.Type == ModuleType.ObjectLibrary || - dependency.Type == ModuleType.RpcClient || - dependency.Type == ModuleType.RpcServer || - dependency.Type == ModuleType.RpcProxy) - { - Makefile.WriteIndentedLine(dependency.MakeFileTargetMacro); - } - else - { - Makefile.WriteIndentedLine(ResolveRBuildFilePath(dependency.Dependency)); - } - } - } - - Makefile.WritePropertyListEnd(); - } - - protected void WriteModuleCommon() - { - WriteLibs(); - WriteWidl(); - - if (Module.Host == false) - { - Makefile.WritePropertyAppend(Module.MakeFileCFlags, Project.MakeFileCFlagsMacro); - Makefile.WritePropertyAppend(Module.MakeFileRCFlags, Project.MakeFileRCFlagsMacro); - Makefile.WritePropertyAppend(Module.MakeFileLFlags, Project.MakeFileLFlagsMacro); - } - else - { - Makefile.WritePropertyAppend(Module.MakeFileLFlags, "$(HOST_LFLAGS)"); - } - - WriteLinkDeps(); - - if (Module.AssemblyFlags.Count > 0) - { - Makefile.WritePropertyListStart(Module.MakeFileNASMFlags); - WriteModuleAssemblyFlags(Makefile, Module); - Makefile.WritePropertyListEnd(); - } - - Makefile.WritePropertyAppendListStart(Module.MakeFileCFlags); - WriteCompilerFlags(Makefile, Module); - Makefile.WritePropertyListEnd(); - - Makefile.WriteLine(); - } - - protected virtual void WriteLinkDeps() - { - Makefile.WritePropertyAppend(Module.MakeFileLinkDeps, Module.MakeFileLibsMacro); - } - - public virtual string RpcHeaderDependencies - { - get - { - string dependencies = string.Empty; - - foreach (RBuildModule module in Module.Libraries) - { - if ((module.Type == ModuleType.RpcClient) || - (module.Type == ModuleType.RpcServer) || - (module.Type == ModuleType.IdlHeader)) /// se puede eliminar esta linea? - { - foreach (RBuildSourceFile file in module.SourceFiles) - { - SourceFile sourceFile = new SourceFile(file, module, SysGen); - - if (file.IsWidl) - { - if (module.Type == ModuleType.RpcClient) - dependencies += " " + sourceFile.SourceRpcClientHeaderFile.IntermediateFullPath; - - if (module.Type == ModuleType.RpcServer) - dependencies += " " + sourceFile.SourceRpcServerHeaderFile.IntermediateFullPath; - - //dependencies += " " + sourceFile.SourceCodeHeaderFile.IntermediateFullPath; - } - } - } - } - - return dependencies; - } - } - - public virtual string DefinitionDependencies - { - get - { - string dependencies = string.Empty; - - foreach (RBuildSourceFile file in Module.SourceFiles) - { - SourceFile sourceFile = new SourceFile(file, Module, SysGen); - - if (file.IsWineBuild) - { - dependencies += " " + CompilableModule.Definition.OriginalFullPath; - dependencies += " " + sourceFile.SourceCodeActualFile.IntermediateFullPath; - } - else if (file.IsWidl) - { - if (Module.Type == ModuleType.RpcClient || - Module.Type == ModuleType.RpcServer) - { - dependencies += " " + sourceFile.SourceCodeActualFile.IntermediateFullPath; - } - } - } - - return dependencies; - } - } - - public string Linker - { - get - { - if (Module.CPlusPlus) - return CPPCompiler; - - return CCompiler; - } - } - - public string PCHCompiler - { - get - { - if (Module.CPlusPlus) - return CPPCompiler; - - return CCompiler; - } - } - - public string CCompiler - { - get { return (Module.Host ? "$(host_gcc)" : "$(gcc)"); } - } - - public string CPPCompiler - { - get { return (Module.Host ? "$(host_gpp)" : "$(gpp)"); } - } - - public string ArchiveCompiler - { - get { return (Module.Host ? "$(host_ar)" : "$(ar)"); } - } - - protected virtual void WriteAr() - { - Makefile.WriteLine(m_CompModule.Target.IntermediateFullPath + ": " + Module.MakeFileObjsMacro + " | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_AR)"); - - if (Module.Type == ModuleType.StaticLibrary || - Module.Type == ModuleType.HostStaticLibrary) - { - if (Module.ImportLibrary != null) - { - Makefile.WriteLine("\t${dlltool} --dllname " + Module.ImportLibrary.DllName + " --def " + CompilableModule.Definition.OriginalFullPath + " --output-lib $@ " + MangledSymbols + " " + UnderscoreSymbols); - } - } - - Makefile.WriteLine("\t${ar} -rc $@ " + Module.MakeFileObjsMacro); - Makefile.WriteLine(); - } - - protected virtual void WriteWindResCompiler(SourceFile sourceFile) - { - Makefile.WriteLine(sourceFile.SourceCodeObjectFile.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " $(wrc_TARGET) " + " | " + sourceFile.SourceCodeFile.IntermediateFolderFullPath); - Makefile.WriteLine("\t$(ECHO_WRC)"); - Makefile.WriteLine("\t" + CCompiler + " -xc -E -DRC_INVOKED " + Module.MakeFileRCFlagsMacro + " " + sourceFile.SourceCodeFile.OriginalFullPath + " > " + CompilableModule.RcTempFileNameFullPath); - Makefile.WriteLine("\t$(Q)$(wrc_TARGET) " + Module.MakeFileRCFlagsMacro + " " + CompilableModule.RcTempFileNameFullPath + " " + CompilableModule.ResTempFileNameFullPath); - Makefile.WriteLine("\t-@${rm} " + CompilableModule.RcTempFileNameFullPath + " 2>$(NUL)"); - Makefile.WriteLine("\t${windres} " + CompilableModule.ResTempFileNameFullPath + " -o $@"); - Makefile.WriteLine("\t-@${rm} " + CompilableModule.ResTempFileNameFullPath + " 2>$(NUL)"); - Makefile.WriteLine(); - } - - protected virtual void WriteWIDLTypeLibrary(SourceFile file) - { - Makefile.WriteLine(file.Target.IntermediateFullPath + ": " + file.SourceCodeFile.OriginalFullPath + " $(widl_TARGET) " + " | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_WIDL)"); - Makefile.WriteLine("\t$(Q)$(widl_TARGET) " + Module.MakeFileWIDLFlagsMacro + " -t -T " + file.Target.IntermediateFullPath + " " + file.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - } - - protected virtual void WriteWIDLHeader(SourceFile file) - { - Makefile.WriteLine(file.SourceCodeObjectFile.IntermediateFullPath + ": " + file.SourceCodeFile.OriginalFullPath + " $(widl_TARGET) " + " | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_WIDL)"); - Makefile.WriteLine("\t$(Q)$(widl_TARGET) " + Module.MakeFileWIDLFlagsMacro + " -h -H " + file.SourceCodeObjectFile.IntermediateFullPath + " " + file.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - } - - protected virtual void WriteWIDLRpcHeader(SourceFile file) - { - Makefile.WriteLine(file.SourceCodeActualFile.IntermediateFullPath + " " + file.SourceCodeHeaderFile.IntermediateFullPath + ": " + file.SourceCodeFile.OriginalFullPath + " $(widl_TARGET) | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_WIDL)"); - - if (Module.Type == ModuleType.RpcServer) - { - Makefile.WriteLine("\t$(Q)$(widl_TARGET) " + file.File.Switches + " " + Module.MakeFileWIDLFlagsMacro + " -h -H " + file.SourceCodeHeaderFile.IntermediateFullPath + " -s -S " + file.SourceCodeActualFile.IntermediateFullPath + " " + file.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - } - else if (Module.Type == ModuleType.RpcClient) - { - Makefile.WriteLine("\t$(Q)$(widl_TARGET) " + file.File.Switches + " " + Module.MakeFileWIDLFlagsMacro + " -h -H " + file.SourceCodeHeaderFile.IntermediateFullPath + " -c -C " + file.SourceCodeActualFile.IntermediateFullPath + " " + file.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - } - else if (Module.Type == ModuleType.RpcProxy) - { - Makefile.WriteLine("\t$(Q)$(widl_TARGET) " + file.File.Switches + " " + Module.MakeFileWIDLFlagsMacro + " -h -H " + file.SourceCodeHeaderFile.IntermediateFullPath + " -p -P " + file.SourceCodeActualFile.IntermediateFullPath + " " + file.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - } - - if (Module.Type == ModuleType.RpcServer || - Module.Type == ModuleType.RpcClient) - { - Makefile.WriteLine(file.SourceCodeObjectFile.IntermediateFullPath + ": " + file.SourceCodeActualFile.IntermediateFullPath + " " + file.SourceRpcServerHeaderFile.IntermediateFullPath + " " + file.SourceRpcClientHeaderFile.IntermediateFullPath + " | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_CC)"); - Makefile.WriteLine("\t" + CCompiler + " -c $< -o $@ " + Module.MakeFileCFlagsMacro); - Makefile.WriteLine(); - } - else if (Module.Type == ModuleType.RpcProxy) - { - Makefile.WriteLine(file.SourceCodeObjectFile.IntermediateFullPath + ": " + file.SourceCodeActualFile.IntermediateFullPath + " " + file.SourceCodeHeaderFile.IntermediateFullPath + " | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_CC)"); - Makefile.WriteLine("\t" + CCompiler + " -c $< -o $@ " + Module.MakeFileCFlagsMacro); - Makefile.WriteLine(); - } - } - - protected virtual void WriteWineBuild(SourceFile sourceFile) - { - Makefile.WriteLine(CompilableModule.Definition.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " $(winebuild_TARGET) | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_WINEBLD)"); - Makefile.WriteLine("\t$(Q)$(winebuild_TARGET) $(WINEBUILD_FLAGS) -o " + CompilableModule.Definition.IntermediateFullPath + " --def -E " + sourceFile.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - - Makefile.WriteLine(sourceFile.SourceCodeActualFile.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " $(winebuild_TARGET)"); - Makefile.WriteLine("\t$(ECHO_WINEBLD)"); - Makefile.WriteLine("\t$(Q)$(winebuild_TARGET) $(WINEBUILD_FLAGS) -o " + sourceFile.SourceCodeActualFile.IntermediateFullPath + " --pedll " + sourceFile.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - - Makefile.WriteLine(sourceFile.SourceCodeObjectFile.IntermediateFullPath + ": " + sourceFile.SourceCodeActualFile.IntermediateFullPath + " | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_CC)"); - Makefile.WriteLine("\t" + CCompiler + " -c $< -o $@ " + Module.MakeFileCFlagsMacro); - Makefile.WriteLine(); - } - - protected virtual void WritePCH(SourceFile sourceFile) - { - Makefile.WriteLine(sourceFile.SourceCodeObjectFile.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " " + RpcHeaderDependencies + " | " + sourceFile.SourceCodeFile.IntermediateFolderFullPath); - Makefile.WriteLine("\t$(ECHO_PCH)"); - Makefile.WriteLine("\t" + PCHCompiler + " -o " + sourceFile.SourceCodeObjectFile.IntermediateFullPath + " " + Module.MakeFileCFlagsMacro + " -g " + sourceFile.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - } - - protected virtual void WriteCCompiler(SourceFile sourceFile) - { - Makefile.WriteLine(sourceFile.SourceCodeObjectFile.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " " + Module.MakeFileHeadersMacro + " " + PrecompiledHeader + " " + RpcHeaderDependencies + " | " + sourceFile.SourceCodeFile.IntermediateFolderFullPath); - Makefile.WriteLine("\t$(ECHO_CC)"); - Makefile.WriteLine("\t" + CCompiler + " -c $< -o $@ " + Module.MakeFileCFlagsMacro); - Makefile.WriteLine(); - } - - protected virtual void WriteWMC(SourceFile sourceFile) - { - Makefile.WriteLine(sourceFile.MessageTableHeaderFile.IntermediateFullPath + " " + sourceFile.MessageTableResourceFile.IntermediateFullPath + ": " + "$(wmc_TARGET)" + " " + sourceFile.SourceCodeFile.OriginalFullPath + " | " + sourceFile.MessageTableHeaderFile.IntermediateFolderFullPath + " " + sourceFile.MessageTableResourceFile.IntermediateFolderFullPath); - Makefile.WriteLine("\t$(ECHO_WMC)"); - Makefile.WriteLine("\t$(Q)$(wmc_TARGET) -i -H " + sourceFile.MessageTableHeaderFile.IntermediateFullPath + " -o " + sourceFile.MessageTableResourceFile.IntermediateFullPath + " " + sourceFile.SourceCodeFile.OriginalFullPath); - Makefile.WriteLine(); - } - - protected virtual void WriteCPPCompiler(SourceFile sourceFile) - { - Makefile.WriteLine(sourceFile.SourceCodeObjectFile.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " " + Module.MakeFileHeadersMacro + " " + PrecompiledHeader + " " + RpcHeaderDependencies + " | " + sourceFile.SourceCodeFile.IntermediateFolderFullPath); - Makefile.WriteLine("\t$(ECHO_CC)"); - Makefile.WriteLine("\t" + CPPCompiler + " -c $< -o $@ " + Module.MakeFileCFlagsMacro); - Makefile.WriteLine(); - } - - protected virtual void WriteNASMCompiler(SourceFile sourceFile) - { - Makefile.WriteLine(sourceFile.SourceCodeObjectFile.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " | " + sourceFile.SourceCodeFile.IntermediateFolderFullPath /*+ ModuleFolder.IntermediateFullPath*/); - Makefile.WriteLine("\t$(ECHO_NASM)"); - Makefile.WriteLine("\t$(Q)${nasm} -f win32 $< -o $@ " + Module.MakeFileNASMMacro); - Makefile.WriteLine(); - } - - protected virtual void WriteASMCompiler(SourceFile sourceFile) - { - Makefile.WriteLine(sourceFile.SourceCodeObjectFile.IntermediateFullPath + ": " + sourceFile.SourceCodeFile.OriginalFullPath + " | " + sourceFile.SourceCodeFile.IntermediateFolderFullPath /*+ ModuleFolder.IntermediateFullPath*/); - Makefile.WriteLine("\t$(ECHO_GAS)"); - Makefile.WriteLine("\t" + CCompiler + " -x assembler-with-cpp -c $< -o $@ -D__ASM__ " + Module.MakeFileCFlagsMacro); - Makefile.WriteLine(); - } - - protected override void WriteRsym() - { - Makefile.WriteLine("\t$(ECHO_RSYM)"); - Makefile.WriteLine("\t$(Q)$(RSYM_TARGET) $@ $@"); - Makefile.WriteLine(); - } - - protected override void WriteStrip() - { - if (SysGen.Project.Properties["ROS_LEAN_AND_MEAN"] != null) - { - //No s'ha provat - Makefile.WriteLine("\t$(ECHO_STRIP)"); - Makefile.WriteLine("\t${strip} -s -x -X $@"); - Makefile.WriteLine(); - } - } - - protected override void WriteNonSymbolStripped() - { - if (SysGen.Project.Properties["ROS_BUILDNOSTRIP"] != null) - { - //No s'ha provat - Makefile.WriteLine("\t$(ECHO_CP)"); - Makefile.WriteLine("\t$(cp) " + m_CompModule.TargetNoStrip.OutputFullPath + " 1>$(NUL)"); - Makefile.WriteLine(); - } - } - - protected override void WriteLinker() - { - //Makefile.WriteLine(Module.MakeFileTargetMacro + ": " + CompilableModule.Definition.OriginalFullPath + " " + Module.MakeFileLinkDepsMacro + " " + Module.MakeFileObjsMacro + " $(RSYM_TARGET) $(PEFIXUP_TARGET) | " + /*ModuleFolder.TemporaryFullPath*/ ModuleFolder.OutputFullPath); - Makefile.WriteLine(Module.MakeFileTargetMacro + ": " + Definition + " " + Module.MakeFileLinkDepsMacro + " " + Module.MakeFileObjsMacro + " $(RSYM_TARGET) $(PEFIXUP_TARGET) | " + ModuleFolder.OutputFullPath); - Makefile.WriteLine("\t$(ECHO_LD)"); - - if (Module.IsDLL) - { - Makefile.WriteLine("\t${dlltool} --dllname " + Module.TargetName + " --def " + CompilableModule.Definition.OriginalFullPath + " --output-exp " + m_CompModule.ExpTempFileNameFullPath + " " + MangledSymbols + " " + UnderscoreSymbols); - } - - Makefile.WriteLine("\t" + Linker + " " + LinkerParameters); - - if (Module.IsDLL) - { - Makefile.WriteLine("\t$(Q)$(PEFIXUP_TARGET) " + Module.MakeFileTargetMacro + " -exports" + " " + PefixupParameters); - Makefile.WriteLine("\t-@${rm} " + m_CompModule.ExpTempFileNameFullPath + " 2>$(NUL)"); - } - - Makefile.WriteLine(); - - WriteRsym(); - WriteStrip(); - WriteNonSymbolStripped(); - } - - public string Definition - { - get - { - if (Module.ImportLibrary != null) - return CompilableModule.Definition.OriginalFullPath; - - return string.Empty; - } - } - - public virtual string PefixupParameters - { - get - { - if ((Module.Type == ModuleType.Kernel) || - (Module.Type == ModuleType.KernelModeDLL) || - (Module.Type == ModuleType.KernelModeDriver) || - (Module.Type == ModuleType.KeyboardLayout)) - { - return "-sections"; - } - - return string.Empty; - } - } - - public string LinkerScript - { - get - { - if (Module.LinkerScript != null) - return string.Format("-Wl,-T,{0}", Module.LinkerScript.FullPath); - - return string.Empty; - } - } - - public string MangledSymbols - { - get - { - if (Module.MangledSymbols) - return string.Empty; - - return "--kill-at"; - } - } - - public string UnderscoreSymbols - { - get - { - if (Module.UnderscoreSymbols) - return "--add-underscore"; - - return string.Empty; - } - } - - - protected string PrecompiledHeader - { - get - { - if (Module.PreCompiledHeader != null) - return Module.MakeFilePCHMacro; - - return string.Empty; - } - } - - protected override void WriteCleanTarget() - { - Makefile.WritePhonyTarget(Module.MakeFileCleanTarget); - Makefile.WriteSingleLineTarget(Module.MakeFileCleanTarget); - - if (Module.Type != ModuleType.Cabinet) //Hack: - { - foreach (RBuildSourceFile file in Module.SourceFiles) - { - SourceFile cFile = new SourceFile(file, Module, SysGen); - - Makefile.WriteLine("\t-@$(rm) " + cFile.SourceCodeObjectFile.IntermediateFullPath + " 2>$(NUL)"); - } - } - - Makefile.WriteLine("\t-@$(rm) " + Module.MakeFileTargetMacro + " 2>$(NUL)"); - Makefile.WriteLine(); - } - - protected override void WriteImportLibrary () - { - if (Module.HasImportLibrary) - { - Makefile.WriteComment("IMPORT LIBRARY RULE"); - Makefile.WriteLine(ResolveRBuildFilePath(Module.Dependency) + ": " + CompilableModule.Definition.OriginalFullPath + " " + DefinitionDependencies + " | " + ModuleFolder.IntermediateFullPath); - Makefile.WriteLine("\t$(ECHO_DLLTOOL)"); - Makefile.WriteLine("\t$(dlltool) --dllname " + Module.TargetName + " --def " + CompilableModule.Definition.OriginalFullPath + " --output-lib " + /*CompilableModule.Dependency.IntermediateFullPath*/ ResolveRBuildFilePath(Module.Dependency) + " " + MangledSymbols + " " + UnderscoreSymbols); - Makefile.WriteLine(); - } - } - - protected virtual string LinkerParameters - { - get - { - return string.Format("-Wl,--subsystem," + SubSystem + " -Wl,--entry,{0} -Wl,--image-base,{1} " + AdditionalParameters2 + " -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 " + " " + NoStartFiles + " " + Shared + " " + LinkerScript + " " + AdditionalParamters + " -o {2} {3} {4} {5}", - Module.LinkerEntryPoint, - Module.BaseAddress, - Module.MakeFileTargetMacro, - Module.MakeFileObjsMacro, - Module.MakeFileLibsMacro, - Module.MakeFileLFlagsMacro); - } - } - - protected virtual string AdditionalParameters2 - { - get { return string.Empty; } - } - - //Fixme: - protected virtual LinkerSubSystem LinkerSubsystem - { - get { return LinkerSubSystem.Console; } - } - - protected virtual string SubSystem - { - get { return "console"; } - } - - protected virtual string NoStartFiles - { - get - { - if (Module.Type == ModuleType.NativeCUI || - Module.Type == ModuleType.NativeDLL || - Module.Type == ModuleType.Kernel || - Module.Type == ModuleType.KernelModeDLL || - Module.Type == ModuleType.KernelModeDriver || - Module.Type == ModuleType.KeyboardLayout) - { - return "-nostartfiles"; - } - - return string.Empty; - } - } - - protected virtual string Shared - { - get - { - if (Module.IsDLL) - return "-shared"; - - return string.Empty; - } - } - - protected virtual string AdditionalParamters - { - get - { - if (Module.IsDLL) - return m_CompModule.ExpTempFileNameFullPath; - - return string.Empty; - } - } - - public RBuildModule Module - { - get { return m_BuildElement as RBuildModule; } - } - - public RBuildProject Project - { - get { return m_Project; } - set { m_Project = value; } - } - - public BackendBuildModule CompilableModule - { - get { return m_CompModule; } - } - - public BackedBuildFolder ModuleFolder - { - get { return m_Folder; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/Misc/MakefileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/Misc/MakefileWriter.cs deleted file mode 100644 index 5dbb01e08fb..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/Misc/MakefileWriter.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.BuildEngine.Backends -{ - public class MakefileWriter : StreamWriter - { - public MakefileWriter(string path) - : base(path) - { - } - - public void WriteComment(string text) - { - WriteLine("# {0}" , text); - } - - public void WriteComplexComment(string text, params object[] args) - { - WriteComplexComment(string.Format(text, args)); - } - - public void WriteComplexComment(string text) - { - WriteLine(); - WriteLine("#==================================================================================="); - WriteLine("# {0}", text); - WriteLine("#==================================================================================="); - WriteLine(); - } - - public void WriteIndentedLine(string text , params object[] args) - { - WriteIndentedLine(string.Format(text, args)); - WriteLine(); - } - - public void WriteSingleLineIndented(string text) - { - WriteLine("\t{0}", text); - } - - public void WriteIndentedLine(string text) - { - WriteLine("\t{0} \\", text); - } - - public void WriteProperty(string propertyName , string propertyValue) - { - WriteLine("{0} := {1}" , - propertyName , - propertyValue); - } - - public void WritePropertyAppend(string propertyName, string propertyValue) - { - WriteLine("{0} += {1}", - propertyName, - propertyValue); - } - - public void WritePropertyAppendListStart(string propertyName) - { - WriteLine("{0} += \\", propertyName); - } - - public void WritePropertyListStart(string propertyName) - { - WriteLine("{0} := \\", propertyName); - } - - public void WritePropertyListEnd() - { - WriteLine(); - } - - public void WritePhonyTarget(string targetName) - { - WriteLine(".PHONY: {0}", targetName); - } - - public void WriteSingleLineTarget(string targetName) - { - WriteLine("{0}:", targetName); - } - - public void WriteTarget(string targetName) - { - WriteLine("{0}: \\", targetName); - } - - public void WriteRule(string targetName , string targetName2) - { - WriteLine("{0}: {1}", targetName, targetName2); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/Base/MingwRBuildModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/Base/MingwRBuildModuleHandler.cs deleted file mode 100644 index d599896ff49..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/Base/MingwRBuildModuleHandler.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootLoaderModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootLoaderModuleHandler.cs deleted file mode 100644 index a3642c0d0e4..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootLoaderModuleHandler.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwBootLoaderModuleHandler : MingwRBuildModuleHandler - { - public MingwBootLoaderModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return false; - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - } - - protected override void WriteLinker() - { - Makefile.WriteLine(Module.MakeFileTargetMacro + ": " + Module.MakeFileObjsMacro + " " + Module.MakeFileLinkDepsMacro + " | " + ModuleFolder.OutputFullPath); - Makefile.WriteLine("\t$(ECHO_LD)"); - //Makefile.WriteLine("\t$(ld) {0} -N -Ttext=0x8000 -o {1} {2} {3}", Module.MakeFileLFlagsMacro, CompilableModule.JunkTempFileNameFullPath, Module.MakeFileObjsMacro, Module.MakeFileLinkDepsMacro); - Makefile.WriteLine("\t$(gcc) -Wl,--subsystem,native -Wl,-N -Ttext=0x8000 -o {0} {1} {2} {3}", CompilableModule.JunkTempFileNameFullPath, Module.MakeFileObjsMacro, Module.MakeFileLinkDepsMacro, Module.MakeFileLFlagsMacro); - Makefile.WriteLine("\t$(objcopy) -O binary {0} $@", CompilableModule.JunkTempFileNameFullPath); - Makefile.WriteLine("\t-@$(rm) {0} 2>$(NUL)", CompilableModule.JunkTempFileNameFullPath); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootSectorModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootSectorModuleHandler.cs deleted file mode 100644 index 8db44129cf8..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBootSectorModuleHandler.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwBootSectorModuleHandler : MingwRBuildModuleHandler - { - public MingwBootSectorModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsNASM); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsNASM) - { - WriteNASMCompiler(sourceFile); - } - } - - protected override void WriteLinker() - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBuildToolModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBuildToolModuleHandler.cs deleted file mode 100644 index ac8a70ff4a9..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwBuildToolModuleHandler.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwBuildToolModuleHandler : MingwRBuildModuleHandler - { - public MingwBuildToolModuleHandler(RBuildModule module) - : base(module) - - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsC || file.IsCPP); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - } - - protected override void WriteLinker() - { - Makefile.WriteLine(Module.MakeFileTargetMacro + ": " + Module.MakeFileObjsMacro + " " + Module.MakeFileLinkDepsMacro + " | " + ModuleFolder.OutputFullPath); - Makefile.WriteLine("\t$(ECHO_LD)"); - Makefile.WriteLine("\t" + Linker + " " + Module.MakeFileLFlagsMacro + " -o $@ " + Module.MakeFileObjsMacro + " " + Module.MakeFileLibsMacro ); - Makefile.WriteLine(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwCabinetModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwCabinetModuleHandler.cs deleted file mode 100644 index 8bc979878c7..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwCabinetModuleHandler.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwCabinetModuleHandler : MingwRBuildModuleHandler - { - public MingwCabinetModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return true; - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - } - - protected override void WriteLinker() - { - } - - protected override void WriteSpecific() - { - base.WriteSpecific(); - - Makefile.WriteLine(Module.MakeFileTargetMacro + ": $(cabman_TARGET) " + ModuleFolder.OutputFullPath); - Makefile.WriteLine("\t$(ECHO_CABMAN)"); - Makefile.WriteLine("\t$(Q)$(cabman_TARGET) -M raw -S " + Module.MakeFileTargetMacro + " " + Module.MakeFileSourcesMacro); - Makefile.WriteLine(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwEmbeddedTypeLibModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwEmbeddedTypeLibModuleHandler.cs deleted file mode 100644 index 752cfaf896b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwEmbeddedTypeLibModuleHandler.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwEmbeddedTypeLibModuleHandler : MingwRBuildModuleHandler - { - public MingwEmbeddedTypeLibModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override void CheckSourceFiles() - { - if (Module.SourceFiles.Count > 1) - { - throw new BuildException("Modules of type 'EmbeddedTypeLib' can only contain 1 source file , this module contains '{0}", Module.SourceFiles.Count); - } - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsWidl); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsWidl) - { - WriteWIDLTypeLibrary(sourceFile); - } - } - - protected override void WriteLinker() - { - //WriteAr(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwHostStaticLibraryModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwHostStaticLibraryModuleHandler.cs deleted file mode 100644 index 3a70452326f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwHostStaticLibraryModuleHandler.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwHostStaticLibraryModuleHandler : MingwStaticLibraryModuleHandler - { - public MingwHostStaticLibraryModuleHandler(RBuildModule module) - : base(module) - - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwIdlHeaderModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwIdlHeaderModuleHandler.cs deleted file mode 100644 index f831d9b6199..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwIdlHeaderModuleHandler.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Backends; - -namespace SysGen.BuildEngine -{ - public class MingwMessageHeaderModuleHandler : MingwRBuildModuleHandler - { - public MingwMessageHeaderModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override void WriteCommon() - { - } - - protected override void WriteLinker() - { - } - - protected override void WriteSpecific() - { - WritePreconditions(); - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsMessageTable); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsMessageTable) - { - WriteWMC(sourceFile); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDLLModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDLLModuleHandler.cs deleted file mode 100644 index e0d03fe16d0..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDLLModuleHandler.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwKernelModeDLLModuleHandler : MingwRBuildModuleHandler - { - public MingwKernelModeDLLModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader || file.IsC || file.IsCPP || file.IsWindResource || file.IsAssembler || file.IsWidl || file.IsNASM || file.IsWineBuild); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - - if (sourceFile.File.IsNASM) - { - WriteNASMCompiler(sourceFile); - } - - if (sourceFile.File.IsAssembler) - { - WriteASMCompiler(sourceFile); - } - - if (sourceFile.File.IsWidl) - { - WriteWIDLHeader(sourceFile); - } - - if (sourceFile.File.IsWineBuild) - { - WriteWineBuild(sourceFile); - } - } - - protected override string SubSystem - { - get { return "native"; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDriverModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDriverModuleHandler.cs deleted file mode 100644 index ebbda411189..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModeDriverModuleHandler.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwKernelModeDriverModuleHandler : MingwRBuildModuleHandler - { - public MingwKernelModeDriverModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsC || file.IsWindResource || file.IsCPP || file.IsAssembler || file.IsWineBuild || file.IsHeader); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsWineBuild) - { - WriteWineBuild(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - - if (sourceFile.File.IsAssembler) - { - WriteASMCompiler(sourceFile); - } - } - - protected override string SubSystem - { - get { return "native"; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModuleHandler.cs deleted file mode 100644 index c432f7f0c3c..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwKernelModuleHandler.cs +++ /dev/null @@ -1,68 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwKernelModuleHandler : MingwRBuildModuleHandler - { - public MingwKernelModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader || file.IsC || file.IsWindResource || file.IsCPP || file.IsAssembler || file.IsMessageTable); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - - if (sourceFile.File.IsAssembler) - { - WriteASMCompiler(sourceFile); - } - - if (sourceFile.File.IsMessageTable) - { - WriteWMC(sourceFile); - } - } - - protected override string AdditionalParameters2 - { - get - { - return ""; - //return "-Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -shared"; - } - } - - protected override string SubSystem - { - get { return "native"; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwMessageHeaderModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwMessageHeaderModuleHandler.cs deleted file mode 100644 index c08b9098994..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwMessageHeaderModuleHandler.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Backends; - -namespace SysGen.BuildEngine -{ - public class MingwIdlHeaderModuleHandler : MingwRBuildModuleHandler - { - public MingwIdlHeaderModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override void WriteCommon() - { - } - - protected override void WriteLinker() - { - } - - protected override void WriteSpecific() - { - WriteWIDLFlags(); -// WriteTarget(); - WritePreconditions(); - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsWidl); - } - - protected override void WriteWIDLFlags() - { - Makefile.WriteLine(Module.MakeFileWIDLFlags + " := " + Project.MakeFileWIDLFlagsMacro + " -I" + ModuleFolder.BaseFullPath); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsWidl) - { - WriteWIDLHeader(sourceFile); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeCUIModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeCUIModuleHandler.cs deleted file mode 100644 index 4a8f5ee3436..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeCUIModuleHandler.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwNativeCUIModuleHandler : MingwRBuildModuleHandler - { - public MingwNativeCUIModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader || file.IsC || file.IsWindResource); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - } - - protected override string SubSystem - { - get { return "native"; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeDLLModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeDLLModuleHandler.cs deleted file mode 100644 index 3f23397da34..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwNativeDLLModuleHandler.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwNativeDLLModuleHandler : MingwRBuildModuleHandler - { - public MingwNativeDLLModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsC || file.IsWindResource || file.IsAssembler || file.IsMessageTable); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsMessageTable) - { - WriteWMC(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - - if (sourceFile.File.IsAssembler) - { - WriteASMCompiler(sourceFile); - } - } - - protected override string SubSystem - { - get { return "native"; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwObjectLibraryModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwObjectLibraryModuleHandler.cs deleted file mode 100644 index b95d425e431..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwObjectLibraryModuleHandler.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwObjectLibraryModuleHandler : MingwRBuildModuleHandler - { - public MingwObjectLibraryModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader || file.IsC || file.IsNASM || file.IsAssembler || file.IsMessageTable); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsAssembler) - { - WriteASMCompiler(sourceFile); - } - - if (sourceFile.File.IsNASM) - { - WriteNASMCompiler(sourceFile); - } - - if (sourceFile.File.IsMessageTable) - { - WriteWMC(sourceFile); - } - } - - protected override void WriteLinker() - { - } - - protected override string SubSystem - { - get { return "console"; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwPackageModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwPackageModuleHandler.cs deleted file mode 100644 index ce2f83a2108..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwPackageModuleHandler.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwPackageModuleHandler : MingwRBuildModuleHandler - { - public MingwPackageModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return true; - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - } - - protected override void WriteLinker() - { - } - - protected override void WriteSpecific() - { - base.WriteSpecific(); - - //Makefile.WriteLine(Module.MakeFileTargetMacro + ": $(cabman_TARGET) " + ModuleFolder.OutputFullPath); - //Makefile.WriteLine("\t$(ECHO_CABMAN)"); - //Makefile.WriteLine("\t$(Q)$(cabman_TARGET) -M raw -S " + Module.MakeFileTargetMacro + " " + Module.MakeFileSourcesMacro); - //Makefile.WriteLine(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRBuildProjectHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRBuildProjectHandler.cs deleted file mode 100644 index 4f7cfaaff47..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRBuildProjectHandler.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwRBuildProjectHandler : MingwRBuildElementHandler - { - public MingwRBuildProjectHandler(RBuildProject project) - : base(project) - { - } - - protected override void WriteSpecific() - { - Makefile.WritePropertyListStart(Project.MakeFileGCCOptions); - WriteCompilerFlags(Makefile, Project); - Makefile.WritePropertyListEnd(); - - Makefile.WritePropertyAppend(Project.MakeFileCFlags, "-Wall"); - - if (Project.Properties["OARCH"].Value != string.Empty) - { - Makefile.WritePropertyAppend(Project.MakeFileCFlags, "-march=$(OARCH)"); - } - - Makefile.WritePropertyAppend(Project.MakeFileCFlags, Project.MakeFileGCCOptionsMacro); - } - - public RBuildProject Project - { - get { return m_BuildElement as RBuildProject; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcClientHeaderModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcClientHeaderModuleHandler.cs deleted file mode 100644 index c4fa641f31e..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcClientHeaderModuleHandler.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwRpcClientHeaderModuleHandler : MingwRpcServerHeaderModuleHandler - { - public MingwRpcClientHeaderModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsWidl); - } - - protected override void WriteCleanTarget() - { - base.WriteCleanTarget(); - - foreach (RBuildSourceFile file in Module.SourceFiles) - { - SourceFile cFile = new SourceFile(file, Module, SysGen); - - Makefile.WriteLine("\t-@$(rm) " + cFile.SourceCodeHeaderFile.IntermediateFullPath + " 2>$(NUL)"); - Makefile.WriteLine("\t-@$(rm) " + cFile.SourceCodeObjectFile.IntermediateFullPath + " 2>$(NUL)"); - } - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsWidl) - { - WriteWIDLRpcHeader(sourceFile); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcProxyModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcProxyModuleHandler.cs deleted file mode 100644 index f15d03d9301..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcProxyModuleHandler.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwRpcProxyModuleHandler : MingwRpcServerHeaderModuleHandler - { - public MingwRpcProxyModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsWidl); - } - - protected override void WriteCleanTarget() - { - base.WriteCleanTarget(); - - foreach (RBuildSourceFile file in Module.SourceFiles) - { - SourceFile cFile = new SourceFile(file, Module, SysGen); - - Makefile.WriteLine("\t-@$(rm) " + cFile.SourceCodeHeaderFile.IntermediateFullPath + " 2>$(NUL)"); - Makefile.WriteLine("\t-@$(rm) " + cFile.SourceCodeObjectFile.IntermediateFullPath + " 2>$(NUL)"); - } - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsWidl) - { - WriteWIDLRpcHeader(sourceFile); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcServerHeaderModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcServerHeaderModuleHandler.cs deleted file mode 100644 index a09bbb3069a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwRpcServerHeaderModuleHandler.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwRpcServerHeaderModuleHandler : MingwIdlHeaderModuleHandler - { - public MingwRpcServerHeaderModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override void WriteSpecific() - { - WriteCFlags(); - base.WriteSpecific(); - WriteModuleCommon(); - } - - protected override void WriteCleanTarget() - { - base.WriteCleanTarget(); - - foreach (RBuildSourceFile file in Module.SourceFiles) - { - SourceFile cFile = new SourceFile(file, Module, SysGen); - - Makefile.WriteLine("\t-@$(rm) " + cFile.SourceCodeHeaderFile.IntermediateFullPath + " 2>$(NUL)"); - Makefile.WriteLine("\t-@$(rm) " + cFile.SourceCodeActualFile.IntermediateFullPath + " 2>$(NUL)"); - } - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsWidl); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsWidl) - { - WriteWIDLRpcHeader(sourceFile); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwStaticLibraryModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwStaticLibraryModuleHandler.cs deleted file mode 100644 index f915a86b2f0..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwStaticLibraryModuleHandler.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwStaticLibraryModuleHandler : MingwRBuildModuleHandler - { - public MingwStaticLibraryModuleHandler(RBuildModule module) - : base(module) - - { - } - - /* - protected override void WriteLibs(RBuildModule module) - { - } - */ - - protected override void WriteCFlags() - { - base.WriteCFlags(); - - if (Module.IsStartupLib) - { - Makefile.WritePropertyAppend(Module.MakeFileCFlags, "-Wno-main"); - } - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader ||file.IsC || file.IsAssembler); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsAssembler) - { - WriteASMCompiler(sourceFile); - } - } - - protected override void WriteLinker() - { - WriteAr(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32CUIModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32CUIModuleHandler.cs deleted file mode 100644 index 5097b3971c0..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32CUIModuleHandler.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Backends; - -namespace SysGen.BuildEngine -{ - public class MingwWin32CUIModuleHandler : MingwRBuildModuleHandler - { - public MingwWin32CUIModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader || file.IsC || file.IsCPP || file.IsWindResource); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32DLLModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32DLLModuleHandler.cs deleted file mode 100644 index a8b29f0a082..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32DLLModuleHandler.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwWin32DLLModuleHandler : MingwRBuildModuleHandler - { - public MingwWin32DLLModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader || file.IsC || file.IsCPP || file.IsWindResource || file.IsAssembler || file.IsWineBuild || file.IsWidl || file.IsMessageTable); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsWineBuild) - { - WriteWineBuild(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - - if (sourceFile.File.IsAssembler) - { - WriteASMCompiler(sourceFile); - } - - if (sourceFile.File.IsMessageTable) - { - WriteWMC(sourceFile); - } - - if (sourceFile.File.IsWidl) - { - WriteWIDLHeader(sourceFile); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32GUIModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32GUIModuleHandler.cs deleted file mode 100644 index b6687778a5d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32GUIModuleHandler.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwWin32GUIModuleHandler : MingwRBuildModuleHandler - { - public MingwWin32GUIModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader || file.IsC || file.IsCPP || file.IsWindResource || file.IsWineBuild); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - - if (sourceFile.File.IsWineBuild) - { - WriteWineBuild(sourceFile); - } - } - - protected override string SubSystem - { - get { return "windows"; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32OCXModuleHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32OCXModuleHandler.cs deleted file mode 100644 index 7fe4f0b9c1a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/ModuleHandlers/MingwWin32OCXModuleHandler.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwWin32OCXModuleHandler : MingwRBuildModuleHandler - { - public MingwWin32OCXModuleHandler(RBuildModule module) - : base(module) - { - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return (file.IsHeader ||file.IsC || file.IsWindResource || file.IsCPP || file.IsWineBuild); - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - if (sourceFile.File.IsHeader) - { - WritePCH(sourceFile); - } - - if (sourceFile.File.IsC) - { - WriteCCompiler(sourceFile); - } - - if (sourceFile.File.IsWindResource) - { - WriteWindResCompiler(sourceFile); - } - - if (sourceFile.File.IsCPP) - { - WriteCPPCompiler(sourceFile); - } - - if (sourceFile.File.IsWineBuild) - { - WriteWineBuild(sourceFile); - } - } - - protected override string SubSystem - { - get { return "native"; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/TargetsHandlers/Base/MingwRBuildTargetHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/TargetsHandlers/Base/MingwRBuildTargetHandler.cs deleted file mode 100644 index b99413d3724..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/Mingw/TargetsHandlers/Base/MingwRBuildTargetHandler.cs +++ /dev/null @@ -1,307 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class MingwLiveCDTargetHandler : MingwRBuildIsoModuleHandler - { - public MingwLiveCDTargetHandler(RBuildModule module) - : base(module) - { - } - - protected override void AddAditionalFiles() - { - //RBuildCDFile livecdBootIni = new RBuildCDFile(); - - //livecdBootIni.Base = "boot\bootdata"; - //livecdBootIni.Name = "livecd.ini"; - //livecdBootIni.NewName = ""; - } - - protected override void WriteCabinetManager() - { - // Not required - } - - protected override void WriteMakeHive() - { - Makefile.WriteLine("\t$(ECHO_MKHIVE)"); - Makefile.WriteLine("\t$(mkhive_TARGET) boot\bootdata " + @"$(OUTPUT)\livecd\reactos\system32\config boot\bootdata\livecd.inf boot\bootdata\hiveinst.inf"); - } - - protected override void WriteCopyCDFiles() - { - foreach (RBuildOutputFile platformFile in SysGen.Project.Files) - { - if (platformFile is RBuildPlatformFile || platformFile is RBuildCDFile) - { - } - else - { - RBuildCDFile cdFile = new RBuildCDFile(); - - cdFile.Root = PathRoot.LiveCD; - cdFile.Name = platformFile.Name; - cdFile.Base = platformFile.InstallBase; - - Makefile.WriteLine("\t$(ECHO_CP)"); - Makefile.WriteLine("\t$(cp) " + ResolveRBuildFilePath(platformFile) + " " + ResolveRBuildFilePath(cdFile) + " 1>$(NUL)"); - } - } - - foreach (RBuildModule module in SysGen.Project.Modules) - { - if (module.IsInstallable) - { - RBuildCDFile cdFile = new RBuildCDFile(); - - cdFile.Root = PathRoot.LiveCD; - cdFile.Name = module.TargetFile.Name; - cdFile.Base = "reactos" + "//" + module.InstallBase; - - Makefile.WriteLine("\t$(ECHO_CP)"); - Makefile.WriteLine("\t$(cp) " + ResolveRBuildFilePath(module.TargetFile) + " " + ResolveRBuildFilePath(cdFile) + " 1>$(NUL)"); - } - } - - Makefile.WriteLine("\t$(ECHO_CP)"); - Makefile.WriteLine("\t${cp} " + @"boot\bootdata\livecd.ini $(OUTPUT)\livecd\freeldr.ini 1>$(NUL)"); - } - - public override RBuildFolder WorkingFolder - { - get { return new RBuildFolder(PathRoot.Output, "LiveCD"); } - } - - protected override string ResolveRBuildFilePath(RBuildFile file) - { - if (file.Root == PathRoot.CDOutput) - return Path.Combine(SysGen.LiveCDOutputDirectory, file.FullPath); - - return SysGen.ResolveRBuildFilePath(file); - } - } - - public class MingwLiveCDRegTestTargetHandler : MingwLiveCDTargetHandler - { - public MingwLiveCDRegTestTargetHandler(RBuildModule module) - : base(module) - { - } - public override RBuildFolder WorkingFolder - { - get { return new RBuildFolder(PathRoot.Output, "livecdregtest"); } - } - } - - public class MingwBootCDRegTestTargetHandler : MingwBootCDTargetHandler - { - public MingwBootCDRegTestTargetHandler(RBuildModule module) - : base(module) - { - } - - public override RBuildFolder WorkingFolder - { - get { return new RBuildFolder(PathRoot.Output , "cdregtest"); } - } - } - - public class MingwBootCDTargetHandler : MingwRBuildIsoModuleHandler - { - public MingwBootCDTargetHandler(RBuildModule module) - : base(module) - { - } - - protected override void WriteCopyCDFiles() - { - base.WriteCopyCDFiles(); - - foreach (RBuildModule module in SysGen.Project.Platform.Modules) - { - if ((module.Enabled) && (module.IsBootstrap)) - { - RBuildBootstrapFile bootstrapFile = module.Bootstrap; - - if (bootstrapFile != null) - { - Makefile.WriteLine("\t$(ECHO_CP)"); - Makefile.WriteLine("\t$(cp) " + ResolveRBuildFilePath(bootstrapFile) + " " + ResolveRBuildFilePath(bootstrapFile.CDNewFile) + " 1>$(NUL)"); - } - } - } - - foreach (RBuildOutputFile file in SysGen.Project.Files) - { - RBuildBootstrapFile bootstrapFile = file as RBuildBootstrapFile; - - if (bootstrapFile != null) - { - Makefile.WriteLine("\t$(ECHO_CP)"); - Makefile.WriteLine("\t$(cp) " + ResolveRBuildFilePath(bootstrapFile) + " " + ResolveRBuildFilePath(bootstrapFile.CDNewFile) + " 1>$(NUL)"); - } - } - } - - protected override void AddFolders() - { - //Ensure folder exists - base.AddFolders(); - - Module.Folders.Add(new RBuildFolder(WorkingFolder, "loader")); - Module.Folders.Add(new RBuildFolder(WorkingFolder, "reactos")); - Module.Folders.Add(new RBuildFolder(WorkingFolder, "reactos/system32")); - } - - protected override string ResolveRBuildFilePath(RBuildFile file) - { - if (file.Root == PathRoot.CDOutput) - return SysGen.NormalizePath(Path.Combine(SysGen.BootCDOutputDirectory, file.FullPath)); - - return SysGen.ResolveRBuildFilePath(file); - } - - public override RBuildFolder WorkingFolder - { - get { return new RBuildFolder(PathRoot.Output , "cd"); } - } - } - - public abstract class MingwRBuildIsoModuleHandler : MingwRBuildModuleHandler - { - private const string PROFILES_FOLDER = "Profiles"; - private const string ALL_USERS_FOLDER = "All Users"; - private const string DEFAULT_USER_FOLDER = "Default User"; - private const string DESKTOP_FOLDER = "Desktop"; - private const string MY_DOCUMENTS_FOLDER = "My Documents"; - - protected List m_BuildTools = new List(); - - public MingwRBuildIsoModuleHandler(RBuildModule module) - : base(module) - { - } - - protected List BuildTools - { - get { return m_BuildTools; } - } - - public override void GenerateMakeFile() - { - AddAditionalFiles(); - AddFolders(); - - WriteFolders(); - WriteTarget(); - WriteCabinetManager(); - WriteCopyCDFiles(); - WriteMakeRegistryHives(); - WriteMakeHive(); - WriteCDMake(); - WriteCleanTarget(); - } - - protected virtual void AddAditionalFiles() - { - } - - protected virtual void WriteMakeHive() - { - } - - protected virtual void AddFolders() - { - Module.Folders.Add(WorkingFolder); - } - - protected virtual void WriteTarget() - { - Makefile.WriteTarget(Module.MakeFileTargetMacro); - Makefile.WriteIndentedLine("all"); - Makefile.WriteIndentedLine("$(cabman_TARGET)"); - Makefile.WriteIndentedLine("$(cdmake_TARGET)"); - Makefile.WriteIndentedLine("$(mkhive_TARGET)"); - Makefile.WriteIndentedLine(Module.MakeFileFoldersMacro); - - foreach (RBuildModule module in SysGen.Project.Platform.Modules) - { - if ((module.Enabled) && (module.IsBootstrap)) - { - Makefile.WriteIndentedLine(module.MakeFileTargetMacro); - } - } - - Makefile.WriteIndentedLine(BootModule.MakeFileTargetMacro); - Makefile.WriteLine(); - } - - protected virtual void WriteMakeRegistryHives() - { - } - - protected virtual void WriteCabinetManager() - { - Makefile.WriteLine("\t$(ECHO_CABMAN)"); - Makefile.WriteLine("\t$(Q)$(cabman_TARGET) -C " + SysGen.Project.PackagesFile + @" -L $(OUTPUT)\cd\reactos -I -P $(OUTPUT)"); - Makefile.WriteLine("\t$(Q)$(cabman_TARGET) -C " + SysGen.Project.PackagesFile + @" -RC $(OUTPUT)\cd\reactos\reactos.inf -L $(OUTPUT)\cd\reactos -N -P $(OUTPUT)"); - Makefile.WriteLine("\t-@${rm} " + @"$(OUTPUT)\cd\reactos\reactos.inf" + " 2>$(NUL)"); - Makefile.WriteLine(); - } - - protected virtual void WriteCDMake() - { - Makefile.WriteLine("\t$(ECHO_CDMAKE)"); - Makefile.WriteLine("\t$(Q)$(cdmake_TARGET) -v -j -m -b " + ResolveRBuildFilePath(BootModule.TargetFile) + " " + ResolveRBuildFolderPath(WorkingFolder) + " " + CDLabel + " " + IsoImage); - Makefile.WriteLine(); - } - - protected virtual void WriteCopyCDFiles() - { - foreach (RBuildOutputFile file in SysGen.Project.Files) - { - RBuildCDFile cdFile = file as RBuildCDFile; - - if (cdFile != null) - { - Makefile.WriteLine("\t$(ECHO_CP)"); - Makefile.WriteLine("\t$(cp) " + ResolveRBuildFilePath(cdFile) + " " + ResolveRBuildFilePath(cdFile.CDNewFile) + " 1>$(NUL)"); - } - } - } - - protected virtual RBuildModule BootModule - { - get { return Module.BootSector; } - } - - public abstract RBuildFolder WorkingFolder { get; } - - public virtual string IsoImage - { - get { return ResolveRBuildFilePath(Module.TargetFile); } - } - - public virtual string CDLabel - { - get { return Module.CDLabel; } - } - - protected override bool CanCompile(RBuildSourceFile file) - { - return false; - } - - protected override void WriteFileBuildInstructions(SourceFile sourceFile) - { - throw new Exception("The method or operation is not implemented."); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/ProjectTreeReport/ProjectTreeReport.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/ProjectTreeReport/ProjectTreeReport.cs deleted file mode 100644 index 3952090f289..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/ProjectTreeReport/ProjectTreeReport.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class ProjectTreeReport : Backend - { - public ProjectTreeReport(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "Tree Report"; } - } - - protected override void Generate() - { - using (StreamWriter sw = new StreamWriter(@"C:\resTree.htm")) - { - using (HtmlTextWriter writer = new HtmlTextWriter(sw)) - { - WriteModule(SysGen.RootTask , writer); - } - } - } - - private void WriteModule(Task task, HtmlTextWriter writer) - { - ITaskContainer container = task as ITaskContainer; - - writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "5"); - writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "5"); - writer.AddAttribute(HtmlTextWriterAttribute.Border, "1"); - writer.AddAttribute(HtmlTextWriterAttribute.Bordercolor, "#000000"); - writer.RenderBeginTag(HtmlTextWriterTag.Table); - writer.RenderBeginTag(HtmlTextWriterTag.Tr); - writer.RenderBeginTag(HtmlTextWriterTag.Td); - writer.Write(task.Name); - - if (container != null) - { - if (container.ChildTasks.Count > 0) - { - foreach (Task childTask in container.ChildTasks) - { - WriteModule(childTask, writer); - } - } - } - - writer.RenderEndTag(); - writer.RenderEndTag(); - writer.RenderEndTag(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/RBuildDB/RBuildDBBackend.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/RBuildDB/RBuildDBBackend.cs deleted file mode 100644 index 032af573ba7..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/RBuildDB/RBuildDBBackend.cs +++ /dev/null @@ -1,102 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class RBuildDBBackend : Backend - { - public RBuildDBBackend(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "RBuild Database"; } - } - - private string RBuildDBFile - { - get { return Path.Combine(SysGen.BaseDirectory, "rbuilddb.xml"); } - } - - protected override void Generate() - { - // Creates an XML file is not exist - using (XmlTextWriter writer = new XmlTextWriter(RBuildDBFile, Encoding.ASCII)) - { - writer.Indentation = 4; - writer.Formatting = Formatting.Indented; - - // Starts a new document - writer.WriteStartDocument(); - writer.WriteComment("File autogenerated by SysGen"); - writer.WriteStartElement("catalog"); - - writer.WriteStartElement("modules"); - foreach (RBuildModule module in Project.Modules) - { - writer.WriteStartElement("module"); - writer.WriteAttributeString("name", module.Name); - writer.WriteAttributeString("type", module.Type.ToString()); - writer.WriteAttributeString("base", module.Base); - writer.WriteAttributeString("desc", module.Description); - writer.WriteAttributeString("path", module.CatalogPath); - writer.WriteAttributeString("enabled", module.Enabled.ToString()); - - writer.WriteStartElement("libraries"); - - foreach (RBuildModule library in module.Libraries) - writer.WriteElementString("library", library.Name); - - writer.WriteEndElement(); - - writer.WriteStartElement("dependencies"); - - foreach (RBuildModule dependency in module.Dependencies) - writer.WriteElementString("dependency", dependency.Name); - - writer.WriteEndElement(); - - writer.WriteStartElement("requeriments"); - - foreach (RBuildModule requirement in module.Requeriments) - writer.WriteElementString("requires", requirement.Name); - - writer.WriteEndElement(); - - writer.WriteEndElement(); - } - writer.WriteEndElement(); - - writer.WriteStartElement("languages"); - foreach (RBuildLanguage language in Project.Languages) - { - writer.WriteStartElement("language"); - writer.WriteAttributeString("name", language.Name); - writer.WriteEndElement(); - } - writer.WriteEndElement(); - - writer.WriteStartElement("debugchannels"); - foreach (RBuildDebugChannel language in Project.DebugChannels) - { - writer.WriteStartElement("debugchannel"); - writer.WriteAttributeString("name", language.Name); - writer.WriteEndElement(); - } - writer.WriteEndElement(); - writer.WriteEndElement(); - - writer.WriteEndDocument(); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/RGenStats/RGenStatBackend.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/RGenStats/RGenStatBackend.cs deleted file mode 100644 index 113f0fd290c..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/RGenStats/RGenStatBackend.cs +++ /dev/null @@ -1,110 +0,0 @@ -using System; -using System.Text.RegularExpressions; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Tasks; -using SysGen.BuildEngine.Backends; - -namespace SysGen.BuildEngine.Backends -{ - public class RGenStatBackend : Backend - { - public RGenStatBackend(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "RGenStat Report"; } - } - - protected override void Generate() - { - using (StreamWriter sw = new StreamWriter(Directory.GetCurrentDirectory() + "\\apistatus.lst")) - { - sw.WriteLine("; Format:"); - sw.WriteLine("; COMPONENT_NAME PATH_TO_COMPONENT_SOURCES"); - sw.WriteLine(); - sw.WriteLine("; Where:"); - sw.WriteLine("; COMPONENT_NAME - Name of the module. Eg. kernel32."); - sw.WriteLine("; PATH_TO_COMPONENT_SOURCES - Relative path to sources (relative to where rgenstat is run from)."); - sw.WriteLine(); - - foreach (RBuildModule module in Project.Modules) - { - if (module.Type == ModuleType.Kernel || - module.Type == ModuleType.KernelModeDLL || - module.Type == ModuleType.KernelModeDriver || - module.Type == ModuleType.StaticLibrary || - module.Type == ModuleType.ObjectLibrary || - module.Type == ModuleType.Win32DLL || - module.Type == ModuleType.Win32OCX || - module.Type == ModuleType.KeyboardLayout) - { - sw.WriteLine("{0} {1}", - module.Name, - module.BaseURI.ToString().Replace("\\", "/")); - } - } - } - - //using (StreamWriter sw = new StreamWriter(Directory.GetCurrentDirectory() + "\\descriptions.rbuild")) - //{ - // sw.WriteLine(""); - // sw.WriteLine(""); - // sw.WriteLine(""); - // sw.WriteLine(""); - - // foreach (RBuildModule module in Project.Modules) - // { - // if (module.Type == ModuleType.Kernel || - // module.Type == ModuleType.KernelModeDLL || - // module.Type == ModuleType.KernelModeDriver || - // module.Type == ModuleType.BootLoader || - // module.Type == ModuleType.BootProgram || - // module.Type == ModuleType.BootSector || - // module.Type == ModuleType.BuildTool || - // module.Type == ModuleType.Cabinet || - // module.Type == ModuleType.EmbeddedTypeLib || - // module.Type == ModuleType.HostStaticLibrary || - // module.Type == ModuleType.IdlHeader || - // module.Type == ModuleType.NativeCUI || - // module.Type == ModuleType.NativeDLL || - // module.Type == ModuleType.ObjectLibrary || - // module.Type == ModuleType.Package || - // module.Type == ModuleType.RpcClient || - // module.Type == ModuleType.RpcProxy || - // module.Type == ModuleType.RpcServer || - // module.Type == ModuleType.StaticLibrary || - // module.Type == ModuleType.Win32CUI || - // module.Type == ModuleType.Win32DLL || - // module.Type == ModuleType.Win32GUI || - // module.Type == ModuleType.Win32OCX || - // module.Type == ModuleType.Win32SCR || - // module.Type == ModuleType.KeyboardLayout) - - // { - // sw.WriteLine("", - // module.Name.ToUpper(), - // module.Name); - // } - // } - - // sw.WriteLine(""); - //} - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/WarningReport/WarningReport.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Backends/WarningReport/WarningReport.cs deleted file mode 100644 index 5b48f103ae1..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Backends/WarningReport/WarningReport.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using System.Web.UI; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.Xml; - -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; - -namespace SysGen.BuildEngine.Backends -{ - public class WarningReport : Backend - { - public WarningReport(SysGenEngine sysgen) - : base(sysgen) - { - } - - protected override string FriendlyName - { - get { return "Warning report"; } - } - - protected override void Generate() - { - //using (StreamWriter sw = new StreamWriter(@"C:\roswarning.txt")) - //{ - // foreach (RBuildModule module in Project.Modules) - // { - // if (module.Unicode == false) - // { - // if ((module.Defines.ContainsKey("UNICODE")) || - // (module.Defines.ContainsKey("_UNICODE")) || - // (module.Defines.ContainsKey("_UNICODE_"))) - // { - // sw.WriteLine("- Module '{0}' has unicode defines but 'Unicode' property set to 'False'", module.Name); - // } - // } - - // foreach (KeyValuePair define in Project.Defines) - // { - // if (module.Defines.ContainsKey(define.Key)) - // { - // sw.WriteLine("- Module '{0}' already define '{1}' inherited from project ", module.Name, define.Key); - // } - // } - - // foreach (string flag in Project.CompilerFlags) - // { - // if (module.CompilerFlags.Contains(flag)) - // { - // sw.WriteLine("- Module '{0}' already has compiler flag '{1}' inherited from project ", module.Name, flag); - // } - // } - - // foreach (string flag in Project.LinkerFlags) - // { - // if (module.LinkerFlags.Contains(flag)) - // { - // sw.WriteLine("- Module '{0}' already has linker flag '{1}' inherited from project ", module.Name, flag); - // } - // } - - // foreach (RBuildFolder include in module.IncludeFolders) - // { - // if (Project.IncludeFolders.Contains(include)) - // { - // sw.WriteLine("- Module '{0}' already has include folder '{1}' inherited from project ", module.Name, include.RelativePath); - // } - - // if (SysGen.RBuildFolderExists(include) == false) - // { - // sw.WriteLine("- Module '{0}' includes folder '{1}' which could not be found ", module.Name, include.RelativePath); - // } - // } - // } - //} - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/BackendCollection.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Collections/BackendCollection.cs deleted file mode 100644 index c2df8997b68..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/BackendCollection.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System; -using System.Collections; -using System.Collections.Generic; - -using SysGen.BuildEngine.Log; -using SysGen.BuildEngine.Backends; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - public sealed class BackendCollection : List - { - public void Generate() - { - foreach (Backend backend in this) - { - backend.Run(); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/DefineCollection.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Collections/DefineCollection.cs deleted file mode 100644 index e05ada2c171..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/DefineCollection.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System; -using System.Collections; -using System.Collections.Generic; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - public class DefineCollection : Dictionary - { - public void Add(string name) - { - Add(name, string.Empty); - } - - public void Add(string name , string value) - { - if (!ContainsKey(name)) - base.Add(name, value); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/FileHandlerCollection.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Collections/FileHandlerCollection.cs deleted file mode 100644 index ec7b65a5c86..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/FileHandlerCollection.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System; -using System.Collections; -using System.Collections.Generic; - -using SysGen.BuildEngine.Log; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - public sealed class FileHandlerCollection : List - { - public void ProcessFiles(RBuildPlatformFileCollection files) - { - foreach (RBuildFile file in files) - { - foreach (IFileHandler handler in this) - { - handler.Process(file); - } - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/LogListenerCollection.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Collections/LogListenerCollection.cs deleted file mode 100644 index 7d907c3fe93..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/LogListenerCollection.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System; -using System.Collections; -using System.Collections.Generic; - -using SysGen.BuildEngine.Log; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - public sealed class LogListenerCollection : List - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskBuilderCollection.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskBuilderCollection.cs deleted file mode 100644 index 386c0b04c24..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskBuilderCollection.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; - -namespace SysGen.BuildEngine -{ - public class TaskBuilderCollection : List - { - public bool Add(TaskBuilder builder) - { - // prevent adding duplicate builders with the same task name - if (FindBuilderForTask(builder.TaskName) == null) - { - base.Add(builder); - return true; - } - - return false; - } - - public TaskBuilder FindBuilderForTask(string taskName) - { - foreach (TaskBuilder builder in this) - { - if (builder.TaskName == taskName) - { - return builder; - } - } - return null; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskCollection.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskCollection.cs deleted file mode 100644 index a10cf92f4f1..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Collections/TaskCollection.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; - -namespace SysGen.BuildEngine -{ - public sealed class TaskCollection : List - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Elements/Base/Element.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Elements/Base/Element.cs deleted file mode 100644 index 3de1765b291..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Elements/Base/Element.cs +++ /dev/null @@ -1,306 +0,0 @@ -using System; -using System.IO; -using System.Reflection; -using System.Xml; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Log; -using SysGen.BuildEngine.Attributes; -using SysGen.BuildEngine.Tasks; - -namespace SysGen.BuildEngine -{ - /// Models a NAnt XML element in the build file. - /// - /// Automatically validates attributes in the element based on Attribute settings in the derived class. - /// - public class Element : IElement - { - protected Location _location = Location.UnknownLocation; - protected SysGenEngine _sysgen = null; - protected RBuildProject _project = null; - protected XmlNode _xmlNode = null; - protected IElement _parent = null; - protected bool m_FailOnMissingRequired = true; - - /// - /// The default contstructor. - /// - public Element() - { - } - - /// A copy contstructor. - protected Element(Element element) : this() - { - _location = element._location; - _sysgen = element._sysgen; - _xmlNode = element._xmlNode; - } - - /// in the build file where the element is defined. - protected virtual Location Location { - get { return _location; } - set { _location = value; } - } - - /// - /// The Parent object. This will be your parent Task, Target, or Project depeding on where the element is defined. - /// - public IElement Parent { get { return _parent; } set { _parent = value; } } - - /// Name of the XML element used to initialize this element. - public virtual string Name - { - get { - ElementNameAttribute elementNameAttribute = (ElementNameAttribute) - Attribute.GetCustomAttribute(GetType(), typeof(ElementNameAttribute)); - - string name = null; - if (elementNameAttribute != null) { - name = elementNameAttribute.Name; - } - return name; - } - } - - /// - /// The this element belongs to. - /// - public virtual SysGenEngine SysGen - { - get { return _sysgen; } - set { _sysgen = value; } - } - - public RBuildProject Project - { - get { return _project; } - set { _project = value; } - } - - public RBuildModule Module - { - get - { - RBuildModule module = RBuildElement as RBuildModule; - - if (module == null) - throw new BuildException(String.Format("Task <{0} ... \\> is not child of any ModuleTask." , Name), Location); - - return module; - } - } - - /// - /// this element belongs to. - /// - public virtual RBuildElement RBuildElement - { - get - { - IElement element = this; - while (element != null) - { - if (element is ISysGenObject) - return ((ISysGenObject)element).RBuildElement; - - //Set to his parent - element = element.Parent; - } - - return SysGen.Project; - } - } - - public string BaseBuildLocation - { - get { return Path.GetDirectoryName(new Uri(_xmlNode.BaseURI).LocalPath); } - } - - public XmlNode XmlNode - { - get { return _xmlNode; } - } - - /// - /// Initializes all build attributes. - /// - private void InitializeProperties(XmlNode elementNode) - { - // Get the current element Type - Type currentType = GetType(); - - PropertyInfo[] propertyInfoArray = currentType.GetProperties(BindingFlags.Public|BindingFlags.Instance); - foreach (PropertyInfo propertyInfo in propertyInfoArray ) - { - // process all TaskPropertyAttribute attributes - TaskPropertyAttribute[] propertyAttributes = (TaskPropertyAttribute[]) - Attribute.GetCustomAttributes(propertyInfo, typeof(TaskPropertyAttribute) , false); - - foreach(TaskPropertyAttribute propertyAttribute in propertyAttributes) - { - string propertyValue = null; - - if (propertyAttribute.Location == TaskPropertyLocation.Attribute) - { - if (elementNode.Attributes[propertyAttribute.Name] != null) - { - propertyValue = elementNode.Attributes[propertyAttribute.Name].Value; - } - } - else if (propertyAttribute.Location == TaskPropertyLocation.Node) - { - propertyValue = elementNode.InnerText; - } - - // check if its required - if (propertyValue == null && propertyAttribute.Required && m_FailOnMissingRequired) - { - throw new BuildException(String.Format("'{0}' is a required '{1}' of <{2} ... \\>.", propertyAttribute.Name, propertyAttribute.Location , Name), Location); - } - - if (propertyValue != null) - { - //string attrValue = attributeNode.Value; - if (propertyAttribute.ExpandProperties) - { - // expand attribute properites - propertyValue = SysGen.ExpandProperties(propertyValue); - } - - if (propertyInfo.CanWrite) - { - // set the property value instead - MethodInfo info = propertyInfo.GetSetMethod(); - object[] paramaters = new object[1]; - - Type propertyType = propertyInfo.PropertyType; - - // If the object is an emum - if (propertyType.IsSubclassOf(typeof(System.Enum))) - { - try - { - paramaters[0] = Enum.Parse(propertyType, propertyValue, true); - } - catch (Exception) - { - // catch type conversion exceptions here - string message = string.Format("Invalid value '{0}'. Valid values for this attribute are:\n", propertyValue); - foreach (object value in Enum.GetValues(propertyType)) - { - message += string.Format("\t{0}\n", value.ToString()); - } - throw new BuildException(message, Location); - } - } - else - { - //validate attribute value with custom ValidatorAttribute(ors) - ValidatorAttribute[] validateAttributes = (ValidatorAttribute[]) - Attribute.GetCustomAttributes(propertyInfo, typeof(ValidatorAttribute)); - try - { - foreach (ValidatorAttribute validator in validateAttributes) - validator.Validate(propertyValue); - } - catch (ValidationException ve) - { - throw new ValidationException(ve.Message, Location); - } - - if (propertyType == typeof(System.Boolean)) - { - paramaters[0] = Convert.ChangeType(SysGenConversion.ToBolean(propertyValue), propertyInfo.PropertyType); - } - else - { - paramaters[0] = Convert.ChangeType(propertyValue, propertyInfo.PropertyType); - } - } - - info.Invoke(this, paramaters); - } - else - { - new BuildException(string.Format("Property '{0}' was found but '{1}' does no implement Set", propertyAttribute.Name, Name)); - } - } - } - - // now do nested BuildElements - BuildElementAttribute buildElementAttribute = (BuildElementAttribute) - Attribute.GetCustomAttribute(propertyInfo, typeof(BuildElementAttribute)); - - if (buildElementAttribute != null) - { - // get value from xml node - XmlNode nestedElementNode = elementNode[buildElementAttribute.Name, elementNode.OwnerDocument.DocumentElement.NamespaceURI]; - // check if its required - if (nestedElementNode == null && buildElementAttribute.Required) { - throw new BuildException(String.Format("'{0}' is a required element of <{1} ...//>.", buildElementAttribute.Name, this.Name), Location); - } - if (nestedElementNode != null) { - Element childElement = (Element)propertyInfo.GetValue(this, null); - // Sanity check: Ensure property wasn't null. - if ( childElement == null ) - throw new BuildException(String.Format("Property '{0}' value cannot be null for <{1} ...//>", propertyInfo.Name, this.Name), Location); - childElement.SysGen = SysGen; - childElement.Initialize(nestedElementNode); - } - } - } - } - - /// Performs default initialization. - /// - /// Derived classes that wish to add custom initialization should override . - /// - public void Initialize(XmlNode elementNode) - { - if (SysGen == null) - throw new InvalidOperationException("Element has invalid BuildFileLoader property."); - - // Save the element node - _xmlNode = elementNode; - - // Save position in buildfile for reporting useful error messages. - try - { - _location = SysGen.LocationMap.GetLocation(elementNode); - } - catch(ArgumentException ae) - { - BuildLog.WriteLineIf(SysGen.Verbose, ae.ToString()); - } - - InitializeProperties(elementNode); - - OnInit(); - - // Allow inherited classes a chance to do some custom initialization. - InitializeElement(elementNode); - - // The Element has been completly initialized - OnLoad(); - } - - /// - /// Allows derived classes to provide extra initialization and validation not covered by the base class. - /// - /// The xml node of the element to use for initialization. - protected virtual void InitializeElement(XmlNode elementNode) - { - } - - protected virtual void OnLoad() - { - } - - protected virtual void OnInit() - { - } - - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/BuildException.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/BuildException.cs deleted file mode 100644 index b8b422221be..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/BuildException.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System; -using System.Runtime.Serialization; - -namespace SysGen.BuildEngine -{ - /// - /// Thrown whenever an error occurs during the build. - /// - [Serializable] - public class BuildException : ApplicationException - { - private Location _location = Location.UnknownLocation; - - /// - /// Constructs a build exception with no descriptive information. - /// - public BuildException() : base() { - } - - public BuildException(String message, params object[] args) - : base(string.Format(message, args)) - { - } - - /// - /// Constructs an exception with a descriptive message. - /// - public BuildException(String message) : base(message) { - } - - /// - /// Constructs an exception with a descriptive message and an - /// instance of the Exception that is the cause of the current Exception. - /// - public BuildException(Exception e, String message) : base(message, e) { - } - - /// - /// Constructs an exception with a descriptive message and an - /// instance of the Exception that is the cause of the current Exception. - /// - public BuildException(Exception e, String message,params object[] args) - : base(string.Format(message , args), e) - { - } - - /// - /// Constructs an exception with a descriptive message and location - /// in the build file that caused the exception. - /// - /// The error message that explains the reason for the exception. - /// Location in the build file where the exception occured. - public BuildException(String message, Location location) : base(message) { - _location = location; - } - - /// - /// Constructs an exception with the given descriptive message, the - /// location in the build file and an instance of the Exception that - /// is the cause of the current Exception. - /// - /// The error message that explains the reason for the exception. - /// Location in the build file where the exception occured. - /// An instance of Exception that is the cause of the current Exception. - public BuildException(String message, Location location, Exception e) : base(message, e) { - _location = location; - } - - /// Initializes a new instance of the BuildException class with serialized data. - public BuildException(SerializationInfo info, StreamingContext context) : base(info, context) { - /* - string fileName = info.GetString("Location.FileName"); - int lineNumber = info.GetInt32("Location.LineNumber"); - int columnNumber = info.GetInt32("Location.ColumnNumber"); - */ - _location = info.GetValue("Location", _location.GetType()) as Location; - } - - /// Sets the SerializationInfo object with information about the exception. - /// The object that holds the serialized object data. - /// The contextual information about the source or destination. - /// For more information, see SerializationInfo in the Microsoft documentation. - public override void GetObjectData(SerializationInfo info, StreamingContext context) { - base.GetObjectData(info, context); - info.AddValue("Location", _location); - } - - public override string Message { - get { - string message = base.Message; - - // only include location string if not empty - string locationString = _location.ToString(); - if (locationString != String.Empty) { - message = locationString + "\n " + message; - } - return message; - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/ValidationException.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/ValidationException.cs deleted file mode 100644 index 0150c5c79f0..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Exceptions/ValidationException.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System; -using System.Runtime.Serialization; - -namespace SysGen.BuildEngine -{ - /// - /// This exception indicates that an error has occured while performing a validate operation. - /// The ValidationEventHandler can cause this exception to be thrown during the validate operations - /// - [Serializable] - public class ValidationException : BuildException - { - /// - /// Constructs a build exception with no descriptive information. - /// - public ValidationException() : base() {} - - /// - /// Constructs an exception with a descriptive message. - /// - public ValidationException(String message) : base(message) {} - - /// - /// Constructs an exception with a descriptive message and an - /// instance of the Exception that is the cause of the current Exception. - /// - public ValidationException(String message, Exception e) : base(e, message) {} - - /// - /// Constructs an exception with a descriptive message and location - /// in the build file that caused the exception. - /// - /// The error message that explains the reason for the exception. - /// Location in the build file where the exception occured. - public ValidationException(String message, Location location) : base(message, location) {} - - /// - /// Constructs an exception with the given descriptive message, the - /// location in the build file and an instance of the Exception that - /// is the cause of the current Exception. - /// - /// The error message that explains the reason for the exception. - /// Location in the build file where the exception occured. - /// An instance of Exception that is the cause of the current Exception. - public ValidationException(String message, Location location, Exception e) : base(message, location, e) {} - - /// Initializes a new instance of the ValidationException class with serialized data. - public ValidationException(SerializationInfo info, StreamingContext context) : base(info, context) {} - - /// Sets the SerializationInfo object with information about the exception. - /// The object that holds the serialized object data. - /// The contextual information about the source or destination. - /// For more information, see SerializationInfo in the Microsoft documentation. - public override void GetObjectData(SerializationInfo info, StreamingContext context) {} - - public override string Message { - get { - return base.Message; - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedCFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedCFileWriter.cs deleted file mode 100644 index 9f37bd4c0e5..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedCFileWriter.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.BuildEngine.Framework; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public abstract class AutoGeneratedCFileWriter : AutoGeneratedFileWriter - { - public AutoGeneratedCFileWriter(RBuildModule module, string file) - : base(module , file) - { - } - - protected virtual void WriteHeader() - { - WriteLine("/* This file is automatically generated. */"); - WriteLine(); - } - - protected virtual void WriteFooter() - { - WriteLine("/* EOF */"); - WriteLine(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedFileWriter.cs deleted file mode 100644 index 02a03e04fe3..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedFileWriter.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public abstract class AutoGeneratedFileWriter : StreamWriter - { - RBuildProject m_Project = null; - RBuildModule m_Module = null; - - public AutoGeneratedFileWriter(RBuildProject project, string file) - : base(file) - { - m_Project = project; - } - - public AutoGeneratedFileWriter(RBuildModule module, string file) - : base(file) - { - m_Module = module; - } - - protected RBuildProject Project - { - get { return m_Project; } - } - - protected RBuildModule Module - { - get { return m_Module; } - } - - public abstract void WriteFile(); - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedInfFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedInfFileWriter.cs deleted file mode 100644 index 93135c8771b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/Base/AutoGeneratedInfFileWriter.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public abstract class AutoGeneratedInfFileWriter : AutoGeneratedFileWriter - { - public AutoGeneratedInfFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - protected virtual void WriteHeader() - { - WriteSection("Version"); - WriteLine("Signature = \"$Windows NT$\""); - WriteLine("ClassGUID = {00000000-0000-0000-0000-000000000000}"); - WriteLine(); - } - - protected void WriteSection(string sectionName) - { - WriteLine("[{0}]", sectionName); - } - - protected void WriteComment (string comment) - { - WriteLine("; {0}", comment); - } - - protected void WriteAssignment(string name , string value) - { - WriteLine("{0} = {1}", - name , - value); - } - - protected void WriteBooleanAssignment(string name, bool value) - { - if (value) - { - WriteAssignment(name, "yes"); - } - else - { - WriteAssignment(name, "no"); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/BuildNumberFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/BuildNumberFileWriter.cs deleted file mode 100644 index 330c9162ded..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/BuildNumberFileWriter.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.Framework; -using SysGen.RBuild.Framework; - -namespace SysGen.Framework -{ - public class BuildNumberFileWriter : AutoGeneratedCFileWriter - { - public BuildNumberFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteHeader(); - WriteCompilationUnit(); - WriteFooter(); - } - - private void WriteBuildNumber() - { - WriteLine("#ifndef _INC_REACTOS_BUILDNO"); - WriteLine("#define _INC_REACTOS_BUILDNO"); - WriteLine("#define KERNEL_VERSION_BUILD 20080427"); - WriteLine("#define KERNEL_VERSION_BUILD_HEX 0x8187"); - WriteLine("#define KERNEL_VERSION_BUILD_STR \"20080427-r33159\""); - WriteLine("#define KERNEL_VERSION_BUILD_RC \"20080427-r33159\0\""); - WriteLine("#define KERNEL_RELEASE_RC \"0.4-SVN\0\""); - WriteLine("#define KERNEL_RELEASE_STR \"0.4-SVN\""); - WriteLine("#define KERNEL_VERSION_RC \"0.4-SVN\0\""); - WriteLine("#define KERNEL_VERSION_STR \"0.4-SVN\""); - WriteLine("#define REACTOS_DLL_VERSION_MAJOR 42"); - WriteLine("#define REACTOS_DLL_RELEASE_RC \"42.4-SVN\0\""); - WriteLine("#define REACTOS_DLL_RELEASE_STR \"42.4-SVN\""); - WriteLine("#define REACTOS_DLL_VERSION_RC \"42.4-SVN\0\""); - WriteLine("#define REACTOS_DLL_VERSION_STR \"42.4-SVN\""); - WriteLine("#endif"); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/CompilationUnitFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/CompilationUnitFileWriter.cs deleted file mode 100644 index e0dd0063b8c..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/CompilationUnitFileWriter.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class CompilationUnitFileWriter : AutoGeneratedCFileWriter - { - private RBuildCompilationUnitFile m_CompilationUnit = null; - - public CompilationUnitFileWriter(RBuildModule module, RBuildCompilationUnitFile unit , string file) - : base(module , file) - { - m_CompilationUnit = unit; - } - - protected override void WriteHeader() - { - base.WriteHeader(); - - WriteLine("#define ONE_COMPILATION_UNIT"); - WriteLine(); - } - - public override void WriteFile() - { - WriteHeader(); - WriteCompilationUnit(); - } - - private void WriteCompilationUnit() - { - foreach (RBuildSourceFile file in m_CompilationUnit.SourceFiles) - { - WriteLine("#include <{0}>", file.FullPath); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DefinitionFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DefinitionFileWriter.cs deleted file mode 100644 index d0d11a5073b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DefinitionFileWriter.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class DefinitionFileWriter : AutoGeneratedFileWriter - { - public DefinitionFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DffFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DffFileWriter.cs deleted file mode 100644 index ce146aca3bf..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/DffFileWriter.cs +++ /dev/null @@ -1,139 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class DffFileWriter : AutoGeneratedFileWriter - { - public DffFileWriter(RBuildProject project , string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteHeader(); - WriteModuleTargets(); - } - - protected void WriteHeader() - { - WriteLine("; Main ReactOS package"); - WriteLine(); - WriteLine(".Set DiskLabelTemplate=\"ReactOS\" ; Label of disk"); - WriteLine(".Set CabinetNameTemplate=\"reactos.cab\" ; reactos.cab"); - WriteLine(".Set InfFileName=\"reactos.inf\" ; reactos.inf"); - WriteLine(); - WriteLine(";.Set Cabinet=on"); - WriteLine(";.Set Compress=on"); - WriteLine(); - WriteLine(".InfBegin"); - WriteLine("[Version]"); - WriteLine("Signature = \"$ReactOS$\""); - WriteLine(); - WriteLine("[Directories]"); - - foreach (RBuildInstallFolder folder in Project.InstallFolders) - { - if (folder.Name == string.Empty || - folder.Name == ".") - { - WriteLine("{0} =", - folder.ID); - } - else - WriteLine("{0} = {1}", - folder.ID, - folder.Name); - } - - WriteLine(".InfEnd"); - WriteLine(); - WriteLine("; Contents of disk"); - WriteLine(".InfBegin"); - WriteLine("[SourceFiles]"); - WriteLine(".InfEnd"); - } - - protected void WriteModuleTargets() - { - RBuildInstallFolder installFolder = null; - - WriteLine(); - WriteLine(";Module targets"); - WriteLine(); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Enabled) - { - if ((module.IsInstallable) && (module.HasInstallBase)) - { - if ((!module.IsBootstrap || module.IsSpecialIncludedBootStrap) && !module.IsSpecialExcludedBootStrap) - { - //Get the install folder - installFolder = Project.InstallFolders.GetByName(module.InstallBase); - - if (installFolder == null) - throw new BuildException("InstallBase '{0}' for module '{1}' references a non existant install folder", - module.InstallBase, - module.Name); - - WriteLine("{0,-90}\t{1,10}", - module.TargetFile.FullPath, - installFolder.ID); - } - } - - foreach (RBuildOutputFile file in module.Files) - { - RBuildPlatformFile platformFile = file as RBuildPlatformFile; - - if (platformFile != null) - { - //Get the install folder - installFolder = Project.InstallFolders.GetByName(file.InstallBase); - - if (installFolder == null) - throw new BuildException("InstallBase '{0}' for file '{1}' references a non existant install folder", - platformFile.InstallBase, - platformFile.FullPath); - - WriteLine("{0,-90}\t{1,10}", - platformFile.FullPath, - installFolder.ID); - } - } - } - } - - WriteLine(); - WriteLine(";Install files"); - WriteLine(); - - foreach (RBuildOutputFile file in Project.Files) - { - RBuildPlatformFile platformFile = file as RBuildPlatformFile; - - if (platformFile != null) - { - //Get the install folder - installFolder = Project.InstallFolders.GetByName(file.InstallBase); - - if (installFolder == null) - throw new BuildException("InstallBase '{0}' for file '{1}' references a non existant install folder", - platformFile.InstallBase, - platformFile.FullPath); - - WriteLine("{0,-90}\t{1,10}", - platformFile.FullPath, - installFolder.ID); - } - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderCreditsFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderCreditsFileWriter.cs deleted file mode 100644 index aa453d2ec5f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderCreditsFileWriter.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class HeaderCreditsFileWriter : AutoGeneratedFileWriter - { - public HeaderCreditsFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteLine("/* This file is autogenerated */"); - WriteLine(); - WriteLine("const char* szAutoContributors[]="); - WriteLine("{"); - - foreach (RBuildContributor contributor in Project.Contributors) - { - WriteLine("\t\t{0},", contributor.FullName); - } - - WriteLine("\t0"); - WriteLine("};"); - - // Adds a blank line - WriteLine(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderRosCfgFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderRosCfgFileWriter.cs deleted file mode 100644 index 5f9a2693b60..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/HeaderRosCfgFileWriter.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class HeaderRosCfgFileWriter : AutoGeneratedFileWriter - { - public HeaderRosCfgFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteLine("/* This file is autogenerated */"); - WriteLine(); - - // Adds a blank line - WriteLine(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupComponentSetupFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupComponentSetupFileWriter.cs deleted file mode 100644 index f3eaa983bdb..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupComponentSetupFileWriter.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public abstract class SysSetupComponentSetupFileWriter : AutoGeneratedInfFileWriter - { - public SysSetupComponentSetupFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - protected virtual void WriteHeader() - { - WriteSection("Version"); - WriteLine("Signature = \"$Windows NT$\""); - WriteLine(); - } - - protected virtual void WriteaAddRegDirective() - { - WriteSection("DefaultInstall"); - WriteLine("AddReg=Install.Reg"); - WriteLine(); - } - - public override void WriteFile() - { - WriteHeader(); - WriteaAddRegDirective(); - WriteContent(); - } - - protected abstract void WriteContent(); - } - - public class DesktopComponentSetupFileWriter : SysSetupComponentSetupFileWriter - { - public DesktopComponentSetupFileWriter(RBuildProject project, string file) - : base(project, file) - { - } - - protected override void WriteContent() - { - WriteLine("[Install.Reg]"); - - if (Project.Platform.Screensaver != null) - { - WriteLine("HKU,\"Control Panel\\Desktop\",\"1SCRNSAVE.EXE\",0x00000000,\"{0}\"", - Project.Platform.Screensaver.PlatformInstall.FullPath); - } - - if (Project.Platform.Wallpaper != null) - { - WriteLine("HKU,\"Control Panel\\Desktop\",\"1Wallpaper\",0x00000000,\"{0}\"", - Project.Platform.Wallpaper.PlatformInstall.FullPath); - } - } - } - - public class ShellComponentSetupFileWriter : SysSetupComponentSetupFileWriter - { - public ShellComponentSetupFileWriter(RBuildProject project, string file) - : base(project, file) - { - } - - protected override void WriteContent() - { - WriteLine("[Install.Reg]"); - - if (Project.Platform.Shell != null) - { - WriteLine("HKLM,\"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\\",\"Shell\",0x00020000,\"{0}\"", - Project.Platform.Shell.PlatformInstall.FullPath); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupFileWriter.cs deleted file mode 100644 index e18646da744..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/SysSetupFileWriter.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class SysSetupFileWriter : AutoGeneratedInfFileWriter - { - public SysSetupFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteHeader(); - WriteInfDevicesSection(); - WriteInfRegistrationPhase2Section(); - WriteInfOleControlDllsSection(); - WriteInfAlwaysSection(); - } - - protected void WriteInfDevicesSection() - { - WriteLine("[DeviceInfsToInstall]"); - WriteLine("cdrom.inf"); - WriteLine("display.inf"); - WriteLine("hdc.inf"); - WriteLine("keyboard.inf"); - WriteLine("machine.inf"); - WriteLine("msmouse.inf"); - WriteLine("NET_NIC.inf"); - WriteLine("ports.inf"); - WriteLine("scsi.inf"); - WriteLine("usbport.inf"); - WriteLine(); - } - - protected void WriteInfRegistrationPhase2Section() - { - WriteLine("[RegistrationPhase2]"); - WriteLine("RegisterDlls=OleControlDlls"); - WriteLine(); - } - - protected void WriteInfOleControlDllsSection() - { - WriteLine("[OleControlDlls]"); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.AutoRegister != null) - { - WriteLine("{0},,{1},{2}", - "11", - module.TargetName, - module.AutoRegister.RegistrationType); - } - } - WriteLine(); - } - - protected void WriteInfAlwaysSection() - { - WriteLine("[Infs.Always]"); - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Setup != null) - { - WriteLine("{0},{1}", - module.Setup.Name, - module.Setup.InstallSection); - } - } - - foreach (RBuildOutputFile file in Project.Files) - { - RBuildSetupFile setup = file as RBuildSetupFile; - - if (setup != null) - { - WriteLine("{0},{1}", - setup.Name, - setup.InstallSection); - } - } - WriteLine(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtCreditsFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtCreditsFileWriter.cs deleted file mode 100644 index 280bdba0074..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtCreditsFileWriter.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class TxtCreditsFileWriter : AutoGeneratedFileWriter - { - public TxtCreditsFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteLine("ReactOS is available thanks to the work of:"); - WriteLine(); - - foreach (RBuildContributor contributor in Project.Contributors) - { - if (contributor.HasAlias) - { - WriteLine("\t{0} ({1})", - contributor.FullName, - contributor.Alias); - } - else - { - WriteLine("\t{0}", contributor.FullName); - } - - if (contributor.HasMail) - { - WriteLine("\t\t{0}", contributor.Mail); - } - - if (contributor.HasLocation) - { - WriteLine("\t\t{0}, {1}", - contributor.City , - contributor.Country); - } - - // Adds a blank line - WriteLine(); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupFileWriter.cs deleted file mode 100644 index f1f55d52d56..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupFileWriter.cs +++ /dev/null @@ -1,137 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class TxtSetupFileWriter : AutoGeneratedInfFileWriter - { - public TxtSetupFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteHeader(); - WriteDirectories(); - WriteSourceDiskDiles(); - WriteLanguages(); - WriteKeyboardLayouts(); - WriteKeyboardLayoutFiles(); - WriteRegistryInstall(); - } - - protected override void WriteHeader() - { - WriteSection("Version"); - WriteLine("Signature = \"$ReactOS$\""); - WriteLine(); - } - - public void WriteDirectories() - { - WriteLine("[Directories]"); - WriteLine("; = "); - - foreach (RBuildInstallFolder folder in Project.InstallFolders) - { - WriteLine("{0} = {1}", - folder.ID, - folder.Name); - } - } - - public void WriteSourceDiskDiles() - { - RBuildInstallFolder installFolder = null; - - WriteLine("[SourceDisksFiles]"); - - foreach (RBuildModule module in Project.Modules) - { - if (module.Bootstrap != null) - { - if (module.Type == ModuleType.KernelModeDriver || - module.Type == ModuleType.KernelModeDLL) - { - //Get the install folder - installFolder = Project.InstallFolders.GetByName(module.InstallBase); - - if (installFolder == null) - throw new BuildException("InstallBase '{0}' for module '{1}' references a non existant install folder", - module.InstallBase, - module.Name); - - WriteLine("{0,-50}\t{1,50}", - module.TargetFile.FullPath, - installFolder.ID); - } - } - } - - WriteLine(); - } - - protected void WriteLanguages() - { - WriteSection("Languages"); - - foreach (RBuildLanguage language in Project.Platform.Languages) - { - WriteLine("{0} = \"{1}\"", - language.LCID, - language.Name); - } - - WriteLine(); - } - - protected void WriteKeyboardLayouts() - { - WriteSection("KeyboardLayout"); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.KeyboardLayout) - { - WriteLine("{0} = \"{1}\"", - module.LCID , - module.Description); - } - } - - WriteLine(); - } - - protected void WriteKeyboardLayoutFiles() - { - WriteSection("Files.KeyboardLayout"); - - foreach (RBuildModule module in Project.Platform.Modules) - { - if (module.Type == ModuleType.KeyboardLayout) - { - WriteLine("{0} = {1}", - module.LCID, - module.TargetName); - } - } - - WriteLine(); - } - - protected void WriteRegistryInstall() - { - WriteLine("[HiveInfs.Install]"); - WriteLine("AddReg=hivecls.inf,AddReg"); - WriteLine("AddReg=hivedef.inf,AddReg"); - WriteLine("AddReg=hivesft.inf,AddReg"); - WriteLine("AddReg=hivesys.inf,AddReg"); - WriteLine(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupHiveFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupHiveFileWriter.cs deleted file mode 100644 index 2a510834d9f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/TxtSetupHiveFileWriter.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class TxtSetupHiveFileWriter : AutoGeneratedInfFileWriter - { - public TxtSetupHiveFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteHeader(); - WriteDirectories(); - } - - protected override void WriteHeader() - { - WriteSection("Version"); - WriteLine("Signature = \"$ReactOS$\""); - WriteLine(); - } - - public void WriteDirectories() - { - WriteLine("[AddReg]"); - - if (Project.Platform.Shell != null) - { - WriteLine("HKLM,\"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\\",\"Shell\",0x00020000,\"{0}\"", - Project.Platform.Shell.PlatformInstall.FullPath); - } - - if (Project.Platform.Screensaver != null) - { - WriteLine("HKCU,\"Control Panel\\Desktop\",\"SCRNSAVE.EXE\",0x00000000,\"{0}\"", - Project.Platform.Screensaver.PlatformInstall.FullPath); - } - - if (Project.Platform.Wallpaper != null) - { - WriteLine("HKCU,\"Control Panel\\Desktop\",\"Wallpaper\",0x00000000,\"{0}\"", - Project.Platform.Wallpaper.PlatformInstall.FullPath); - } - - if (Project.Platform.DebugChannels.Count > 0) - { - WriteLine("HKCU,\"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\",\"DEBUGCHANNEL\",0x00020000,\"{0}\"", - Project.Platform.DebugChannels.Text); - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/UnAttendSetupFileWriter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/UnAttendSetupFileWriter.cs deleted file mode 100644 index 7f6ae75f7e4..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/FileWriters/UnAttendSetupFileWriter.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Framework -{ - public class UnAttendSetupFileWriter : AutoGeneratedInfFileWriter - { - public UnAttendSetupFileWriter(RBuildProject project, string file) - : base(project , file) - { - } - - public override void WriteFile() - { - WriteHeader(); - WriteUnAttendFile(); - } - - protected override void WriteHeader() - { - WriteSection("Unattend"); - WriteLine("Signature = \"$ReactOS$\""); - WriteLine(); - } - - protected void WriteUnAttendFile() - { - WriteBooleanAssignment("UnattendSetupEnabled", false); - WriteAssignment("DestinationDiskNumber", "0"); - WriteAssignment("DestinationPartitionNumber", "1"); - WriteAssignment("MBRInstallType", "2"); - WriteAssignment("FullName", "MyName"); - WriteAssignment("OrgName", "MyOrg"); - WriteAssignment("ComputerName", "MyComputer"); - WriteAssignment("AdminPassword", "MyPassword"); - WriteAssignment("TimeZoneIndex", "85"); - WriteAssignment("FormatPartition", "1"); - WriteAssignment("AutoPartition", "1"); - WriteAssignment("DisableVmwInst", "1"); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Handlers/SysSetupFileHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Handlers/SysSetupFileHandler.cs deleted file mode 100644 index 0ae911e0fc6..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Handlers/SysSetupFileHandler.cs +++ /dev/null @@ -1,138 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; - -using SysGen.BuildEngine; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Handlers -{ - public abstract class AutoGeneratedFileHandler : IFileHandler - { - protected SysGenEngine m_SysGenEngine = null; - protected RBuildFile m_OriginalFile = null; - protected RBuildFile m_DestFile = null; - - public AutoGeneratedFileHandler(SysGenEngine engine) - { - m_SysGenEngine = engine; - } - - public void Process(RBuildFile file) - { - m_OriginalFile = file; - - if (file.Name == FileName) - { - // Set the generated file to the temporary path - m_DestFile = new RBuildFile(); - m_DestFile.Root = PathRoot.Intermediate; - m_DestFile.Base = file.Base; - m_DestFile.Name = file.Name; - - // Auto generate this file - AutoGenerate(); - - file = m_DestFile; - } - } - - protected abstract void AutoGenerate(); - - protected abstract string FileName { get; } - } - - public class HiveAutoGeneratedFileHandler : AutoGeneratedFileHandler - { - public HiveAutoGeneratedFileHandler(SysGenEngine engine) - : base(engine) - { - } - - protected override string FileName - { - get { return "hivedef.inf"; } - } - - protected override void AutoGenerate() - { - File.Copy( - m_SysGenEngine.ResolveRBuildFilePath(m_OriginalFile), - m_SysGenEngine.ResolveRBuildFilePath(m_DestFile)); - - File.WriteAllText (m_SysGenEngine.ResolveRBuildFilePath(m_DestFile) , - "; Set default wallpaper\n" + - "HKCU,\"Control Panel\\Desktop\",\"Wallpaper\",0000000000,\"%SystemRoot%\\Green.bmp\"" + - "HKCU,\"Control Panel\\Desktop\",\"WallpaperStyle\",0x00000002,0x00000000\n" + - "HKCU,\"Control Panel\\Desktop\",\"TileWallpaper\",0x00000002,0x00000000\n"); - - } - } - - public class AutorunFileHandler : IFileHandler - { - public void Process(RBuildFile file) - { - if (file.Name == "autorun.inf") - { - int i = 0; - } - } - } - - public class SysSetupFileHandler : IFileHandler - { - public void Process(RBuildFile file) - { - if (file.Name == "syssetup.inf") - { - int i = 0; - } - } - } - - public class TxtSetupFileHandler : IFileHandler - { - public void Process(RBuildFile file) - { - if (file.Name == "txtsetup.sif") - { - int i = 0; - } - } - } - - public class UnattendFileHandler : IFileHandler - { - public void Process(RBuildFile file) - { - if (file.Name == "unattend.inf") - { - int i = 0; - } - } - } - - public class DownloaderFileHandler : IFileHandler - { - public void Process(RBuildFile file) - { - if (file.Name == "downloader.xml") - { - int i = 0; - } - } - } - - public class UnAttendedSetupFileHandler : IFileHandler - { - public void Process(RBuildFile file) - { - if (file.Name == "unattend.inf") - { - int i = 0; - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IBuildStatusMailReporter.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IBuildStatusMailReporter.cs deleted file mode 100644 index 4d156d6cc5b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IBuildStatusMailReporter.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; - -namespace SysGen.BuildEngine -{ - public interface IBuildStatusMailReporter - { - string MailAdress { get; } - string Subject { get; } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IDirectory.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IDirectory.cs deleted file mode 100644 index 9db7825e601..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IDirectory.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - public interface IDirectory - { - PathRoot Root { get; } - string BasePath { get; } - - RBuildFolder Folder { get;} - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IElement.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IElement.cs deleted file mode 100644 index 58ca260b44d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IElement.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Xml; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - public interface IElement - { - string BaseBuildLocation { get; } - void Initialize(System.Xml.XmlNode elementNode); - RBuildModule Module { get; } - string Name { get; } - IElement Parent { get; set; } - RBuildProject Project { get; set; } - //PropertyCollection Properties { get; } - RBuildElement RBuildElement { get; } - SysGenEngine SysGen { get; set; } - XmlNode XmlNode { get; } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IFileHandler.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IFileHandler.cs deleted file mode 100644 index 8aa1e081b57..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IFileHandler.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - public interface IFileHandler - { - void Process(RBuildFile file); - } - - public abstract class NamedFileHandler : IFileHandler - { - public abstract string FileName { get; } - - public void Process(RBuildFile file) - { - if (file.Name == FileName) - { - } - } - - protected abstract void Process(); - } - - public abstract class RegenerateFileHandler : NamedFileHandler - { - public virtual void Generate() - { - - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IRBuildInstallable.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IRBuildInstallable.cs deleted file mode 100644 index f3c94193996..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/IRBuildInstallable.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.Framework -{ - public class IRBuildInstallable - { - string InstallBase; - - RBuildInstallFolder InstallFolder; - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ISysGenObject.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ISysGenObject.cs deleted file mode 100644 index 20c3246615a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ISysGenObject.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine -{ - /// - /// Represent one of the root element object types for SysGen : Project and Module - /// - public interface ISysGenObject - { - RBuildElement RBuildElement { get; } - } - - public interface ISysGenObjectFileContainer - { - RBuildFileCollection Files { get; } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITask.cs deleted file mode 100644 index 7e2e4f4eabe..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITask.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; - -namespace SysGen.BuildEngine -{ - public interface ITask : IElement - { - void Execute(); - bool FailOnError { get; set; } - bool IfDefined { get; set; } - bool IfNotDefined { get; set; } - string LogPrefix { get; } - string Name { get; } - void PostExecute(); - void PreExecute(); - string ToString(); - bool Verbose { get; set; } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITaskContainer.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITaskContainer.cs deleted file mode 100644 index 053c6d2b849..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Interfaces/ITaskContainer.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.BuildEngine -{ - public interface ITaskContainer : ITask - { - bool ExecuteChilds { get; } - TaskCollection ChildTasks { get; } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Location.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Location.cs deleted file mode 100644 index d030fe2b0d5..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Location.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.IO; -using System.Text; - -namespace SysGen.BuildEngine -{ - /// - /// Stores the file name, line number and column number to record a position in a text file. - /// - [Serializable] - public class Location { - string _fileName = null; - int _lineNumber = 0; - int _columnNumber = 0; - - public static readonly Location UnknownLocation = new Location(); - - /// Creates a location consisting of a file name, line number and column number. - /// fileName can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt - public Location(string fileName, int lineNumber, int columnNumber) { - Init(fileName, lineNumber, columnNumber); - } - - /// Creates a location consisting of a file name. - /// fileName can be a local URI resource, e.g., file:///C:/WINDOWS/setuplog.txt - public Location(string fileName) { - Init(fileName, 0, 0); - } - - /// Creates an "unknown" location. - private Location() { - Init(null, 0, 0); - } - - /// Private Init function. - private void Init(string fileName, int lineNumber, int columnNumber) { - if (fileName != null) { - try { - // first check to see if fileName is a URI - Uri uri = new Uri(fileName); - fileName = uri.LocalPath; - } catch { - // must be a simple filename - fileName = Path.GetFullPath(fileName); - } - } - _fileName = fileName; - _lineNumber = lineNumber; - _columnNumber = columnNumber; - } - - /// Gets a string containing the file name for the location. - /// The file name includes both the file path and the extension. - public string FileName { - get { return _fileName; } - } - - /// Gets the line number for the location. - /// Lines start at 1. Will be zero if not specified. - public int LineNumber { - get { return _lineNumber; } - } - - /// Gets the column number for the location. - /// Columns start a 1. Will be zero if not specified. - public int ColumnNumber { - get { return _columnNumber; } - } - - /// - /// Returns the file name, line number and a trailing space. An error - /// message can be appended easily. For unknown locations, returns - /// an empty string. - /// - public override string ToString() { - StringBuilder sb = new StringBuilder(""); - - if (_fileName != null) { - sb.Append(_fileName); - if (_lineNumber != 0) { - sb.Append(String.Format("({0},{1})", _lineNumber, _columnNumber)); - } - sb.Append(":"); - } - - return sb.ToString(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/LocationMap.cs b/reactos/tools/sysgen/SysGen.BuildEngine/LocationMap.cs deleted file mode 100644 index ad6c73e2900..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/LocationMap.cs +++ /dev/null @@ -1,211 +0,0 @@ -using System; -using System.IO; -using System.Text.RegularExpressions; -using System.Xml; -using System.Xml.XPath; -using System.Collections; - -namespace SysGen.BuildEngine -{ - /// - /// Maps XML nodes to the text positions from their original source. - /// - public class LocationMap { - - struct TextPosition { - public static readonly TextPosition InvalidPosition = new TextPosition(-1,-1); - - public TextPosition(int line, int column) { - Line = line; - Column = column; - } - - public int Line; - public int Column; - } - - // The LocationMap uses a hash table to map filenames to resolve specific maps. - Hashtable _fileMap = new Hashtable(); - - public LocationMap() { - } - - /// Add a XmlDocument to the map. - /// - /// A document can only be added to the map once. - /// - public void Add(XmlDocument doc) { - // prevent duplicate mapping - // NOTE: if this becomes a liability then just return when a duplicate map has happened - string fileName = doc.BaseURI; - - //check for non-backed documents - if(fileName == "") - return; - - if (_fileMap.ContainsKey(fileName)) { - throw new ArgumentException(String.Format("XmlDocument '{0}' already mapped.", fileName), "doc"); - } - - Hashtable map = new Hashtable(); - - string parentXPath = "/"; // default to root - string previousXPath = ""; - int previousDepth = 0; - - // Load text reader. - XmlTextReader reader = new XmlTextReader(fileName); - - reader.XmlResolver = null; - - try { - map.Add((object) "/", (object) new TextPosition(1, 1)); - - ArrayList indexAtDepth = new ArrayList(); - - // loop thru all nodes in the document - while (reader.Read()) { - // Ignore nodes we aren't interested in - if ((reader.NodeType != XmlNodeType.Whitespace) && - (reader.NodeType != XmlNodeType.EndElement) && - (reader.NodeType != XmlNodeType.ProcessingInstruction) && - (reader.NodeType != XmlNodeType.XmlDeclaration)) { - - int level = reader.Depth; - string currentXPath = ""; - - // If we are higher than before - if (reader.Depth < previousDepth) { - // Clear vars for new depth - string[] list = parentXPath.Split('/'); - string newXPath = ""; // once appended to / will be root node ... - - for (int j = 1; j < level+1; j++) { - newXPath += "/" + list[j]; - } - - // higher than before so trim xpath\ - parentXPath = newXPath; // one up from before - - // clear indexes for depth greater than ours - indexAtDepth.RemoveRange(level+1, indexAtDepth.Count - (level+1)); - - } else if (reader.Depth > previousDepth) { - // we are lower - parentXPath = previousXPath; - } - - // End depth setup - // Setup up index array - // add any needed extra items ( usually only 1 ) - // would have used array but not sure what maximum depth will be beforehand - for (int index = indexAtDepth.Count; index < level+1; index++) { - indexAtDepth.Add(0); - } - // Set child index - if ((int) indexAtDepth[level] == 0) { - // first time thru - indexAtDepth[level] = 1; - } else { - indexAtDepth[level] = (int) indexAtDepth[level] + 1; // lower so append to xpath - } - - // Do actual XPath generation - if (parentXPath.EndsWith("/")) { - currentXPath = parentXPath; - } else { - currentXPath = parentXPath + "/"; // add seperator - } - - // Set the final XPath - currentXPath += "child::node()[" + indexAtDepth[level] + "]"; - - // Add to our hash structures - map.Add((object) currentXPath, (object) new TextPosition(reader.LineNumber, reader.LinePosition)); - - // setup up loop vars for next iteration - previousXPath = currentXPath; - previousDepth = reader.Depth; - } - } - } finally { - reader.Close(); - } - - // add map at the end to prevent adding maps that had errors - _fileMap.Add(fileName, map); - - } - - /// Return the in the xml file for the given node. - /// - /// The node passed in must be from a XmlDocument that has been added to the map. - /// - public Location GetLocation(XmlNode node) { - // find hashtable this node's file is mapped under - string fileName = node.BaseURI; - if (fileName == "" ) { - return new Location(null, 0, 0 ); // return null location because we have a fileless node. - } - if (!_fileMap.ContainsKey(fileName)) { - //throw new ArgumentException("Xml node has not been mapped."); - return new Location(null, 0, 0); - } - - // find xpath for node - Hashtable map = (Hashtable) _fileMap[fileName]; - string xpath = GetXPathFromNode(node); - if (!map.ContainsKey(xpath)) { - //throw new ArgumentException("Xml node has not been mapped."); - return new Location(null, 0, 0); - } - - TextPosition pos = (TextPosition) map[xpath]; - Location location = new Location(fileName, pos.Line, pos.Column); - return location; - } - - private string GetXPathFromNode(XmlNode node) { - // IM TODO review this algorithm - tidy up - XPathNavigator nav = node.CreateNavigator(); - - string xpath = ""; - int index = 0; - - while (nav != null && nav.NodeType.ToString() != "Root") - { - // loop thru children until we find ourselves - XPathNavigator navParent = nav.Clone(); - navParent.MoveToParent(); - int parentIndex = 0; - navParent.MoveToFirstChild(); - if (navParent.IsSamePosition(nav)) { - index = parentIndex; - } - while (navParent.MoveToNext()) { - parentIndex++; - if (navParent.IsSamePosition(nav)) { - index = parentIndex; - } - } - - nav.MoveToParent(); // do loop condition here - index++; // Convert to 1 based index - - string thisNode = "child::node()[" + index + "]"; - - if (xpath == "") { - xpath = thisNode; - } else { - // build xpath string - xpath = thisNode + "/" + xpath; - } - } - - // prepend slash to ... - xpath = "/" + xpath; - - return xpath; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Log.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Log/Log.cs deleted file mode 100644 index 96de3e19a2a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Log.cs +++ /dev/null @@ -1,215 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Text; - -namespace SysGen.BuildEngine.Log -{ - public class BuildEventArgs : EventArgs - { - protected string _name = string.Empty; - - public BuildEventArgs(string name) - { - _name = name; - } - - public string Name - { - get { return _name; } - set { _name = value; } - } - } - - /// Delegate to handle Build events - public delegate void BuildEventHandler(object sender, BuildEventArgs e); - - public interface IBuildEventConsumer - { - /// Signals that a build has started. This event is fired before any targets have started. - void BuildStarted(object sender, BuildEventArgs e); - - /// Signals that the last target has finished. This event will still be fired if an error occurred during the build. - void BuildFinished(object sender, BuildEventArgs e); - - /// Signals that a target has started. - void TargetStarted(object sender, BuildEventArgs e); - - /// Signals that a target has finished. This event will still be fired if an error occurred during the build. - void TargetFinished(object sender, BuildEventArgs e); - - /// Signals that a task has started. - void TaskStarted(object sender, BuildEventArgs e); - - /// Signals that a task has finished. This event will still be fired if an error occurred during the build. - void TaskFinished(object sender, BuildEventArgs e); - } - - public abstract class LogListener { - public abstract void Write(string message); - public abstract void WriteLine(string message); - public virtual void WriteLine(string message, string messageType) { - WriteLine(message); - } - - public virtual void Flush() { - } - } - - /// Provides a set of methods and properties that log the execution of the build process. This class cannot be inherited. - public sealed class BuildLog - { - private static bool _autoFlush; - private static int _indentLevel; - private static int _indentSize; - private static bool _needIndent; // true if the output should be indented; otherwise, false - private static LogListenerCollection _listeners; - - static BuildLog() - { - _autoFlush = false; - _indentLevel = 0; - _indentSize = 4; - _needIndent = true; - _listeners = new LogListenerCollection(); - _listeners.Add(new ConsoleLogger()); - } - - /// Gets or sets whether Flush should be called on the Listeners after every write. - public static bool AutoFlush { - get { return _autoFlush; } - set { _autoFlush = value; } - } - - /// Gets or sets the indent level. Default is zero. - public static int IndentLevel { - get { return _indentLevel; } - set { _indentLevel = value; } - } - - /// Gets or sets the number of spaces in an indent. Default is four. - public static int IndentSize { - get { return _indentSize; } - set { _indentSize = value; } - } - - /// Gets the collection of listeners that is monitoring the log output. - public static LogListenerCollection Listeners { - get { return _listeners; } - } - - /// Flushes the output buffer, and causes buffered data to be written to the Listeners. - public static void Flush() { - foreach (LogListener l in _listeners) { - l.Flush(); - } - } - - /// Increases the current IndentLevel by one. - public static void Indent() { - _indentLevel++; - } - - /// Decreases the current IndentLevel by one. - public static void Unindent() { - if (_indentLevel > 0) { - _indentLevel--; - } - } - - /// Indents the message if needed. - private static string FormatMessage(string message) { - // if we are starting a new line then first indent the string - if (_needIndent) { - if (IndentLevel > 0) { - StringBuilder sb = new StringBuilder(message); - sb.Insert(0, " ", IndentLevel * IndentSize); - message = sb.ToString(); - } - _needIndent = false; - } - return message; - } - - /// Writes the given message to the log. - public static void Write(string message) { - message = FormatMessage(message); - foreach (LogListener l in _listeners) { - l.Write(message); - } - - if (AutoFlush) { - Flush(); - } - } - - /// Writes the given message to the log. - public static void Write(string format, params object[] arg) { - Write(String.Format(format, arg)); - } - - /// Writes the given message to the log if condition is true. - public static void WriteIf(bool condition, string message) { - if (condition) { - Write(message); - } - } - - /// Writes the given message to the log if condition is true. - public static void WriteIf(bool condition, string format, params object[] arg) { - if (condition) { - Write(String.Format(format, arg)); - } - } - - /// Writes the given message to the log. - public static void WriteLine(string message) { - Write(message + Environment.NewLine); - _needIndent = true; - } - - /// Writes the given message to the log. - public static void WriteLine() { - WriteLine(String.Empty); - } - - /// Writes the given message to the log. - public static void WriteLine(string format, params object[] arg) { - WriteLine(String.Format(format, arg)); - } - - public static void WriteMessage(string message, string messageType) { - message = FormatMessage(message); - foreach (LogListener l in _listeners) { - l.WriteLine(message, messageType); - } - - if (AutoFlush) { - Flush(); - } - } - - /// Writes the given message to the log if condition is true. - public static void WriteLineIf(bool condition, string message) { - if (condition) { - WriteLine(message); - } - } - - /// Writes the given message to the log if condition is true. - public static void WriteLineIf(bool condition, string format, params object[] arg) { - if (condition) { - WriteLine(String.Format(format, arg)); - } - } - } - - public class LogWriter : StringWriter { - public override void Close() { - BuildLog.Write(GetStringBuilder().ToString()); - base.Close(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/ConsoleLogger.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/ConsoleLogger.cs deleted file mode 100644 index 8ffa3fee74c..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/ConsoleLogger.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.BuildEngine.Log -{ - /// - /// The standard logger that will suffice for any command line based nant runner. - /// - public class ConsoleLogger : LogListener - { - public override void Write(string message) - { - Console.Write(message); - } - - public override void WriteLine(string message) - { - Console.WriteLine(message); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/StringLogger.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/StringLogger.cs deleted file mode 100644 index 0a6319873b8..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/StringLogger.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections; -using System.Diagnostics; -using System.IO; -using System.Text; -using System.Text.RegularExpressions; -using System.Xml; - -namespace SysGen.BuildEngine.Log -{ - /// - /// Used for test classes to check output. - /// - public class StringLogger : LogListener - { - private StringWriter _writer = new StringWriter(); - - public override void Write(string message) - { - _writer.Write(message); - } - - public override void WriteLine(string message) - { - _writer.WriteLine(message); - } - - /// - /// Returns the contents of log captured. - /// - public override string ToString() - { - return _writer.ToString(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/XmlLogger.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/XmlLogger.cs deleted file mode 100644 index bc2da4f0e44..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Log/Loggers/XmlLogger.cs +++ /dev/null @@ -1,193 +0,0 @@ -using System; -using System.Collections; -using System.Diagnostics; -using System.IO; -using System.Text; -using System.Text.RegularExpressions; -using System.Xml; - -namespace SysGen.BuildEngine.Log -{ - /// - /// Used to wrap log messages in xml <message/> elements - /// - public class XmlLogger : LogListener, IBuildEventConsumer - { - public class Elements - { - public const string BUILD_RESULTS = "buildresults"; - public const string MESSAGE = "message"; - public const string TARGET = "target"; - public const string TASK = "task"; - public const string STATUS = "status"; - } - - public class Attributes - { - public const string PROJECT = "project"; - public const string MESSAGETYPE = "type"; - } - - private TextWriter _writer = Console.Out; - private XmlTextWriter _xmlWriter = new XmlTextWriter(Console.Out); - - public XmlLogger() - { - - } - - public XmlLogger(TextWriter writer) - { - _writer = writer; - _xmlWriter = new XmlTextWriter(_writer); - _xmlWriter.Formatting = Formatting.Indented; - } - - public string StripFormatting(string message) - { - //looking for zero or more white space from front of line followed by - //one or more of just about anything between [ and ] followed by a message - //which we will capture. ' [blah] - Regex r = new Regex(@"(?ms)^\s*?\[[\s\w\d]+\](.+)"); - - Match m = r.Match(message); - if (m.Success) - { - return m.Groups[1].Captures[0].Value.Trim(); - } - return message; - } - - public bool IsJustWhiteSpace(string message) - { - Regex r = new Regex(@"^\s*$"); - - return r.Match(message).Success; - } - - #region LogListener Overrides - - public override void Write(string formattedMessage) - { - WriteLine(formattedMessage, null); - } - - public override void WriteLine(string message) - { - WriteLine(message, null); - } - - public override void WriteLine(string message, string messageType) - { - string rawMessage = StripFormatting(message.Trim()); - if (IsJustWhiteSpace(rawMessage)) - { - return; - } - - _xmlWriter.WriteStartElement(Elements.MESSAGE); - - if (messageType != null && messageType != String.Empty) - { - _xmlWriter.WriteAttributeString(Attributes.MESSAGETYPE, messageType); - } - - if (IsValidXml(rawMessage)) - { - rawMessage = Regex.Replace(rawMessage, @"<\?.*\?>", String.Empty); - _xmlWriter.WriteRaw(rawMessage); - } - else - { - _xmlWriter.WriteCData(StripCData(rawMessage)); - } - _xmlWriter.WriteEndElement(); - _xmlWriter.Flush(); - } - - private bool IsValidXml(string message) - { - if (Regex.Match(message, @"^<.*>").Success) - { - // validate xml - XmlValidatingReader reader = new XmlValidatingReader(message, XmlNodeType.Element, null); - try { while (reader.Read()) { } } - catch (Exception) { return false; } - finally { reader.Close(); } - return true; - } - return false; - } - - private string StripCData(string message) - { - string strippedMessage = Regex.Replace(message, @"", String.Empty); - } - - public override void Flush() - { - _writer.Flush(); - } - - /// Returns the contents of log captured. - public override string ToString() - { - return _writer.ToString(); - } - - #endregion - - #region IBuildEventConsumer Implementation - - public void BuildStarted(object obj, BuildEventArgs args) - { - _xmlWriter.WriteStartElement(Elements.BUILD_RESULTS); - _xmlWriter.WriteAttributeString(Attributes.PROJECT, args.Name); - } - - public void BuildFinished(object obj, BuildEventArgs args) - { - _xmlWriter.WriteEndElement(); - } - - public void TargetStarted(object obj, BuildEventArgs args) - { - _xmlWriter.WriteStartElement(Elements.TARGET); - WriteNameAttribute(args.Name); - _xmlWriter.Flush(); - } - - public void TargetFinished(object obj, BuildEventArgs args) - { - _xmlWriter.WriteEndElement(); - _xmlWriter.Flush(); - } - - public void TaskStarted(object obj, BuildEventArgs args) - { - _xmlWriter.WriteStartElement(Elements.TASK); - WriteNameAttribute(args.Name); - _xmlWriter.Flush(); - } - - public void TaskFinished(object obj, BuildEventArgs args) - { - _xmlWriter.WriteEndElement(); - _xmlWriter.Flush(); - } - - private void WriteNameAttribute(string name) - { - _xmlWriter.WriteAttributeString("name", name); - } - - private void WriteStatus(string status) - { - _xmlWriter.WriteStartElement(Elements.STATUS); - _xmlWriter.WriteAttributeString("value", status); - _xmlWriter.WriteEndElement(); - } - #endregion - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskBuilder.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskBuilder.cs deleted file mode 100644 index 6fbe2b65424..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskBuilder.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Reflection; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine -{ - public class TaskBuilder - { - private string _className; - private string _assemblyFileName; - private string _taskName; - - public TaskBuilder(string className) : this(className, null) { - } - - public TaskBuilder(string className, string assemblyFileName) { - _className = className; - _assemblyFileName = assemblyFileName; - - // get task name from attribute - Assembly assembly = GetAssembly(); - TaskNameAttribute taskNameAttribute = (TaskNameAttribute) - Attribute.GetCustomAttribute(assembly.GetType(ClassName), typeof(TaskNameAttribute)); - - _taskName = taskNameAttribute.FullTaskName; // Name; - } - - public string ClassName - { - get { return _className; } - } - - public string AssemblyFileName - { - get { return _assemblyFileName; } - } - - public string TaskName - { - get { return _taskName; } - } - - private Assembly GetAssembly() { - Assembly assembly = null; - if (AssemblyFileName == null) { - assembly = Assembly.GetExecutingAssembly(); - } else { - //check to see if it is loaded already - Assembly [] ass = AppDomain.CurrentDomain.GetAssemblies(); - for (int i = 0; i < ass.Length; i++){ - try { - if(ass[i].Location.Equals(AssemblyFileName)) { - assembly = ass[i]; - return assembly; - } - } - // System.Reflection.Emit.Assembly have no location and will fail - catch{} - } - //load if not loaded - if(assembly == null) - assembly = Assembly.LoadFrom(AssemblyFileName); - } - return assembly; - } - - public Task CreateTask() - { - return (Task)GetAssembly().CreateInstance(ClassName, true); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskFactory.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskFactory.cs deleted file mode 100644 index 66c14ff3a17..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Plugins/TaskFactory.cs +++ /dev/null @@ -1,136 +0,0 @@ -using System; -using System.IO; -using System.Xml; -using System.Reflection; -using System.Collections; - -namespace SysGen.BuildEngine -{ - /// - /// The TaskFactory comprises all of the loaded, and available, tasks. - /// Use these static methods to register, initialize and create a task. - /// - public class TaskFactory - { - static TaskBuilderCollection _builders = new TaskBuilderCollection(); - static ArrayList _projects = new ArrayList(); - - /// - /// Initializes the tasks in the executing assembly, and basedir of the current domain. - /// - static TaskFactory() - { - // initialize builtin tasks - AddTasks(Assembly.GetExecutingAssembly()); - AddTasks(Assembly.GetCallingAssembly()); - - - //string nantBinDir = Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory); - //ScanDir(nantBinDir); - //ScanDir(Path.Combine(nantBinDir, "tasks")); - } - - /* - /// Scans the path for any Tasks assemblies and adds them. - /// The directory to scan in. - protected static void ScanDir(string path) { - // Don't do anything if we don't have a valid directory path - if(path == null || path == string.Empty) { - return; - } - - // intialize tasks found in assemblies that end in Tasks.dll - DirectoryScanner scanner = new DirectoryScanner(); - scanner.BaseDirectory = path; - scanner.Includes.Add("*Tasks.dll"); - - //needed for testing - scanner.Includes.Add("*Tests.dll"); - scanner.Includes.Add("*Test.dll"); - - foreach(string assemblyFile in scanner.FileNames) { - //Log.WriteLine("{0}:Add Tasks from {1}", AppDomain.CurrentDomain.FriendlyName, assemblyFile); - - AddTasks(Assembly.LoadFrom(assemblyFile)); - //AddTasks(AppDomain.CurrentDomain.Load(assemblyFile.Replace(AppDomain.CurrentDomain.BaseDirectory,"").Replace(".dll",""))); - } - - } - */ - - /* - /// Adds any Task Assemblies in the Project.BaseDirectory. - /// The project to work from. - public static void AddProject(SysGenEngine project) { - if(project.BaseDirectory != null && !project.BaseDirectory.Equals(string.Empty)) { - ScanDir(project.BaseDirectory); - ScanDir(Path.Combine(project.BaseDirectory, "tasks")); - } - //create weakref to project. It is possible that project may go away, we don't want to hold it. - _projects.Add(new WeakReference(project)); - foreach(TaskBuilder tb in Builders) { - UpdateProjectWithBuilder(project, tb); - } - }*/ - - /// Returns the list of loaded TaskBuilders - public static TaskBuilderCollection Builders { - get { return _builders; } - } - /// Scans the given assembly for any classes derived from Task and adds a new builder for them. - /// The Assembly containing the new tasks to be loaded. - /// The count of tasks found in the assembly. - public static int AddTasks(Assembly assembly) { - int taskCount = 0; - try { - foreach(Type type in assembly.GetTypes()) { - if (type.IsSubclassOf(typeof(Task)) && !type.IsAbstract) { - TaskBuilder tb = new TaskBuilder(type.FullName, assembly.Location); - if (_builders.Add(tb)) { - foreach(WeakReference wr in _projects) { - if(!wr.IsAlive) - continue; - SysGenEngine p = wr.Target as SysGenEngine; - if(p == null) - continue; - UpdateProjectWithBuilder(p, tb); - } - taskCount++; - } - } - } - } - // For assemblies that don't have types - catch{}; - - return taskCount; - } - - protected static void UpdateProjectWithBuilder(SysGenEngine sysGen, TaskBuilder taskBuilder) - { - // add a true property for each task (use in build to test for task existence). - // add a property for each task with the assembly location. - sysGen.Properties.AddReadOnly("SysGen.Tasks." + taskBuilder.TaskName + ".Available", Boolean.TrueString); - sysGen.Properties.AddReadOnly("SysGen.Tasks." + taskBuilder.TaskName + ".Assembly", taskBuilder.AssemblyFileName); - } - - /// Creates a new Task instance for the given xml and project. - /// The XML to initialize the task with. - /// The Project that the Task belongs to. - /// The Task instance. - public static Task CreateTask(XmlNode taskNode, SysGenEngine proj) - { - string taskName = taskNode.Name; - - TaskBuilder builder = _builders.FindBuilderForTask(taskName); - if (builder == null && proj != null) { - Location location = proj.LocationMap.GetLocation(taskNode); - throw new BuildException(String.Format("Unknown task <{0}>", taskName), location); - } - - Task task = builder.CreateTask(); - task.SysGen = proj; - return task; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Properties/AssemblyInfo.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Properties/AssemblyInfo.cs deleted file mode 100644 index be7575e9d01..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -[assembly: AssemblyTitle("SysGen")] -[assembly: AssemblyDescription("SysGen ReactOS Build Tool")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("SysGen")] -[assembly: AssemblyCopyright("Copyright (C) 2007 J.Marc Piulachs")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: AssemblyVersion("0.1.0.*")] - -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyName("")] \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj b/reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj deleted file mode 100644 index 515cf8ded34..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj +++ /dev/null @@ -1,381 +0,0 @@ - - - Local - 9.0.30729 - 2.0 - {8F5F8375-4097-4952-B860-784EB9961ABE} - Debug - AnyCPU - - - - - SysGen.Framework - - - JScript - Grid - IE50 - false - Library - SysGen.Framework - - - - - - - 2.0 - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - bin\Debug\ - false - 285212672 - false - - - - - - - true - 4096 - false - false - false - false - 1 - full - prompt - - - bin\Debug\ - false - 285212672 - false - - - - - - - true - 4096 - false - false - false - false - 1 - full - prompt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Code - - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Code - - - - - - - - - Code - - - Code - - - Code - - - - Code - - - - Code - - - Code - - - Code - - - Code - - - - - - - - Code - - - Code - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Code - - - - - - - - - - - - - - - - - - - - - - - Code - - - Code - - - Code - - - - - - - - - - - - - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26} - SysGen.RBuild.Framework - - - - - False - .NET Framework Client Profile - false - - - False - .NET Framework 2.0 %28x86%29 - true - - - False - .NET Framework 3.0 %28x86%29 - false - - - False - .NET Framework 3.5 - false - - - False - .NET Framework 3.5 SP1 - false - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj.user b/reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj.user deleted file mode 100644 index ef20f1c8f95..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/SysGen.Framework.csproj.user +++ /dev/null @@ -1,19 +0,0 @@ - - - ShowAllFiles - - - - - - - - - - - - - en-US - false - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenConversion.cs b/reactos/tools/sysgen/SysGen.BuildEngine/SysGenConversion.cs deleted file mode 100644 index e9fe9b97686..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenConversion.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.BuildEngine -{ - class SysGenConversion - { - public static bool ToBolean(object value) - { - switch (value.ToString().ToLower()) - { - case "yes": - case "true": - case "1": - return true; - case "no": - case "false": - case "0": - return false; - } - - throw new ValidationException(String.Format("Cannot resolve to '{0}' to Boolean value.", value.ToString())); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenDependencyTracker.cs b/reactos/tools/sysgen/SysGen.BuildEngine/SysGenDependencyTracker.cs deleted file mode 100644 index 1f49363684b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenDependencyTracker.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Framework; - -namespace SysGen.BuildEngine -{ - public class SysGenDependencyTracker - { - RBuildProject m_Project = null; - RBuildModuleCollection m_Modules = new RBuildModuleCollection(); - RBuildModuleCollection m_DependsOn = new RBuildModuleCollection(); - RBuildModuleCollection m_DependencyOf = new RBuildModuleCollection(); - - public SysGenDependencyTracker(RBuildProject project) - { - m_Project = project; - } - - public SysGenDependencyTracker(RBuildProject project, RBuildModule module) - : this(project) - { - m_Modules.Add(module); - Calculate(); - } - - public SysGenDependencyTracker(RBuildProject project, RBuildModuleCollection modules) - : this(project) - { - m_Modules.Add(modules); - Calculate(); - } - - public void Calculate() - { - m_DependsOn.Clear(); - m_DependencyOf.Clear(); - - foreach (RBuildModule module in m_Modules) - { - GetModuleDependencies(module); - } - - foreach (RBuildModule projectModule in m_Project.Modules) - { - foreach (RBuildModule module in m_Modules) - { - if (projectModule.Needs.Contains(module)) - { - m_DependencyOf.Add(projectModule); - } - } - } - } - - private void GetModuleDependencies(RBuildModule module) - { - foreach (RBuildModule library in module.Needs) - { - if (m_DependsOn.Contains(library) == false) - { - if (m_Modules.Contains(library) == false) - { - //Add it to the list of dependencies - m_DependsOn.Add(library); - - //Investigate the module to find its dependencies - GetModuleDependencies(library); - } - } - } - } - - public RBuildModuleCollection DependsOn - { - get { return m_DependsOn; } - } - - public RBuildModuleCollection DependencyOf - { - get { return m_DependencyOf; } - } - - public RBuildModuleCollection Missing - { - get - { - RBuildModuleCollection missing = new RBuildModuleCollection(); - - foreach (RBuildModule dependency in DependsOn) - { - if (m_Project.Platform.Modules.Contains(dependency) == false) - missing.Add(dependency); - } - - return missing; - } - } - - public RBuildModuleCollection Using - { - get - { - RBuildModuleCollection missing = new RBuildModuleCollection(); - - foreach (RBuildModule dependency in DependencyOf) - { - if (m_Project.Platform.Modules.Contains(dependency) == true) - missing.Add(dependency); - } - - return missing; - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenEngine.cs b/reactos/tools/sysgen/SysGen.BuildEngine/SysGenEngine.cs deleted file mode 100644 index 70d8b470285..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenEngine.cs +++ /dev/null @@ -1,825 +0,0 @@ -using System; -using System.Text.RegularExpressions; -using System.Diagnostics; -using System.IO; -using System.Reflection; -using System.Xml; -using System.Xml.XPath; -using System.Collections; -using System.Collections.Generic; -using System.Collections.Specialized; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Log; -using SysGen.BuildEngine.Tasks; -using SysGen.BuildEngine.Handlers; -using SysGen.BuildEngine.Backends; - -namespace SysGen.BuildEngine -{ - public class SysGenEngine - { - private Task m_RootTask = null; - - private RBuildProject m_Project = null; - private RBuildPlatform m_Platform = null; - - //private TargetCollection m_Targets = new TargetCollection(); - private FileHandlerCollection m_FileHandlers = new FileHandlerCollection(); - private BackendCollection m_Backends = new BackendCollection(); - private RBuildPropertyCollection m_Properties = new RBuildPropertyCollection(); - private StringCollection m_XmlBuildFiles = new StringCollection(); - - //xml element and attribute names that are not defined in metadata - protected const string PROJECT_XMLROOT = "project"; - protected const string PROJECT_NAME_ATTRIBUTE = "name"; - protected const string PROJECT_DEFAULT_ATTRIBUTE = "default"; - protected const string PROJECT_BASEDIR_ATTRIBUTE = "basedir"; - - public const string SYSGEN_PROPERTY_FILENAME = "SysGen.Filename"; - public const string SYSGEN_PROPERTY_VERSION = "SysGen.Version"; - public const string SYSGEN_PROPERTY_LOCATION = "SysGen.Location"; - public const string SYSGEN_PROPERTY_PROJECT_NAME = "SysGen.Project.Name"; - public const string SYSGEN_PROPERTY_PROJECT_BUILDFILE = "SysGen.Project.File"; - public const string SYSGEN_PROPERTY_PROJECT_BASEDIR = "SysGen.Project.BaseDir"; - - private string m_BaseDir = null; - private bool m_Verbose = false; - private bool m_ExecuteBackends = true; - private bool m_SetDefaults = true; - - private LocationMap _locationMap = new LocationMap(); - private XmlDocument _doc = null; // set in ctorHelper - - public static event BuildEventHandler BuildStarted; - public static event BuildEventHandler BuildFinished; - public static event BuildEventHandler TargetStarted; - public static event BuildEventHandler TargetFinished; - public static event BuildEventHandler TaskStarted; - public static event BuildEventHandler TaskFinished; - public static event BuildEventHandler TaskException; - public static event BuildEventHandler BuildFileLoaded; - - public static void OnBuildFileLoaded(object o, BuildEventArgs e) - { - if (BuildFileLoaded != null) - BuildFileLoaded(o, e); - } - - public static void OnBuildStarted(object o, BuildEventArgs e) - { - if (BuildStarted != null) - BuildStarted(o, e); - } - - public static void OnBuildFinished(object o, BuildEventArgs e) - { - if (BuildFinished != null) - BuildFinished(o, e); - } - - public static void OnTargetStarted(object o, BuildEventArgs e) - { - if (TargetStarted != null) - TargetStarted(o, e); - } - - public static void OnTargetFinished(object o, BuildEventArgs e) - { - if (TargetFinished != null) - TargetFinished(o, e); - } - - public static void OnTaskStarted(object o, BuildEventArgs e) - { - if (TaskStarted != null) - TaskStarted(o, e); - } - - public static void OnTaskFinished(object o, BuildEventArgs e) - { - if (TaskFinished != null) - TaskFinished(o, e); - } - - public static void OnTaskException(object o, BuildEventArgs e) - { - if (TaskException != null) - TaskException(o, e); - } - - public RBuildProject Project - { - get { return m_Project; } - set - { - if (m_Project != null) - throw new BuildException("Only one ProjectTask is allowed per project"); - - m_Project = value; - - InitializeEnvironment(); - } - } - - public Task RootTask - { - get { return m_RootTask; } - set { m_RootTask = value; } - } - - public StringCollection BuildFiles - { - get { return m_XmlBuildFiles; } - } - - public bool SetDefaults - { - get { return m_SetDefaults; } - set { m_SetDefaults = value; } - } - - public SysGenEngine(string path, string project) : this (Path.Combine (path , project)) - { - } - - /// - /// Constructs a new Project with the given source. - /// - /// - /// The Source should be the full path to the build file. - /// This can be of any form that XmlDocument.Load(string url) accepts. - /// - /// If the source is a uri of form 'file:///path' then use the path part. - public SysGenEngine(string source) - { - string path = source; - //if the source is not a valid uri, pass it thru. - //if the source is a file uri, pass the localpath of it thru. - try - { - Uri testURI = new Uri(source); - if (testURI.IsFile) - { - path = testURI.LocalPath; - } - } - catch (Exception e) - { - //do nothing. - e.ToString(); - } - finally - { - if (path == null) - path = source; - } - - ctorHelper(LoadBuildFile(path)); - } - - /// - /// Inits stuff: - /// TaskFactory: Calls Initialize and AddProject - /// Log.IndentSize set to 12 - /// Project properties are initialized ("nant.* stuff set") - /// - /// NAnt Props: - /// nant.filename - /// nant.version - /// nant.location - /// nant.project.name - /// nant.project.buildfile (if doc has baseuri) - /// nant.project.basedir - /// nant.project.default = defaultTarget - /// nant.tasks.[name] = true - /// nant.tasks.[name].location = AssemblyFileName - /// - /// - /// The Project Document. - protected virtual void ctorHelper(XmlDocument doc) - { - //TaskFactory.AddProject(this); - BuildLog.IndentSize = 12; - _doc = doc; - - string newBaseDir = null; - - //check to make sure that the root element in named correctly - if(!doc.DocumentElement.Name.Equals(PROJECT_XMLROOT)) - throw new ApplicationException("Root Element must be named " + PROJECT_XMLROOT + " in " + doc.BaseURI); - - /* - // get project attributes - if(doc.DocumentElement.HasAttribute(PROJECT_NAME_ATTRIBUTE)) - _projectName = doc.DocumentElement.GetAttribute(PROJECT_NAME_ATTRIBUTE); - - if(doc.DocumentElement.HasAttribute(PROJECT_BASEDIR_ATTRIBUTE)) - newBaseDir = doc.DocumentElement.GetAttribute(PROJECT_BASEDIR_ATTRIBUTE); - - if(doc.DocumentElement.HasAttribute(PROJECT_DEFAULT_ATTRIBUTE)) - _defaultTargetName = doc.DocumentElement.GetAttribute(PROJECT_DEFAULT_ATTRIBUTE); - */ - - // give the project a meaningful base directory - if (newBaseDir == null) { - if (BuildFileLocalName != null) { - newBaseDir = Path.GetDirectoryName(BuildFileLocalName); - } - else { - newBaseDir = Environment.CurrentDirectory; - } - } - - newBaseDir = Path.GetFullPath(newBaseDir); - //BaseDirectory must be rooted. - BaseDirectory = newBaseDir; - - } - - internal void InitializeBuildFile(XmlDocument doc, ITaskContainer parent) - { - // load line and column number information into position map - LocationMap.Add(doc); - - // initialize targets and global tasks - foreach (XmlNode childNode in doc.ChildNodes) - { - if (CanProcessNode(childNode)) - { - LoadChildTask(childNode, parent); - } - } - } - - internal bool CanProcessNode(XmlNode childNode) - { - if ((childNode.NodeType == XmlNodeType.Element) && - (childNode.Name.StartsWith("#") == false) && - (childNode.Name.StartsWith("xml") == false) && - (childNode.Name.StartsWith("!") == false) && - (childNode.NamespaceURI.Equals(string.Empty) || - (childNode.NamespaceURI.Equals("http://www.w3.org/2001/XInclude")))) - { - return true; - } - - return false; - } - - internal Task LoadChildTask(XmlNode taskNode, ITaskContainer parent) - { - try - { - Task task = TaskFactory.CreateTask(taskNode, this); - - task.Parent = parent; - task.Project = m_Project; - task.SysGen = this; - task.Initialize(taskNode); - - if (task != RootTask) - parent.ChildTasks.Add(task); - - return task; - } - catch (BuildException be) - { - BuildLog.WriteLine("{0} Failed to created Task for '{1}' xml element for reason: \n {2}", parent.LogPrefix, taskNode.Name, be.Message); - } - - return null; - } - - /// - /// Creates a new XmlDocument based on the project definition. - /// - /// The source of the document. Any form that is valid for XmlDocument.Load(string url) can be used here. - /// The project document. - private XmlDocument LoadBuildFile(string source) - { - XmlDocument doc = new XmlDocument(); - - try - { - OnBuildFileLoaded(this, new BuildEventArgs(source)); - - doc.XmlResolver = null; - doc.Load(source); - - //Add the build file to the collection of readed xml build files - m_XmlBuildFiles.Add(source); - } - catch (XmlException e) - { - string message = "Error loading buildfile"; - Location location = new Location(source, e.LineNumber, e.LinePosition); - throw new BuildException(message, location, e); - } - catch (Exception e) - { - string message = "Error loading buildfile"; - Location location = new Location(source); - throw new BuildException(message, location, e); - } - return doc; - } - - public virtual bool RBuildFolderExists(RBuildFolder folder) - { - return Directory.Exists(ResolveRBuildFilePath(folder)); - } - - public virtual bool RBuildFileExists(RBuildFile file) - { - return File.Exists(ResolveRBuildFilePath(file)); - } - - public virtual string ResolveRBuildFilePath(RBuildFileSystemInfo file) - { - return NormalizePath(Path.Combine(GetPathRoot(file.Root), file.FullPath)); - } - - public virtual string ResolveRBuildFolderPath(RBuildFolder folder) - { - return NormalizePath(Path.Combine(GetPathRoot(folder.Root), folder.FullPath)); - } - - public virtual string ResolveRBuildFilePath(PathRoot root, RBuildFileSystemInfo file) - { - return NormalizePath(Path.Combine(GetPathRoot(root), file.FullPath)); - } - - public string NormalizePath(string path) - { - return path.Replace( - Path.AltDirectorySeparatorChar, - Path.DirectorySeparatorChar); - } - - public string IntermediateDirectory - { - get { return Path.Combine(BaseDirectory, "obj-i386"); } - } - - public string DocumentationDirectory - { - get { return Path.Combine(BaseDirectory, "doc-i386"); } - } - - public string ISODirectory - { - get { return Path.Combine(BaseDirectory, "iso-i386"); } - } - - public string OutputDirectory - { - get { return Path.Combine(BaseDirectory, "output-i386"); } - } - - public string BootCDOutputDirectory - { - get { return Path.Combine(OutputDirectory, "cd"); } - } - - public string LiveCDOutputDirectory - { - get { return Path.Combine(OutputDirectory, "livecd"); } - } - - public string TemporaryDirectory - { - get { return Path.Combine(BaseDirectory, "obj-i386"); } - } - - public string InstallDirectory - { - get { return Path.Combine(BaseDirectory, "reactos"); } - } - - public string GetPathRoot(PathRoot root) - { - switch (root) - { - case PathRoot.Default: - case PathRoot.SourceCode: - return BaseDirectory; - break; - case PathRoot.LiveCD: - return LiveCDOutputDirectory; - break; - case PathRoot.BootCD: - return BootCDOutputDirectory; - break; - case PathRoot.Intermediate: - return IntermediateDirectory; - break; - case PathRoot.Install: - return InstallDirectory; - break; - case PathRoot.Output: - return OutputDirectory; - break; - case PathRoot.Temporary: - return TemporaryDirectory; - break; - case PathRoot.Platform: - return "%SystemRoot%"; - break; - default: - throw new Exception("Unknown PathRoot"); - } - } - - /// - /// The Base Directory used for relative references. - /// - /// - /// The directory must be rooted. (must start with drive letter, unc, etc.) - /// The BaseDirectory sets and gets the special property named 'nant.project.basedir'. - /// - public string BaseDirectory - { - get - { - //string basedir = null; // = Properties[NANT_PROPERTY_PROJECT_BASEDIR]; - - if (m_BaseDir == null) - return null; - - if (!Path.IsPathRooted(m_BaseDir)) - throw new BuildException("BaseDirectory must be rooted! " + m_BaseDir); - - return m_BaseDir; - } - set - { - if (!Path.IsPathRooted(value)) - throw new BuildException("BaseDirectory must be rooted! " + value); - - m_BaseDir = value; - - //Properties[NANT_PROPERTY_PROJECT_BASEDIR] = value; - } - } - - /// - /// The URI form of the current Document - /// - public Uri BuildFileURI { - get { - //TODO: Need to remove this. - if(Doc == null || Doc.BaseURI == "") { - return null;//new Uri("http://localhost"); - } - else { - return new Uri(Doc.BaseURI); - } - } - } - - /// - /// If the build document is not file backed then null will be returned. - /// - public string BuildFileLocalName { - get { - if (BuildFileURI != null && BuildFileURI.IsFile) { - return BuildFileURI.LocalPath; - } - else { - return null; - } - } - } - - /// Returns the active build file - public virtual XmlDocument Doc { - get { return _doc; } - } - - /// - /// When true tasks should output more build log messages. - /// - public bool Verbose - { - get { return m_Verbose; } - set { m_Verbose = value; } - } - - public bool RunBackends - { - get { return m_ExecuteBackends; } - set { m_ExecuteBackends = value; } - } - - public RBuildPlatform Platform - { - get { return m_Platform; } - } - - public RBuildPropertyCollection Properties - { - get { return m_Properties; } - } - - internal LocationMap LocationMap { - get { return _locationMap; } - } - - ///// - ///// The targets defined in the this project. - ///// - //public TargetCollection Targets - //{ - // get { return m_Targets; } - //} - - /// Executes the default target. - /// - /// No top level error handling is done. Any BuildExceptions will make it out of this method. - /// - public virtual void Execute() - { - //InitializeEnvironment(); - - //will initialize the list of Targets, and execute any global tasks. - InitializeBuildFile(Doc, null); - - RegisterBackends(); - - if (Project.InstallFolders.Count == 0) - { - Project.InstallFolders.Add(new RBuildInstallFolder("1", @".")); - Project.InstallFolders.Add(new RBuildInstallFolder("2", @"system32")); - Project.InstallFolders.Add(new RBuildInstallFolder("3", @"system32\config")); - Project.InstallFolders.Add(new RBuildInstallFolder("4", @"system32\drivers")); - Project.InstallFolders.Add(new RBuildInstallFolder("5", @"system")); - Project.InstallFolders.Add(new RBuildInstallFolder("17", @"system32\drivers\etc")); - Project.InstallFolders.Add(new RBuildInstallFolder("20", @"inf")); - Project.InstallFolders.Add(new RBuildInstallFolder("22", @"fonts")); - Project.InstallFolders.Add(new RBuildInstallFolder("201", @"system32\bin")); - Project.InstallFolders.Add(new RBuildInstallFolder("202", @"media\fonts")); - Project.InstallFolders.Add(new RBuildInstallFolder("203", @"bin")); - Project.InstallFolders.Add(new RBuildInstallFolder("204", @"media")); - } - - if (Project.DebugChannels.Count == 0) - { - Project.DebugChannels.Add(new RBuildDebugChannel("ole")); - Project.DebugChannels.Add(new RBuildDebugChannel("rpc")); - Project.DebugChannels.Add(new RBuildDebugChannel("gdi")); - Project.DebugChannels.Add(new RBuildDebugChannel("crtdll")); - Project.DebugChannels.Add(new RBuildDebugChannel("mshtml")); - Project.DebugChannels.Add(new RBuildDebugChannel("setupapi")); - Project.DebugChannels.Add(new RBuildDebugChannel("typelib")); - Project.DebugChannels.Add(new RBuildDebugChannel("shdocvw")); - Project.DebugChannels.Add(new RBuildDebugChannel("combo")); - Project.DebugChannels.Add(new RBuildDebugChannel("listview")); - Project.DebugChannels.Add(new RBuildDebugChannel("ntdll")); - Project.DebugChannels.Add(new RBuildDebugChannel("richedit")); - Project.DebugChannels.Add(new RBuildDebugChannel("statusbar")); - Project.DebugChannels.Add(new RBuildDebugChannel("text")); - Project.DebugChannels.Add(new RBuildDebugChannel("toolbar")); - } - - if (Project.Languages.Count == 0) - { - Project.Languages.Add(new RBuildLanguage("en-us")); - Project.Languages.Add(new RBuildLanguage("es-es")); - } - - m_RootTask.PreExecute(); - m_RootTask.Execute(); - m_RootTask.PostExecute(); - - SetPlatformDefaults(); - - //m_FileHandlers.Add(new TxtSetupFileHandler(this)); - //m_FileHandlers.Add(new SysSetupFileHandler(this)); - //m_FileHandlers.Add(new UnattendFileHandler(this)); - //m_FileHandlers.Add(new DownloaderFileHandler(this)); - //m_FileHandlers.Add(new AutorunFileHandler(this)); - //m_FileHandlers.Add(new HiveAutoGeneratedFileHandler(this)); - m_FileHandlers.ProcessFiles(Project.Files); - - if (RunBackends) - Backends.Generate(); - } - - private void SetPlatformDefaults() - { - if (SetDefaults) - { - if (Project.Platform.Modules.Count == 0) - { - foreach (RBuildModule module in Project.Modules) - { - Project.Platform.Modules.Add(module); - } - } - - if (Project.Languages.Count == 0) - { - foreach (RBuildLanguage language in Project.Languages) - { - Project.Platform.Languages.Add(language); - } - } - - if (Project.DebugChannels.Count == 0) - { - foreach (RBuildDebugChannel channel in Project.DebugChannels) - { - Project.Platform.DebugChannels.Add(channel); - } - } - } - } - - private void RegisterBackends() - { - //m_Backends.Add(new CatalogBackend(this)); - //m_Backends.Add(new MingwBackend(this)); - m_Backends.Add(new HtmlBackend(this)); - //m_Backends.Add(new RGenStatBackend(this)); - //m_Backends.Add(new BaseAddressReportBackend(this)); - //m_Backends.Add(new BuildLogReport(this)); - //m_Backends.Add(new ProjectTreeReport(this)); - m_Backends.Add(new RBuildDBBackend(this)); - //m_Backends.Add(new APIDocumentation(this)); - } - - public void CleanCustomConfigs() - { - Directory.SetCurrentDirectory (BaseDirectory); - - if (File.Exists("config.rbuild")) - File.Delete("config.rbuild"); - - if (File.Exists("config-arm.rbuild")) - File.Delete("config-arm.rbuild"); - - if (File.Exists("config-ppc.rbuild")) - File.Delete("config-ppc.rbuild"); - } - - public BackendCollection Backends - { - get { return m_Backends; } - } - - private void InitializeEnvironment() - { - Assembly ass = Assembly.GetExecutingAssembly(); - - Properties.AddReadOnly(SYSGEN_PROPERTY_FILENAME, ass.CodeBase); - Properties.AddReadOnly(SYSGEN_PROPERTY_VERSION, ass.GetName().Version.ToString()); - Properties.AddReadOnly(SYSGEN_PROPERTY_LOCATION, AppDomain.CurrentDomain.BaseDirectory); - - Project.Properties.AddReadOnly("CDOUTPUT", BootCDOutputDirectory + @"\reactos"); - Project.Properties.AddReadOnly("INTERMEDIATE", IntermediateDirectory); - Project.Properties.AddReadOnly("SOURCECODE", BaseDirectory); - Project.Properties.AddReadOnly("OUTPUT", OutputDirectory); - Project.Properties.AddReadOnly("INSTALL", InstallDirectory); - Project.Properties.AddReadOnly("TEMP", TemporaryDirectory); - Project.Properties.AddReadOnly("DOC", DocumentationDirectory); - } - - /// - /// Does Execute() and wraps in error handling and time stamping. - /// - /// Indication of success - public bool ReadBuildFiles() - { - //SysGenEngine.OnBuildStarted(this, new BuildEventArgs(_projectName)); - - bool success = true; - try - { - // Remember when the build was started - DateTime startTime = DateTime.Now; - - BuildLog.WriteLine(); - BuildLog.WriteLine("SysGen 0.2"); - BuildLog.WriteLine(); - BuildLog.WriteLine("Running on {0}", Environment.OSVersion.VersionString); - BuildLog.WriteLine(); - BuildLog.WriteLine("Buildfile: {0}", BuildFileURI.AbsolutePath); - BuildLog.WriteLine("Base Directory: {0}", BaseDirectory); - BuildLog.WriteLine(); - BuildLog.WriteLine("Reading rbuild files :"); - BuildLog.WriteLine(); - - Execute(); - - TimeSpan buildTime = DateTime.Now - startTime; - - BuildLog.WriteLine(); - BuildLog.WriteLine("{0} SysGen Module(s) detected.", Project.Modules.Count); - BuildLog.WriteLine("{0} Platform Module(s) detected.", Project.Platform.Modules.Count); - BuildLog.WriteLine(); - BuildLog.WriteLine("SysGen COMPLETED in {0} second(s)", (int)buildTime.TotalSeconds); - BuildLog.WriteLine(); - - //SysGenEngine.OnBuildFinished(this, new BuildEventArgs(_projectName)); - - success = true; - return true; - - } - catch (BuildException e) - { - BuildLog.WriteMessage("Build Failed" , "error"); - BuildLog.WriteLine(); - BuildLog.WriteLine(e.Message); - - if (e.InnerException != null) - { - BuildLog.WriteLine( e.InnerException.Message); - } - - success = false; - return false; - - } - catch (Exception e) - { - //throw; - // all other exceptions should have been caught - string message = "\nINTERNAL ERROR\n" + e.ToString() + "\nPlease send bug report to nant-developers@lists.sourceforge.net"; - BuildLog.WriteMessage(message, "error"); - success = false; - return false; - } - finally - { - //SysGenEngine.OnBuildFinished(this, new BuildEventArgs(_projectName)); - } - } - - /// Combine with project's to form a full path to file or directory. - /// - /// If it is possible for the path to contain property macros the path call first. - /// - /// - /// A rooted path. - /// - /// The relative or absolute path. - public string GetFullPath(string path) { - if (path == null) { - return BaseDirectory; - } - - //Docs above read we should do this. But it should be done before it gets here. - //path = this.ExpandProperties(path); - - if (!Path.IsPathRooted(path)) { - path = Path.Combine(BaseDirectory, path); - } - return path; - } - - public string GetRelativePath(string path) - { - return path.Replace(BaseDirectory +"\\" , string.Empty); - } - - /// - /// Expands a string from known properties - /// - /// The string with replacement tokens - /// The expanded and replaced string - public string ExpandProperties(string input) - { - string output = input; - if (input != null) - { - //matches ${abc} and $(abc) style properties - const string pattern = @"\$\{(?([^\}]*))\}|\$\(((?[^\}]*))\)"; - foreach (Match m in Regex.Matches(input, pattern)) - { - if (m.Length > 0) - { - try - { - string token = m.ToString(); - string propertyName = m.Groups["name"].Value; - - if (Project.Properties[propertyName] != null) - { - output = output.Replace(token, Project.Properties[propertyName].Value); - } - else - throw new BuildException(String.Format("Property '{0}' has not been set!", propertyName)); - } - catch (ArgumentException ae) - { - throw new BuildException(String.Format("Bad formed property")); - } - } - } - } - return output; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenPathResolver.cs b/reactos/tools/sysgen/SysGen.BuildEngine/SysGenPathResolver.cs deleted file mode 100644 index 1c1947b6d70..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/SysGenPathResolver.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -//using SysGen.RBuild.Framework; -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Attributes; -using SysGen.BuildEngine.Tasks; - -namespace SysGen.BuildEngine -{ - class SysGenPathResolver - { - //public static string GetPath(Task current) - //{ - // return GetPath(current, SysGen.ProjectTask); - //} - - public static string GetPath(Task current, Task root) - { - IElement task = current.Parent; - while (task != root) - { - DirectoryTask directory = task as DirectoryTask; - - if (directory != null) - return directory.Folder.FullPath; - - task = task.Parent; - } - - return string.Empty; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/Task.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/Task.cs deleted file mode 100644 index 5bee2d549d5..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/Task.cs +++ /dev/null @@ -1,257 +0,0 @@ -using System; -using System.IO; -using System.Reflection; -using System.Xml; - -using SysGen.RBuild.Framework; - -using SysGen.BuildEngine.Log; -using SysGen.BuildEngine.Attributes; -using SysGen.BuildEngine.Tasks; - -namespace SysGen.BuildEngine -{ - public enum TaskExecuteStage - { - PreExecute, - Execute, - PostExecute - } - - /// - /// Provides the abstract base class for tasks. - /// - /// - /// A task is a piece of code that can be executed. - /// - public abstract class Task : Element, ITask - { - protected bool _failOnError = true; - protected bool _verbose = false; - protected bool _ifDefined = true; - protected bool _ifNotDefined = false; - - TaskExecuteStage _stage = TaskExecuteStage.PreExecute; - - /// - /// Determines if task failure stops the build, or is just reported. Default is "true". - /// - [TaskAttribute("failonerror")] - [BooleanValidator()] - public bool FailOnError { - get { return _failOnError; } - set { _failOnError = value; } - } - - /// - /// Task reports detailed build log messages. Default is "false". - /// - [TaskAttribute("verbose")] - [BooleanValidator()] - public bool Verbose { - get { return (_verbose || SysGen.Verbose); } - set { _verbose = value; } - } - - /// - /// If true then the task will be executed; otherwise skipped. Default is "true". - /// - [TaskAttribute("if")] - [BooleanValidator()] - public bool IfDefined { - get { return _ifDefined; } - set { _ifDefined = value; } - } - - /// - /// Opposite of if. If false then the task will be executed; otherwise skipped. Default is "false". - /// - [TaskAttribute("ifnot")] - [BooleanValidator()] - public bool IfNotDefined - { - get { return _ifNotDefined; } - set { _ifNotDefined = value; } - } - - public string XmlFile - { - get { return new Uri(_xmlNode.OwnerDocument.BaseURI).LocalPath; } - } - - public string RBuildFile - { - get { return Path.GetFileName(XmlFile); } - } - - /// The name of the task. - public override string Name { - get { - string name = null; - TaskNameAttribute taskName = (TaskNameAttribute) Attribute.GetCustomAttribute(GetType(), typeof(TaskNameAttribute)); - if (taskName != null) { - name = taskName.Name; - } - return name; - } - } - - public RBuildFolder InFolder - { - get - { - IElement task = Parent; - while (task != SysGen.RootTask) - { - DirectoryTask directory = task as DirectoryTask; - - if (directory != null) - return directory.Folder; - - task = task.Parent; - } - - return SysGen.Project.Folder; - } - } - - /// - /// The prefix used when sending messages to the log. - /// - public string LogPrefix { - get { - string prefix = "[" + Name + "] "; - return prefix.PadLeft(BuildLog.IndentSize); - } - } - - private TaskExecuteStage ExecutionStage - { - get { return _stage; } - } - - /// - /// Executes the task unless it is skipped. Do not ovveride/new this method. Use ExecuteTask instead. - /// - public void Execute() - { - RunTask(TaskExecuteStage.Execute); - } - - public void PostExecute() - { - RunTask(TaskExecuteStage.PostExecute); - } - - public void PreExecute() - { - RunTask(TaskExecuteStage.PreExecute); - } - - private void RunTask (TaskExecuteStage stage) - { - // Save the current execution stage - _stage = stage; - - if (IfDefined && !IfNotDefined) - { - try - { - SysGenEngine.OnTaskStarted(this, new BuildEventArgs(Name)); - - switch (stage) - { - case TaskExecuteStage.PreExecute: - PreExecuteTask(); - break; - case TaskExecuteStage.Execute: - ExecuteTask(); - break; - case TaskExecuteStage.PostExecute: - PostExecuteTask(); - break; - } - - if (this is ITaskContainer) - { - ITaskContainer taskContainer = this as ITaskContainer; - - if (taskContainer.ExecuteChilds) - { - foreach (Task taskChild in taskContainer.ChildTasks) - { - taskChild.RunTask(stage); - } - } - } - } - catch (Exception e) - { - SysGenEngine.OnTaskException(this, new BuildEventArgs(Name)); - - if (FailOnError) - { - throw; - } - else - { - BuildLog.WriteLine(e.Message); - if (e.InnerException != null) - { - BuildLog.WriteLine(e.InnerException.Message); - } - } - } - finally - { - SysGenEngine.OnTaskFinished(this, new BuildEventArgs(Name)); - } - } - } - - protected override void InitializeElement(XmlNode elementNode) - { - if (this is ITaskContainer) - { - ITaskContainer taskContainer = this as ITaskContainer; - - foreach (XmlNode childNode in elementNode.ChildNodes) - { - if (SysGen.CanProcessNode(childNode)) - SysGen.LoadChildTask(childNode, taskContainer); - } - } - - // Just defer for now so that everything just works - InitializeTask(elementNode); - } - - /// Initializes the task. - protected virtual void InitializeTask(XmlNode taskNode) - { - } - - protected virtual void PostExecuteTask() - { - } - - /// - /// Executes the task. - /// - protected virtual void ExecuteTask() - { - } - - /// - /// Executes the task. - /// - protected virtual void PreExecuteTask() - { - } - - public override string ToString() - { - return Name; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/TaskContainer.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/TaskContainer.cs deleted file mode 100644 index 2de6d0e28ca..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/Base/TaskContainer.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using System.Collections.Generic; - -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine -{ - /// - /// A Generic Task Container - /// - public abstract class TaskContainer : Task , ITaskContainer - { - protected bool m_ExecuteChilds = true; - protected TaskCollection _childTasks = new TaskCollection(); - - /// - /// Available child instances. - /// - public TaskCollection ChildTasks - { - get { return _childTasks; } - } - - public bool ExecuteChilds - { - get { return m_ExecuteChilds; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIFallbackTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIFallbackTask.cs deleted file mode 100644 index 535407ef36f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIFallbackTask.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("fallback", Namespace = "xi")] - public class XIFallbackTask : TaskContainer - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIIncludeTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIIncludeTask.cs deleted file mode 100644 index 66b66c028df..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Build/XIIncludeTask.cs +++ /dev/null @@ -1,148 +0,0 @@ -using System; -using System.IO; -using System.Xml; -using System.Collections; -using System.Collections.Specialized; - -using SysGen.BuildEngine.Attributes; -using SysGen.BuildEngine.Log; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - /// - /// Include an external build file. - /// - [TaskName("include", Namespace = "xi")] - public class XIIncludeTask : FileSystemInfoBaseTask, ITaskContainer //TaskContainer - { - private TaskCollection m_ChildTasks = new TaskCollection(); - - /// - /// Used to check for recursived includes. - /// - private static Stack _includedFiles = new Stack(); - - ///// - ///// The file to be included - ///// - //private string _href = null; - - /// Build file to include. - [TaskAttribute("href", Required = true)] - public string BuildFileName - { - get { return m_FileSystemInfo.Name; } - set { m_FileSystemInfo.Name = value; } - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildFile(); - } - - public TaskCollection ChildTasks - { - get { return m_ChildTasks; } - } - - public bool ExecuteChilds - { - get { return true; } - } - - protected override void OnInit() - { - base.OnInit(); - - Base = SysGenPathResolver.GetPath(this, SysGen.RootTask); - } - - /// Verify parameters. - /// Xml taskNode used to define this task instance. - protected override void InitializeTask(XmlNode taskNode) - { - //base.InitializeTask(taskNode); - - FailOnError = false; - - /* - // Task can only be included as a global task. - // This might not be a firm requirement but you could get some real - // funky errors if you start including targets wily-nily. - if (Parent != null ) - { - if ((!(Parent is RbuildTask)) || (!(Parent is ProjectTask))) - throw new BuildException("Task not allowed in targets. Must be at project level.", Location); - } - */ - - // Check for recursive include. - string buildFileName = Path.Combine(BaseBuildLocation, BuildFileName); - foreach (string currentFileName in _includedFiles) { - if (currentFileName == buildFileName) { - throw new BuildException("Recursive includes are not allowed.", Location); - } - } - - string includedFileName = Path.Combine(BaseBuildLocation , BuildFileName); - string includeRelative = SysGen.GetRelativePath(includedFileName); - - // push ourselves onto the stack (prevents recursive includes) - _includedFiles.Push(includedFileName); - - BuildLog.WriteLine("Including {0}", includeRelative); - - try - { - XmlDocument doc = new XmlDocument(); - doc.XmlResolver = null; - doc.Load(includedFileName); - - SysGen.InitializeBuildFile(doc, this); - - SysGen.BuildFiles.Add(includedFileName); - } - catch (BuildException) - { - throw; - } - catch (IOException e) - { - try - { - if (ChildTasks.Count == 0) - throw new BuildException("Could not include build file " + includedFileName, Location, e); - - BuildLog.WriteLine("Including {0} Failed. Fallback present and executed", includeRelative); - //BuildLog.WriteLine("Include {0} not found. Fallback executed", includeRelative); - } - catch (Exception fallbackException) - { - throw new BuildException("Could not include build file " + includedFileName + " fallback also failed", Location, fallbackException); - } - } - catch (ArgumentException e) - { - //Puede pasar - } - catch (Exception e) - { - throw new BuildException("Could not include build file " + includedFileName + " " + e.Message, Location, e); - } - finally - { - // pop off the stack - _includedFiles.Pop(); - } - } - - protected override void ExecuteTask() - { - } - - protected override void PreExecuteTask() - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfNotTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfNotTask.cs deleted file mode 100644 index b1530a34756..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfNotTask.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.IO; -using System.Collections; -using System.Collections.Specialized; - -using SysGen.BuildEngine.Attributes; -using SysGen.BuildEngine.Log; - -namespace SysGen.BuildEngine.Tasks -{ - /// - /// The opposite of the if task. - /// - /// - /// Check existence of a property - /// - /// - /// - /// - /// ]]> - /// - /// Check that a property value is not true - /// - /// - /// - /// - /// ]]> - /// - /// - /// - /// Check that a target does not exist - /// - /// - /// - /// - /// ]]> - /// - [TaskName("ifnot")] - public class IfNotTask : IfTask - { - protected override bool ConditionsTrue - { - get { return !base.ConditionsTrue; } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfTask.cs deleted file mode 100644 index a9bff9a22e6..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/BuiltIn/Logic/IfTask.cs +++ /dev/null @@ -1,134 +0,0 @@ -using System; -using System.IO; -using System.Collections; -using System.Collections.Specialized; - -using SysGen.BuildEngine.Attributes; -using SysGen.BuildEngine.Log; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("if")] - public class IfTask : TaskContainer - { - protected string _propName = null; - protected string _propValue = null; - protected string _propNameTrue = null; - protected string _propNameExists = null; - - /// - /// Used to test whether a property is true. - /// - [TaskAttribute("propertytrue")] - public string PropertyNameTrue { - set {_propNameTrue = value;} - } - - /// - /// Used to test whether a property exists. - /// - [TaskAttribute("propertyexists")] - public string PropertyNameExists { - set {_propNameExists = value;} - } - - /// - /// Used to test whether a property exists. - /// - [TaskAttribute("property")] - public string PropertyName - { - set { _propName = value; } - } - - /// - /// Used to test whether a property exists. - /// - [TaskAttribute("value")] - public string PropertyValue - { - set { _propValue = value; } - } - - protected override void PreExecuteTask() - { - if (!ConditionsTrue) - { - m_ExecuteChilds = false; - } - } - - /* - protected override void ExecuteTask() { - if(!ConditionsTrue) { - m_ExecuteChilds = false; - } - }*/ - - protected virtual bool ConditionsTrue - { - get - { - bool ret = true; - - if (_propName != null) - { - if (_propValue != null) - { - if (SysGen.Project.Properties.PropertyExists(_propName)) - { - return (SysGen.Project.Properties[_propName].Value == _propValue); - } - - return false; - } - else - { - ret = ret && SysGen.Project.Properties.PropertyExists(_propNameExists); - } - } - - ////check for target - //if(_targetName != null) { - // ret = ret && (SysGen.Targets.Find(_targetName) != null); - // if (!ret) return false; - //} - - //Check for the Property value of true. - if (_propNameTrue != null) - { - try - { - ret = ret && bool.Parse(SysGen.Project.Properties[_propNameTrue].Value); - } - catch (Exception e) - { - throw new BuildException("Property True test failed for '" + _propNameTrue + "'", Location, e); - } - } - - //Check for Property existence - if(_propNameExists != null) - { - ret = ret && SysGen.Project.Properties.PropertyExists(_propNameExists); - } - - ////check for uptodate file - //if(_uptodateFile != null) { - // FileInfo primaryFile = new FileInfo(_uptodateFile); - // if(primaryFile == null) { - // ret = true; - // } - // else { - // string newerFile = FileSet.FindMoreRecentLastWriteTime(_compareFiles.FileNames, primaryFile.LastWriteTime); - // bool bNeedsAnUpdate = (null == newerFile); - // BuildLog.WriteLineIf(SysGen.Verbose && bNeedsAnUpdate, "{0) is newer than {1}" , newerFile, primaryFile.Name); - // ret = !bNeedsAnUpdate; - // } - //} - - return ret; - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoFilesTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoFilesTask.cs deleted file mode 100644 index 6e74be382a7..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoFilesTask.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class AutoFilesBaseTask : AutoResolvableFileSystemInfoBaseTask - { - private string m_Pattern = "*.*"; - - public AutoFilesBaseTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildFolder(); - } - - public RBuildFolder Folder - { - get { return m_FileSystemInfo as RBuildFolder; } - } - - [TaskAttribute("pattern")] - public string Pattern { get { return m_Pattern; } set { m_Pattern = value; } } - - protected override void ExecuteTask() - { - base.ExecuteTask(); - - foreach(string file in Directory.GetFiles (SysGen.ResolveRBuildFolderPath(Folder) , Pattern)) - { - AddFile(file); - } - } - - protected abstract void AddFile (string file); - } - - [TaskName("autoinstallfiles")] - public class AutoInstallFiles : AutoFilesBaseTask - { - private string m_InstallBase = "."; - - [TaskAttribute("installbase")] - public string InstallBase { get { return m_InstallBase; } set { m_InstallBase = value; } } - - protected override void AddFile(string file) - { - RBuildInstallFile autoFile = new RBuildInstallFile(); - - autoFile.Root = Root; - autoFile.Base = Folder.Base; - autoFile.Name = Path.GetFileName(file); - autoFile.InstallBase = InstallBase; - - RBuildElement.Files.Add(autoFile); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoInstallFilesTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoInstallFilesTask.cs deleted file mode 100644 index 9548900348d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoInstallFilesTask.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - //[TaskName("autoinstallfiles")] - //public class AutoInstallFilesTask : AutoFilesTask - //{ - // protected override void ExecuteTask() - // { - // } - //} -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoManifest.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoManifest.cs deleted file mode 100644 index 866d06eb058..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoManifest.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("automanifest")] - public class AutoManifest : ValueBaseTask - { - protected override void ExecuteTask() - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoRegisterTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoRegisterTask.cs deleted file mode 100644 index 045fdb851ac..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoRegisterTask.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("autoregister")] - public class AutoRegisterTask : Task - { - RBuildAutoRegister m_AutoRegister = new RBuildAutoRegister(); - - [TaskAttribute("type", Required = true)] - public AutoRegisterType Type { get { return m_AutoRegister.Type; } set { m_AutoRegister.Type = value; } } - - [TaskAttribute("infsection", Required = true)] - public string InfSection { get { return m_AutoRegister.InfSection; } set { m_AutoRegister.InfSection = value; } } - - protected override void ExecuteTask() - { - if ((Module.Type == ModuleType.Win32DLL) || - (Module.Type == ModuleType.Win32OCX)) - { - if (Module.AutoRegister != null) - throw new BuildException("There can be only one element for a module", Location); - - Module.AutoRegister = m_AutoRegister; - } - else - throw new BuildException(" is not applicable for this module type", Location); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoResource.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoResource.cs deleted file mode 100644 index 359132395d1..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/AutoResource.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - //[TaskName("autoresource")] - //public class AutoResourceTask : AutoFilesTask - //{ - // protected override void ExecuteTask() - // { - // } - //} -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AuthorBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AuthorBaseTask.cs deleted file mode 100644 index a12ea2f5202..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AuthorBaseTask.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class AuthorBaseTask : Task - { - protected string m_Alias = null; - protected RBuildAuthor m_Author = new RBuildAuthor(); - - [TaskValue(Required=true)] - public virtual string Alias { get { return m_Alias; } set { m_Alias = value; } } - - protected override void ExecuteTask() - { - m_Author.Contributor = Project.Contributors.GetByName(Alias); - - if (m_Author.Contributor == null) - throw new BuildException(string.Format("Could not resolve contributor '{0}' referenced by module '{1}'", Alias, Module.Name, Location)); - - Module.Authors.Add(m_Author); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AutoFilesTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AutoFilesTask.cs deleted file mode 100644 index 7a4dc70523b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/AutoFilesTask.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - //public abstract class AutoFilesTask : Task - //{ - // FileSet files = new FileSet(); - - // [FileSet("files")] - // public FileSet Files - // { - // get { return files; } - // set { files = value; } - // } - //} -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/CDFileBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/CDFileBaseTask.cs deleted file mode 100644 index 869df983965..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/CDFileBaseTask.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class CDFileBaseTask : FileBaseTask //PlatformFileBaseTask - { - public CDFileBaseTask() - { - } - - [TaskAttribute("installbase")] - public string InstallBase { get { return CDFile.InstallBase; } set { CDFile.InstallBase = value; } } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildCDFile(); - } - - /// - /// The name of the define to set. - /// - [TaskAttribute("nameoncd")] - public string NameOnCD { get { return CDFile.NewName; } set { CDFile.NewName = value; } } - - private RBuildCDFileBase CDFile - { - get { return m_FileSystemInfo as RBuildCDFileBase; } - } - - protected override void ExecuteTask() - { - //Call the base class - base.ExecuteTask(); - - //Add the file - RBuildElement.Files.Add(CDFile); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileBaseTask.cs deleted file mode 100644 index 67773a31bed..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileBaseTask.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class FileBaseTask : FileSystemInfoBaseTask - { - public FileBaseTask() - { - } - - /// - /// The define value. - /// - [TaskValue] - public virtual string FileName { get { return m_FileSystemInfo.Name; } set { m_FileSystemInfo.Name = value; } } - - ///// - ///// Get the underlying . - ///// - //public RBuildPlatformFile PlatformFile - //{ - // get { return m_FileSystemInfo as RBuildPlatformFile; } - //} - - //public override string BasePath - //{ - // get - // { - // IElement task = this; - // while (task != SysGen.ProjectTask) - // { - // if (task is IDirectory) - // return ((IDirectory)task).BasePath; - - // task = task.Parent; - // } - - // //Is in the root - // return string.Empty; - // } - //} - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileSystemInfoBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileSystemInfoBaseTask.cs deleted file mode 100644 index 3046065d483..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FileSystemInfoBaseTask.cs +++ /dev/null @@ -1,119 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class AutoResolvableFileSystemInfoBaseTask : FileSystemInfoBaseTask - { - protected override bool TryToResolveBasePath() - { - if (Base == "eventlog_server") - { - int i = 10; - } - - if ((Base != null) && (Base != string.Empty)) - { - if (Base != Project.Name) - { - // Get the referenced module - RBuildModule module = Project.Modules.GetByName(Base); - - if (module == null) - throw new BuildException(string.Format("Could not resolve module base '{0}' for module '{1}'", Base, Module.Name, Location)); - - // If no path has been specified by the user - // set the module default path - if (Root == PathRoot.Default) - Root = module.IncludeDefaultRoot; - - // Set the base to the module root - m_FileSystemInfo.Base = module.Folder.FullPath; - } - else - { - // Set the base to the project root - m_FileSystemInfo.Base = Project.Base; - } - } - else - { - // Set the base to the folder containing the module - m_FileSystemInfo.Base = InFolder.FullPath; - } - - if (m_FileSystemInfo.Base == null || m_FileSystemInfo.Name == null) - { - int i = 10; - } - - return true; - } - } - - public abstract class FileSystemInfoBaseTask : Task - { - protected RBuildFileSystemInfo m_FileSystemInfo = null; - - public FileSystemInfoBaseTask() - { - CreateFileSystemObject(); - } - - protected abstract void CreateFileSystemObject(); - - /// - /// The name of the define to set. - /// - [TaskAttribute("base")] - public string Base { get { return m_FileSystemInfo.Base; } set { m_FileSystemInfo.Base = value; } } - - /// - /// The name of the define to set. - /// - [TaskAttribute("root")] - public PathRoot Root { get { return m_FileSystemInfo.Root; } set { m_FileSystemInfo.Root = value; } } - - /// - /// Get the underlying . - /// - public RBuildFileSystemInfo FileSystemInfo - { - get { return m_FileSystemInfo; } - } - - protected virtual void SetRBuildElement() - { - //m_FileSystemInfo.Element = RBuildElement; - } - - protected virtual void SetRootFromParent() - { - } - - protected virtual bool TryToResolveBasePath () - { - return false; - } - - protected override void PreExecuteTask() - { - SetRootFromParent(); - SetRBuildElement(); - } - - protected override void ExecuteTask() - { - // Give the oportunity to subclasses to resolve the path - if (!TryToResolveBasePath()) - { - // If no base path has been specified default to current - if (string.IsNullOrEmpty(Base)) - Base = SysGenPathResolver.GetPath(this, SysGen.RootTask); - } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FolderBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FolderBaseTask.cs deleted file mode 100644 index c17c86473f2..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/FolderBaseTask.cs +++ /dev/null @@ -1,15 +0,0 @@ -//using System; - -//using SysGen.BuildEngine.Attributes; -//using SysGen.RBuild.Framework; - -//namespace SysGen.BuildEngine.Tasks -//{ -// public abstract class FolderBaseTask : Task -// { -// protected override void CreateFileSystemObject() -// { -// m_FileSystemInfo = new RBuildFolder(); -// } -// } -//} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PlatformFileBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PlatformFileBaseTask.cs deleted file mode 100644 index 2bfa1c70702..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PlatformFileBaseTask.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class PlatformFileBaseTask : FileBaseTask - { - /// - /// The define value. - /// - [TaskValue] - public string FileName { get { return m_FileSystemInfo.Name; } set { m_FileSystemInfo.Name = value; } } - - [TaskAttribute("installbase")] - public string InstallBase { get { return PlatformFile.InstallBase; } set { PlatformFile.InstallBase = value; } } - - /// - /// Get the underlying . - /// - public RBuildPlatformFile PlatformFile - { - get { return m_FileSystemInfo as RBuildPlatformFile; } - } - - protected override void ExecuteTask() - { - //Call the base class - base.ExecuteTask(); - - //Add the file - RBuildElement.Files.Add(PlatformFile); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PropertyBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PropertyBaseTask.cs deleted file mode 100644 index cc9e8fd8c55..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/PropertyBaseTask.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Xml; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class PropertyBaseTask : Task - { - protected string m_Name = null; - protected string m_Value = String.Empty; - protected bool m_ReadOnly = false; - protected bool m_Internal = false; - - /// the name of the property to set. - [TaskAttribute("name", Required=true)] - public string PropName { get { return m_Name; } set { m_Name = value; } } - - /// the value of the property. - [TaskAttribute("value", Required=true)] - public string Value { get { return m_Value; } set { m_Value = value; } } - - /// the value of the property. - [TaskAttribute("readonly")] - [BooleanValidator()] - public bool ReadOnly { get { return m_ReadOnly; } set { m_ReadOnly = value; } } - - [TaskAttribute("internal")] - [BooleanValidator()] - public bool Internal { get { return m_Internal; } set { m_Internal = value; } } - - protected override void OnLoad() - { - Project.Properties.Add(new RBuildProperty(m_Name, m_Value, m_ReadOnly, m_Internal)); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/RbuildElementBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/RbuildElementBaseTask.cs deleted file mode 100644 index 7afe7a5f9ab..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/RbuildElementBaseTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Xml; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class RbuildElementBaseTask : Task - { - protected override void OnLoad() - { - - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/ValueBaseTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/ValueBaseTask.cs deleted file mode 100644 index ae1c1137c7f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Base/ValueBaseTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - public abstract class ValueBaseTask : Task - { - protected string _value = null; - - /// - /// The define value. - /// - [TaskValue] - public virtual string Value { get { return _value; } set { _value = value; } } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BaseAdressTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BaseAdressTask.cs deleted file mode 100644 index 39ea6a8c071..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BaseAdressTask.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Xml; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("baseadress")] - public class BaseAdressTask : PropertyBaseTask - { - protected override void OnLoad() - { - Project.Properties.Add(new RBuildBaseAdress(m_Name, m_Value)); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootSector.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootSector.cs deleted file mode 100644 index 05ce34d2b35..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootSector.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("bootsector")] - public class BootSector : ValueBaseTask - { - protected override void ExecuteTask() - { - RBuildModule bootModule = Project.Modules.GetByName(Value); - - if (bootModule != null) - { - if (bootModule.Type == ModuleType.BootSector) - { - if (Module.Type == ModuleType.Iso || - Module.Type == ModuleType.IsoRegTest || - Module.Type == ModuleType.LiveIso || - Module.Type == ModuleType.LiveIsoRegTest) - { - if (Module.BootSector == null) - Module.BootSector = bootModule; - } - else - throw new BuildException(" is not applicable for this module type.", Location); - } - else - throw new BuildException(" for module '{0}' is referencing a non BootSector module '{1}'", - Module.Name, - bootModule.Name, - Location); - } - else - throw new BuildException(" for module '{0}' is referencing a non existing module '{1}'", - Module.Name, - Value, - Location); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapFileTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapFileTask.cs deleted file mode 100644 index 7d68ee9fc99..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapFileTask.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("bootstrapfile")] - public class BootstrapFileTask : CDFileBaseTask //FileBaseTask ///PlatformFileBaseTask - { - public BootstrapFileTask() - { - } - - [TaskValue] - public string FileName { get { return m_FileSystemInfo.Name; } set { m_FileSystemInfo.Name = value; } } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildBootstrapFile(); - } - - public RBuildBootstrapFile BootStrapFile - { - get { return m_FileSystemInfo as RBuildBootstrapFile; } - } - - protected override bool TryToResolveBasePath() - { - Base = "i386"; - return true; - } - - protected override void ExecuteTask() - { - //Call the base class - base.ExecuteTask(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapTask.cs deleted file mode 100644 index a3713de30bf..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BootstrapTask.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("bootstrap")] - public class BootstrapTask : CDFileBaseTask - { - public BootstrapTask() - { - m_FileSystemInfo = new RBuildBootstrapFile(); - } - - private RBuildBootstrapFile BootstrapFile - { - get { return m_FileSystemInfo as RBuildBootstrapFile; } - } - - protected override void ExecuteTask() - { - if ((Module.Type == ModuleType.Kernel) || - (Module.Type == ModuleType.KernelModeDLL) || - (Module.Type == ModuleType.KeyboardLayout) || - (Module.Type == ModuleType.KernelModeDriver) || - (Module.Type == ModuleType.NativeDLL) || - (Module.Type == ModuleType.NativeCUI) || - (Module.Type == ModuleType.Win32DLL) || - (Module.Type == ModuleType.Win32OCX) || - (Module.Type == ModuleType.Win32CUI) || - (Module.Type == ModuleType.Win32SCR) || - (Module.Type == ModuleType.Win32GUI) || - (Module.Type == ModuleType.BootSector) || - (Module.Type == ModuleType.BootLoader) || - (Module.Type == ModuleType.BootProgram) || - (Module.Type == ModuleType.Cabinet)) - { - BootstrapFile.Element = RBuildElement; - BootstrapFile.Name = Module.TargetName; - BootstrapFile.Root = Module.TargetDefaultRoot; - BootstrapFile.Base = Module.Folder.FullPath; - - Module.Bootstrap = BootstrapFile; - - //Project.Files.Add(BootstrapFile); - } - else - throw new BuildException(" is not applicable for this module type.", Location); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BuildFamilyTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BuildFamilyTask.cs deleted file mode 100644 index 29d2ead87aa..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/BuildFamilyTask.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - /// - /// Just a task container - /// - [TaskName("buildfamily")] - public class BuildFamilyTask : Task - { - private RBuildBuildFamily m_BuildFamily = new RBuildBuildFamily(); - - [TaskAttribute("name", Required = true)] - public string FamilyName { get { return m_BuildFamily.Name; } set { m_BuildFamily.Name = value; } } - - [TaskAttribute("description")] - public string FamilyDescription { get { return m_BuildFamily.Description; } set { m_BuildFamily.Description = value; } } - - protected override void PreExecuteTask() - { - Project.BuildFamilies.Add(m_BuildFamily); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CDFileTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CDFileTask.cs deleted file mode 100644 index 6f9b6bcf13a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CDFileTask.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("cdfile")] - public class CDFileTask : CDFileBaseTask - { - public CDFileTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildCDFile(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilationUnitTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilationUnitTask.cs deleted file mode 100644 index d08a5005ed7..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilationUnitTask.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("compilationunit")] - public class CompilationUnitTask : FileSystemInfoBaseTask, ITaskContainer, IRBuildSourceFilesContainer - { - private TaskCollection m_ChildTasks = new TaskCollection(); - - public CompilationUnitTask() - { - Root = PathRoot.Intermediate; - } - - public TaskCollection ChildTasks - { - get { return m_ChildTasks; } - } - - public bool ExecuteChilds - { - get { return true; } - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildCompilationUnitFile(); - } - - public RBuildCompilationUnitFile CompilationUnit - { - get { return m_FileSystemInfo as RBuildCompilationUnitFile; } - } - - public RBuildSourceFileCollection SourceFiles - { - get { return CompilationUnit.SourceFiles; } - } - - /// - /// The name of the compilation unit to set. - /// - [TaskAttribute("name")] - public string FileName { get { return m_FileSystemInfo.Name; } set { m_FileSystemInfo.Name = value; } } - - protected override void ExecuteTask() - { - base.ExecuteTask(); - - // Add the compilation unit to the current module - Module.CompilationUnits.Add(CompilationUnit); - } - - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilerFlagTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilerFlagTask.cs deleted file mode 100644 index 87eb278d232..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/CompilerFlagTask.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("compilerflag")] - public class CompilerFlagTask : ValueBaseTask - { - protected override void ExecuteTask() - { - RBuildElement.CompilerFlags.Add(Value); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ComponentTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ComponentTask.cs deleted file mode 100644 index 7063b105a2d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ComponentTask.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("component")] - public class ComponentTask : Task - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ContributorTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ContributorTask.cs deleted file mode 100644 index a6528adddea..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ContributorTask.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("contributor")] - public class ContributorTask : Task - { - private RBuildContributor m_Contributor = new RBuildContributor(); - - [TaskAttribute("firstname", Required = true)] - public string FirstName { get { return m_Contributor.FirstName; } set { m_Contributor.FirstName = value; } } - - [TaskAttribute("city")] - public string City { get { return m_Contributor.City; } set { m_Contributor.City = value; } } - - [TaskAttribute("country")] - public string Country { get { return m_Contributor.Country; } set { m_Contributor.Country = value; } } - - [TaskAttribute("lastname")] - public string LastName { get { return m_Contributor.LastName; } set { m_Contributor.LastName = value; } } - - [TaskAttribute("alias")] - public string Alias { get { return m_Contributor.Alias; } set { m_Contributor.Alias = value; } } - - [TaskAttribute("mail")] - public string Mail { get { return m_Contributor.Mail; } set { m_Contributor.Mail = value; } } - - [TaskAttribute("website")] - public string Website { get { return m_Contributor.Website; } set { m_Contributor.Website = value; } } - - [TaskAttribute("active")] - public bool Active { get { return m_Contributor.Active; } set { m_Contributor.Active = value; } } - - protected override void ExecuteTask() - { - Project.Contributors.Add(m_Contributor); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DebugChannelTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DebugChannelTask.cs deleted file mode 100644 index 886d0489155..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DebugChannelTask.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("debugchannel")] - public class DebugChannelTask : Task - { - RBuildDebugChannel m_DebugChannel = new RBuildDebugChannel(); - - [TaskAttribute("name")] - [TaskValue] - public string ChannelName - { - get { return m_DebugChannel.Name; } - set { m_DebugChannel.Name = value; } - } - - [TaskAttribute("warning")] - public bool Warning - { - get { return m_DebugChannel.Warn; } - set { m_DebugChannel.Warn = value; } - } - - [TaskAttribute("trace")] - public bool Trace - { - get { return m_DebugChannel.Trace; } - set { m_DebugChannel.Trace = value; } - } - - [TaskAttribute("fixme")] - public bool Fixme - { - get { return m_DebugChannel.Fixme; } - set { m_DebugChannel.Fixme = value; } - } - - [TaskAttribute("error")] - public bool Error - { - get { return m_DebugChannel.Error; } - set { m_DebugChannel.Error = value; } - } - - protected override void ExecuteTask() - { - Project.DebugChannels.Add(m_DebugChannel); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DefineTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DefineTask.cs deleted file mode 100644 index 071ff49d50f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DefineTask.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("define")] - public class DefineTask : Task - { - private string _name = null; - private string _value = String.Empty; - private string _backend = String.Empty; - private bool _empty = false; - - /// - /// The name of the define to set. - /// - [TaskAttribute("name", Required=true)] - public string DefineName { get { return _name; } set { _name = value; } } - - /// - /// The define value. - /// - [TaskAttribute("value")] - [TaskValue] - public string DefineValue { get { return _value; } set { _value = value; } } - - /// - /// The name of the define to set. - /// - [TaskAttribute("empty")] - [BooleanValidator] - public bool Empty { get { return _empty; } set { _empty = value; } } - - // TODO : Remove ? - [TaskAttribute("backend")] - public string Backend { get { return _backend; } set { _backend = value; } } - - protected override void ExecuteTask() - { - RBuildElement.Defines.Add(new RBuildDefine(DefineName, DefineValue)); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DependencyTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DependencyTask.cs deleted file mode 100644 index d9a90606f42..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DependencyTask.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("dependency")] - public class DependencyTask : ValueBaseTask - { - /// - /// The define value. - /// - [TaskValue(Required = true)] - public virtual string Value { get { return _value; } set { _value = value; } } - - protected override void ExecuteTask() - { - RBuildModule dependency = Project.Modules.GetByName(Value); - - if (dependency == null) - throw new BuildException("Unknown dependency '{0}' referenced by module '{1}'", Value, Module.Name); - - Module.Dependencies.Add(dependency); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DeveloperTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DeveloperTask.cs deleted file mode 100644 index 1c2a6a4fe61..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DeveloperTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("developer")] - public class DeveloperTask : AuthorBaseTask - { - public DeveloperTask() - { - m_Author.Role = AuthorRole.Developer; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DirectoryTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DirectoryTask.cs deleted file mode 100644 index efc632767c8..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/DirectoryTask.cs +++ /dev/null @@ -1,59 +0,0 @@ -using System.IO; -using System.Collections.Generic; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("directory")] - public class DirectoryTask : FileSystemInfoBaseTask, ITaskContainer//, IDirectory - { - private TaskCollection m_ChildTasks = new TaskCollection(); - - public DirectoryTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildFolder(); - } - - public TaskCollection ChildTasks - { - get { return m_ChildTasks; } - } - - public bool ExecuteChilds - { - get { return true; } - } - - /// - /// The directory name. - /// - [TaskAttribute("name", Required = true)] - public virtual string Name { get { return m_FileSystemInfo.Name; } set { m_FileSystemInfo.Name = value; } } - - public RBuildFolder Folder - { - get { return m_FileSystemInfo as RBuildFolder; } - } - - protected override void OnInit() - { - base.OnInit(); - - Base = SysGenPathResolver.GetPath(this, SysGen.RootTask); - } - - protected override void ExecuteTask() - { - base.ExecuteTask(); - - if (RBuildElement.Folders.Contains(Folder) == false) - RBuildElement.Folders.Add(Folder); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FamilyTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FamilyTask.cs deleted file mode 100644 index 6051c9b52c8..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FamilyTask.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("family")] - public class FamilyTask : Task - { - private RBuildFamily m_Family = new RBuildFamily(); - - [TaskValue(Required = true)] - public string FamilyName { get { return m_Family.Name; } set { m_Family.Name = value; } } - - protected override void ExecuteTask() - { - RBuildBuildFamily buildFamily = Project.BuildFamilies.GetByName(FamilyName); - - if (buildFamily == null) - throw new BuildException("Module '{0}' references a no existant family '{1}'", - Module.Name, - FamilyName); - - Module.Families.Add(m_Family); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FileTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FileTask.cs deleted file mode 100644 index 0b3e3af243d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/FileTask.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("file")] - public class FileTask : FileBaseTask - { - public FileTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildSourceFile(); - } - - [TaskAttribute("switches")] - public string Switches { get { return SourceFile.Switches; } set { SourceFile.Switches = value; } } - - [TaskAttribute("first")] - [BooleanValidator] - public bool First { get { return SourceFile.First; } set { SourceFile.First = value; } } - - /// - /// Set the root to the same as the containing folder - /// - protected override void SetRootFromParent() - { - Root = InFolder.Root; - } - - public RBuildSourceFile SourceFile - { - get { return m_FileSystemInfo as RBuildSourceFile; } - } - - protected override void ExecuteTask() - { - //Call the base class - base.ExecuteTask(); - - //Add the file - Module.SourceFiles.Add(SourceFile); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/GroupTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/GroupTask.cs deleted file mode 100644 index f98029aa1fd..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/GroupTask.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - /// - /// Just a simple task container - /// - [TaskName("group")] - public class GroupTask : TaskContainer - { - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ImportLibraryTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ImportLibraryTask.cs deleted file mode 100644 index 31e212c0a7a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ImportLibraryTask.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("importlibrary")] - public class ImportLibraryTask : AutoResolvableFileSystemInfoBaseTask //FileBaseTask - { - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildImportLibrary(); - } - - public RBuildImportLibrary ImportLibrary - { - get { return m_FileSystemInfo as RBuildImportLibrary; } - } - - /// - /// The directory name. - /// - [TaskAttribute("dllname")] - public string DllName { get { return ImportLibrary.DllName; } set { ImportLibrary.DllName = value; } } - - /// - /// The directory name. - /// - [TaskAttribute("definition", Required = true)] - public string Definition { get { return ImportLibrary.Name; } set { ImportLibrary.Name = value; } } - - protected override void ExecuteTask() - { - base.ExecuteTask(); - - //Hack:: - if (ImportLibrary.IsSpecFile) - ImportLibrary.Root = PathRoot.Intermediate; - - if ((DllName == null) && (Module.Type == ModuleType.StaticLibrary)) - throw new BuildException(" dllname attribute is required.", Location); - - if (Module.ImportLibrary != null) - throw new BuildException("Only one is allowed per module.", Location); - - Module.ImportLibrary = ImportLibrary; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/IncludeTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/IncludeTask.cs deleted file mode 100644 index b923ecf157b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/IncludeTask.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.IO; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("include")] - public class IncludeTask : AutoResolvableFileSystemInfoBaseTask //FileSystemInfoBaseTask - { - public IncludeTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildFolder(); - } - - [TaskValue] - public virtual string IncludePath - { - get { return m_FileSystemInfo.Name; } - set { m_FileSystemInfo.Name = value; } - } - - public RBuildFolder IncludeFolder - { - get { return m_FileSystemInfo as RBuildFolder; } - } - - protected override void ExecuteTask() - { - //Call the base class - base.ExecuteTask(); - - //Add include folder... - RBuildElement.IncludeFolders.Add(IncludeFolder); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstalFolder.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstalFolder.cs deleted file mode 100644 index f395b8efda9..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstalFolder.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("installfolder")] - public class InstalFolder : Task - { - RBuildInstallFolder m_InstallFolder = new RBuildInstallFolder(); - - /// - /// The name of the define to set. - /// - [TaskAttribute("id")] - public string ID { get { return m_InstallFolder.ID; } set { m_InstallFolder.ID = value; } } - - /// - /// The name of the define to set. - /// - [TaskAttribute("name")] - [TaskValue(Required = true)] - public string Name { get { return m_InstallFolder.Name; } set { m_InstallFolder.Name = value; } } - - protected override void ExecuteTask() - { - Project.InstallFolders.Add(m_InstallFolder); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallComponent.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallComponent.cs deleted file mode 100644 index 36fc4567114..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallComponent.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("installcomponent")] - public class InstallComponent : FileBaseTask - { - public InstallComponent() - { - } - - [TaskAttribute("section")] - public string InstallSection { get { return InstallComponentFile.InstallSection; } set { InstallComponentFile.InstallSection = value; } } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildInfInstallerFile(); - } - - public RBuildInfInstallerFile InstallComponentFile - { - get { return m_FileSystemInfo as RBuildInfInstallerFile; } - } - - protected override void ExecuteTask() - { - //Call the base class - base.ExecuteTask(); - - if (Module.LinkerScript != null) - throw new BuildException("Only one is allowed per module", Location); - - //Module.InfInstall = InstallComponentFile; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallFileTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallFileTask.cs deleted file mode 100644 index ec7bb2a3154..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallFileTask.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("installfile")] - public class InstallFileTask : PlatformFileBaseTask - { - public InstallFileTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildInstallFile(); - } - - /// - /// The name of the define to set. - /// - [TaskAttribute("newname")] - public string NewName { get { return InstallFile.NewName; } set { InstallFile.NewName = value; } } - - private RBuildInstallFile InstallFile - { - get { return m_FileSystemInfo as RBuildInstallFile; } - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallWallPaperFileTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallWallPaperFileTask.cs deleted file mode 100644 index d8e8e4a774f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/InstallWallPaperFileTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("installwallpaperfile")] - public class InstallWallPaperFileTask : PlatformFileBaseTask - { - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildInstallWallpaperFile(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LanguageTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LanguageTask.cs deleted file mode 100644 index 4acf0a8788c..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LanguageTask.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("language")] - public class LanguageTask : Task - { - RBuildLanguage m_Language = new RBuildLanguage(); - - [TaskAttribute("isoname")] - public string IsoName { get { return m_Language.Name; } set { m_Language.Name = value; } } - - [TaskAttribute("lcid")] - public string LCID { get { return m_Language.LCID; } set { m_Language.LCID = value; } } - - protected override void ExecuteTask() - { - Project.Languages.Add(m_Language); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LibraryTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LibraryTask.cs deleted file mode 100644 index 79c3f159b1a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LibraryTask.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("library")] - public class LibraryTask : ValueBaseTask - { - /// - /// The define value. - /// - [TaskValue(Required=true)] - public override string Value { get { return _value; } set { _value = value; } } - - protected override void ExecuteTask() - { - RBuildModule libModule = Project.Modules.GetByName(Value); - - if (libModule == null) - throw new BuildException("Unknown library dependency '{0}' referenced by module '{1}'", Value, Module.Name); - - if (Module.Host != libModule.Host) - throw new BuildException("Module '{0}' is trying to link against library '{1}' but can't mix target and hosts", - Module.Name, - libModule.Name); - - if ((libModule.Type != ModuleType.NativeDLL) && - (libModule.Type != ModuleType.Win32DLL) && - (libModule.Type != ModuleType.StaticLibrary) && - (libModule.Type != ModuleType.ObjectLibrary) && - (libModule.Type != ModuleType.Kernel) && - (libModule.Type != ModuleType.KernelModeDLL) && - (libModule.Type != ModuleType.KernelModeDriver) && - (libModule.Type != ModuleType.KeyboardLayout) && - (libModule.Type != ModuleType.RpcServer) && - (libModule.Type != ModuleType.RpcClient) && - (libModule.Type != ModuleType.RpcProxy) && - (libModule.Type != ModuleType.HostStaticLibrary)) - { - throw new BuildException("Module '{0}' is trying to use Module '{1}' as a library but it is a '{2}'", - Module.Name, - libModule.Name, - libModule.Type); - } - - Module.Libraries.Add(libModule); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerFlagTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerFlagTask.cs deleted file mode 100644 index 7a12e3fae3a..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerFlagTask.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("linkerflag")] - public class LinkerFlagTask : ValueBaseTask - { - protected override void ExecuteTask() - { - RBuildElement.LinkerFlags.Add(Value); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerScriptTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerScriptTask.cs deleted file mode 100644 index e52c49ab9ff..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LinkerScriptTask.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("linkerscript")] - public class LinkerScriptTask : FileBaseTask - { - public LinkerScriptTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildFile(); - } - - public RBuildFile ScriptFile - { - get { return m_FileSystemInfo as RBuildFile; } - } - - protected override void ExecuteTask() - { - //Call the base class - base.ExecuteTask(); - - if (Module.LinkerScript != null) - throw new BuildException("Only one is allowed per module", Location); - - Module.LinkerScript = ScriptFile; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LocalizationTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LocalizationTask.cs deleted file mode 100644 index 907505d86ca..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/LocalizationTask.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("localization")] - public class LocalizationTask : FileBaseTask - { - public LocalizationTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildLocalizationFile(); - } - - [TaskAttribute("isoname")] - public string IsoName { get { return LocalizationFile.IsoName; } set { LocalizationFile.IsoName = value; } } - - [TaskAttribute("dirty")] - public bool Dirty { get { return LocalizationFile.Dirty; } set { LocalizationFile.Dirty = value; } } - - private RBuildLocalizationFile LocalizationFile - { - get { return m_FileSystemInfo as RBuildLocalizationFile; } - } - - protected override void ExecuteTask() - { - RBuildLanguage language = Project.Languages.GetByName(IsoName); - - if (language == null) - throw new BuildException("Unknown language '{0}' referenced by module '{1}'", IsoName, Module.Name); - - Module.LocalizationFiles.Add(LocalizationFile); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MantainterTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MantainterTask.cs deleted file mode 100644 index 91f61db53a1..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MantainterTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("mantainer")] - public class MantainterTask : AuthorBaseTask - { - public MantainterTask() - { - m_Author.Role = AuthorRole.Mantainer; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MetadataTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MetadataTask.cs deleted file mode 100644 index 3e2b4b67053..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/MetadataTask.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("metadata")] - public class MetadataTask : Task - { - RBuildMetadata m_Metadata = new RBuildMetadata(); - - /// - /// The module description. - /// - [TaskAttribute("description")] - public string Description { get { return m_Metadata.Description; } set { m_Metadata.Description = value; } } - - protected override void ExecuteTask() - { - if (Module.Metadata != null) - throw new BuildException("Only one is allowed per module.", Location); - - Module.Metadata = m_Metadata; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleStateTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleStateTask.cs deleted file mode 100644 index f15b47bf9dc..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleStateTask.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("modulestate")] - public class ModuleStateTask : Task - { - private string m_ModuleName = null; - private bool m_Enabled = true; - - [TaskAttribute("name")] - public string ModuleName { get { return m_ModuleName; } set { m_ModuleName = value; } } - - [TaskAttribute("enabled")] - [BooleanValidator] - public bool Enabled { get { return m_Enabled; } set { m_Enabled = value; } } - - protected override void ExecuteTask() - { - if (ModuleName != null) - { - RBuildModule module = Project.Modules.GetByName(ModuleName); - - if (module == null) - throw new BuildException(string.Format("Could not change state for module '{0}'", ModuleName, Location)); - - module.Enabled = Enabled; - } - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleTask.cs deleted file mode 100644 index ba9b2e09d58..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ModuleTask.cs +++ /dev/null @@ -1,589 +0,0 @@ -using System; -using System.IO; -using System.Xml; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("module")] - public class ModuleTask : TaskContainer /*AutoResolvableFileSystemInfoBaseTask ,, ITaskContainer,*/ /*TaskContainer,*/ , ISysGenObject/*, IDirectory,*/, IRBuildSourceFilesContainer - { - protected RBuildModule m_Module = new RBuildModule(); - - [TaskAttribute("name", Required = true)] - [StringValidator(AllowEmpty = false, AllowSpaces = false)] - public string ModuleName - { - get { return m_Module.Name; } - set { m_Module.Name = value; } - } - - [TaskAttribute("type", Required = true)] - public ModuleType Type - { - get { return m_Module.Type; } - set { m_Module.Type = value; } - } - - [TaskAttribute("buildtype")] - public string BuildType - { - get { return m_Module.BuildType; } - set { m_Module.BuildType = value; } - } - - [TaskAttribute("description", ExpandProperties = true)] - public string Description - { - get { return m_Module.Description; } - set { m_Module.Description = value; } - } - - [TaskAttribute("lcid")] - public string LCID - { - get { return m_Module.LCID; } - set { m_Module.LCID = value; } - } - - [TaskAttribute("installname")] - public string InstallName - { - get { return m_Module.InstallName; } - set { m_Module.InstallName = value; } - } - - [TaskAttribute("installbase")] - [UriValidatorAttribute] - public string InstallBase - { - get { return m_Module.InstallBase; } - set { m_Module.InstallBase = value; } - } - - [TaskAttribute("output")] - public string Output - { - get { return m_Module.OutputName; } - set { m_Module.OutputName = value; } - } - - [TaskAttribute("baseaddress")] - public string BaseAdress - { - get { return m_Module.BaseAddress; } - set { m_Module.BaseAddress = value; } - } - - [TaskAttribute("entrypoint")] - public string EntryPoint - { - get { return m_Module.EntryPoint; } - set { m_Module.EntryPoint = value; } - } - - [TaskAttribute("aliasof")] - public string AliasOf - { - get { return m_Module.AliasOf; } - set { m_Module.AliasOf = value; } - } - - [TaskAttribute("extension")] - public string Extension - { - get { return m_Module.Extension; } - set { m_Module.Extension = value; } - } - - [TaskAttribute("unicode")] - [BooleanValidator()] - public bool Unicode - { - get { return m_Module.Unicode; } - set { m_Module.Unicode = value; } - } - - [TaskAttribute("host")] - [BooleanValidator()] - public bool Host - { - get { return m_Module.Host; } - set { m_Module.Host = value; } - } - - [TaskAttribute("isstartuplib")] - [BooleanValidator()] - public bool IsStartupLib - { - get { return m_Module.IsStartupLib; } - set { m_Module.IsStartupLib = value; } - } - - [TaskAttribute("underscoresymbols")] - [BooleanValidator()] - public bool UnderscoreSymbols - { - get { return m_Module.UnderscoreSymbols; } - set { m_Module.UnderscoreSymbols = value; } - } - - [TaskAttribute("mangledsymbols")] - [BooleanValidator()] - public bool MangledSymbols - { - get { return m_Module.MangledSymbols; } - set { m_Module.MangledSymbols = value; } - } - - [TaskAttribute("allowwarnings")] - [BooleanValidator()] - public bool AllowWarnings - { - get { return m_Module.AllowWarnings; } - set { m_Module.AllowWarnings = value; } - } - - public RBuildModule Module - { - get { return m_Module; } - } - - public RBuildElement RBuildElement - { - get { return m_Module; } - } - - public PathRoot Root - { - get { return PathRoot.Default; } - } - - public RBuildSourceFileCollection SourceFiles - { - get { return Module.SourceFiles; } - } - - protected override void OnLoad() - { - base.OnLoad(); - - if ((Module.Type == ModuleType.BootLoader) || - (Module.Type == ModuleType.BootProgram) || - (Module.Type == ModuleType.BootSector) || - (Module.Type == ModuleType.EmbeddedTypeLib) || - (Module.Type == ModuleType.IdlHeader) || - (Module.Type == ModuleType.IdlInterface) || - (Module.Type == ModuleType.Kernel) || - (Module.Type == ModuleType.KernelModeDLL) || - (Module.Type == ModuleType.KernelModeDriver) || - (Module.Type == ModuleType.NativeCUI) || - (Module.Type == ModuleType.NativeDLL) || - (Module.Type == ModuleType.ObjectLibrary) || - (Module.Type == ModuleType.StaticLibrary) || - (Module.Type == ModuleType.RpcClient) || - (Module.Type == ModuleType.RpcServer) || - (Module.Type == ModuleType.RpcProxy) || - (Module.Type == ModuleType.Win32CUI) || - (Module.Type == ModuleType.Win32DLL) || - (Module.Type == ModuleType.Win32GUI) || - (Module.Type == ModuleType.Win32OCX) || - (Module.Type == ModuleType.Win32SCR) || - //(Module.Type == ModuleType.Alias) || - (Module.Type == ModuleType.HostStaticLibrary) || - (Module.Type == ModuleType.BuildTool) || - (Module.Type == ModuleType.Cabinet) || - (Module.Type == ModuleType.KeyboardLayout) || - (Module.Type == ModuleType.Iso) || - (Module.Type == ModuleType.IsoRegTest) || - (Module.Type == ModuleType.LiveIso) || - (Module.Type == ModuleType.LiveIsoRegTest) || - (Module.Type == ModuleType.MessageHeader) || - (Module.Type == ModuleType.Package) || - (Module.Type == ModuleType.ModuleGroup) || - (Module.Type == ModuleType.PlatformProfile)) - { - Module.Folder.Base = SysGenPathResolver.GetPath(this, SysGen.RootTask); - //Module.Base = SysGenPathResolver.GetPath(this, SysGen.ProjectTask); //BasePath; - Module.Path = SysGen.BaseDirectory; - Module.XmlFile = XmlFile; - Module.RBuildFile = RBuildFile; - Module.Enabled = false; - - //HACK: - if (Type == ModuleType.HostStaticLibrary || - Type == ModuleType.BuildTool) - { - Module.Host = true; - } - - // Add the module to the project - Project.Modules.Add(Module); - } - else - { - Console.WriteLine("WARNING: modules of type '{0}' are being omited" , Module.Type); - } - } - - private void AddModuleDefines() - { - switch (Type) - { - case ModuleType.NativeCUI: - { - Module.Defines.Add("__NTAPP__"); - } - break; - case ModuleType.KernelModeDriver: - { - Module.Defines.Add("__NTDRIVER__"); - } - break; - } - - if (Unicode) - { - Module.Defines.Add("UNICODE"); - Module.Defines.Add("_UNICODE"); - } - } - - private void AddModuleLinkerFlags() - { - switch (Type) - { - case ModuleType.Win32DLL: - case ModuleType.Win32OCX: - case ModuleType.Win32CUI: - case ModuleType.Win32GUI: - case ModuleType.Win32SCR: - { - Module.LinkerFlags.Add("-nostartfiles"); - Module.LinkerFlags.Add("-lgcc"); - - if (Module.CPlusPlus) - Module.LinkerFlags.Add("-nostdlib"); - } - break; - case ModuleType.Kernel: - { - break; - } - case ModuleType.KeyboardLayout: - case ModuleType.KernelModeDLL: - case ModuleType.KernelModeDriver: - case ModuleType.NativeCUI: - case ModuleType.NativeDLL: - case ModuleType.Test: - case ModuleType.BootLoader: - case ModuleType.BootProgram: - { - Module.LinkerFlags.Add("-nostartfiles"); - Module.LinkerFlags.Add("-nostdlib"); - } - break; - } - - Module.LinkerFlags.Add("-g"); - } - - private void AddDebugSupportLibraries() - { - switch (Type) - { - case ModuleType.Win32DLL: - case ModuleType.Win32OCX: - case ModuleType.Win32CUI: - case ModuleType.Win32GUI: - case ModuleType.Win32SCR: - case ModuleType.NativeCUI: - case ModuleType.NativeDLL: - { - Module.Libraries.Add(Project.Modules.GetByName("debugsup_ntdll")); - } - break; - case ModuleType.KeyboardLayout: - case ModuleType.KernelModeDLL: - case ModuleType.KernelModeDriver: - { - Module.Libraries.Add(Project.Modules.GetByName("debugsup_ntoskrnl")); - } - break; - } - } - - private void AddModuleCompilerFlags() - { - if (!AllowWarnings) - { - Module.CompilerFlags.Add("-Werror"); - } - - // Always force disabling of sibling calls optimisation for GCC - // (TODO: Move to version-specific once this bug is fixed in GCC) - Module.CompilerFlags.Add("-fno-optimize-sibling-calls"); - Module.CompilerFlags.Add("-g"); - Module.CompilerFlags.Add("-pipe"); - } - - private void AddRequiredBuildTools() - { - switch (Module.Type) - { - case ModuleType.BootLoader: - case ModuleType.BootProgram: - case ModuleType.BootSector: - case ModuleType.EmbeddedTypeLib: - case ModuleType.IdlHeader: - case ModuleType.MessageHeader: - case ModuleType.Kernel: - case ModuleType.KernelModeDLL: - case ModuleType.KernelModeDriver: - case ModuleType.NativeCUI: - case ModuleType.NativeDLL: - case ModuleType.ObjectLibrary: - case ModuleType.StaticLibrary: - case ModuleType.RpcClient: - case ModuleType.RpcServer: - case ModuleType.RpcProxy: - case ModuleType.Win32CUI: - case ModuleType.Win32DLL: - case ModuleType.Win32GUI: - case ModuleType.Win32OCX: - case ModuleType.Win32SCR: - case ModuleType.HostStaticLibrary: - case ModuleType.KeyboardLayout: - Module.Requeriments.Add(Project.Modules.GetByName("wrc")); - Module.Requeriments.Add(Project.Modules.GetByName("wmc")); - Module.Requeriments.Add(Project.Modules.GetByName("widl")); - Module.Requeriments.Add(Project.Modules.GetByName("winebuild")); - Module.Requeriments.Add(Project.Modules.GetByName("winebuild")); - break; - case ModuleType.Cabinet: - Module.Requeriments.Add(Project.Modules.GetByName("cabman")); - break; - case ModuleType.Iso: - Module.Requeriments.Add(Project.Modules.GetByName("cdmake")); - Module.Requeriments.Add(Project.Modules.GetByName("cabman")); - break; - case ModuleType.IsoRegTest: - Module.Requeriments.Add(Project.Modules.GetByName("cdmake")); - Module.Requeriments.Add(Project.Modules.GetByName("cabman")); - Module.Requeriments.Add(Project.Modules.GetByName("sysreg")); - break; - case ModuleType.LiveIso: - Module.Requeriments.Add(Project.Modules.GetByName("cdmake")); - Module.Requeriments.Add(Project.Modules.GetByName("mkhive")); - break; - case ModuleType.LiveIsoRegTest: - Module.Requeriments.Add(Project.Modules.GetByName("cdmake")); - Module.Requeriments.Add(Project.Modules.GetByName("mkhive")); - Module.Requeriments.Add(Project.Modules.GetByName("sysreg")); - break; - } - } - - private void AddDefaultDependencies() - { - if (Module.Type != ModuleType.BuildTool && - Module.Type != ModuleType.HostStaticLibrary && - Module.Host == false) - { - if (Module.Name != "psdk" && - Module.Name != "dxsdk" && - Module.Name != "errcodes" && - Module.Name != "bugcodes" && - Module.Name != "ntstatus") - { - Module.Dependencies.Add(Project.Modules.GetByName("psdk")); - Module.Dependencies.Add(Project.Modules.GetByName("dxsdk")); - Module.Dependencies.Add(Project.Modules.GetByName("errcodes")); - Module.Dependencies.Add(Project.Modules.GetByName("bugcodes")); - Module.Dependencies.Add(Project.Modules.GetByName("ntstatus")); - } - } - } - - //public RBuildFolder Folder - //{ - // get { return null; } - //} - - private void AddModuleLibraryDependencies() - { - // Add mingw and msvcrt implicit libraries only if it's - // a Win32 target. - - if ((Module.Type == ModuleType.Win32CUI) || - (Module.Type == ModuleType.Win32DLL) || - (Module.Type == ModuleType.Win32GUI) || - (Module.Type == ModuleType.Win32OCX) || - (Module.Type == ModuleType.Win32SCR)) - { - if (!Module.IsDefaultEntryPoint) - { - if (Module.NoEntryPoint) - { - if (Module.LinksToCRuntimeLibrary == false) - { - Module.Libraries.Add(0, Project.Modules.GetByName("mingw_common")); - } - } - } - else - { - if (!Module.IsDLL) - { - if (Unicode) - { - Module.Libraries.Add(0, Project.Modules.GetByName("mingw_wmain")); - } - else - { - Module.Libraries.Add(0, Project.Modules.GetByName("mingw_main")); - } - } - - //Is it correct ? - if (Module.Libraries.Count > 0) - { - Module.Libraries.Add(1, Project.Modules.GetByName("mingw_common")); - } - else - { - Module.Libraries.Add(0, Project.Modules.GetByName("mingw_common")); - } - } - } - } - - private void AddCRuntimeLibrary() - { - if ((Module.Type == ModuleType.Win32CUI) || - (Module.Type == ModuleType.Win32DLL) || - (Module.Type == ModuleType.Win32GUI) || - (Module.Type == ModuleType.Win32OCX) || - (Module.Type == ModuleType.Win32SCR)) - { - if (Module.IsDefaultEntryPoint || Module.NoEntryPoint) - { - if (Module.LinksToCRuntimeLibrary == false) - { - if (Module.Name != "msvcrt") - { - // Link msvcrt to get the basic routines - Module.Libraries.Add(Project.Modules.GetByName("msvcrt")); - } - } - } - } - } - - private void AddModuleAssemblyFlags() - { - if (Type == ModuleType.BootSector) - { - Module.AssemblyFlags.Add("-f bin"); - } - } - - private void AddModuleIncludeFolders() - { - if (Module.Type == ModuleType.RpcClient || - Module.Type == ModuleType.RpcServer || - Module.Type == ModuleType.RpcProxy || - Module.Type == ModuleType.EmbeddedTypeLib) - { - Module.IncludeFolders.Add(new RBuildFolder(PathRoot.Intermediate, Module.Folder.FullPath)); //Hace falta? - Module.IncludeFolders.Add(new RBuildFolder(PathRoot.SourceCode, Module.Folder.FullPath)); - } - } - - private void AddModuleProperties() - { - Project.Properties.Add(string.Format("SysGen.Module.{0}.Enabled", Module.Name), Module.Enabled.ToString(), true, true); - Project.Properties.Add(string.Format("SysGen.Module.{0}.BasePath", Module.Name), Module.Base, true, true); - Project.Properties.Add(string.Format("SysGen.Module.{0}.RBuildFile", Module.Name), Module.RBuildFile, true, true); - } - - protected override void PostExecuteTask() - { - if (m_Module.RBuildFile == "mstask.rbuild") - { - int i = 0; - } - - AddModuleLibraryDependencies(); - AddCRuntimeLibrary(); - AddDebugSupportLibraries(); - AddDefaultDependencies(); - AddModuleProperties(); - - if (m_Module.Host) - { - if (m_Module.CPlusPlus) - { - m_Module.CompilerFlags.Add("$(HOST_CPPFLAGS)"); - } - else - { - m_Module.CompilerFlags.Add("$(HOST_CFLAGS)"); - m_Module.CompilerFlags.Add("-Wno-strict-aliasing"); - } - } - else - { - if (m_Module.CPlusPlus) - { - m_Module.CompilerFlags.Add("$(HOST_CPPFLAGS)"); - } - else - { - m_Module.CompilerFlags.Add("-nostdinc"); - } - } - - //Sort source code files only when necessary - if (Module.SourceFiles.ContainsASM) - Module.SourceFiles.Sort(new SourceCodePreferenceComparer()); - } - - protected override void ExecuteTask() - { - Module.Enabled = true; - - //AddModuleLibraryDependencies(); - AddModuleDefines(); - AddModuleLinkerFlags(); - AddModuleCompilerFlags(); - AddModuleIncludeFolders(); - AddModuleAssemblyFlags(); - AddRequiredBuildTools(); - - //if (Type == ModuleType.Alias) - //{ - // if (Module.Name == "halupalias") - // { - // int i = 10; - // } - - // RBuildModule alisedModule = Project.Modules.GetByName(AliasOf); - - // if (alisedModule == null) - // throw new BuildException("module '" + ModuleName + "' trying to alias non-existant module '" + AliasOf + "'", Location); - - // if (Module.Name == AliasOf) - // throw new BuildException("Module '" + ModuleName + "' cannot link against itself", Location); - - // alisedModule = Module; - // alisedModule.Enabled = true; - - // Module.Enabled = false; - //} - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/BuildTool.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/BuildTool.cs deleted file mode 100644 index 67d0755580d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/BuildTool.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("buildtool")] - public class BuildTool : ModuleTask - { - public BuildTool() - { - Type = ModuleType.BuildTool; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Cabinet.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Cabinet.cs deleted file mode 100644 index 715fbcc4952..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Cabinet.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("cabinet")] - public class Cabinet : ModuleTask - { - public Cabinet() - { - Type = ModuleType.Cabinet; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Kernel.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Kernel.cs deleted file mode 100644 index 7cafd130411..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Kernel.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("kernel")] - public class Kernel : ModuleTask - { - public Kernel() - { - Type = ModuleType.Kernel; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDLL.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDLL.cs deleted file mode 100644 index 22d238b739e..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDLL.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("kernelmodell")] - public class KernelModeDLL : ModuleTask - { - public KernelModeDLL() - { - Type = ModuleType.KernelModeDLL; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDriver.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDriver.cs deleted file mode 100644 index b223cf5897b..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/KernelModeDriver.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("kernelmodedriver")] - public class KernelModeDriver : ModuleTask - { - public KernelModeDriver() - { - Type = ModuleType.KernelModeDriver; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeCUI.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeCUI.cs deleted file mode 100644 index ac9e84a3d82..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeCUI.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("nativecui")] - public class NativeCUI : ModuleTask - { - public NativeCUI() - { - Type = ModuleType.NativeCUI; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeDLL.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeDLL.cs deleted file mode 100644 index bdaabee1bfc..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/NativeDLL.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("nativedll")] - public class NativeDLL : ModuleTask - { - public NativeDLL() - { - Type = ModuleType.NativeDLL; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/ObjectLibrary.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/ObjectLibrary.cs deleted file mode 100644 index a34279d68a7..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/ObjectLibrary.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("objectlibrary")] - public class ObjectLibrary : ModuleTask - { - public ObjectLibrary() - { - Type = ModuleType.ObjectLibrary; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Package.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Package.cs deleted file mode 100644 index 68bdbcb0212..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Package.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("package")] - public class Package : ModuleTask - { - public Package() - { - Type = ModuleType.Package; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/StaticLibrary.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/StaticLibrary.cs deleted file mode 100644 index 0abe2820982..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/StaticLibrary.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("staticlibrary")] - public class StaticLibrary : ModuleTask - { - public StaticLibrary() - { - Type = ModuleType.StaticLibrary; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32CUI.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32CUI.cs deleted file mode 100644 index 5fba4c1bc44..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32CUI.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("win32cui")] - public class Win32CUI : ModuleTask - { - public Win32CUI() - { - Type = ModuleType.Win32CUI; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32Dll.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32Dll.cs deleted file mode 100644 index 320e1a00ebe..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32Dll.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("win32dll")] - public class Win32DLL : ModuleTask - { - public Win32DLL() - { - Type = ModuleType.Win32DLL; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32GUI.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32GUI.cs deleted file mode 100644 index 9bffa1ba55e..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32GUI.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("win32gui")] - public class Win32GUI : ModuleTask - { - public Win32GUI() - { - Type = ModuleType.Win32GUI; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32OCX.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32OCX.cs deleted file mode 100644 index 2b8051591fa..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32OCX.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("win32ocx")] - public class Win32OCX : ModuleTask - { - public Win32OCX() - { - Type = ModuleType.Win32OCX; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32SCR.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32SCR.cs deleted file mode 100644 index 5199e32fab6..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Modules/Win32SCR.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.IO; - -using SysGen.RBuild.Framework; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("win32scr")] - public class Win32SCR : ModuleTask - { - public Win32SCR() - { - Type = ModuleType.Win32SCR; - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/OverrideModuleTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/OverrideModuleTask.cs deleted file mode 100644 index 612d4e6dc02..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/OverrideModuleTask.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.Xml; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("overridemodule")] - public class OverrideModuleTask : ModuleTask - { - public OverrideModuleTask() - { - m_FailOnMissingRequired = false; - } - - protected override void OnLoad() - { - //Evitamos actualizar la información del módulo de verdad - } - - protected override void PostExecuteTask() - { - //Evitamos actualizar la información del módulo de verdad - } - - protected override void PreExecuteTask() - { - //Evitamos actualizar la información del módulo de verdad - } - - protected override void ExecuteTask() - { - //Evitamos actualizar la información del módulo de verdad - } - - protected override void InitializeTask(XmlNode taskNode) - { - base.InitializeTask(taskNode); - - if (taskNode.Attributes["name"] == null) - throw new BuildException("Missing 'name' attribute"); - - string moduleName = taskNode.Attributes["name"].Value; - - m_Module = Project.Modules.GetByName(moduleName); - - if (m_Module == null) - throw new BuildException("Overrided module '{0}' not found" , moduleName); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PCHTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PCHTask.cs deleted file mode 100644 index c7700d7018f..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PCHTask.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - /// - /// PreCompiled Header task - /// - [TaskName("pch")] - public class PCHTask : FileTask - { - /// - /// Creates a new instance of the class. - /// - public PCHTask() - { - } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildSourceFile(); - } - - public RBuildSourceFile SourceFile - { - get { return m_FileSystemInfo as RBuildSourceFile; } - } - - protected override void ExecuteTask() - { - if (Module.PreCompiledHeader != null) - throw new BuildException("Only one is allowed per module", Location); - - //Call the base class - base.ExecuteTask(); - - //Add the folder where the PCH is present as a include folder - Module.IncludeFolders.Add(new RBuildFolder(PathRoot.Intermediate, Base)); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformAutorunTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformAutorunTask.cs deleted file mode 100644 index a298818f62c..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformAutorunTask.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformautorun")] - public class PlatformAutorunTask : ValueBaseTask - { - protected override void ExecuteTask() - { - RBuildModule module = Project.Platform.Modules.GetByName(Value); - - if (module == null) - throw new BuildException("Unknown module '{0}' referenced by ", Value); - - Project.Platform.AutorunModules.Add(module); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDebugChannelTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDebugChannelTask.cs deleted file mode 100644 index 3a6bd35f029..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDebugChannelTask.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformdebugchannel")] - public class PlatformDebugChannelTask : ValueBaseTask - { - //private RBuildDebugChannel m_DebugChannel = null; - - //[TaskAttribute("name")] - //public string ChannelName - //{ - // get { return m_DebugChannel.Name; } - // set { m_DebugChannel.Name = value; } - //} - - //[TaskAttribute("warning")] - //public bool Warning - //{ - // get { return m_DebugChannel.Warn; } - // set { m_DebugChannel.Warn = value; } - //} - - //[TaskAttribute("trace")] - //public bool Trace - //{ - // get { return m_DebugChannel.Trace; } - // set { m_DebugChannel.Trace = value; } - //} - - //[TaskAttribute("fixme")] - //public bool Fixme - //{ - // get { return m_DebugChannel.Fixme; } - // set { m_DebugChannel.Fixme = value; } - //} - - //[TaskAttribute("error")] - //public bool Error - //{ - // get { return m_DebugChannel.Error; } - // set { m_DebugChannel.Error = value; } - //} - - //protected override void PreExecuteTask() - //{ - // m_DebugChannel = Project.DebugChannels.GetByName(ChannelName); - //} - - protected override void ExecuteTask() - { - RBuildDebugChannel channel = Project.DebugChannels.GetByName(Value); - - if (channel == null) - throw new BuildException("Unknown debug channel '{0}' referenced by ", Value); - - if (Project.Platform.DebugChannels.Contains(channel)) - throw new BuildException("Only one debug channel '{0}' can be present per ", Value); - - Project.Platform.DebugChannels.Add(channel); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDescriptionTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDescriptionTask.cs deleted file mode 100644 index ee5d8f1cdfc..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformDescriptionTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformdescription")] - public class PlatformDescriptionTask : ValueBaseTask - { - protected override void ExecuteTask() - { - Project.Platform.Description = Value; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformLanguageTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformLanguageTask.cs deleted file mode 100644 index 8362e09be64..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformLanguageTask.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformlanguage")] - public class PlatformLanguageTask : ValueBaseTask - { - public PlatformLanguageTask() - { - } - - protected override void ExecuteTask() - { - RBuildLanguage language = Project.Languages.GetByName(Value); - - if (language == null) - throw new BuildException("Unknown language '{0}' referenced by ", Value); - - Project.Platform.Languages.Add(language); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformModuleTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformModuleTask.cs deleted file mode 100644 index 3bb3190f0bb..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformModuleTask.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformmodule")] - public class PlatformModuleTask : ValueBaseTask - { - public PlatformModuleTask() - { - } - - protected override void ExecuteTask() - { - RBuildModule module = Project.Modules.GetByName(Value); - - if (module == null) - throw new BuildException("Unknown module '{0}' referenced by ", Value); - - Project.Platform.Modules.Add(module); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformNameTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformNameTask.cs deleted file mode 100644 index 88890e81e88..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformNameTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformname")] - public class PlatformNameTask : ValueBaseTask - { - protected override void ExecuteTask() - { - Project.Platform.Name = Value; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformScreenSaverTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformScreenSaverTask.cs deleted file mode 100644 index e396774a3e7..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformScreenSaverTask.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformscreensaver")] - public class PlatformScreenSaverTask : ValueBaseTask - { - protected override void ExecuteTask() - { - RBuildModule module = Project.Modules.GetByName(Value); - - if (module == null) - throw new BuildException("Unknown module '{0}' referenced by ", Value); - - if (module.Type != ModuleType.Win32SCR) - throw new BuildException("Shell can only be of type win32scr"); - - if (Project.Platform.Screensaver != null) - throw new BuildException("Only one screensaver can be set per platform"); - - /* set the shell to use */ - Project.Platform.Screensaver = module; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformShellTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformShellTask.cs deleted file mode 100644 index b97c9f5b469..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformShellTask.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformshell")] - public class PlatformShellTask : ValueBaseTask - { - protected override void ExecuteTask() - { - RBuildModule module = Project.Modules.GetByName(Value); - - if (module == null) - throw new BuildException("Unknown module '{0}' referenced by ", Value); - - if (module.Type != ModuleType.Win32CUI && - module.Type != ModuleType.Win32GUI) - throw new BuildException("Shell can only be of type win32gui"); - - if (Project.Platform.Shell != null) - throw new BuildException("Only one shell can be set per platform"); - - /* set the shell to use */ - Project.Platform.Shell = module; - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformWallpaperTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformWallpaperTask.cs deleted file mode 100644 index fc7776062aa..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/Platform/PlatformWallpaperTask.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("platformwallpaper")] - public class PlatformWallpaperTask : ValueBaseTask - { - protected override void PostExecuteTask() - { - if (Project.Platform.Wallpaper != null) - throw new BuildException("Only one wallpaper can be set per platform"); - - foreach (RBuildModule module in Project.Modules) - { - foreach (RBuildFile file in module.Files) - { - RBuildWallpaperFile wallpaper = file as RBuildWallpaperFile; - - if (wallpaper != null) - { - if (wallpaper.ID.ToLower() == Value.ToLower()) - { - /* set the shell to use */ - Project.Platform.Wallpaper = wallpaper; - } - } - } - } - - if (Project.Platform.Wallpaper == null) - throw new BuildException("Unknown wallpaper '{0}' referenced by ", Value); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ProjectTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ProjectTask.cs deleted file mode 100644 index bb09d9342a1..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ProjectTask.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.Xml; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("project")] - public class ProjectTask : TaskContainer, ISysGenObject - { - RBuildProject _project = new RBuildProject(); - - public ProjectTask() - { - } - - [TaskAttribute("name", Required = true)] - public string Name - { - get { return _project.Name; } - set { _project.Name = value; } - } - - [TaskAttribute("makefile", Required = true)] - public string MakeFile - { - get { return _project.MakeFile; } - set { _project.MakeFile = value; } - } - - public RBuildProject Project - { - get { return _project; } - } - - public RBuildElement RBuildElement - { - get { return _project; } - } - - protected override void OnInit() - { - SysGen.Project = Project; - SysGen.RootTask = this; - Project.RBuildFile = RBuildFile; - - - Project.Properties.Add("ARCH", "i386");/* - Project.Defines.Add("_M_IX86"); - Project.Defines.Add("_X86_"); - Project.Defines.Add("__i386__");*/ - } - - protected override void OnLoad() - { - base.OnLoad(); - - Project.Folder = new RBuildFolder(PathRoot.SourceCode , ""); - } - - protected override void PreExecuteTask() - { - ///Project.Base = string.Empty; - Project.Path = SysGen.BaseDirectory; - Project.XmlFile = XmlFile; - } - } -} - diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PropertyTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PropertyTask.cs deleted file mode 100644 index 1b143c0dd16..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/PropertyTask.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Xml; - -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - /// Sets a property in the current project. - /// - /// NAnt uses a number of predefined properties. - /// - /// - /// Define a debug property with the value true. - /// ]]> - /// Use the user-defined debug property. - /// ]]> - /// Define a Read-Only property.This is just like passing in the param on the command line. - /// ]]> - /// - [TaskName("property")] - public class PropertyTask : PropertyBaseTask - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RBuildTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RBuildTask.cs deleted file mode 100644 index 12feafedce4..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RBuildTask.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("rbuild")] - public class RBuildTask : TaskContainer - { - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ReDefineTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ReDefineTask.cs deleted file mode 100644 index f41f0aae4ce..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/ReDefineTask.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("redefine")] - public class ReDefineTask : Task - { - protected override void ExecuteTask() - { -// RBuildElement.Defines.Add(new RBuildDefine(DefineName, DefineValue)); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RequiresTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RequiresTask.cs deleted file mode 100644 index f68ffe5f00d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/RequiresTask.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("requires")] - public class RequiresTask : ValueBaseTask - { - /// - /// The define value. - /// - [TaskValue(Required = true)] - public virtual string Value { get { return _value; } set { _value = value; } } - - protected override void ExecuteTask() - { - RBuildModule requeriment = Project.Modules.GetByName(Value); - - if (requeriment == null) - throw new BuildException("Unknown requeriment '{0}' referenced by module '{1}'", Value, Module.Name); - - Module.Requeriments.Add(requeriment); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/SetupTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/SetupTask.cs deleted file mode 100644 index 83d2056b8f4..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/SetupTask.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("setup")] - public class SetupTask : PlatformFileBaseTask - { - [TaskAttribute("installsection", Required = true)] - public string InstallSection { get { return Setup.InstallSection; } set { Setup.InstallSection = value; } } - - [TaskAttribute("type")] - public SetupType SetupType { get { return Setup.SetupType; } set { Setup.SetupType = value; } } - - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildSetupFile(); - } - - /// - /// Get the underlying . - /// - public RBuildSetupFile Setup - { - get { return m_FileSystemInfo as RBuildSetupFile; } - } - - protected override void ExecuteTask() - { - base.ExecuteTask(); - - if (Module.IsInstallable || Module.Type == ModuleType.Package) - { - if (Module.Setup != null) - throw new BuildException("There can be only one element for a module", Location); - - Module.Setup = Setup; - } - else - throw new BuildException(" is not applicable for this module type", Location); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/TargetTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/TargetTask.cs deleted file mode 100644 index 15b1c70d212..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/TargetTask.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using SysGen.BuildEngine.Attributes; - -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("target")] - public class TargetTask : Task - { - protected RBuildTarget m_Target = new RBuildTarget(); - - protected override void ExecuteTask() - { - SysGen.Targets.Add(m_Target); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/WallPaperTask.cs b/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/WallPaperTask.cs deleted file mode 100644 index 31ea0d9930d..00000000000 --- a/reactos/tools/sysgen/SysGen.BuildEngine/Tasks/RBuild/WallPaperTask.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; - -using SysGen.BuildEngine.Attributes; -using SysGen.RBuild.Framework; - -namespace SysGen.BuildEngine.Tasks -{ - [TaskName("wallpaper")] - public class WallPaperTask : PlatformFileBaseTask - { - protected override void CreateFileSystemObject() - { - m_FileSystemInfo = new RBuildWallpaperFile(); - } - - protected override void ExecuteTask() - { - if (Module != null) - { - base.ExecuteTask(); - } - else - throw new BuildException(" is only applicable for modules", Location); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.Make/Program.cs b/reactos/tools/sysgen/SysGen.Make/Program.cs deleted file mode 100644 index de3ba818cd9..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/Program.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -using SysGen.BuildEngine; -using SysGen.BuildEngine.Framework; - -namespace SysGen.Make -{ - class Program - { - static void Main(string[] args) - { - SysGenEngine engine = new SysGenEngine(@"C:\ros\trunk\reactos\ReactOS-i386.rbuild"); - - engine.ReadBuildFiles(); - - /* - Console.WriteLine("Generates project files for buildsystems\n\n"); - Console.WriteLine(" rbuild [switches] -r{rootfile.rbuild} buildsystem\n\n"); - Console.WriteLine("Switches:\n"); - Console.WriteLine(" -v Be verbose.\n"); - Console.WriteLine(" -c Clean as you go. Delete generated files as soon as they are not\n"); - Console.WriteLine(" needed anymore.\n"); - Console.WriteLine(" -dd Disable automatic dependencies.\n"); - Console.WriteLine(" -dm{module} Check only automatic dependencies for this module.\n"); - Console.WriteLine(" -ud Disable multiple source files per compilation unit.\n"); - Console.WriteLine(" -mi Let make handle creation of install directories. Rbuild will\n"); - Console.WriteLine(" not generate the directories.\n"); - Console.WriteLine(" -ps Generate proxy makefiles in source tree instead of the output.\n"); - Console.WriteLine(" tree.\n"); - Console.WriteLine(" -vs{version} Version of MS VS project files. Default is %s.\n", MS_VS_DEF_VERSION); - Console.WriteLine(" -vo{version|configuration} Adds subdirectory path to the default Intermediate-Outputdirectory.\n"); - Console.WriteLine(" -Dvar=val Set the value of 'var' variable to 'val'.\n"); - Console.WriteLine("\n"); - Console.WriteLine(" buildsystem Target build system. Can be one of:\n"); - */ - - Console.ReadLine(); - } - } -} diff --git a/reactos/tools/sysgen/SysGen.Make/Properties/AssemblyInfo.cs b/reactos/tools/sysgen/SysGen.Make/Properties/AssemblyInfo.cs deleted file mode 100644 index 9012ef9b0c1..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SysGen.Make")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Sand")] -[assembly: AssemblyProduct("SysGen.Make")] -[assembly: AssemblyCopyright("Copyright © Sand 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("00432ce1-5d82-4afb-9a3a-dc2ce95edc4e")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj b/reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj deleted file mode 100644 index 89de06851a4..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj +++ /dev/null @@ -1,58 +0,0 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {8B1229C7-6188-4621-A648-843CB9B5C72E} - Exe - Properties - SysGen.Make - SysGen.Make - - - 2.0 - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - {8F5F8375-4097-4952-B860-784EB9961ABE} - SysGen.Framework - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj.user b/reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj.user deleted file mode 100644 index 1a4ff357ca6..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/SysGen.Make.csproj.user +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.Make/SysGen.Make.sln b/reactos/tools/sysgen/SysGen.Make/SysGen.Make.sln deleted file mode 100644 index d9d1e258355..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/SysGen.Make.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SysGen.Make", "SysGen.Make\SysGen.Make.csproj", "{8B1229C7-6188-4621-A648-843CB9B5C72E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/reactos/tools/sysgen/SysGen.Make/SysGen.Make.suo b/reactos/tools/sysgen/SysGen.Make/SysGen.Make.suo deleted file mode 100644 index b55bbbea00f579acf50698899f55a4f332327c08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 182272 zcmeFa37lkCSvFn?`!0(tA}~PMnP#>mlYqc%NhX;|hUv*776Fl~(lcv8|i6zJJqgTDSDB-wf~1(&ry)wa)H-{{Brj z-K5LU3k2<;(g z4@MgU4LuF*VR-*=v`3&l5^Xcu2-;4xEofWOwxMlD+ktj2+IeW_qdgSu0<;U!9*y=G zv>!uzEZXDH9*?#QZ8zE;w7qEi&@Mu|80`|Y{b-k>U50i5?I7CaXjh;eLVE(*VYE@S zBWPEm9Ywne?HJk<(Vm3%WVANgQ_!A@b~W15(8kcl(I(I)(WcO*(Pq$&qs^i{9qk0# z9NIkE0@@PNAJfy9Vurx&q4cfw8Q9W5x?Ao zkuTtNIr{~^sQK^ipcs)kX{YSpru%&R=5Kt@$IrSMZu%gJ3jYoP;vz=4AJC`qZeNDA zeOKr2-64eppRaX(!+S`({C5N^(825;z)W{A{wwi!3OMOH=e6wLIe<^TAkWl=e-`c~ zZ}HzTtmqtOVGI;-0)J-!{R*t?3h-IPoYa7SR@3p{9&lelCc!`QVB9#CBL3&^$p5^b z{Lj~z|2Y@xuZsUSb?=o7;O{5{^n1OM|M~uZ{|$czZux{aT=CWa_|C33?D*xWk6rhr z8!^?5{(Wl?HAMga$P4km&Ze=2$xWkED=V`LGoAKTi_0h42NoyB=G?U-Q}avhwe8zZ z@b}aQdm!c8kiw_IF&Be}7NSohklbV7u&GQ66XNpt>g?Pk^%eiMJ1dLJV>46jiMg>( zr#(5_Ig$MtvDrG<7=W4)X3$t@`W9{Xsv56H-z~tOqdu?_B9ZW2*@PoZ1dbyz6 z%LJe+Z+3m@er#;#2B3#96ErA)AbX%gM z-byA1Ha2;3X>8&|yZhRAKb@(C&e+myyZf5xr~VX8Ok#@oC(%>&lFb7htem|hdJ#S+ zlk>B@gf-uB^}^Iz+uruk)8y>()Wpguu-wAZ>dH>NCVILwL5$;LovHTN($d`Q#MsL0 z;zFn0nOL6Uv}g1+Ken>Wa9r@!5r`mG*?aCi>Z&pw7b-nOBT%o|#&hTArOq z{91x7=C|?1#g+CnsCjO3xjj8OHNHC2eMxlm*aR9B(qcCZYl`A~YI6IeUK8D=Mm0A( z-tJ7EpxkFm{CZacnF5Yom^`^S2Qut*-z0iW&J$%oXKG~?_QBNL#Ns>#Xs?Nms+WDf zGd3|#Iccwnergfn*u+GpX(v+4|M)j2UX3BI@21X|U@o0*(l znp^F(yRV6U#HOL@&Zv@qCdXFB+Io}dqFR-#tx!W^s`Vz(lNP@KnI4OXRqQp;@Uk!?5@!dz-wn^Y(=k$et#^{uj3*Jz4`g}{Osf`tRKB5 zdaItt3D_FYEufL?HPO%ZO04GR#ujGU+22GTvIvTZ!<1BKWfG`t8(EoyVD7#zc4DgW z8Jn1cjgtLM;8QL2R+s1I7Z=+0lIW#+h9}2oAon2b>^0HPqq;L3%7x=&b8WPxrHMAQ z0^Y5rY@}*&Fm`elZVH%KZxWd7PONpFXC~$+S661|I_>#Ia18$>x_nsS;O3_$XUEzL z_&r+Umt_l0(+?)|+UzymmqZ^j`(nb&4`_L61~|bQ00E*U`YXf92zj-$v~>$a6aFUp zs3x1v@wv6k=d#zn`&pZt9HVXAeNFUJO+K*uj>Fj6*4CRuPt~&nul+cdjDHh-)bf%T zy!as66G2>i7bjNdrxsS4#9ts$uikcIduM6e$mr(fsgv8cZaaU=Nay6jmMvRGR^W^< zFdl?Xc67E>Q{91}7u`HRZIlkJNTb!AlXzNX)uSXP0 zDvo3!ixFji6TdwtF%R=&C#D!68Ue{O`4P}mL#vtkh*mRR6Ij&uS7ew>u3?V(C(&bl z`8jcXY?($$_chVqdF5<0J2}-}U6`d+ZZC;$M0O$3m{L(tZE9trjh5&^qAKiRb^)dX za8R6Zc5<$bmgu8eaE>o8u63qhjOb0Gr{)&r%JSI66r9)YYocFCt#Fi?@-t@>CNzCc zdr5SXa>=b5`gQH8Q%iF&0hTv2oTd+n?y6@EhTzijBGirEBzj7@9Nze}kloirN7d%w z;`q}$Q;0TYFNt1?NlN5s6Fok+I@RW%L?6|Y11n=?d9|~`z(@8b(NhJdbtXEqnRL{f zL^o13u>s|LlKG|OHd^BMeOQ#!v(SJ1ljyQ~ju7)Uhg@$GJ*6ny4Xziq=**3so?33( zOQO4K#Gnj~4)i9`Q?-f6&@f`f?e1%$pBfmE|1(>&`zF!TV<5N>EicY2kIiqoh#8Oe z!P$xB#m?gN%BG{UomHl}R#qox7dP!}AKlZIAnhP%y}+t~K=D=3rX{l`CYKlIktx96 z1Wwhnl*OqbNV>0yeyV3F`+XKeW#Aic5Bder3C~*Av#LDvA$l}DQ zwtJgEum(GKW)U)+P5i!ksuYK>3dl=^7YP(>5(Qm~TiJW`7fXRZly#Tb8uwzV^{iZ`zEKEJv5_o;&3U$TunC+ovAA% zZxTHf8<-M!8O@!TL=3u}{jKOEW@OKf>uOEvs6;2lV-hAx@YTu7NjpWe<1#e$jLKtJ z`+j2+Cub2ZR%l|!x#yRLCPZWrzJBJ7OWQ%JI?HwNO=1#9y7U@$1*>=S>~@3|JYN_b zo)3~FX08yE+0Nql3NmkF9To=$=7E+nrUz%1Wm)oG2ollNC72n=Ep^`{Mpw$^K?2?~ z0+2mZ^U5{yO`_j2X-46{w7534JTX1fdz0v=N{P_<&msVc-b@qBQGBDAH8Sl;!G3af zGL!3gO>|U7g*MyA(Fa=M_w{EPsl=7#MZ|vXHPK%g6&gNZPGFS%P4rPVrY!P2HoJhL zso7Mlw3-4}PpurELLo-?HGxM1mrtcmRW(nNqT#xiO3{?G%3J-%kHbq$jHUiMW0kVR zX7@GG-~FKuMo)Jxo?7U>jEo*cK%6PN5m3nVY%VfTuENa9JuyCM5dytQKu_>;vrg_) zXc2J~)TgoK(kP;Ta$;!}wS!aHYhnzkb#?P5QcqJsLZi1QlBGlpGQ?dw; zTD6bh4}!t*1l7~_ib^v*6vcCxw5~j0rI_i~$NoB;Qv*${koCnh)e%yUc;L|`9EG|zjjiC_F zUK9PLmMSlx=I1AnFihob9@^!{u7d8;aE&5~`U8U2QPB=HP+~yUoM~mn<<-UFhs1g< zpPWSutBvy5g{90c>%K|gl(K$p^|Kmv#`dO8O<{`dHPKTUNmIKXpIl?@g}o&DIEbZ6 zIKY=KjxB6DIJP`dxI^Ob*z!4h_iwpiWXJaNGs~vPNlX!xlZ*>1^JB}%Bz9jDSXRX$ z5viY?Z)blKJ*3vqVFHFj+148BxtSsDz9xFB9v4<_o&|Z`*F--lT5wpwEnP;QZJKUr z_9oF&HAYz^3mA1@6a6&LPA?&M(B_{+k7Ya<$bS?6ee{Br!?>WM$$j>c=%tK~te3fK z&=vnAdMLMj6u~mnr>fGVdiBj^R;GGy68-cMm(J#Uo+ZPW z{`r(37W;+9O&ma|n^P(ie71~TW+qD~hFU%Oo#WGsbCb*`cHbm=dSs~WdV|W6_Eov$ z`uv7WKxU1D7VJ#|od!B|ab=1|0V3plP4rhiQCZ@RB1>-)Jw3!GYWKeOj*+b++k5%P ziAOx5d*vjeo{QXbTszd*lOR(krxsS{Nrrq)V8EXL_um^h`%n9UZ&(dy z|7#QYT$u^X2lwW>eZ=A1_VcN`6v0mixfXO(@gYrrr?KwiphBKHk^V>e=UD;V>tC1t zxR+l&#_$hfX6FHw=TKbL<%LC@W|5Lbj|6br3q%QpPK0Mm6oj%qm%pLgQ_W*p6O9>5 zZ`#6d5UvGg&&)O`8|l&?k8`O@|Kyb)?RG{zM~NyLH$IyN)z9E6&ri@dMbLRB z(An7;MLe6NF8q7o-jiJcdj(|N(=mfw=$OZkV#%uhJpkh;m+(B4y72Fhd*9LRcn?O; z6KFa(<6#!0x|YMDdt>4S=g*u)8n`Q3UHHEI8I)B=AUf8v6Du6u+4(g-)p2%;Y15=D z@4a<)?vqcOgW~pRuwO{+gZ4Or^OB~pVzf|sPSCZ0umCZ$39EJpX9tbIQrex-EG_8W zxRZj_ao^*Hj*ruyO>rT|?gHof2F_OTZ|;C=hve&OdPUh|z(_u;(u&nV z|N8WY-?GoHe&cQr`qSTh-~%sy_t(DitcQ%xQ#|3{Xlv*6-9G&N58wB|TV6l;j#uCJ zn->hDSL-|c`-DwA?`s$e!#f)<1X23w98d{Q;5w11q-DHzKut%XD7HXdj%0t?!6;T} zC0nZntP;&rsJLUfWqS273Wxo&z=)0UPoyXJP%}UyUX{_+ zi3SvEV>c?;3p~a$Eklc78t>_$Z^IdSN5K(ez>yM}Cfa6vKLu&F9lS%+b33kf@OdHQ zr!Dxjl8u%3LMB0Rzpy(V->?kNks1MqY7X|Hr=>NGh;@Z#)?k=A3B>u89pThIq z{BO;$Y_)z9xIC>87oO190ae;rQnV1rqnt}0CT$n4BG<~;R zBkuzIr5=1ck83R(;S^*MXWG2OHcow{uIF5`Khl}W+nL@gT@A_%(hpBkBu~#|GFj0z zLH!Jv@0DGsw!S>w%j^m|E9{+Az5+<>&&g|}Cp$fC445xv-&0zh%p?idpTDp>)^L3s z_i)ART*LG?#I4o()3Y{?LbhUtcjYML;Twq2cDSbJaJ6H^d8m=1k33VYM zQ^(9;Y+K^v3z3 zR$I*AFfeT=oIC5jY(|Ro`F@OW7WT7omg!FS*{GRN<}mL~c!)CmIvE;jPu!=sHR~hv*wxeHol;K zSb|-sXvzA=!tZ8 z8oxXVNzE+F2om#KV1;kXEOFx=^Ik?^r(c2Z3754ZSK*h8snS-}y8RGn?Gr;ERfxq^ zfH)3_rfKS7uHRgVF^u4OHnf@M3P(cPq+M+Gz+Ew(r*_99NnE9ioGdPiy;uxp5+g7u zc;XFUytfOZT$a_7BF>YxSl2Qjk;gh1w{KyZ#F5@`zw)&fXG6aaf2|q%IItgvjbQcy z<(=uH@N=xGFM);}22}dN)O3`qj2wlZW2n=B`t06HHII+@a?hV-N_4G*u?X{_;w!O?oWvX|!lMyZX-xTyghJnOA%kb~nAgTYv%de+ zYW+N*#D1}V2Xpw&YamU;p0Kl~E!%J26aOlPA9Hm0ImYN$Fyo3!)E&1Ug&qfI(^H+q z=of+S66WAI#!dh0&KT`nL^XBi)c3!V|L0Ta%>q){g)3BC_4D^0J}EaOwgvBtBpg;dAf<_UbqJR~W( z4XE)I`{rugwSYT_nep(Sfui2gw>&J@^Ul*O)AG%A<)eV}(;HGM$IZFbZUSZJ$f3;J zFK4_!2{(_qIgL-usu*W{6WpOlZ*$vO@}Ke{w8su(HN}s*i>tzz+-K3=)*a)S^G#V@ z$_g=Jp_s6hQnS$9j|sC{&c%dL>pUb~V3Nda5K2>7F78Uq%XxFptP8W)xvyG_&LVn9l+v6 zJ$d0vPQ$4vYeP$g@miDCdeUad4YZ-S-l|aGFRUuC=-1+sW00WlFT}>THq#Nga`{D` zlwZ0&e(g=b|HgI0ziuwvs`71h!iY_}2d%)JVNb`gi_mW=izEA%&??s7*+ui2WF!fGt63*9m5!^`5DZl zv3i(1JKeKy{2oLdBcSguba5Lr{mLdGZTN*y!cT;8}B0K-E{QpF#GbJ%k6?u zJehj5_oURk)CsSs{}J>r`>?$KB2O{w)4XOsTTUO;{~X>g9Jue($@`|%MF~pXlDB;b z&FHIaruBPa^DST#OPl&SusTwD3HqOeC3CDxv(mF=R=G4feewMJSbx45y~}fLzNVTF z&gT(O)Cy*i(Rp3hJl$qUHW9TjqZ;%Vp9+|OkW=rzvq18AJ$ZSDhO3nDN6AzP)DDZ`(QkQwT7p$2DHrlPw~7T#=J`w35Tj! zh10gI>0bpD)?(PZxc~b?lDqs~J-g5Mc6>`hR6346pWo#)-(IU59SkK_EMuDF!mj}) zhYB&Vxh%43{n3RLgc{!q(5vD{{fy6lPBnR5PpRe;sz+gcFdMfW@5rU(P_wKB{SAPA zP2re)T++6&WJ)}*Vf@}?5bXioFZkaEd~t;jvF_?#gfT6Ezceo5;cJcX+fiV!()(UG zJO;K=zP_?5svbx6rZKZcRhG0-8Es*#i&B!aK*+7uF9Pm+yK|qndwi>uIoaZTE3>0J z*WKFT`Z1cs3INU8^MJi{lw?V0)3e?tj8rn>maoa-8d(i!J6lb^9`reY;w%eaqWIL3 zrcc=ozTHV0xg=W)`HsYru|j4hi+-Uo{|Tt|lgSlpnknCbT=_PvosGn@GR<n{FABl;|~Qh#34AexxCaaW|_$66BN<6=pi7tT(~ zYa;ht3(Vi%lU!vs=MnTj+qHvC261MlARldaH?5@dJNDvkRx-4E)ZwpL)vq=YMPg^vUkbI$2~kXwlxS zA}Qo-H;e9>N8JH;S+t3(h%-e%b;^JE5~!}eN^9$shJGfIjL#V}WW6QrWB$h0l)F~R|BN8=TG8FM=0}0k-kzjM>!49o9_R=Y!;8OX z{*{opkN>0SDW7w#vNXbY4=by=U!yqQW6_?M0?zu-3}qcFcg)MMir$!Jo(1T|Hf7pQ zX4HhT+3h9fO6?DFA-;Fe!Fr@J+kXt2l|5JPJ*V;U?RM2^lXkDc=w)llQV_3v5#E*H zN(xnbcwv@q4b;fYB)w@`B-A+_$XimdyAo#D9}c)L?$YO(_NLFxw6x3dFe~*?;Pb&A zzm(~MdJ!pC>l1nvmt>SkSuW0YcUD#J`m_}Gqt*NdB)y_Yi{HJQ%UaT!&#Df|CboJQv_nTZv)&LdYl!W0#<&S#~|Jq z&nYmjIEl=D-WTKXXyINjKZC_p`WWzz?QdEN&T8{VT^t24E$7c2Eu7f?{&zrHh^VwG zf*I~RqNPWl*i~J{SK?K92<(YLY<}9=;m&kf-WIEJ--#E09uO6c4!w+eyiRM%&76OF zjv)LJAc)dJ2>z#ZTqQpyr+e#b>8r2~wlk}4+FdEpsDtoT3az{ zdgSg?4DFWy?b>MVtE^N}53OHXrraTH(8$5`XIO))db{{ajKQx1gXi{*LE3`1>PELy z*FLi@o|&{5i}wJFOCl^n9tfj%wgb(wlD5m9F~Za6mlFBE(c9~~y_L&{wC*pe3nZ2D z`Vt^*!s|5t`Vz!ErQ`U9@xr1WMALVM<{nl=|6Eihu>GJ!^zVhSiKatK%m0+N5XJwT zZGUz{>yY0%D{vIEeK=cv#*uyxwq8h0yCGfL@J2?UPevf!@=;Kp8_6BzCNU`QcsDEH z9);ed|H`SUNZaJ?U01ix_}~oiF5VZN|5nuV8BgZck?VPjCcYB$E$BQ&STXN9 zYnj*4X=}sc1w7G-R;5*R@&NV&(DP&2f5zh+b)V@NFk^Uou@0ei_Xf~j91{q2K^PO@ zPH=il+-nurR#4Y4=V7lgmH#dv^}9pJw=5>W$2^s84%}?^MSLZO{9I@#(OjKXcRD|< zaq~Kn*(2^m;Tc`_j#Srb{a--u|BMh(FeR{LnRY4aGhtTK{;i=Y7lx5oD|z>4kT>P)Mwd7q9+D~#8heNS7>|7^7L7HGpk>aNnW>BkGWn)&_N z8u5F9gJfnrM~5(H<>$N>>xnp`R&R?I&+quR3m{nZ3&+*8Q0FPnlQf7ASiDi>rT^e7BA-6ql9ApM; zPqF64{}e-fHXxQq6hm*7x|bHG)dTUn&LoYf@)3WH9|#`kM=Yc6m?g`c*^e5&L$De_Fam@LQP0ID%O%CE^N`dC)99 zWWHKGmeK1&K(8O}Vcb+7=B1vK|IWfJ(i75_ip99!?S>v*1jW*awx>}n*Erqf3P|sF zY`{1i-Y%k1H?Or7ILEYEy|R|)R=kpw$@5NahpzuAmVB?oO24c-Lz1;+zM12MwBN!r z9B8jH-(j)5IIqm=KXD6n(q_o0QE&^NT!1(la8d-b+)4>$mCrLg7wj;`MY>@ogp|d- z`h;p{f?tJMUc_A%*K^;A!yXL|b2h2ZwINg|f%awmPc1-OKeS~it?YN^%h1P=l@{J9 z_|E`*RUY^d)sIC%`jOD#?vvO?d=B6`U$XhQ)n6>1wFaqEc=S7s|7E~qkf>vk{3lMK zbSk<_7`zr3yr?HVn$LvRH{Nk@B`9PUsFFS*sWDFx{x5{ht)N95S2V}QAW{R2XS_+i zqlZnM=XT8)F8Ofz1cUOusl`tvkko|z}Xq<6M!{5JxZ zd@QSK{Iv0zceYpB`>gDwq;PRWeXD)iF9DwgD6anzy84y%sk$5lg= z#WSFJtE**pgY+@~1o%LjleOPe;X4EO1wU{jDC%~`D_eY**xW(HpU9*J6-Yi zw}2{2@5jo`ODY#()4T8<$(spSch1LcZcl~1hLUd(85y1}?o0Vl)@mI8hH<>NC+W}Z zI5-ESGG9OVURX8uw}F*2h?kYORJjtdRhz#{vv)q=J6-M1UfKpK@)-!#AG!HhJQa?) zi}I)3{Vi5d9)CYPupit;*%R-W3iD|i@#g_;qhgU;voi?d{O~_R(_Yu3;HLIcer>rH zq0MOZJ4ILXzt%im1w9-`*vcX!(!bISj3{)l^2FvOrdGKk- zSK3krfvZnwgv2LsGUB0k_CzILlDAs#0dz^-x;jYX^X&^il5h4!d?nU0Pl3D_tq%g( zs?O*Wr~-}eV`#?zI`Pm-2t_<7KdojJ+6mvBvQ z1k_ipgI$rYLa^Ft?%bzsMOurm#JK%Fa8o2jt6s)Sp*_L9GhzNkwTF|SCGwl?+qLJO z5+~oQUIX7L5^2_T3ldP-o_^%5{~JH%C&}?7^grH{XZ3W7uRH4QGF<>1=jr-zd<^@E z5TMk z7?nw#o<|Q&e%a5$T8O1rb!CR*?R50ZY-HwORLRzAy*X){_;cOQ`qqzSdOZit?*7x}JbFa&JIB5^+u$WS^q*=lYw*Fj@OR^ehQcNAkO#(|XW$ z)Ud9DS$O|E2YR05c-u?rf8reDgmz$~oJt*RVynwxr%Dpm>QnoKpJV;^JAivbcYe=Y z{@%HR`3#p-r!uxWLmpCdc&r%}u>5qIsaSlj_&T z8}&{>I`R2J$~;^KXo`ILGhMc`vS=L*Bey!rhZWtck$weh{`{WpR3`g<%=*!Ru|9}x zn=65dTlw|Ggu4Xk&(W%lu^0swha$;*B)j)?>oQnEmm^1%uafpFI*RH$9s~`$QL%PD zwLOjitU%5TYj=V>N5Zr&eTnsW?pP5O(@w0~op68XAz7*AGPNi(Bl;k3v3i(wAG#(U z+71ZL|0tu}DhRaCoi7!`xfF1ePpqR&>)0!lU;a~op9dJy*v)4v!}IyL=y_%0C2; z%cd5!)Q!dXF(+CzX7|yawycKx99v#bgrs{~BtPpyRU}V!v#w$`hVqMmqMVMem+Jb# z(u{uH2j_k_DAVHW^2nWZp{2`xGDW}DoWBFwLvg--@DiUGF5&a5_}oR>Sgh?`%*mjS z0P;pfnYnjzdrrq}f>k3=R`gfxyB9@0U1hcH4YKUx=}c1c3_EIau0X5xGl1!8IMNXs z|GYSpNgd27Zr!s2Y1@%*adR>=`LZ~*AMY~^$^<$VN zVHJmqrF4k}a3yQN&?b6i*rXi*SG^o@2N0htoV znyMt1pP}VUvhv<43$zcGxw`Nh^V7ct>Fn}wO>G9sDR*`arA1gTVrL=J#wAVrQce{1 z3~-C~SBX2TMq9+2Gnhx7cEA&d=kbo#gnMT*`wqZzer40KiZ?jQkb|7GKAKr(JRx1z z^ec_`!@%L9NG}}$HFIsaYdNkHvFdDIU%?#e)zk-RV4{;Nm<6@b ze&1VNLC^zF_lR>!`B$%{cT`2i%lYb7xz0u=FSrv?x?Zo_r zRbt-+M)Kw~#*l8RX3?L~3D7s!(Ozv9zXu57kx=*gpXxfbhI2AVtB?3KAmJ1;x*P5f^K_fwEo z(xc^egVA}B=ira*5HvMq;xsT~HM?vH!TSm{nIf6}!mHz{_%Yg|`-RUD;N#*(XYSn2 zg-o7|V*ObK;j%nD^~>sfi=R4YJFXr{8PxOd2D6C6-RPuV>O(s@O+2gFx(sk7eacs_ zDpGj_^sx#^$9r-?F#gbk;bbfQ5LT&HTiWjIG&}En5|HL0PZ^n+$9(h5v`ew-nm@tF z>mkhy^$%l7wr4M{GqPA0{WR{Eo`lWe-o;krOTcZ41`G<9yW%*9+>u0x?o$l)Wq|6U z0Zpkz9PE36oDX?QZD>W>M2lV|of4ob)^$fnyw}#E;k4u_;_TSZBSo`D!(#9L4(IY{ z#a)1(tf#tb<*bUdzY}_ItUu>@2da?bK2U1?6<8cou;8hgmFN2pV6=YvkaOv39&FEw z)?U2%-@u@GOwP?p9b1dhV%l1ijkL8+4QK^OhQ)Ld)_n8Zt1=siv51QSe}7Lm|28m? z?-yDD{-=5ty{{|t82CGIH0SRF^t{JXWo!D8CBN>F@^c*g%E%6_56YR@|MNk$RD!Kw_`WNHtakMYp}x1 zmGRSqAW>ys_OqTTAJXs3-}|f;{Q_ptRRT4&^wJrYI?toL6=1)nr$x$Or?pC5d(L?% zzCBm;Yt78LkZ`iR2lHI0?fmn*{5?}KhiwH_AMMVGq*__lAT7D`TKh@pTlVRh=3aWK z=LK4d{QI|P@2y1vMc!d~w8q7F!d-Q=+g$ES)#uEkF?%r%F68e0)3}FuwX*%pw*rO8 zOR^YMam^l~ad#}eLZk9cSYu|cRsn0SwW*r}rtVwBC;Ee=0iGZh#zsbQ_U2`{J`0)S zD4G@;pA%-b*@J;qKGK-h{dHrEj8QSF$lW-4YNt4LpVw&-bln=Qqb5s%2gCX9Ro*n7BGI z-%j`EC+&y$cX7mgo{mKdt-f6&z8|!gw1}iub>)Tg^3uLEQ&oR_X0riDl8>TK)CxgCs(@i%$4^;CLXwOG`0UDzXKZ*7tw4XwIG1^a~y#(#0 zXfH$i8MN!reirTJXsXjhxU53H=z9@+8fb+3GGd2 zZ$^6y+ApKM7428heiiN4(B6jj>u7IB`wcW!*Zd~h^=R)zy8-RD(B6gi+i34bdk@-s z(cXu~r`wS;ZbW0%?FZ0)5AB0!A42;u+V7)%1nm#dK8p4+w2z}Pw*LvVKSKK?+8?8R z3hmQqpF#T*v_D1rGqlg5eGcvOXn&6O1+>3F`y$$3qWu-xU!(mE+LzG2jP@0@ucG}e z+TWpl4eje_-$46&w0}VRN3?%J`#)&^jP@^R-$eTs+PBg8teJm9`**beK>JU$@1Xq` z+JB>c7w!L|{SO-JcfXHz6WUqelCYyq&V1?9}s($t^c0mzIQGayzE<$p4( z?awxFe$GRrC;xO$%2-*b<#beJne7M7yYr7|uenJ1wdh%Twt3Iu?3f%3t%IVHjA_16Tq4B_dunlrY&!D$$8=4Q&JoA zfqW(feP69WtM#LxHPujx^6T0;+Iv8mZWW(;7fbcm0ZLq{)D+5baLrowq#RZw`=4TH zZveD<8T+)<^SxHf_1Y7bL_vQC7_yUxNw=)wpw~iLv6FdX+WkfVxw%KI{_;Gdoc6&? zn!B^HH0D=Ao4l+`ef{Xoyp8U3w9dhbxsm>x?sC6(HAKGxoYp5#$(7&=&|cx+2}mu? zoo3{1fLMxH+Y|+pfuqTl{6nTM% zwR8%0{+S8F?RS8iA~=#T)sdC(+zXvXO51`}19pOsP9r5G_!xlWxZdZBG?%;4Fxn74 zS8WfpmSSZZ%L@R*t#?_3V$k(3*I!3LcZyaump+bBbEhg~NIuqJ`t&BzxA*BqSS8!kp@65UNLTTZ};5CMu}X=;=() zJfw;;6`Ui>DE<{-h|-!EOQ?n{P*8;*N^*VTP_Z^3B0Yk1Ye4jlAO%&%Mz12Ws`pyzp$6JGAOae&(4u%q>o3Rr*zT&`P89Q2d|14Ko1bIcaaBT5`iY zxV#*q#&BzlVWVOc+hOst-Xg3NSpY`ji$SHKvOe}SF4_I0SHEgBm6LlmFcFnD$AnO3 zduvm@|Lz2+H1<%-cp|hMbz&MNqwGb#kA22p0~AF#B<-v886_-z?GvCWduF?xX`<6i zjLW`*o}D}|I2;;C)qD_SJ^zC=%lfus1U$t<|6IsG%UeXJ&eSjrlvtsH+Z$fp5$<0zRC(^yBg zK@pO4lHz5$Vtp+58-T?|&C52NcCt4&FEcCwW!%E|e@9Q#|&vTp9of?4z#d*`%#Qzti2#>i^6zGMl~ zbBwPLbF3O*xJb+}tO^&Mpl{(K0%dw*ALwt8IL5zX6mf+VWp-+&$||IO0-8O)Qz#u7 za~wuKGfJiH$mstB#!t?QKgay@A;_8oeQT&9+S!e@t>+aM*{fH8+jMrU@t^4Y$ph&r zaSi$GFy<-X#s>E0?4Xil&eCCCi?4UnFsAE|MZ8ICg>;mhu z>9vxp;&b}B_P`9-Db8JYC5m{rn{= znE~BEVi1u=ox4gF!k*a8^CvKO|)C)a6REDQ?g|uXTDKok)%CRGn4x7> zi5cMVbF2}s1RhPS9m**`77Z6!kTWjkze&OS_*oN*mE6 zMtWG+!T5rt(Q!zlVqZ1gr!VcU#0V_6M7cVN_>jCgLAW(!{~LRh+2pjit1>H{v%yF> zV`jEfoDet`%6RHQ7xyA(@H%0uGJZSaXN+Ajl9jHEKLjjwu7@Zn^k`WHLrc#hhh_!W zv7d@9MB;50GktykJ#mMx1$AFVNap5+NLXk-{*U)I#{%lE3`Ay zVzIp8N%KuTH2aO6MWw26QV4g;_}+gyBf17zDvwRHP?r60RL}uu(MzD6As+Tuc`c(( zcg5EFR#@+&J-#lpj>8k+eyDs^LtBXW81bZjDl|!T2<*<@RY2 zrBJt$Hsg9i<2v)!icZLx#ac4f(6mm1(vq3W(DD|AaKGqBh9p5;zT-?v5RK$cSe1?P zx0tWb??*fvlqou?%Y8-m5N%INmHEu8GYiyxj`?A6NKhxB?Optv)z1Fs80vEXReM+J zj@3!*blfAYw`pZC2T=3`#xO#1J#dpf=yO?FEw*o6Sv1~Y(MPaa9?{(-Y&VyE@$Eq$ zR@#e}%r@!nM;ho~GcKP$e@FF%xkr&j}~=l5hqbDTKhd`8jL;)Z^E(cQx2H-U+? zs_23t`6xMiW$}x8wF`&A;}hMTs;6Li zq-!2DC)WaRNphQ${_5ZTTK86KJ9^zH`F8;<`@H=71lC^Ge7qyD)7q4+>m**yTk(B~ zOF@5J^-Y*f*2U0ss_T8&DSeE|#PP3lAP00pM!DX$RVni1ifBFNTyba7y`ll0=O7Lh zUzAxb>z5n&D`2uwbh8V)rFZ1kiRV=?R@a}UW6!!Hwanl@?JUjtQ(+-o-*>;mkrpmm zOmFR24QcTTV6AEgQA(8!-<(=p?2G$L%#Ob+_~mKc`Kk-K$bLBv9nF}Uy~dWqDxeI* zN}7bO;4^=i6S5eQ|2c+w8c>Ik6`}@Vtva7Up45b3jK@SHSERZKCqy&2TFud73^0nGfl3F(R* zNqv)ecG4v4-0UnEJ#WyzVq<$BXhw5cE+vYjQr@-^Z5k~*FG-a0C$LIx?D0<1XlWiE zGbENRCPd}oLO+vy=I%4Ui@w8hRwK3CaNp5kj6l{+`Ha<*tHsir=is^6L(_SZWZ=lT z_duVu3KyaGQ+=<3dNcXu>p*&2To0Zix{Nw4R=&*SpdSEqSO3^_Z28DP@eoc&0g-mq zR5!2X@4wRM#{mBaqsEGPL7wPGeOm3c)T1X=x>9b2m98594}*eLC*kC0nQY-KGHPJY z*mClbJLhe--8({QwRQo<2WpL~o?LPK8&=Y+C#U}$#-LiD{^rRdemW6?G06^QQuc(^ zpZQl}oAK9y!DM$9g+Y}MCr#j=&t*AzJ9pdO$BokrlR6!cg^b6yR={PK7&=Z-J z$b1QFgX1ePCcgtrrlT>3_M;!`3%?;oPUjGo(+=)EDb&sw`3hjYyGNzNuqykZQ*kVH zl5&96(ZE}JR!~3IUVdi_WjCe9D6n7@E!^R9AHb8&5G__)LGd0-QbAGHjCCWHIU`g) zp;1>%p1c~+W!nxPdYH4bY%}-IP?G%uAgem1Sv0bF1%$;QFGBqe?ZEH^i01mP<JyOpYxe(cJ34FqR0d0U+n`7*+=E;d;}K3uugDcN^C3bh8!c`(06cJ(YNHoNSj4In2Dwqraa<)4935hr{^ojgcH8eZ~qi7 zU(EbNC;RQRAB*SAWxIG-GwWwseh6}3nZM=~?!y&S?Z!8aq}ncv+)iT7!sqy@2d(UW z;G-OauhRyP^zF?gE+z9+&vzBnCj;t%XjQA|iCJ#{*&RIRWek2WZDpL)4$Upe;pn95 ziHgp?_dUK;1dI8T&DcA9xT{500rMjp%+)SymOhKUn!mpW{{BITS?$3LbMF%6c(b!| z4q*iKEVm-fVYozKgG_AVV>PpEFJ;1wfkOm@gF4zGqF5vR@cNGd^*BgaHk?*tYb zW$W%lB~JcKrMEyAxoCIu2#L6tv`4>*tL~z;;^}t+$_IN=qdAn}cw~cS2JQ-tC)wvX z!q>9-JqWRH7Vjak{i%9x@h(6R7YIUGRh*+xw>O5gXU_^V+tYTba3%0G7xXXBPyJU} z9{on+T$S8$&;@s&PPDR|-qy)Wi&Me)CY z*{-LNZ5@iU^OUT+FlXFT&7DCOKP1Ju9qji6r2cK{@~F{1jA|9sl)o!~MI(P2@cHb} zR`ty6Ewoh~#SC+1dFokFq+%H(>)&h2%P{SKX=mpI9E9Eq@6n9j5qxqzejLvNO{&7O?Sla`r3qL;!NtMGHI z1@}P<4#S^z76zfR(ki|ZLp}z`C!?9Hl7GcAmN8_W#?6x|DAjl-N_ZuP{Z_y}62UH8 z#VXA~FTqyypRE<~TP*Hop|(_W45v73H!wA*OO>$<4! zIe_x7Lt6PCv@sT?(_fOP0iHlbGU!ci4Y%X(- zLjSN%i|6O;2lx4&=+%%YqTV`Vq_ccW9oo zvfUPyVJu=MTPHsb(zRd!PZ5It;8pK%;7J*qQP(yKc}k780+?~ExoC`G1p}oR<0|y{ zoF7HrNbmTcz}<|I(z4>6;b-zGo>vcS6h&||kdC3bx$Xxe|EbSf4Y!ZkF!~e7M`6^= zj~;v%G&SsYtW#KlxE&b9ds3=2Q)n%4?YJj9j$PSZia>4!9LXxJMHL*k9$`#?>&-d{ zlh_^fd$Qn)QREo(`+=UMZfeJe8pi4vpAX7KX3C*+S}ALRjOqMeX z^K@5N$%cF<#wp3`%bB`$X!QBWLjYaR@E`qmti(ztyZ2ta`jiF zjMP4p2}nIwy3-1@cd=G`A0WTB?^)XgteGXQ^VB!vO8V#Kztwx<+b4kE%WL76=Gmfr zL(ET%GO?0?nUy+uigRHN#8K9=6^m^^SNY;-~ODYvZ0Tg6BdT$e-5=meDG;wmj>Ur|Z{6$1>%^;MpeH z$A_1HjshzR=mXPwwX7#1 zS&R1_J{Ntv_*qjerZJdwQ$?yh`PgYGJv~NpuG1U4M)(uJLi(ur{DxS_+u_+p=F_=- zpLxsWJ%Aj?W{!YoQYYa#+DS(y7&{@ob5VO}k( zMlBBUFTg_)6(4e4{~=Ak`!UC)Bzx+z?i1WQK)=Mfr7~Sslr5n(Fqc(~sfH`oV%GtR zi$gS@WnpbH!skx+zRb6H4`%n3y;UxgQ2yMfSKY@)7$`EL&y*dxmuK2q?dg6H?dnl*BNOz`TLkNA46w zJH^DED%@(#Km$pt309e&b2b{i3TBk)FZmt>y*G}Eu;R19o&ji|>aIq=QBQkTA)lgt zPDW+Jd|IJVBk5}%6jZMk@Ha4~$9KnMGgy5}+{MV&v@t`pKFn_2ieBW`^~T<~ z#TQ?IREX`HDrx6is(vk5oE0Msvs1SKibf^s>K_WFt*Q(yXUY?aZ0EPZ`x|JDSi;uz zjwu^#;^*!CIG`$i)c@L%i|O6%&!Pc5kyC4RcgTbzJsDPJrP&-8$T7^NK`n!(+TDgZ7N^f7T=Hn(sp6I6s)CCYp`2`NpDaK|C_YhFMifCA2esLAR;M6U2`|19Lw*4u7kgi6 zJ}R$_2-^7gtWh%jwG%5JkFIR z1@d|*MIH}`t_s?xqIz>8KaD;6)Kw<}`EbA47 z@M^2|48Xj;N6TeaN0Gh^sgG;t`%Rk7^3y8z1LryTNanv&!ugW5*mrsYuzv0ku@;|E zZiIG*zHuXUQOnn0{;usCiz1!D89am;V19}-!8{ow@Tt>G=tq90i$UJgx)he?F4S%u z#NTHl*2ObR(sd?hYR`rFTSqXy_?dZY&()wbaMcU{0#7|fWER;#&xJOqjVA^vAb4m)Ll>cM&t?W^`hhmV6{5)Sn z9>fZ-VBY-94&}m^07ufP&KTw~yOXd0WJTJHTaJ$FU=>CF*=&pou_~CkS4M~2C(?1N zbrUd%;{u`fi=$ce&1psIL}Jc4H5K7=2AREg?_!F&KP+vnns0T~%_5cULV7f8jF>N~ ztyy31k7xc$b=L1Gfi=_IlA=An3eTK0$$67(aoX7T*#8W3CMqeX#v=W%e1?D8gu$e2 zAI&I}bWwDlWZh<9koOZvg~g{s#55E8N^2N3{Ub)F7&#(;hgXa`e*$vc`8{QFJk5uD zdi2RmlKDNi1?3;=+bU2*Pdl*H>k4|6ZPfaGmzmvZHN2li+#kWLa!*|*pD?JX_%Lpv4^HR#oA>x z=5`xw0nu$Z2J5%THoP2s&-jHRg0#*|T1>W{i1&;J_;YF1Z5D+vnfXt^{~x>f59(E( z3-9YZv~$p()j%@Fc>q+-Rpp*l=0FbP9dR^U@&H~L)wPp5Q$89a4WVB!f>W7l@A-G}1TwS5T&Cv`;JJu&ndMPrbBWsW zbm_EHc#4aDA^QAtaO@4WG*A)zDt>idM97!K*F}f?b4~WNt^~bSM}7Vd8frN6#>%8n z%JB+os966%8O#c`c;5EG9{Sdh_+lsg)b-#Bqdn!ei(^b9*?u+4+>wXuJit_p=?^gK z&kkwS?n&yymImRt>*e(C0(yGyI`M(?w#vAG^)5P7Ka_ga+;ER|#6At3TucdIHj3kC zU!&B~&OZ(8pWmH(StV5#8TqoxHj2H$NmvdG;Aut;>|Jahy%*BZ)hRWV#wl-`vVW6Qy)sz3M;~LNOFfEcay-8>N zGAyAFbg|CcB=vSup1GPLN;gJdEZV9uycJ`RFIsMA)YZG`(>wa0+BhNH11PnDUo3KZIZRvlz#y~i5+zJRY8Kl9%ImTYfw=>7i% zpbIrlyrPO66!hMRh{Xs|sMFljg{XnGDW5tV}5W_0i@JbB% z34lC|v6@byb-^|DKgAHo0a3C2LB@IKR8VhyiKH#AUqv)8_=;W$Z(6OG4tCZeXm_CDvl99Ms zOr4V1YUzrvb7fntQQ-CBNZwcH1e;Y^tpO8@Xj$zQ>&aR7IFZRZ-@%!|>=n|El7Gt8 zEh9ZH4m4p)CCJYB4{~U>>yMCt;jLtMXl7oafPWb~(Shu9{yR zkFq);p6i879;y1{Ay~aQr&_goq7>~8<2eF^!dh$X^6_muJQKEtmE+rsMn}w2Z0^R; zWyw=UvzE~IVw=>V55j#vtWr~++A^-K*5?4(Wh|Ofh%_f@(nXncmC}aN!^Z4aG28~c z7td<7BzEy6pX0(^PVe)fecr8N`=FU2^u z^R;;_M7_nDDtv;Y+i$D;1^rI}U0!$-=q{$yMqTBuj2cI&wSyc&`+##{2($$k3PtmG!g?Z93OMxptPaQ|xT8$Ah- zRsUE%!Zg=&d{sMkZ4M}>bmkK!L;2p_vmhVDA6jW&!{qm&mR0UC8np~e=d+d8`*=R? z2beGH@rN(>>x|FW#QA-3 zvyeKbfp3X^w{`oS2IVu-!~6jC`uLG%;+8JSAVl#`O!*D~|?G4!kc6LOUVay_T93*nR;kbzqTS1=LHIew z;v>LfSeff{QN_YG{5lqsZpzr#%Us`cVEIgs&#JarKgsj0#xS3ZsOVEXo96(gXuDir zg_eU(?x*zngKLIDtbs;%JRsvR(XD})kAP5C{6d{^K>t6?Z+R5 z-AQ043)aavlSo!^wGA^G+YWjEGL~EMFDzcd^O{QjMFUDLx z>c@hoUfVa^T^NIJiCB#7D8|N!o9$pQ>%{l}^55tC(W)#%(!Zl`{Q9@DomG8Rriqvf zts7_E0-WW&4#rug?HN(cpGN%_P|a}o_b@ob_xVIkG5>A@M8#g3#gB_3fUdf&C}tQ( zk}t^4ZVcndqrhi4u?gQ6FrSmwTk#oVzwJSloT$>!MIMGh;7)NnXDs|2OY5HipAI9> zWfjf_)AIZAl^F6*0rHu!NX$Z^-$BW!J@fh;WA$!e_4KY>&?=OBG?dFaBk%;Q_eoeA zZZ}eVC5Cq&XouKWE{8|VDf_hdiS{i$clz$!;p;xdupR(daV>oq{mSbh<(~6U$tN z=CJ;>9`aAX`fJdxW?ZyeEkWq-+nz?w^cv`w{`XiWrR?cIjDpYL%0xzCc87h>QzdA3 zsCKQ@dKhpJjg{*t!?4POq7L!TY2(>hu1@ZsL1&lL(&D42X&>#@vuf|O_K}KOHlsI5 zq;lMkV8pY%_yG6iay?wd38UfVcd#yrbqHaNy&r)PR<{6FPpvgZ*~b=XBu2E3bcU$3 zFZCm3vmf0$A24DqKq*H3UG(JT=GLh)M><=O)x?w%_km5LXii<4t>c&GccF5&ZBFzq zmX99-?OxxL7K3IY>)Ii9>MBplqh#l-=*bnVf<7N@JFfDs1=uS5KZ5(TQ>@kcKfroD z>T=}$>;kQD-nhF~GFh~_3mQccBtQB#Xx+x13?gGy%mIsXi@d8`t$!xW$4_d;N%`h}Pyn%AV%)db`<^Por}z82V)#S~LofN`E@L663? zTV?x&^y{8K&J}g`A5U`Pv&KwwbL|j?0JMMYY0AN#-pq4Xww{5AX)*6K+vD_#0y~M8 zUP?mH3#SBN9GX>3w7FDw##!!ky*ADY)|!;mk@_QJNc(Yz6;Q991>Nz9b{qL{211P)u|RaN$nXe{*C>X z5v0_KM0W;XC_*QR)`Sc5Ijtp7M*LKRDL`qG6{Lqo8S0(^W#>H3!m`{6&a<-t?c{-0 zYaYFe(&~<(C=Ml`Qr1KGIkvs`!-{=LZ|y@HWc?(rRg-STEbI)dYMzVpH^4~qFc|I2 z2U8xyk4lS2#BpC;Cu^S4gfgg;$s>y(#jyVou;WZcvsjc)8?-O7^kCL~PwVsox3gGw-gG1fO%f8hr z{{nDQq^2L7iaa7p*(xA#TMN& zu-r9`cRR+rJ~H}9H@e3-ODrevUt2STQOCR_3H@4T5_p11c%R1lDA4z0PmYyka*dmd zBCD|;D}GAC9RNxBxcC=`An{n)VU}zfQn9t2j&>H^uaVyXd{kvtj!!cy)Q=>@Yy4io zRQ_7haeX49mt!v1T0G0p?U$fMMtg~to9R%i^s#5MP||&Ao#uq|una2X&VqPO?f}a$ z))<4$iK|Zw_u_Gc#{lgEwdlQQ)k7YlZVY*?UJPj;yahhZmS=AB?-Ar4c;c$X27UUu zr0d}^X70|pe<{XLkCW<+;i_zPSbIZB5!xN;@7&&#Kl0{u(0mwU5?f$5uXm->K8%$+ zf+P+86Jv<2)G8mV$Uk9Bh`SfKVw@pz+BoPWzV6$gt=1Ku?3Y~V2fCf~$+Os5tHa$| zjCSjDY{RYrs_ez4P}#5fkoM#km$B8mN%(<`h=reH9DW)&NdGj&K|4}9;2)k6#tfr- zA47T-AgxbTpzRA;&Q@L3YTKF0|cfd(ifx?L)f=jTO3=pzTMy6zwv!184`)E=Rip z?GPGI+CGdnigpC;O0=VBSD{goKN0OoXir9Kqdf)fsc2WDeIIi_-hJi!jrhlyP{`>Y z1QoixtDnU%>MyddXvO$@DE#^#t0A-}Vo8?05cccqdOFUB;d_PYTJ|C>mp;vd=NJg44?m-aPJ6x=Qt1jaX^dn(1ZG<)Rkth z^63w(OlHi$Wo$T7)cnA6YhX7jiV73Eh3$XXm?q@=jDL#@!ndO+3)pi z0pFf+F^A9&p=OC`(*14}^J4kEcz;8+WkcTo)pZ(;Z-a6Kq;jjnb-4SS<=-EUUsOz~ zxlz$Y?*HA9*%!*$GrIU{H0_x$_i2tmE)A>JggyqV;@v64n3xTl8SaYSo12*j03(;t zZ^|e8U>lOh{T-)%6-@qn(a1F5DwZG#Fqn5ktIO(N70psD4xi_1QsM0zIRD#Vzq7W) zRg;i1-?@PpZ3jO2a~+mIq_PKneNtBk$&aNh@#RJvPr0zH1UZZzo-g=Dr@F*ZzB@x&2fzUhk_$h7I z__MYjI&M1K_h4Cd+gIq$?$LZb661S%-x|Uq>)N4ddoeji%fZ>V;SSAD!(RJAspzj; zaYAc7wmPb4O1`XoDxPcI$^0t%R6NU@k$>&8r=K9tv0Tp-Ssmg5;~Yt|_^I=vJLzft zN|f+oP@yVa>PXi3EHl!XU-4YLCute?bg-w^o}+2|s_n^TFTxyry-SIMM?LhM7}`~w zd-{~|KEK1+D$thZp3AV3tX|H!C?3i+bvuykL{|3A`RUCy#`=-}$HuxFb7*lGW+*k1 zpT$Vze~D_E@&@g3)#j@bYaBAzB6O|Re*=cHQiE|vSx)!XkWAW9({v;jld&BY)KDiu zQLJ0$&T985_FYc_qGWzuhPchs#0j^}e;Fj4?l4brV<8vad z+QN2~+FopO9I2$$`e(pX_3&WpCl5+FddW1iH|ReyW>uCIItYCyPuY#VYM);$>*8qL zBv$eO8PeZHA|Edp-(yHv)J*+-s43e_NJVVYkrGIg?9KV^s-K<`seUtxe z*!~o-eNx}Hfbw@QUQ#Qvl`tLz3X` zS#3TYk94i5L8_p9c}I)ZomxK*{8evp=4vNZ$-^h9(7O$N8b(;-xKf#18qWR(X0aH@ zRR-ux&qmQ1dH)7{hM|jCo4}nw)IqkVPM>0(FasIA9{UpxLJl}-U=cn^3h~n41GYw6 zt{+T>7R7X9-^Y19e#TZ1?*uKdKE5hX5T{I@h7@EBr_5K~TifTWw)&+RnIVep+<3nK z67#)LakdMPkIYx`{S$cby+e|wsWXiSuPKcsLyww(egEEDUPeBADB0dXymgd^yIl$o3z6DXB72B zcW#)KR5YPnrZ0hmm>sQGjWl@VUN9k6F$;FmpLno}?u&dY zMv54dm_eMCduzhaF}KYFtaMpjsE+Q_z67J+)Yn{BYL)PFjKyzlpibF}+>_OY__>>p z0;AXTxU(!nk+v#|<2zw|nvvFGYoqAbqLsVD0#SX;VEiHemrra_SF7gcd-A5ViJ)H$ z=+4vgC0BYbd<)C6x zcFe&q0mMO8IQAxrb3wd%H5zG*V>Rk}308PGn$g!Bp*>CMO?u;*Aml(=trk7J&V$|$ zZO0=gUl0OiiToz_F1DiH3Fzx#%dy6Rd01jVE(<@$Slj^qRy3@f-qI9Zq@82E;@8?0 z-LEyd8|0p1mFtO*Rlc!uoO>rums%KmfRk+fP{;Y7`mr#44I5MEO8`~7?|eAYmc_Eg z>9B(s8!6w;<}QUbkTgs;J3Rkn$`VF*x z>&pGSp=o=bFg(}wZh3k&?HfuVLSh}a#vVu9I<2Np8leZoEZH1>X%#ojPBNZDX>idjv=f}&faCP9FAKuaxv_EYhn|XT<8bjhjx3C7+3ctG&%F-NizQJ#=;r;Z zB1vPq0lnVXlSIQGlgrnJ@wRaEvO4ISht(#&*Ae!h5!?;lhV+djLbIK@95pQ-X2`9w z+IZe9g7^yIVqXBDs#2hw@{1&R^E&pMW1X(=ty39|7r~=HT1I*GR_UrtKF}MpQwpos z=AR%Rj&!khYf~0`XEh#k^33Avq!CKVYqC$QBCz@Y0(y?CYsx*XvYwYAb7+au2CzN& zT;o3n4A~TQu#feqJtx6Vr{IWK<;3VX_qDiaMANmDTbpbR1N6v=81Rwu;Em z_M^pS`)X*b8TT!qZ>^I!qsj_XpT5n*TB*s*4mpWzJgap4&$0J)6}&H58+D=9vHjM7 z0iQdjcz*af#^UY3;?f?q_!`r2s`50nYNCjFNOotvH1ChJP^X^xrvOJ(uGy<2G5z%# z$2{4SZ>K;Lq(siI*=dw8Rz=fl{W@T6eEx5LM#q-`EA7*&)>wChUcWZSHBGDFrZG3< z{!UicY_Q+{k$w#Zi)wS?f zqRn>z7niLVOjE`3SkKHI#rSD&6`ke&*N`(>4YSI1<}J?~&>Wi`&0eU*4a-fzUO{>| z)a;D%EVeeG&VqXh_u%g=)`VQ39dEP*?Jm>R+&lWB9=Dgxfbocp%$%m)4JWn}NIA}Y-4cW`|l=1v~y+iGh{!>&jc`aDQ` zC4R1x#(F(q$-*nwlxbMLpGmE+lOY7-c354-&(5?*y%oEc_MzG@wt;RBoahDHQ}N0u zuE^4tZ9^VEh!K-VbWNka1vHpyL54B2Tt!+9b+yLhOS|eAK}yQQw7uceXvH2Ri5q>)rfwS0xE8(+F|BYch$M{k}HF~K`d2Fjx%1zniSi^M9;={I>c8D+JnItpX^d#ITsf3Ip;9#(K{^^#!SQ` z{vLl9gW3m-2RSW<=Qn8AM)MI#N)boya2WUqJ(v^akT4V5HW8OKbsTznc*D<{p*1Kj&-6cUvuZ_%F&Up zb#3L!pI!V5pc_@U4@NhkWI6^vnck7J??hvqD`t0gfCpoHs>~Cd?zF)y+wkbEucKdWP@5;p{$PbKpSx$-GJhPSL8;+LMnBf(}>VJThBDumUth0?JK79mQ zIC_GOa`@EGoE7@T?tL6Tcpxkf)n5u;*(~_7!JV(mU1f}s=IwWCZg=XVjq&Y(DL*RY z5&u&^Iax;5>UeUuhi-j-PcHdUjzKYqbBD406;t;fVDf=3CjDA|wB5JB^5f}YhCd}U z&-l6uuj6>NXji?xvii-HkX9o&SDKast#;cvSakO3+cAbFv7G8>yHg(0elbnwTSXs* zbbe)T<;wh#Dle9{Gi@iu9P-bdVHG2}-Xhx_ykq2rG1a13xD6zD|FKlj1xFlb{Pdk9 z;vPWSs7U!X)K=xa#18-?SLau@D*b8>RYXaHyW!W+#;fub zz?a{!9`LCrDeGy0x@WBC=izI><0DCl((EZ+?%a3zvS-q#A{Y&Jpw2&Z6Nw+5Y)?T%{-Ke~#^p_X96+XXrnzXY7>n zo$KCe{U>Y=!S{81-8i=9Id9$ieuznL^M%7o=nq0iJ}Fw4>bd~hue5I6vj$j;qSGEN zA7(byKQVU9vq|^+nw+qnQppkZZ z|CCoe!`~zp^MUS3hdfhM^OBa5p)0I(LTpepAM*sn51Vj zj9(Sy-`mzYxQ4o;l|(wm1A0`FjuZGndz;exdEl^NAS` zwQ4E%9K4-)8Y-VxHG*$aPec8AXff3|HMgC1fxpOM%EMYMnzMDnO0oRiqNBaQLRzgk z7Lp!Z^SDBBFXn|AGs-&MC#d@YwSTL%SjyXZ5z6})-6QCy0A032`Izg;JnqfZSrK9V zp&)(?5c3{Nx;i%YCfq)a@aYrUr}0Vj-#;yBb!-(K4N(u+zC_wojB}S)nSR<^Rmr5X zm_i(F=csiCUi>urHvF{kiS@C)^4pLE@~{LwZxM!eCwZ5AWY5arvkm;uTs@qB4?E~} zJ$=%0wb5Q<)tsmv{k+i zi8JHJ{Q9jU`Ac9TAHUolDU0#M@`kkmc20-$#UvdiWxfo^?;jE+o(r4zyc``4e&SeJ zc9hR)*(j>wiIw>i;NJ+0w3ec(ycJR%uc1A;2L4(?qa3vpru-|h{qs~<0Y|!PDaau` zhqg~X=Ei(1qokI{;XBd^&VNVGv1Jw3O%O-FPDJM)_{9WS5zX5!CCTUsjVbcaf_1 zq%PztQBT_{+ZvpN#$F$L%lG>^3r;id#Tc0vvC6D>0fUXAg6)uzyKb2pORW`C#(CY)8eL!MTo>hii+4ej(2$nCjU)TGv+r{zk3qR&aOz zG_*-z^n+17$~x;mM^jygc)dzf_?%v+LM*Nwi*?3ZAlYT-3WsJogE7TbaPo0bxqEMP z{-5YQp6{^tP!GD%rE}$ZtrefukUG8LyTIm^UHw?jbv6@48QCI_Ew;OO4`cf-Hb<#j z^hRmiF@WXbea$tTbXh#=FwU#HG{UO^ zRT9Zc#Fc-_N~{0hNB`Qh;ON-boB3>DY`wb}8)uBZx@pMW&<3%ez}2nZeUYYO z=1>2>>aH!suB!~66cMo?eW?WvK9taUYv_yC){rB58--&fcCyRPoivd}MEh$K~wR~-7_aIiHIFEMOw36-~%K~#C8{ z^#Sk4J;hm~i6$9aPxUsLi<6%=aqfyNKY{y?r@|wwW|>DMran9HJYfE7OkU}BRoSKF zJNf4j_Q?zgwE_D^jue`}X8lnDc=sHitJ412ARnxqArjK=)mGAvx$JIuYyHaUY8DK<5XWl8*{o+kVt?kn$E zJ8iEi_1%(p)N5;VrSy&(m^<_-GJ3u@dpFkm^7=m5Twdka-A)$`h20dC-mZ5^iI&ez zeOFTY3h*H7Hy6KYU0Cj16Xh*|+8Gri#Wzozd>Si}e(X;5;o1-21T?En`+N~v;e&mt z;^$qTp=ZZ^_`J+s@7E*g72=Fmfo0m$5tXmQE?SM&IE-|UwMg1id^eyS>_h90Z<8d# z?qS?Zv5xNdk`yxQLspQ@!K$yl&|hf{cVi8Ty5*ekDo&W%&wg_*FKb@Op}J<=8p^+3 z?+2iQSZ=hPQMoRQJ{YNhaYM=zuXSTw-nuEQQo$;aXsL6LHaYkez+dP{BRPH|%r*%KL{oVofb(eoS{glPpmKFOsU_aZ3J!<9a zG_qor7c&muDhtCVM>OTideA7bZP>2S;@I{|L7U9x@Jy)3NRy;Y;|%-FQ|$E~1;jLs zgcP$IzP!oOxL?GtoA0Zs0HTrK;{LKmwy#FQrld}TK3LyZ&M9Ay6>ScvwyTFH_chePAGnsXzRxkARrby%!t zn1wv0?B%@hVe7J9!HOqEpM1g?C%TmB^Cd{_M+P|TE>$VPT^|vHF=d$NeGGV0MP$x* zbjBATc{O!?yE%Gq;<*OD!Fr@kLzxvzDz|1s+mhBcpEyb{jyj$l7|htwf3cX5_WcgX z4QV^KO~Ux~G;qy35&ygwai62N%YWgv1vB)f$v*|y!g)UIZhhuHSEqGLS;Q*n z%URzIv4JUFSdZ7=b(NuMK9|HYYW3;%)o<%W?!-#u_c&JS{ekXhVG&l&XVWwdi~Y0a zV-a%$87-ux^&I|>vuMXb3!~&8sI#g2t$&NOoIBJx=EkkR z0oZYcMZ52tvtQ1eVqG;)o_Ou`z5`hDdUGXi7y+_Lg|v)Vfl1ACqUa^#Q@42ke?p?i zQ>>cvX3EfoKD*VVkxm$oW-PdR#o&Dg@Fpc$XHdm;GxlBfVjcw++$wL9e*lb0S(3LD8mvrJbD;BaT9UNydBVoe zln**W%IoQ*n>f48mR-Ra+f#{YJB9CJ$WH?Dq|So2O3dLeO;G0WNxId@ z$t|$vXoIk7KxdO{N9!3UoG)WCnDJ7*j?dx|Kzid2gEVUN`SqFKPDMr1neMm2t{dMB zitWkur|i^JB@jD>>3vEbUcz1{rDykmva4M9Ijl%}ww~t8ogZf*ap)_ut9Bh6Q=N>& zXphAZxpzi5{sTBwi>595m1CV*7M?aab7ee*MZjByg(f*WjLlsav6kj01>6G&oXK8} z^F4>1uJxrzbEG_6SN$vugQWP`{=%B0_u*A##{ltC7Q~bdlcweQL4``$8%lj!)O{1A z+N3nh`x5ee0~+QhL*s?ES~(6L`it^TmN22id{=s{R^RL2Q+J+K`B)UHz8Y3|oWZ(} z4!v$wdc?Bld*F)sq3zdYm84#*GK1w{*>$MmA{6^WMd27!Ap0fST zoR*^dHV)UWUIrA^q|{4D+5Q%_mu)VqfHFc;4_F7o$Sm)VzB`Z+~bA|9l&;k4JlNib{pC6Xw)IvM^S5DtiV}2}cUq}Ys^pc$Dh`2z z+2gfdk?9`?Oi{^rVM;d=r#3}QD-71jmu{J?K(Q-+H##zS+i?Zzrd=-Z*5sE zopiSP37V{}JD@q_t#&^dQuFD7ji+Z2rg!`*APuW0s+k_wg?w%oKbLM~H%+Hc5A{l`_`=1`d5W34`?Kw6YG-q%xrtExU(V{H~`cRO75AnS$9^QR2$goGVe79!mB ziK04*-KSP<9{Qfu$@kZQa)+%Wkf+0p)&gjk?=^k5d?l9g4+E;Sd@klgE402xo=@mx zH`!^(_zQ){dZy?-NnMRsbs4MLiW3oE$v>bUeYQ3)^f#=6nRx4C3v=Fi+!fbCiOZHD zlih~NyDxQRxu=DCm6ZZcag+#@RII5KXM68cHCA>C>-a*){iST8*!!yMQ%wD>aPkId z<1|h}KcYTPr~Ss=IL9GZD61*IY3-bcTupsf>v$G8$+Ni2>k7{yuIS*tnT@bW6|q&m zBG}V_ohNhC}$?XHF)U_s{TGhUR`{iW>+Og`gb{>7_XA5~-_1b?2 zhykc?@<~&JJA?misY?v6P)EjHY8;f5r}7^M@93h~;|gj}|BA>W~hp|D@g6`E1=B z%#nyg{sd^!{Nj+NDj@fF>bZkCCEA#b9hT<}Edufy&W}-6_P3Vbb4|V8AHgZo{5dO% z^AMVcN8Hcgj@Ic+U)yR9IU|qS*)rGcuHAs2Xs|yIxjcN7ukO677KgBZKlZE0Y0h39 z`(e)GK45ySzf(&4@_XCa_W?=uX5DQX(NOH&q@D;X4%XjjuTNtI^00FD8lDp2#=R5X z@wI>xJO>Q$X|Xm7I%*V`6Twt zr?y`NX8d&w?Tdgmo;;0YoNA!$squ^q#^?MYNEG2VlvuG|&>feM#rFvbUhNTkulpf4 zRvP`)vw*C4r*PYp%Uc7r@F|1mz=NCwV)-9RtQBxn{NDIz2|A$*j8)vt`}#MF+UjbR zlJ&W$2kUEqF-qo;99XUwIo6*HHH(v>Bs4y@X;FSnoccK6>&J3qcNHEx=cVY|%lbmg z@14D?c7WM>ul9dhzFvHM1O9zy|BIq7_g^hebsjq;2Qbdv^s@`_1)IN{zN^nTIqgmT zHwTeDKY*(68T`8s6X|b4ERmDx58~An{@aiDCkB0~$Dvs$i_Ys-h?iZp<2t<48U`OU zy!cB?nMFz_RZ2A9{R_9zj{l?JMTkz5q9cZ^f2zof8ffScW|AK zTh0gI#0<_okmp7YWG#kOMUloiyTYF}z~?PbVQRu|oSUAW!)%hrBW%{iE`X|9p7k|F zK0!>c6!GVz4T~7*N-Vd336_!EmLwb1Dr2<*??K*QFYGhfMphU30l=KAc+wv$xQvpL rSz5|zr?Dwujn%Z~glJGyK;8j>w|w diff --git a/reactos/tools/sysgen/SysGen.Make/SysGen.Make/Program.cs b/reactos/tools/sysgen/SysGen.Make/SysGen.Make/Program.cs deleted file mode 100644 index 30ccf9bb40f..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/SysGen.Make/Program.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.Make -{ - class Program - { - static void Main(string[] args) - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.Make/SysGen.Make/Properties/AssemblyInfo.cs b/reactos/tools/sysgen/SysGen.Make/SysGen.Make/Properties/AssemblyInfo.cs deleted file mode 100644 index 9012ef9b0c1..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/SysGen.Make/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SysGen.Make")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Sand")] -[assembly: AssemblyProduct("SysGen.Make")] -[assembly: AssemblyCopyright("Copyright © Sand 2008")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("00432ce1-5d82-4afb-9a3a-dc2ce95edc4e")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/reactos/tools/sysgen/SysGen.Make/SysGen.Make/SysGen.Make.csproj b/reactos/tools/sysgen/SysGen.Make/SysGen.Make/SysGen.Make.csproj deleted file mode 100644 index 7e429ac88d9..00000000000 --- a/reactos/tools/sysgen/SysGen.Make/SysGen.Make/SysGen.Make.csproj +++ /dev/null @@ -1,47 +0,0 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {8B1229C7-6188-4621-A648-843CB9B5C72E} - Exe - Properties - SysGen.Make - SysGen.Make - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Collections/CommandCollection.cs b/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Collections/CommandCollection.cs deleted file mode 100644 index 28740e67d2e..00000000000 --- a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Collections/CommandCollection.cs +++ /dev/null @@ -1,10 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.IRCBot -{ - class CommandCollection : List - { - } -} diff --git a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/Base/Command.cs b/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/Base/Command.cs deleted file mode 100644 index 5d1bc8380d4..00000000000 --- a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/Base/Command.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.IRCBot -{ - public abstract class Command - { - //public abstract bool CanProcessCommand (string commandName); - public abstract string Name { get; } - - protected void Say(string message) - { - } - } -} diff --git a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/WhoIsCommand.cs b/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/WhoIsCommand.cs deleted file mode 100644 index 7389508409b..00000000000 --- a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Commands/WhoIsCommand.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace SysGen.RBuild.IRCBot -{ - public class WhoIsCommand : Command - { - public override string Name { get { return "whois"; } } - } -} diff --git a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Properties/AssemblyInfo.cs b/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Properties/AssemblyInfo.cs deleted file mode 100644 index b41f434ce58..00000000000 --- a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("SysGen.RBuild.IRCBot")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Sand")] -[assembly: AssemblyProduct("SysGen.RBuild.IRCBot")] -[assembly: AssemblyCopyright("Copyright © Sand 2007")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("bb394e0e-2885-49d5-b388-80be41207d29")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/SysGen.RBuild.IRCBot.csproj b/reactos/tools/sysgen/SysGen.RBuild.IRCBot/SysGen.RBuild.IRCBot.csproj deleted file mode 100644 index a00f422c215..00000000000 --- a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/SysGen.RBuild.IRCBot.csproj +++ /dev/null @@ -1,64 +0,0 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {0629E569-D4A3-46F5-9367-F1EB14B02500} - Exe - Properties - SysGen.RBuild.IRCBot - SysGen.RBuild.IRCBot - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - False - ..\..\Documents and Settings\Joan Marc\Desktop\SmartIrc4net-0.4.0.src\SmartIrc4net-0.4.0-src\bin\debug\Meebey.SmartIrc4net.dll - - - - - - - - - - - - - - - {8F5F8375-4097-4952-B860-784EB9961ABE} - SysGen.Framework - - - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26} - SysGen.RBuild.Framework - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/cIRC.cs b/reactos/tools/sysgen/SysGen.RBuild.IRCBot/cIRC.cs deleted file mode 100644 index 41239b32aa9..00000000000 --- a/reactos/tools/sysgen/SysGen.RBuild.IRCBot/cIRC.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Net; - -using Meebey.SmartIrc4net; - -namespace SysGen.RBuild.IRCBot -{ - class ClientDemo - { - private CommandCollection m_Commands = new CommandCollection(); - private IrcClient m_IrcClient = new IrcClient(); - private string m_Server = "chat.freenode.net"; - private int m_Port = 7000; - - private static void Main() - { - ClientDemo demo = new ClientDemo(); - } - - public ClientDemo() - { - m_Commands.Add(new WhoIsCommand()); - - m_IrcClient.OnConnected += new EventHandler(OnConnected); - m_IrcClient.OnJoin += new JoinEventHandler(irc_OnJoin); - m_IrcClient.OnChannelMessage += new IrcEventHandler(OnChannelMessage); - m_IrcClient.OnError += new ErrorEventHandler(irc_OnError); - m_IrcClient.OnRawMessage += new IrcEventHandler(irc_OnRawMessage); - - try - { - m_IrcClient.Connect(m_Server, m_Port); - } - catch (Exception e) - { - Console.Write("Failed to connect: {0}", e.Message); - Console.ReadKey(); - } - } - - private void irc_OnRawMessage(object sender, IrcEventArgs e) - { - Console.WriteLine("Received: " + e.Data.RawMessage); - } - - private void irc_OnError(object sender, ErrorEventArgs e) - { - Console.WriteLine("Error: " + e.ErrorMessage); - } - - private void OnChannelMessage(object sender, IrcEventArgs e) - { - Console.WriteLine(e.Data.Type + ":"); - Console.WriteLine("(" + e.Data.Channel + ") <" + e.Data.Nick + "> " + e.Data.Message); - - m_IrcClient.SendMessage(SendType.Message, e.Data.Nick, "test"); - } - - private void irc_OnJoin(object sender, JoinEventArgs e) - { - } - - private void OnConnected(object sender, EventArgs e) - { - m_IrcClient.Login("RBuildBot", "RBuild Info BOT"); - m_IrcClient.RfcJoin("#testchannel"); - m_IrcClient.Listen(); - } - } -} \ No newline at end of file diff --git a/reactos/tools/sysgen/SysGen.sln b/reactos/tools/sysgen/SysGen.sln deleted file mode 100644 index fdc7d1dbe82..00000000000 --- a/reactos/tools/sysgen/SysGen.sln +++ /dev/null @@ -1,66 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TriStateTreeView", "TriStateTreeView\TriStateTreeView.csproj", "{99CEE41D-B76D-4102-B0AD-C81069509D17}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SysGen.Designer", "RosBuilder\SysGen.Designer.csproj", "{78A0F196-A5BD-469A-B901-B269671AFB0A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SysGen.RBuild.Framework", "RosFramework\SysGen.RBuild.Framework.csproj", "{88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SysGen.Framework", "SysGen.BuildEngine\SysGen.Framework.csproj", "{8F5F8375-4097-4952-B860-784EB9961ABE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SysGen.Make", "SysGen.Make\SysGen.Make.csproj", "{8B1229C7-6188-4621-A648-843CB9B5C72E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug Main NAnt BuildFile|Any CPU = Debug Main NAnt BuildFile|Any CPU - Debug NAnt Tests|Any CPU = Debug NAnt Tests|Any CPU - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug|Any CPU.Build.0 = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Release|Any CPU.ActiveCfg = Release|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Release|Any CPU.Build.0 = Release|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Release|Any CPU.Build.0 = Release|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug|Any CPU.Build.0 = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Release|Any CPU.ActiveCfg = Release|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Release|Any CPU.Build.0 = Release|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug NAnt Tests|Any CPU.Build.0 = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Release|Any CPU.ActiveCfg = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Release|Any CPU.Build.0 = Debug Main NAnt BuildFile|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8B1229C7-6188-4621-A648-843CB9B5C72E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/reactos/tools/sysgen/TriStateTreeView/AssemblyInfo.cs b/reactos/tools/sysgen/TriStateTreeView/AssemblyInfo.cs deleted file mode 100644 index 192fff970c0..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/AssemblyInfo.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly: AssemblyTitle("TriStateTreeView control")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.*")] - -// -// In order to sign your assembly you must specify a key to use. Refer to the -// Microsoft .NET Framework documentation for more information on assembly signing. -// -// Use the attributes below to control which key is used for signing. -// -// Notes: -// (*) If no key is specified, the assembly is not signed. -// (*) KeyName refers to a key that has been installed in the Crypto Service -// Provider (CSP) on your machine. KeyFile refers to a file which contains -// a key. -// (*) If the KeyFile and the KeyName values are both specified, the -// following processing occurs: -// (1) If the KeyName can be found in the CSP, that key is used. -// (2) If the KeyName does not exist and the KeyFile does exist, the key -// in the KeyFile is installed into the CSP and used. -// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. -// When specifying the KeyFile, the location of the KeyFile should be -// relative to the project output directory which is -// %Project Directory%\obj\. For example, if your KeyFile is -// located in the project directory, you would specify the AssemblyKeyFile -// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] -// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework -// documentation for more information on this. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] diff --git a/reactos/tools/sysgen/TriStateTreeView/LICENSING.txt b/reactos/tools/sysgen/TriStateTreeView/LICENSING.txt deleted file mode 100644 index ae57c7eda0a..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/LICENSING.txt +++ /dev/null @@ -1,41 +0,0 @@ - Copyright 1999-2004, SIL International - All rights reserved. - - This library is free software; you can redistribute it and/or modify - it under the terms of either: - - a) the Common Public License as published by the "Agreement - Steward" for that license (currently IBM); either version 0.5 - of the License, or (at your option) any later version, - - or - - b) the GNU Lesser General Public License as published by the - Free Software Foundation; either version 2.1 of License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See either - the Common Public License or the GNU Lesser General Public License - for more details. - - You should have received a plain text copy of the Common Public License - Version 0.5 with this distribution in the file named "License_CPLv05.txt". - That text came from http://www.opensource.org/licenses/cpl.html. The - initial "Agreement Steward" for the CPL displays currently the license at - http://www-124.ibm.com/developerworks/oss/license-cpl.html. - - You should also have received a copy of the GNU Lesser General Public - License along with this library in the file named "License_LGPLv21.txt". - If not, write to the Free Software Foundation, Inc., 59 Temple Place, - Suite 330, Boston, MA 02111-1307, USA or visit their web page on the - internet at http://www.fsf.org/licenses/lgpl.html. - - The GNU General Public License to which the GNU Lesser General Public - License refers can be found at http://www.gnu.org/copyleft/gpl.html. - For convenient reference, a text version has been included with this - distribution in the file named "License_GPLv2.txt". All of the licenses - mentioned above can also be found at http://www.opensource.org/licenses/. - --------------------------------------------------------------------------- diff --git a/reactos/tools/sysgen/TriStateTreeView/License_CPLv05.txt b/reactos/tools/sysgen/TriStateTreeView/License_CPLv05.txt deleted file mode 100644 index 4cac5dfe069..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/License_CPLv05.txt +++ /dev/null @@ -1,86 +0,0 @@ -Common Public License Version 0.5 -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and - -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the Program. - -Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. - -If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. diff --git a/reactos/tools/sysgen/TriStateTreeView/License_GPLv2.txt b/reactos/tools/sysgen/TriStateTreeView/License_GPLv2.txt deleted file mode 100644 index 1bcc46f53a6..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/License_GPLv2.txt +++ /dev/null @@ -1,342 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - - diff --git a/reactos/tools/sysgen/TriStateTreeView/License_LGPLv21.txt b/reactos/tools/sysgen/TriStateTreeView/License_LGPLv21.txt deleted file mode 100644 index 807db791666..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/License_LGPLv21.txt +++ /dev/null @@ -1,506 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - - - diff --git a/reactos/tools/sysgen/TriStateTreeView/SysGen.sln b/reactos/tools/sysgen/TriStateTreeView/SysGen.sln deleted file mode 100644 index ef92c17aa73..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/SysGen.sln +++ /dev/null @@ -1,75 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TriStateTreeViewDemo", "TriStateTreeViewDemo\TriStateTreeViewDemo.csproj", "{6E9E72B6-B523-424F-B409-BA5357BB7B50}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TriStateTreeView", "TriStateTreeView.csproj", "{99CEE41D-B76D-4102-B0AD-C81069509D17}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RosBuilder", "..\RosBuilder\RosBuilder.csproj", "{78A0F196-A5BD-469A-B901-B269671AFB0A}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RosFramework", "..\RosFramework\RosFramework.csproj", "{88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NAnt.Core", "..\NAnt.Core\NAnt.Core.csproj", "{8F5F8375-4097-4952-B860-784EB9961ABE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NAnt.Console", "..\NAnt.Console\NAnt.Console.csproj", "{859696F8-F405-4018-A155-D34561498A3E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug Main NAnt BuildFile|Any CPU = Debug Main NAnt BuildFile|Any CPU - Debug NAnt Tests|Any CPU = Debug NAnt Tests|Any CPU - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {6E9E72B6-B523-424F-B409-BA5357BB7B50}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {6E9E72B6-B523-424F-B409-BA5357BB7B50}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {6E9E72B6-B523-424F-B409-BA5357BB7B50}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {6E9E72B6-B523-424F-B409-BA5357BB7B50}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {6E9E72B6-B523-424F-B409-BA5357BB7B50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6E9E72B6-B523-424F-B409-BA5357BB7B50}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6E9E72B6-B523-424F-B409-BA5357BB7B50}.Release|Any CPU.Build.0 = Release|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Debug|Any CPU.Build.0 = Debug|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Release|Any CPU.ActiveCfg = Release|Any CPU - {99CEE41D-B76D-4102-B0AD-C81069509D17}.Release|Any CPU.Build.0 = Release|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {78A0F196-A5BD-469A-B901-B269671AFB0A}.Release|Any CPU.Build.0 = Release|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug NAnt Tests|Any CPU.Build.0 = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Debug|Any CPU.Build.0 = Debug|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Release|Any CPU.ActiveCfg = Release|Any CPU - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26}.Release|Any CPU.Build.0 = Release|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug NAnt Tests|Any CPU.Build.0 = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Release|Any CPU.ActiveCfg = Debug Main NAnt BuildFile|Any CPU - {8F5F8375-4097-4952-B860-784EB9961ABE}.Release|Any CPU.Build.0 = Debug Main NAnt BuildFile|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Debug Main NAnt BuildFile|Any CPU.ActiveCfg = Debug Main NAnt BuildFile|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Debug Main NAnt BuildFile|Any CPU.Build.0 = Debug Main NAnt BuildFile|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Debug NAnt Tests|Any CPU.ActiveCfg = Debug NAnt Tests|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Debug NAnt Tests|Any CPU.Build.0 = Debug NAnt Tests|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Release|Any CPU.ActiveCfg = Debug NAnt Tests|Any CPU - {859696F8-F405-4018-A155-D34561498A3E}.Release|Any CPU.Build.0 = Debug NAnt Tests|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/reactos/tools/sysgen/TriStateTreeView/SysGen.suo b/reactos/tools/sysgen/TriStateTreeView/SysGen.suo deleted file mode 100644 index 5ffb0f9a16de9a28219907d78eb77a96af96f34c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207872 zcmeF42YemH^|oajFunIGY*T}Ud!btH1{)g}Y(Ny-lB+BWNp4ir389CcgkBOt5+H<5 z0t5(6cXw`)&Hwu`@Onn)&hD9d=FFM0&pf@spRc}k z%fD3RxP7X+RDJQ~8da-B=&LB)$^E^4RaIw&*Al+?^2;wBc{u?^S}utEwfl;fz~@RI z^}2(wsz7~r6;>D45Y`sf6sYHQgms1W1XX|42EvBIM#472#=<7T_QGbu=E4@jmcmxT z)g@D;a`UxY2{=xuZ zpfE@nEbJldB`gz02>S^83PXf3!cbwVaF8%c7$(#TqlNv2{exSRH_i2^>fDL8N}uuNPtNIIxP!!Ra!?12 zRWsx-RcnI(Vx?zh&>BpFK3f&RaPfDG74*jd;`p#OhEp#P5%=>Ja(y#(Y4 zGKIe9(lJ2cX#b}lB2$n7#EJI*TG57D`f&Nk2jYy9KiY=r|Hy%{LQ?-nE+7N$7wF#y z3G`KD0q>&! zK$!lIkIX|35T^g*BNOnK%Ri>qgHt{o_4&}BT)x4b+r4r4?IIQB-Wx^>S-FmOI$+oy zb(0p(YFjeBrD4LtmbQkLx&vyP+G>U^Y-(ND*bw`preSGA&CG>Ov*yy$t5(~qX;EV% zjY3UCubH^8wQgo(!}O-QmWJsw+w|AM8S{G1?K@~d-Q1>`jf?6V>Y7{Y=hx}Cxr^z` z^b6YL0`=c|N#RD-BJymp{8shj*^)7B3fC*v0SYe&YI*D63Hlsvm`15OwW5Wp{WeMO z>5>5r8eta7=h+thI$8hDRh%~aKK^!&_s}lPdyG__t>58Rt&wqVkg8U_Wt_q@^~*w~ zZK2xe0{t>U@n%X2PFGqRG`2O1$6Wo|q&Vpg`KPAT?$TqMU)8j$_Ep=)4Hv%|Dzn)E z=N65_l+{d)eUx3cs}_G`&Q=16$bQ1;Ij>W3a=HA6s$?3JhWRRkg(?Ha#I$tmEdHPA zJ?jd-{Qsl4e?`E_XUKsC)W=FaOnSe0f1@tCqxK^joBSH>$PJ!WOBu z(gLcbMb+u|VfvR=(VHUMV#X!X9x8vvpUnlzfOlrOX#R<7t0MMTIkeb|GX6jo$)Wl% zk$h&A-MdKL{PN3AovS*%vfPc1Rk!?M`6`d;ZzHuk(}Ik%&sTRkMpL#v8t6ty_3Nj9 zduysVGzj-qsJH$bE`_nDV)0w8LcR1~E&A&?we&`nts7gBa*HH^T@5hHWXwW~?5BT^ z(F}8hW|pw(BPIg^R{a%*RX_Rtln~hW6N|w?s8%!6zQRCJN!Cz>ducXSqpUBnW4hyO z#$U&ERdKDYIM<14N$4rV)vjhLx9B9atZ17@`#^t5(*=5|{h?bI)BiS9d{={M{M}q^ zc%TzZ*HihfriA{tkzV6k7IF@W>hfs%*(~LHwy5Y&?w5StP}KiBslf*GBH#YEvEuKs z7EfbGn4#J4xIl8}_VI%P3xYp)h~T|gYh<8GxK<@QQsp{0kdes1p|(aS zcZBdz`Mnf_P@kYS2B;Pg&?9Ya`P4|~_8O@q*Gkk#CDT)GjSNza3|Dy%RWBK?Qtqh{ zsh4_9e}(#~><0zoSFJ+Bg8CYuI_RUgj8)X!py2NTUVWrXdyQ0*Yb9!=lIa<)k-NuQ zpVxll><35R`tnUrZ*=|C^~P2`bI<$J&ggdch@1EL-ONk>yA+d`Y)9)pzGdTQYjhuf z-j}C;{PaWDVQ3Qdt&Mkh_9xxDkGkWHzZ|#Ij0FfYxk*)nW^Me?7Y}Va_PX!Y|M-$^ z-yK}&tp`?DRSnSyj`e`~eAIft3^ueLpkFe=*C@7`*)#GD6OcHq!5pwbx=8LQ6eOtN zKbrp+J^n=XPp4y{2RAD%q!?>QXyqu#I`{$m!&=e`(N}%PKh_S`U)8*Kipm78(>20j zp>gRkT6ZC>-#p8|*k7^36{G(|^FLaeMt#7$NqKHmYDOwGjJK46AAiQ?^=umCWx6PT zGmlgOmeq=)v(Y_DXpPi4^J&t-T;IPn_mEs-1!KN6SZrqVRc2ThQ0{xHt@AIgE?DVk zRp}a=7%iQ)HtlJ&H`YWc%DZ_Lt$((Y@wUn_zoLX_3WGR!C?*(f2b&|YjDSc!EpCmnul?Z;RiRt65`kU6#qF)Ht ztDQ9JiN$)3oYqK6_mW)iBVbGPdC&Mj_ia=wYzi=2&pG?za8W`FBc+t@O6mVI^qR9S zHSfx;y^wo8uO!OWCCHz?deP4IWp16vt^Z7t<u@90I!370 zn6eI23ov7HZ_(YPwXfC+oK(W%yC`TK=4sY8CI9qCsq%+*#9JHm-vP=wa)%LsmStq1 zu>-r_@OYmw6S|2XJr$YDyqLKZ;*_~K^E&c|J&2w~+OSVV*Nw1$Fz;p_*kt<;^RVdH zm2LSZ#n>(B$;r0yXbhMB=U#c^Q`Ur|W#c%ZgJB;s?`y7l!KT05 z{@+`D7tN$cQ2Gl39!+^NX`*VMF?_CmZ_uxEHG4#!VXg9$17jqEYNY+qv#H)UH^6cm3qGOYRs-zADwv zH`2Q{7LwM7NjFZrFNTgCQ>$2oMq4A9qpM*j6%jXVy-wn}UY#vJT)(etAA!*>jD~RR z=)rx^zuX#($qPNy=os@Qp9+o9H?M^Bo3%irAEdQE#>p(_+FwwCK^1-$S4-2Mu2O7Ln>;}2Vw|p4>K2K{e9o=x z6kAgJc3_%|O$#F;<<~zbeQJQZ>#2XKH&=hX16r+W2fI;EX&cOL`UmwztzsAK>sf28 zxgcAO>~eTMXUW%M^bcpBW4*sIXgN-@L}&b299;?DWz%2&{H3@0ct6cTqN%8{ z`-_URRhT_V?%CWGLYMN9ZP&g$QnkTAR*9KtDJ`K|ytfy+3EhPr0y66^;{;@eB;X8W%nq-^6hA}FTq|6N1-BuIKjawyATx*$k?jdhea=ESL z-P8`sxX=X`u*X;5yFwebRq1SWAtvM z?Nq(5uB!6wj~>!-_M^$_XY5$2QR>l^=Gp#ZMp!eBVWUE~K&wK_!N!2jgwDfm16Ha+ z+jL!E(KJ058#Fr%v2jKzwCJj;j~@FLX2hU9<2#4MrHyYaAZc;bF*NKV)H80O01c^o zlz=-=fL1MBAmHv6pfTRxE8t!hpkcpwMZkR_K*N1$ysGU*fW`>W-Tqi(Y3LHYENy>F zLne*0v<6E<($BWE<1LMREVr~PEsghGZD|i$8am4_E$wkj6RGM6OZ&B@Z6Ml{miDTp zp=bX|VRW27TN?R&%f@@h(nP9y*V5jTPus?lTdxvkr(ATE!bS@$JLJ_^cBZP&nO;z? zEMmSjJ2K0n)j0XL{@|KZ>F=cBtEwSTzMBf03GCsco(t)n)%tCFp`*2pP*$Z|1(^HZ z(msC1_mQy*$9i+Ud``45vodvsB-l?agImIOIt z6?wMMr2OSljQsk~XaD_!sxN4d_|8%1odj3!&=0jV+5}?>Zn;3b^@WoJ-1h`%$i8a? z+^qsM+SKg=?p^^J)|&?f+?xV4`rtbPGT}c0G|*T7^pM|AK7SLhj{@|i@s%esE3=R+hy8IIMGD`a^@PSOMOl+ZB$vj2 zu!)lTFZ>y&nSGfWNsS)-c$@zHzKxc~pY`}GSIYj&rF!Xiz4-UeVjt{3K`*DD`sV)_ z#XVBMrRSeHX}V+oOE*Q?N$};5Y@-Zt>HM=>ApFr+`U$@LPg2~al1sRB{{2m)lz-vB zy?%!`E+uOFPiH9fk{5q+mF~p9owqOl>3U_0eJy&jS*d6DE4yX(6bPBN|K*p+;bz5W zR>7&HT*vQbykln25c`>tZK34+JdKH=rQBH^L)*BK{qg7X-@8ie-R2K$8KGX8u0@zR zN}Q`ZInx}BKjYJ;xux8FL>vFzgGdm6kD&+Y5Z)7l*FL2(qXLnxit~j7jjps;mR0VdhQKZcXBGMRqS)6zt!#2VwJdX z%b|~z&cm%YIbLa;_AJ2Z#Nnea+)%#-!Yhzp&Whw`lRmtN^yluqGwTmwe;g-S;m*&x zIo!+DuWy1)CQM&^PfqL1=9)P*K4pxn!TiM!NSJ+ zrs)eBdM;>PJhP>(roLfTZt@b2EbHj;&_#0_>vej0Ld(MDhL*Ou4Xt$(8(J4GYMI&4 znvkSui7k-DDLh|Ht-6(gkjh+>_Q(krtSz|`Gv4!EE!^~vi!NSGPlmNXW{}Y3uD=+G zR2yjGbCe$D0a%Qfoi(WMm>m}5TW(!@^&I|YG^ot_Q=z?|SAO&L&&g$&@93T~%5kRJ zEGaeCt@w)Gf}o6NYjngah~s2)rPd40+h>&B|FF$5+RRpJv6!hFAUNraG*DH>=NzL0@6tB)Z?Q#5w=1 zU;Lpp-pY^#xt!d4jAUq*y}tDE)3v*BC)cZIU$9}ktpD_w(gn zAbeZ6Nw`S3Shz&ERJcsIT=MXz4Cu5+#~!2=C{pZ46Xm@+pOvuLhdIS*c;DKR5mv@eZXq5QLVJVn!1 zyF$}8JdjhyT0L9xD_&Mk2Cf|0vyMu_jDY#_Nk6qq#>%$qp~EIkxTEEYrtUu*KlJuB z?wK_8-eV?wAoXq3&`HB4x7SU%@*ztWxLKW>m9n>}u+A7gf7hZ>e_qvncW!ves_*@( z6D`X*cGhe)V2C zVc|aFx++{~<)piQ^RXW|t;<<$T}jp`*U{COd|sZ%GUNMNlj6pa!l!$qbKTr_jb0HyE8}8Nqd01H zWwdy7g=os6>8aIkW>j8zt&Dxj(ez>SiMGaQdPl9$^k&a}HpxqS;b)@x=%{f!egD%S zr8eEM|B0Ov*rc#7rpGqF9xSifMoi~V>rZ#3?0>pYuWadT-kZjsy`Wi+{9|o(*43=| z{CDYzlrFB{pW6u=lW7{Gt#s{DC=uXTp zLVI(-Ea4w^oNRqYFI{S1oZkMKi>JF% z_)pa7(BSO1%&GkTNk8Bw?6Grr?bE7R5Y{UR>2qIFuxe!|TY zVVMe`Vw`R#sW$rV;9$5Izd)oUHin&#?sw)3J3bQ*2` zrob+WjN;UVb9;I1UBYtG8ra*+`;4SBvy}4QVAA1t*QH6ttb|o5lalh^Vp22Ot4!LI z4zst)*fjZ@-BWI*lrlygsNCC3>Nwq!z1u81by+d$l@~Mmn0yq&_bJ_CO_kT2d$xnBm4W;1rJ5E-4@Z~II1nbsjmlHRMu(L1R zm+IoV5_;j|o4&nedx`j^KQ6zynLNJJGEQ-vrajV}Q}+3*3V!=Xv+_^dV67lGuXpUV z>mWvsu=aEBFLC`wkpjnQHdb$=x0j@~gG!wrFVueu&rY3v&hOsAwD(N5@-TO&&D1%U zjKoeH?MIBztj^HKDB0D8H3UY|wFImxjGV0eU?*V7WdmVDVIyHIiBR(RNHM}u=X51* zGYQvGDU)M@+qwL1uS|39^5tVLLC!Zw|~ zbI5P}$&&x-lHI^u^78)SZf?3QGpt zE-U$b*#{lXr~kGFqYPhkGdj9S#dM7p&A}+le14hU<-U_;WbUMZ>SQcqV^!4~Er%ft z)u&l9?<{l?_`1%j!fHZSVI5%&f&HUv$zR)s*OkAXu)eT?u%SR4aI=bb3;n&Bu(_ol zZT+p~?`Xr@$*;EIZr1N1e+L`pT>}-~McCESc9Y-JhB=$gT^hvWOgcX2)bR&ce~|U} zu>M}w-^cnxtUuKH!>vEk`lGGCpZxu8n7cX-u;CNsA0|w+e^0jlLGq{CFlXaQ)1mS? zA5Rz@VZ+nq&#>Wo>(7$U{U5}eD}SC1H_BgN!wcm%+i;8gRvTU%)UE&z^2+G}JQ$+;;?c;jmy3?vW?Ja zxzK32`d=2(s-U;X3tAR5+%yGvA1wr`$!v?fWeSM*9$W59F)&zD<_cdAUTg!s^5;n4Mo=A(KwbZuv zmKD=lqWc7L)05wmR(#oDm+&u9MGnTY()(T7`V$t3EXVp6($&rTvf}gmTf!4G0J(Jj zUh99I&^D#s1}=DM#y{`s_fu?~bpGTl-Ld|LJ*OD{A1FR|?%~q;`>j7>OF}~=4ZJhU zEmnl3Hc~qOj#+>F%$q;CN_VtBQn{JnoBuBq_cy55a_RYJo|EoMS%0Ngxz`bw#-BUY zvmE&+-^@~c^Z$tAp4t9l_a)}tG?B20s_LmQ^NQUqjd@`&2y*=`jqm`4ArH1R=5~8P zkgK;e!VL;To^5H}6`o_mXUI1xH!BCxuhVDmD5b?O3D!xCB|S@L!a_q#r)S^irK=^` z|BZF2rR3+$TESAU=d>DWVPQJw&^O_|`dy8{;-=4V*;uxi<61Ozw-YHw?mRVL79KZDOKdDu?6(Cl{j5Tm( zFdyaSEMqNpF-!|Ir{j;dCGM<%Sm{|&<1R_ogQ7PGn7LC=y{)gL{s6_uwd-RItPl33 zn&;SC&?>uMv&wdkz}$X@-pPLxEa&u`nsnvbKa*}w((T9>J}?=pHhmh$UK^L!E6?eA z4RXNz!f$@}PbBll7S9@Ni~Mp=Ye+WLAKGj4SlaZ5hr`;2+ytlT9|o2)BD5b`+O3wx z@4r--6{3eD@t#%~8_hG8#wdYx5%-Fv5&omXl;K}2jVK@LALhPaT3Qc<|H=0h1D63|q9^FLp4n=SvUs;3n48-=pu-L&84 z)y+7`PIu>8{7EOXJ4=rEt+SNDd&D|w3Oq|^=LKn|*MUy<%Yi!Eq8jf3a%CXtu z!y6YE0k@bR(rC+n|CRMYp}`p>J+obycUE5)z>C|Po7;aR8HS%r0bh|A?rJ!>yEw|5zva&O`1Ty!n>DUC>yA&e+f@72yhmn} z<0M(1_1$oHCehi-*!s zjHah{g{CJy_PARAdWjuS*QS`B)?d>96Zf99Uxw#e#Qv9Z@tfySd zD0j!ji$DMU8ISZjdE^a`F0A?4q37<{qydSM)py0duw*OrOMHaw_N}`&>GJQ69AQVO zp31vnKWV2!@Y3KP_EshBrzo6%BXisvlHQIjDc8~Fum}0;J4xfs#K=sw@LbH)5gges zT}h5j8a>;BSy*HH+%x1>oIaP7KV$>8*5s41Z9P)UdoN z#Uc6rZSug{Zh3hyR_fxvDo}n~h_-dC3!D_A1qS2A_?O{GE+ct(t zw{Ui_kOyl4<>m}Ik@RinP_jmA)hG96m$ZEz#Kw-Aa_X&z^Xu9;>SE7hh+?Gb3{Pyfb@suSI==5r&h(W(Ina zc=&w>Ab-Zq*@JZbv5+2tJvX$hV%v@0$s7HG0IjXE@@ItlC+qm`Zc}$NZYBCmn5XIMr`)zxXnbO|vs`Hx)?961J6ag5IJj0B z_Db3#T6uZ=l4=L35bYJwQca3)N;-ev;fmM`X=a>h>!1BR*I${57PJ1lsmvQ^=^0!a zfA)i9xl;CDy{?zK_0M$vNUe0|)}LulzU!~MEC0*wYt#AD|I!`&M=MG(<=EDYH2KkZj^Lm;+j_;{x&mAI7fSnlY1`S-tX`7-%Vn9 zZML^lu(S_n#f_ zC54jG?@HCk9JfcvoWCc{#(M3_)KT11E+1*_uU`lCzlAEL#R4v!zhC>`OYh+qWLv#*Yw|GqkXf1@^- znTGeW#Cg<64`v)_sapM+JHOcBpTFuU?H4hL_Xd;`)Qr8gjLTFE0ONGpD(k(dI}mUVb)&B&%Xo)qT%>XB@HyemI>bP+6m) zVQooHe}2v6=49p%_vlI6HSgrDX0LSi{Y9IcfATL`^)gTT-CvYcuP#N*3u({!wxhp{ zxcISn&cim(O)uvDC2Sz|>g7?Ll@kEwE-PcnoDtYdT&+6Y@Awbbz7>7HRp<207nExB zRMIz|mE8hvbIm{KTkJJ4wNoHsgv?z8?$31n3#&l7D`o!oYrV40zBZjd_Uv@W{Hs<` zunhU;|F4SMWM7-k-)sMGdmHxU|A}~?;>F)@|MPIYi<=yL`TtpQefake?sQP(6i4}w z((mxbr9^H2=^JXWr`f;K%D;bbvakKI!~p!q=$G+=FaN>f-(ugE&fl;71sS*hBqlP4 zxTp9xTiOxw-Sd16(DxRdm)2Ng_J(@a*|u}-eDN>_65yoq;uAtg!6vGSb)mJxOwSk!P)9~8UC0zKz6I_he!b`%$%f5V^BW}VuNBW6XT zNwh}spcdROt~B;jx=JZ;!_U19K3IX1?#n|@s?=$KulkK(+bge?vi^j9$=J1w?Z@nz zT%?*TWc_(aX_#eOkXxNvthy=o3%0WZ{lR?Ac7a-@*#Y4~w4bV~9}DiBTPe~a-C8$Y znxOfrIlXGCdZ_u9c(@XGl=zn}t)i`WvU<)U7GVT#OIQ?vrNciGHF+%3`7?JM+7(~j=|td=CE-7g9xTeZrBkp!)J zVO6!tgR>vQ^l$EdjY*nC?k_shJgi?%eKzZFv%brnX?K+@=jr?L+ft);?p^ina>o#C z@@A(5b294JlqQz5Cv3VqYNxB`KKD)x=gF&?pD5-))tc;^hj3O zO@1~~Sv^zn{Fs>JCQ2XNMpNx{2aDWV^jKGzOwrLcARK5@9IczoBQ{an$j(S`I0!^{*1M?O*7fF+rU^4^BW_x?jnn)$JKC+-v5$qRpr_OjAeI# zP7SPxxpP`gy4-zNxpSknYrkn{z-Op7jE&ZeLyOcpvGX$~<%Z!Qr_rw?BxfPp&8olN z=MDBAg}OP3$akgNj$AK@OC?vL2lcq}fVhsG&l^hl{70%TIK^aka5(;-%%Af))7`B6 z`+a{dO^P^$6Gxjb@l;|LE`c{lQLHpAQr$t1xASLnG9deb(Rm z2e--=ehtcx9L(-7rTC_F~|eb&DR_^p4p=iRsb z#|E;*q|U8;a_-;U3l*-IJpSgYcWz+wRp{N#719*qs~u^&!s8cj{p&6nsVY?R`Sg`{ z^VzI}y8S-Bww#~3Y)ZNF&h+-*FEau3ze$Q!O#kce-T%DyKeY2M)JAhNaiI7gX^H9i z_u7BcX^P&({W8A%CyBq${__ET=WmM6{}l1R(B|K7|6bDgVfNU$8BOskx{Uwv6VXy~ z-nsw%_=yjj%z~cZ+$|~nPXA!0VrD|_jQFxV4gHV1*S+a>xW#LEdCBrGe;!UsLTxC% zKO{f4(;K#YvD=PV$BXHKVR5Fle|Gg|IraZ`&he5d{3KtkX|zA5@gLwh{$sb8CiwC{ zMEuY3;6KoB{4YBH-NoN$|Jgvl^EaIiwt4r>|B>QfXB*iOUFmoAaM8H!o{g_oMYC7B{*y0}NP{b5cIk6IJ3p37*T~cF`=E5W`1{^{>+s8Im9L)oxlJ2JKpEZzd`(c=3fIn@4r4wyxl%po2^ujFSI%No1T9!{j*)N z_~w6pB>$!Nf7dSQ^|`y%xLLO;*pb&FODK1#%x;$qt{q>rY<+WQxfP75MON^~j_H4C zHxnPz<lj_$bqC)$2lt12Wzell&!&&unIrR$&h`d4&cB|9Orb|mll-{GS-vh`MMxx4bO z)Jk2v{70$G7X~X4QCUG-*?X1U?k}&zUCNDb@{PX34oLI;^0cpax|n7Z;mgORo_}yT zGvik{@8({oCP~IZryxGs?9KYP{#EMvSKd;o`irK&80|5>(}^de->;6>RnlM8CCvYS zAoDGDWn7y4ALOZj(uQW~UA}$j63M^Y0`6J-{q(QddKc>nzWgs2|LeT?d!2vmG*|DM zQw0C-iT|aRKW8z)$)e$(Dxa^|5aug3-xSWYf1hRjbF6=!{PTqigl}6~@6H6UuXRrtp9!aKM-yb_=?WW!jFU>3qKKV5pET36Mib( zF8oZmL%35Q4|mJIN4QtGPq<(Bx$q0&0pUU6A>o$-U*ma1cvSe6@R;zpz_$v2E%3f4 ztBl@IU+ar`G=*U+AlP3O)s-{+_#2BVGQ* zcfYd3!R@4Cd^mCAnm6LBm}`qVT)Xmy>ZHi1sy#Iim?*2jFi~)B*GFmgW4@G`H2;{O z_m9q-aU4JA;w$1~S3_0l_S^jNABtJk&(&YtFX1zMC)Mmue75nb-^J}S#f*Qq+wpJ3 zeXEVx9Q*e;>B4=c<~I81*`I;I`JX~(e`c!I`))icSb$JNY!AMdG|JnyMrZ))ovVbw*T_fi7%7upIph_HsrPLZ_)+RQq_y25$_J2=oZ zHWcETcAZx2#%R~>3+?@9yh2m74|Rn0V)d3x+)uhmtzwMRzlJhalwta7tYn^{Os?2@ zpuVy-4bpv2#qMdk!lu7?`I&E-MUp0eX~W#a%YHWcetw+%ce&p4$lDkGD=yvQ-`_lM zg`~fj6n9hbwynon`1eAfxXI>+}CWZ&y*?X~`1 z^!;a7Nu2xGf9MZcu9Wr1YsKGZ{e6(%`g_s&zh3;+ngW+z{(knad3qD?GozDvZ`!{% zivK<|ak5K&ZX>nV-8SNon_x9c=(*EIVa-PclEv@-g+%KK{N z>}25-VYqObaJq1Y@SuRL@>>FH7H12rou4aULp@)(K=`(Bp>UBv-@Zg(j(M4Ix$qr< zU9#-Azd{(KsvIl~7p~RcHwxDY*9$iY-xqEYejxl%xLNp-@MGa80`vDb-P zCfq69A>1Y0E!-pAC)_LCFZ^8ih48ZQfbgjBknl_4Vc`+sN#R$*W5VOY6T+{BKL~3m zy-&%1T6jkIt?;byobbHxJK+W4Md20U_rj~fpM*aPe-z#nUKjo%{8e~O_^0rZ@P_a= z;Vt3s!u!HMgntPi3U3SV2=58?O3OEde=Gd4aIC^R3;$L41L1$dC&H(~=fY>g7lKsS zs!od6MQ}UvIdMLt{V%gi{)xBeenU~)wQs^Wv?@IsXj_}gN7LHe(g<%YK;OpF)|Ou_ z(1W%Ycor>gTY>o91oyrH3iGbLERA@33tI@oERAR83%HX6p4~_|S-@Q^K-)l|9pY$P z&^8gS7jU#GXd4Q&EgWqK8hN}!z|j_@)<|6tJ1#ux$|JS!^6Q>=XpyfxQCvs-=++Yz?@7MQGR&aNJbD z{2jT+tj@@AbToFPo9}Y>lT^q*IYWy%k%6G}N5(Mu^Pcb4GFv$u8>F>)2F<G$WGV4F~4bzuBP|-JybI zhZ87nY*|HlyV*;FHQFM#TDXyqT`Ucn3(VEOOM;P~9mIuWILm$V*_f>NyA*d(iv8x? zeslixo8pap?uc_2KK-tb?BBJjtN3YFMzp7FomJ)}O`p8)ZxnNzhO>2Xe}(xTgE`B| zsm>aulNlpl%xKii8V#pO`KeWVM%K7mWyH9pLV4<~**iBUclJ7-nb$tJi=0JK3JNHlsyUcE#V~ z%5+VQ5)Z6|9H6~4E3MV?XX)Q?%wq>Lvm$gBRtCoCw}r~tqF}5}&c&+Ag`26kk;P|D zR3B+;OCH;Z#4oVj7!v{5+hULg+XQ_F&Ol+R<|GI-?MSQ$^^ z>zY|R^U3GnGSZMQP23H8b-|kaIBAgaI2}>G$@(;T8&^i&lFK)Lb%|1EuHB|y+oy>2 zGSXLD@$|VimY@23N>~@&%ScD`Yz285UBA~0@|Kg~-jU--5Ax{kU<&L~z?woGXs;}XU9kW{* z@2-`;g0&Ydu~B1R+!D##vGSLi^88*-ExGns5_KKzpZVo6yh2>!EsAl;?Amm) zHT%vk@?4H|cX`Wi-~8fkMR2jgI_#Kv6|%U{c?WV@&TPQtft)f{ntM^3l*>kY>w>#s z-PJ>w+x}(LccJk!UowXL%9(jZ^I52UxwR(O&RP@XO2@RS!uRP=zvYZHh4Vc@5+QdF zcE|M_Ru_{`OvAHh87(QALn9gTb(fBtvyG2vo@S*!DkB#K{V8n0L(0f!zJBg{B=e8( zYhvhx?w9Zxx1XKT-ldFG3vsEl&WZ;eR${CPOk1H^rj+A}%?He#$`>=|I+N&XZ0Zw^yjj=mAL zS!eBzQ$j9vWt2<&o#ejw+3tAFmE7t^-1eDeiKg9@qwitAnW=hmbKdB8J<5Iegy6k% z3eH3-C99L}>L%^w%rjlzp*~Bwa|Zt9NU?1GS-M=Mq)GA`Wx4sw@AH(j%e9Z?`tX(9 zXUkg$qx{Ng|BPVlpEF;#%fHjH-1obhFnrq7labzWD^aCd7(7^+b38-2T+Y0}y^VH- z&d8U_7=uFlo{JIkD`&KEZ-XDU7st!dE6-(eFs`zHK6f_}wO@{IX1=p+Z2O%2b2o+Z z-krkO1{aq;P^=@N_>wp`drco5tTkkzlZrNXC!l@1>BpI(luNv>qcR1JCHYP)S~+K^O0|;}=3nSeC^(i=v-vCNlyKZ0 zWLDnuV}>=mYZ-YyNIi(#o;Y!e1Pf2dkhdviyg6M;hZ<;H7L)%_g6EIZg?Av5-f~)B zdU~_(G=qORcG5!QhijEay0<0HJIk?RrsvzQo}#@qeydizcEdJXsd;Rab9l1Dm08HI zW7d|UdSX7$@n!U$WNkk#8Ib$*mr`%2pv9K656q3VX3i0obvYwVRxb#-3@M{@OGtb^* zX%9r=J!omqTiRxd_d84bYlQZirM+)y@F0JD_t){iV!G8B27v2BwQU)JIgv+J# z=UijD-T^wS#z+>Zp} z(bs+~;O-Ehk?%VN++zYXWDEDp;Ql8-BQ2i@IPMT}@wOl!#~mUBDZgq;I(OQZY-SlSp%gU5cBc333d;g+`0(%{={X(wA6b##iQ z{m9aSIjkfbIOWVrI(x9DM`MSHMQC7VyZJ4FeUKm?&j3E>U<$SQE zF@`{+z0a{U#t>+f)ly4i41q>I&agDb5NOrHm6paB0*$=gYH5ri?%8`SjWNWPbK}@CqWQ{PJ(lPudge?ED3>}KF*mYjCxLHAZ&e)YS^NR!I+bQa3PJ+}PHzlp@%e;M6GAZL&R$PC&e z?UFuAd#7*E7ii~M?V$AgBVA3K**3~bp2CE*j z`d_R3V%qRa;(wYK|2{ta+j(d8b@#GAi2ns%{QJ2_3i_p#|5oCErhOwjAF}TXO_G0U z?JvGt(ZzKA?)obZd$nA-;|gSDe>Z)<``+5ToV=8Fv)5#eK%AwRsb70 zP$TRv^b*1z&1%~WtKV2k=^Y+`Mub*Dm%bM!YyM3;N_WWL1&VT%;4A+QSJP~>uT7Kx=AP4Z{-xNzn9KOcfB5%K zXRnssxf6QBBEdKRZ;HQ<{D*(m2mt@Z;=Qa0{(l$$^AsQVZkN-3SdRQUw&d|6zkktw z%NjJH(&A!8d>Q*vGjY13a!#accbL*b*ZYFbm~_3qGgtzX6ntkj}R7?_Ke~(7rE=|G)x#9U1=cJ*Ei$+|hfE zC;vf?Q31b{@;^!Zv4P>x9~fKN$r2que0OwKRV}_}?N(+;rL|}C4U`xDwZ<;-J~1Jf zXPdob;f-j~`L`MAN^k#eq$Jm@+?kWjnq;=efQMK-tmjgE?iCTDXsUHb0cH4|0bRF zs;XLW(pEFE+oYwf^xM|XT6pjuC_!701OvxB2O1V4<~xL$>)>N$B8+41MV2-_=ec3@>jFr)#a~Y!)sZe_26}FczyZU_IYk2 z`5W8trq)n?KhYEE9YZt6p93dPjOc!PdGlhDgL6{}X7Ul?Z z1=h;v3ys18p-Eu9gLRIhgchMyXcHC*i-je^Qel~Jv~Y}YtZv@%Y|_NkF&pG z;a;Hs*hf89qhj=1UlXM%u)}+;}pj|FSHgj6X}1V)RLh z*C+9-sNJ1mBWCgMi1|lX@ptpzEdD<8j}vX)ee=Jj_}6>p-$VcJbduh6s!fA^ZK}uq z9#{VCVh_K1gD#w_`Ez4R7=zmq!aZ$Q9(36e8(Yr4xsNA}TS7{+KPR6W)T+z)>(1NI zJ53$a|J`hXeZ{RRVJ9n`1@YU1FI%VdIa9O*OHaQ~|L^0Ye|I|ByR=Qp*Ne2j^#0c; za|co>`Zs$J&a#D=#otH%ouYT~KHna&iTJm9^6v=wx0(36`G0=@cWu?QkNEGd{qFJ9 zH$P=eCdW9NnG!rV|1JL3>ZJ5J3r6;hE?R?lc+`#MkHJTlEWZlb51s6AW&Kv|#+Mc@ zYrk)yB(2{S;$P^7EbSQ@eeUmbQ}RKX^N&#f>?c_>K=yR%wd3^90`ayR2cx%Th${@2$>|LXKDrJeqqU%MhEIQDy9Z0TA2J?y{1 z`pY?bpD+J^s}Wr2$=^f&Yj4@U{I?hXBR%z3+OCNdfl{&60$z(T#5-)LuE0nEORnzAebMpwcWYov#nNha zkh(tRZaOpjN8`Kc!ryk)Q>E{JGW|G9{`%@a7bq>h@@HEW4e@bV{5|xa;Cu%5JYW7h zN&flD|Blc<2a5k`LGH8i&zvaTVShbWQ5a8s^S_7qJNu`R|LnyvYwg)LGi&W;>4!V8 z2O563^c1H5TDtw(jYH_4x%PLrY7gC=EoN@#o^f;Q8_wVSwD{PSp4$9hi~Zgb;|Kc# z!kv0a={Kj@+oa2KLn`0K%}x0ymy9^5yp)@~r1!sm8l%%4?T(lk`|-a>ysxwT z7wAi3;r$k&?a7Tq&dOkBtUGJxZu~5Kx%*GvteE}itEK-jX489}q?vc_A#d-k>Z90I z{T+7Jq|lsmJMpX*wimhyXh%JSq`4=0MWJ2Uj7P`>`ei?X{()x2IE}8rcv(zabn}m} z4VJt6%2*?21-60wm6zu~zWv&+ku;uU+h6haHz$#e{EnvIjXqddvv1|n*TwU8zxm(l z=#nIL8 z>dM1JuRNHR81@JBF4~W|D|lp}|8PHxsV(GHxoep5H7auI`exE>-Em$f&R2NlC~5U1 z`SeA6_j~=01!f<4 z(l>Clk5Bwwwz)6=+%z_VKI(H(sqSvrs#kuO1o?DwmpoG{je5dZV0($uU%hsq-ZD_7 z<^LWxI`Lf(?)`MNixsU>GKCq?AZeOkRhfd_{m&Jv%N2hI8#lJjSFJY(Erqd~zEKyf z!1Ik_Zgr*2%uzn~>$>j?^4cw+gmD`P%xkKJU2K^70JMz-<^-&5?I}QG9d1Jb$DGK_ zo6W3&8S&KM3`Wwuarx^B?*0T{DKbOSh#gsV`ge|edIAz+sd9>RK;LT78Y6oFmgpC> zXm-F7r&aV3N?VO$AU9^7dJUq(rk@?N`R7wzA2~?#5#Gp3DKSl7Y1X^V{x{$Bo4)J5 z3(gICbsEpf5h>^9OM)Rzf z#xYy5*EKNUG^;Vc?`&t?r@d*mEwtb?dq0J6d z822qp+eYE@EzRAI!|$BJXpzs3cz&iwbi*_t$1ZaFNYz0Kb2fUarNQr;3NtF7X=y~%VRoD2-mtW>3cqD(|Fg7xMf=3kR#67wi)C>&g?Y#7mNs4CRVe_u%`J`a z77Fhs-`$SGn#VRa-mZ~&->~uA4QzWU9=GS<2HALX72d@P3vy&eDd8Hr~=2 zENwHfD7FHji%Y^)-`HNs`~S#Hj8WpJOud+N9QEscEs)W&-< zLVMcM{$Xi~R`pMX$I1VfrNQHE8}EOSc%LX-t=~SgG% zmPVWXv5ohONW2FWrmh~eH26Mb<2@dU_k_ZO@)W+x3?nk{$}HS7@>V+X{*Vc>H1Mug&Xzk>XrtNH5A5e7l~J`F!|Zu(y;1w zv+?>w;`LQ{l78!FY1Hp%g|YgMu{6T{6~;}mG{Ofd%(GK1jb|4qO#CKGqpYSWj62%W z2p^*`WqQ1&@$AJ4Gxl9-Y1G>Z3gd3JG}_gVEbUH9Ikdpi>E9fiB=w|6a# zyuD}Rak(+|i`E=mAS}O+r72j|myRPhz|t7A2U}XBrIDuvmbTc^NXydIPn0-4NjO>H zoZG3^KVAMAHjI|RZ)aKm9P6KF{R^yrq4h7e{-xHxT>f`#_6PQ5$|t{^K_MYx%#i;iu$3ZNtB{{&Vu57k($aAiOA`iIK0D<^REk|7iU` z$^Wwr691EzbJoED1-5Z|OUv-P@ABT5j||XZ3Nj zA7*QuaAZcze9Bngj5R5o`Lt?Y%(@OUIX4qCmL)9i`4nSiqB}oaAxlAMY0b6PMDINJ zweXl{rs&%jHQKSn+67;{XHJ}a!xS^7($8&;(ddiCo)e_Z1zlbLTjjIjZ)0J`v9eZ+ zYNZeKQ~u+tMIS3gZY9mNOZGU^8fjg*?Xu(SqOT|=EBk(W*E;^Lv^3h@lWwCmWtOz# zGc9A3#zNagZPr;7i*F_DS1`K(<6m!cJtOHmHqs`PuhMmcaF0Q>cV>S- z$K05`vLyFlN$#O}lKTRcgp(NQrJuFx?r%qCm2g<%9SUnJHGaDelKM=1mj|satSNTr zxLXqAZ6Y2o|I1ayePL2_SG8wWuuD53?)o{Y;A1j~Y zO8Q8p$FD7=jU&u9YSmI^YJJMw?aJ*7i$n=mST`4^7b;e#E9T^F?#T_lTghD#j5^^L z_hczh-d4W;i_Z0Xp;G(1Ly2kjC#HWbQ&vau{-9ztykdH7(rzo(j*B^4eY*1Pr;80-23x09|#)OQvM~aSy$-QoBaD zSFhg+*j3@I2sN?>#G4xi_AoH?AxVafCF);dvV3 zmr7Bk_J+kJ%3PJCxyi>!Ro4?-S==ek%S&#N?rmsN6U8UGD-Er~?5J@2p51&Q|E|oF zm5S2sdG0Ji^1i#}dUxqF)cjGMyt;h5Gk5v1T=|ZQaQBrcrCV;;H_{y0!M3Gzywbj8 zNUQO^tJGO=qb)CMPvSZ%m+b}oZbH;4(ZR~bkvB9AdAk0jv3I;T^!XE8ZoF)L(GTBr zM)&RBxM}=-L9Pg^v-#r9lA%@bV zlq}ZYbCh;$#x- zE$T?+|GhSoe*UaqaIPns%iJ*M&%Q0<^@5hM7~nG97V1Xs{(&t1teB@c@oztGE>HOIjo9@W}Ws1VA#h3q1;(v~PZ5Dr4>C;>(`9DScFO0o(xm^=JMAQ=%#$8}( zgukt@77ME`w=|+WqJKCk_N1j@-}nwc$h~K2!xVns(l%Se$eD4XZLTnG2TR*m;TsmT?6rTGV?n<*3H-5n4PxLGDEV*qghdu#td$I6>ahRj@^Myx09WK;&m~r!_P*X)~ zW#*e@UwBv?kFC%+AD<79CURxkOyM;h_IbJ9mu@XLH5zK2%o>wUl#%aN@tv)ji_R=} z5U0src{QAp)()qrC6FUpM0o!xy~x=SeDaX=X2X;7BHX%e^hl=_(NmwXDeoBDtr%E` zq;bxLeRW2(b03|taQQ~1&p5Rp_K!zp&Xy8_$TNI)!D0<@j?}soJDT$kP@oW3zC9nd zsyJ6S*JRxwy1(5>U-x#nCh2_9)Sy%Qy6AH*>{|z8#l)u$;?g5a|LB{Mbo8Ig73T`U zSN}Pktl8{k@$Z+-Ki~^*Tt@WZ=d;E8cpEW`KUzqdBmY+_!qtK=|8vEEkZ1ncEt%%v z|2;(rGVhuH3&r~Y%YTa^pUq8+8xzx|U%bubk67;a+*#o%r`a!6a7Uo{QtvtQ`5Ad1)w3iGe zl-oX%{^s;bv;859zeoS?bdBD1o#4y=TjJm5$=_rC)#)m|>)ImtpDq4aS#VkT_mICu zm;bqu{2QAd7FFyTN$vmnhkiPPnMHE@uT1|RA^up%a$EmiXa4!twANpa#+-kio1I9^ zdXnwSgZKQ?{Crtd`aVcEt8!eOym{>U^SY+zIcPZcA9te8%u;^)-P_OS2P@p$BT|3R zx(mz@acEFqewo$&JjS2)mf_p~&R6^M?f)L*Z`F5|lOF}S@smH_7XM=vAD5N?fhJnP ze;I#W&+yIvMdDv?-KR|lLF2|BBHvfz z#-`0^m~N?$b2Q(TF?RTFdfqwO?Eh{3x^Vf9w&jb@Ja0vnZ;dNl`Cp~-Jx}Q=e*R+0 zH@@=;8%T7wS{RPb_u{MU@qKJg7SB@w(FgD^kndYZcPQ?ps)L15vP7^3l$%15_a%w(jzJubZdVD7Le_hBeDw8o9D3 zEU|bGj>j9XdYxxmH2PrpRroX+U{b%C>bLa$on|fFNQGTg4y+eArx$-^MqliBJ~f|I zLvcy(YJIBSxUqnLlHe=bhbV5gev`{HT90P+Mz0Cn$}Q#Ik{-xvY#((x6TD(>@bcT= zyP=BaJzMMLTE7QQ`?|~{Y89oQ^l_3H`7$loTg!;DNRo+FA}E}OWc-{VpZgx& z6Ruy35dYF|#Vj;BJ1(I-WQ8UvwoAtYN=N1QJI2?6o$jpr7@ z{%)~W)$0t6IN@njYJEwd3z(aM!Z0UV(GjApfn7_?n4{|~iy7m)TT|j_Vy!A=qmvP$zO^QQ;_`P$S#AoM?LxyU!-;$xJ4lDNMX6mPYHECgAD>;_WCLCg2(cXspwka%ES_&9*drYMzzx%4$K;xsT5Y zuuqhJw?E&tzpVPpYH@Q_mxb>PtWjz4yUySX_pOA|qQslks$yxqB1CU)(N7+CFFEXQ|v~tHjAEj-oV*Pft$g&7MnKXV~ln?j`DYr%vHG>>9U&Y(n;dt`))jE z;RtQYH5@TqJXfASQ*PV{HeB^QQ{xePpx9Z{s~>P7wfMoe>I`2{hPZ6M7C-fHv2m^&d z!eC(!foJ!!J~yQC_YnED!cbwDFkBcRaB~_rri~WH2>S{93uA?G!U4i~VS;d=Fj1H! zOctgHe3)aZFikjEI7EP7o&3Xu!|mTk%Aan-Gv(I{4Fb2c%@(+!ZLYwx^W`@R3xp+frefaI|oYaIA2gaJ+DWuv{>Ao48TWohxu!%Ql_DGwa2- z?@*Gs{zD&U4|sHU7Aq|0dG*@Lo|+C*7oD3s*|w@uHQFmxQ9G~udNy|q^KE`meYe`PB&-uVN7;T=*02syTH^JazW&Ia(CLo# z$D0)8hl0eE*Zz;owBp5jB`%A9KNGFszwrNoe!Wxh<^Nsrzk_O#%i`~`{$2F?@3rE; zrYC=&_3s}mALJbuWGdsI?~DJ@HqMej|MEEl#>^ws@P|vn&DHEHD#>rwJDHK=7t>Q` zDL$i1`igNHfA@8X_z9guHQPlC<@Wj3;EdNeadPgf)GzN-qT>D1zh2ViZa8Mdr7K!E zGMQ4qw&24(d;B$L4c68BcrVCxj?QQ^PcVF)Rttw>?_YDbU!&u)J3G7&+ff)v)GBRq z@M)!tBQAw5RU&0N_e^fYD4pE-y6AH*>|272aXvMdv?^leGTd&wz$TSFv7}%#;RH)N z&C>YubO9R^eVcgO2xkeniv*YYixnmw>zmLv6gVG+yHarRu2PtI*I3#n@~;bWw`?Y?&{C~Y>KI}2)-R4}*SW4~io$=S@%#xvmcUe)k*>2=}ZmPUH9)!~q* zF5WRVOc_E$ds!~vC>s~=5*wy$pwTM7E8r*x7w-leW}Jn_o?XUU+$}XTMm=N|4dK*&L(T4=Xs^%pBvr%_MZ<7 zzO$CcG(sqa|1|M`*uKNrztd-Tg=Zzvxf3IF?#>LS#ou+ztvA!xsUw`rg0ml$%0G!` zu6@uqjh~NuJhN3v34r$?ya+Cx{~(|FM|+#{<^Ln`XSW$Hi+^7et>C}p zpKFsY&a9ev`p+^X`fAq7kR3bkX2;QOge~SGri@(SGznwQ}D8MpCzFYiH^5pM3 z{@<$i`SL$T{m(c5KJxb=@%~j2{C}bRH{1OCm6(m3;FYq1X!h*7c9}a`GcOI#f4W#s zkJ$9;Cm*g>I*Ms;3CV6Jol(*ZwD7l&7D#5W4i>>%ulOsSrf&+ zUF&yA z^_~CSW7D5q;=0>V^2g~P>HG)#=zpE=64U#O;Qz4rGY`jQ@%NDb?e*p>|9>U^*BSPi z{5{6MPQTE*ups*Ke?t5(u>7;X_Z;16;j><|@6Xpds>P-zJ4MHrEI*u_$R9u4Y^hH7 ztFYH`k)({Hxu@KCa`AZ=y^mxqbv)?^{Vl!&JU7MHUvb#0rAiB1=@Boh{r8W=O$ti? zYcIR(+BR=^Qti)A|KYZmbcgBRbVI4+Co=hb%Av%?!H+|SV!PCX}?YV=*jA_(-c|m)$=^}vF7yy~5ZH-$m43TY z*hS%8g*}Dcgq}i;u)Dz58Tl$>AAzqj_7nOG0|dUp$k!S75%v&92zv>83r7q43PXfi zVW==n;46(Ig;By7VYINHFjm-K7$=MuxI1BjFi|*Am?TUQCJP4%hX_-JX~Mz6p~4YD zop6|NxNxK}SC}r$5M~Mu!ct+DFk6@-%oCc0`9h{Kdi& zVVR{tXU_4G%JVq+$6NY|@+&ic_PKHB)e|pa(@J}5RZ#9dEB~|hDR537UzrWYcL(ZXBtMEJYW-lfa%oVm0SXp4TW?Nx?rIc>@4ge z>?W{hrAF9YK(gQz%yDl2ZDs98+4ood`KIot=eMSu#CiPbw_mWZ{U)j%aeouvQRehr zd<=Km#&xguIjpNvWlEFs>0Jc%U3!U)LA%=MSUQgBNPnkbfJ` z-mC0(e_ZPL*?+V6PY(ET2Z~FTE5ELbPk)WwWTC`}SBhKzE>-@f^*`F5$Naa`14`1P zHjVMrCI9t?+8;ASTo(U6CR)LN>3^#g< z>AS_!*zZW*(C(Oj@+|WyXq3rl0mr<`l>zfB%7FQnqcPVa%-jl}y+6#caLl7@FqlvA z?BEEEc@@7i$HL!SU|xk|o@9f;T#09yFF6`>Cc?~<@X=P8FX5OI* zrk^T|+f+Tt2CFtxm}j?$(70EV-?z0sZLPb)w5uI0jq=-0Vcc$(M!2U953)XK9&F&f!{e;aY-FOs@My3!+VcSlJb7QRsot-ElgrCo1n^y#w{#@%OWg!!&8JXl+E<@|sRKVp5J<=etI zz6b2$p%3#cda0xR$%bFIK6!gXVI1G}b@BeEFwgRRUq}1QhCAs8Xw|}M3X`|3ERC|? zhOp3C=pw8ltSS(oN|BE^)yr2C2g|Wgo;Q(R0FhMv_m?%sVCJR%9 zgM_KVG~r-@_Z=#~PB=_BTsT5FQkX8x5M~PXLW3|%m@Ui^<_au!@s398H_2ZpGz&)w zEkdi%CM*&b3rmEh0?!>S{}|y|;W$e>!TPib>cF*=?g~SrJfYEMX&*T91`S6ZA(KZ( zBd>(XAAYq!zIY$`frcC<@3^xpjquqDLq0b`JI{tMvVJ%Held~cu8hRH%7%YnePq`I z3d8qT5!x%3_9si@eK#qL`=_N5{+Gg#--*!Pwc-C*pZ@qih2gP^rUc}TvRX}HXzN-U zY2ln4G|s{i57logg>jsNgGO4aZ9LArK|{~s+#Anw-VGZ4_CxW-ao!6Wd^z_;_!R3) z1O#DuRi{Scoo2)5MB)*~ooi`?&$Ho+tdH!!*v9)|B;L)Iwz?9jruHSz7UPbtithkV z+rOKAt})!vYtH*~LV@*obH_UOY>lm&Q8hjIPj~+G9}`SNN=diNqnp3_=)c9Je`cTy zw*@oNM(My=Di4C>N)CY4yEQHYyRP}{!{e)YaJ!{9GihG{sW^KO$clL*FHD) zEra#NAKe?5&Y$n3r90-IPb$h&f-nD##NXHc<6-~m^tgEcrU?FpiCJ__dxb z)&9@2g_NHE-d_7p;Qh2sgMDqPhu-b_Ul#w4SpTh6`CnjDnACrr4L7&#UGmcCPUtRS zS=XsQm%9JUynW@}2D0(rPrj=Bp41Wjf1-30ckfYd9Xx*V*1uNsiPS-AQ}g(-*2bA9 zAI)MlVWFT#67*7NBZT<^?ic|Yn*4GBcc0*B4+fN~s<$l-YrqGV#!5Qzb`V%i$Fb^7 za4&&XZ`^5?29IxA+I5z;p=dW++EJZL-~Z@J7W+T<5+r>ce8RG$ZdynD!WOSTVlH?8 zXx9Bh**akE9a!#ehH%$tqteO^1I^NGkC1-LT7l~8^ONr+X|`zEQ%M_#wv#~bCA_xv zJ7>s$z7m`6(0`s#6ckfRDLuCNwYwT{vyGS~{|02d5dH62#VK4v`7hW({D(7?%VqKR z(0|)``{sY3_+yLp;qRgUcKWSe^t|B9e=qT`Zf_>E1sv_%wUc#in7#%LSwI-qQ-DUv z94c`B=x_lVv(sJz&dCYl{Xihz&4P<}yuvuNSNFd66(-()ERFa5M!;>VNG={0XX4db z8u7N^M>%%V5QOhJ3J{N-J-f=eGKP`=TShk3VRSO=x?;RV@SzCyAiH&!8Bp#L*+#fBCc-$_- z`;L_F-uGu4??y`_-itQg%aM3DDUADXB;F31)$_ic<-7NNV&jdlG~Rcnjdyk=-e`q! zcSPcSYU6zoiFdb+x041QSI)B(hVNWUqg-}nV3IpO67M-1?}bRb3vIkDB>3F>E>oEI zeb>@>-_{D_UW>%rS^|=I+sSwNebdG}*wV=Fi8kITk$80qk-(hJRrFHRV$^{O)LbDopdF3EU)Pm#@3)vNHCYQpRq|ZoletZ8|I{i=)i#^y{QG#>-{|GenKDcNcVF@M)xUi9zda{*#qb{^{zL32 znw5X2O%=)!`u7X^@t-ygh2ll&heY_B_V#~Oe!6?=Hh!+=YI2y{cii}}lYU#>{vOVK z%shzazSe!e)_rLQU+carTK8SK`h&Bb^muCTME&b)`SJDK8M*NF-1)0LcfLw>rPeC#ge;b1WEG($$s{2}q#1;CkYy$jnard!6B12T5lgHsqPG64)J{xvz3=?a?|1Hc?z!h~DeT{? zJf&~FSOWhai2sqsUpqS$A~Uef;8QS!aq9`dp+CFLW+THvM;ON_1v*vv9d09y)WDHeR&e1s)!T8{TyYl|4jw-@+*)Sm1otJgbABg= zn{T+s3`bo4WVoGW#PYc8i9t*5EyF?gzTx(ik^p7D8{{H|u|XbZIG$f@ zbib9cGi|Nqy@^>&we&uJNOT;sMPKvPM8blhsV!R$(<3yqEfz9Eu{0O^2k}- zMS|tgtK^%19~sR?a)$!zzc_2g=PG?y(D*U;9Ypa{b~yGm_>3{<$1$5(=>0jp*Buky zzectEXaVa)kCnejaH8ON!3hHJz)2Qno#v?m)@ian^M`^T3C<9lDPXN8Yc!d$__5#| z0kan83CAoz)Z^_xExTqyXN;3C1rf}acEcd7i#EX?mK6<$Rx<7)Zc)Vf&Ld9C0& z!S#Y)3ZVOy`8UeH$-+0wzeRAX;5NbSf;$9v3hom8MsT;_9>KkW`viOoc+kR3y7T)H z`M(o9DtJurxZwAKKL~jKr2Icx_$m2+vhXwVS%1oG&9jDkUj7S$7X>c~UKa3;SLDBH z;n(H=P4IX7{f2zjrLrCs+JDJ^+rq3(eb2)0%l|;|q5b|y{(l7@+wV{1W3F`lrQG#j zzW%ZB`{~wSwRek(*ZLP`F4;a=>y?J6g`(TEm<(TFa-C<)$$|FO{@W;gywRN(qdVW| ze3d`q8x3Vg`41W${n{l8<2F<7xn%gN!k~K^Zf}Kqk-KuV3h4F{&@ynB8xDDW z#(#*v)Q->mKYZP_LzX}vrxG~TFva)}OT3x;qa6O@R9%*&;yxocR`7WN zc@VIL|FZ7B&a?+=dMSCA|I5p)PNO3s;c!ST>i#|gR@CFT`6a}XTPHbRasP^P*N<_N zVYs(6d9t}nix;O~eIRTLr_R@(`TSq8^*gK{_ZykG)reife&V?QVxMF3WV0ki7_VLZ zodrK6Ph5@=#`O?@LucI5!n>P~oFR;xCx8we`EUVlvB1A~QiKUL9US`mnTGq9d~h2I z{%yD)3E}Uap#XWut~zk+j$&sWj$LpB;d`6mI8oVx75ga6yPPr%4t4efh4D`@T&2R3 z6~^6VIKr%#;9Yh}@h+8=ol@{;mlQa3S|2^GCSvEiy28BM&2YTa9faIK!}U;ju;Hc{ zZcE{&84gW_?-AFZDasV>q@$1E8Kb+waP;}NDNG%{GlttjW18)S8zrB2p}R!k9`Y|U9DJAR9o!9uQ}wF2 zO<}bB+YLvaE>#%UO$!eA9`dX^ix1?g49EBS8}2m2@x4nGCNHiq9Bt+-qkB3=_rAiL z>)9tUx@V1Uf(GdD<$LoK=6mxE$GV846()+;8jf^MR2X-o;mE&R4EJZlF~)ttaGx5E z`nM_*WOC!=!xtWhDh%Hi!x3&(nDopu9Pf@-7MU}FkdZcD=vzj}p9-XSsEY{NAgjy!!#VaC&s z8xGq?Pla*M8IHKTWZ}P=Prf{#h2xz!gu}flKlF9scmBWStRK$Y!czJTj351aP%mOa z&XLl>`p=-{GXH*wq~j$-LarG9fq|^uzvw^D>FHku#dAA+=2jK^e2QMK82`b6tlhux ze?d=Q5v1k6Sm|%DFBap!L%W>A1Ng)D~UKa8F_cJVIO@#)R9u21z&wKYvMS`VMvTtA_yxwXEzc4AY@$a%9G>J%K) z)I4WERdapIe7?8lHyYyeXw5r<1FFh=NKoy;yUU}-^g$OaUIh& z-1x24eo9BspPx7Vx!m*90{{Fsg~O@++dmIgDNsxB7YcR~xT6MH1#?uJf3iZ1b_?J3 z_h@aHhLswozPmYl~Tk^JnF* zw(*KrxnrZ`IjvsX-qjb;mhev(q%E=IL|eSXvU%n!nQ$^aErc`DX36KqyzEk{SDDqT z@EOx#hwJ}YH)wBk~3S$S>EJ%`HeIOJsR?Zz!__1w!Bd5uFyBu*c_RNzniJr9#Fg#CB?b;rZw zNI~b9rk_BZvCp}5&n-zbGt_4MEd^;yazD|QR+7ce)f^bzwA^2#-*_K{Oh&R+Nv?9^ zPfzW$AE;mb1w-_gdn1Rcr_BFOc$XWU=c`ssk}N=i$IqQ#U&V3Aawvld`eyFU9yci0 zI_n(gmQOLjKJQu+$~pcKt5yn8l?H&0Xn6*r@qIo?{J3KxG0V@)#|5er&_%%(cJ2X z#7C+p&&Etwcldht-BRcVyXkx3&VpG=Ta`{A#P>bt-2Irj7xxUMy`1qDdFS@ZeEJ%a zkvk@_2fCDWnfyi79zt(2^w2Ge#LRhyA1dni>rt<+eCIzC-E_R3DzuZFyDAk~9p;N+FL>IeEu zMpWsmU_D0H#qz;rU&l^<$zC~-*+Jc?_=X)ySBY!+_m!Z@OjqjWMmZGj!lh(<-aYrZ zr*=jc=07JGjLOM>bc%F0pU`v6Qq7<)2MsRtB>M@=nhfM(VG7O$r&p+rR&O*bJfN)} ztkQ)!Gf=a;gL87`Y{jUv?xaZS0vY|!^*+aB%g4ovL$+qnxvj(Zl+RV$o~u1bzK^Px z3gpx-k`x0ZCx%6JBPlB?6{nlq;=~E?`$`&(wiDp@kOgmqM)-T_Z#Waa&?)hQq^VHq zov+P~P>HohEdj|xOYzn}O{F=-;-B41Oi;UEBph_Pe6##XiH=N8Vw}r?9pV!7^q@OwDEc@#$!k`UAT8=-x1Xs#5uFD8I2S{CXdR*;-Q5=ssZpugeTyt5sWP z9E_AeI@cVU!I`i}0g0#&T(Q zh4`mimm6YNT()F%AI|xw2b)uL+~&E#y0NZXCC9wF=SAAG==?Lbe2>+$icR?z1ebD1 zL#zcslW0^;Xs8G?W1Q+m%RtAc@A5J@DNh*`8WA!RI!#;#>3emmfwZUA$T~bH>epsQ zb&ydxyD5kPt+Ai}wy360kEpTj*Q?EiJJ{~&B#k&TpAh68acGoHDYS;pvloxmxUfpO ziY9ePTRw8?LuX0xOsmVx=+L*OnWfJp|y^5MT}6SkOxVj_1rzGm7jd0LSV~?C9VI3Bd6^baB4vIKDSn06k>~ z-FAYV1-wgJ@pqZkh1V{I1u@*QhFcWFvAzVlAI5O!8SeZT?lQw&ZaDIk z`B?JdSB4{BmI}zb8x2QX?i9e|E`g`x0mD5Q!#!rW$78rZ8}2VL+-rt=J%)S7aPP)& zFoW+Z^5ILI(Sg4~*l@&oU4<#*FBwi=bc!K)`gOyRjvfm0y)9$7zJ}v29{rEjb+FPE zH&6&~qqE!kwre+9Z{m7-8a3aj1sCpFg0;n^tZRtzwFntp?plq{%F3JZN^!aJ(bE?! zg05>FuP>61_{jFOYcGxxEjeCzU0XI!dYSC?Ysry#DeI%+D`coOpOsQ-R9wm}CGQh+ zZ3xUP&4~2b%*rA!MdWX#0Dnh8+EUy{w8cv?6DL+2RLdeaaN!I=`fioVYuUt z+3`apEf_6SiHcQn!O@F^w!%yj7Kb`f>=)Sw#z%3>UiFVH!dGJ1NAh^_n&9De^JtvI z+xQpmKl0hRa%WX&wV9DpQnKYzXS8Z`pmHTfvh5Lr^s6P%=(p|wZS;~(9s+&#M$Q& zylmY%-=r#+PNp=#yKk>qk+J~_@xIwT7`v0t)^Fsz=>q_?V*(u*|=PRox2 zw%^0VBgtXZ=y7AIIT;JaB<(a9uXePz)}_{%xTF_50Ml*?{ML$IUM(R1gchK#tNx85hN_Ui6 zNvj~9DpE#FhPAbq6%ms#*Xs4l>w4FeEo0>N%3qHnJ+Y54Jdm6`dqugt%vGJAO zyQkZ&iOl>7F+E4f+Y>9u^Do0&7LF z`ZrWGg&g&tl6^x&Y3tv^V*acN;KKabOIFxX|Gj3V<^P2E-)WyM#(zLz_EG!)hiE(w zMaZMaoR)N_5fUU=zWn0_HI`6EIhSg>MVN*96RSRSJ3twiIk7z$%6Xu(trc zAG^yof^7xNnPGkJCt#Gx+#7X)@*q#>iw6sk&&WvXDg7lHb}40XRoU{du$3ue^Gfdg zPg)YgSay|3%TjdvaWM$@;iCaIV1`K;bhN*6`)|Hho zjjD6}i|=33Nkx~ne5^uf({TyosJ}ET+75LX$7l;2?FP#(Zjt~T_4xn+?iv9&+Q}~j zIOaTywdrfy@~^y|5yj*W?W~Y<`Jbtgg{Z@`=OlmTlUTW8{AuHb9Q@xB!P|mjdF9{v ztN0&nKZ@~Bp?^jF-#aDne@*;9NXZ|WR>+mp|8W}MJ@!%Gt(VbXlB2nf@ALNa8(aoF zJN){asrgiZxF+&>=!tS`dAgkqrRcA2WzOFNq&wBHP>o4G^F0f}Hp5zc&fZ}5DtB$p zG~vUFdj9%phxx;lwzPq@C(y}9WgX}1k`hgT9v?>!PMzo>pclvOCjf_3++Toe7J#F^ zoMQfu42PC-xBz#y06N@{gI95m{G^m{`C0m0S7-G9_ zH+3>fI$n&)6|F`&~v*U`TAAPrwgFk%T6{7WL{}KNu?1!)0 z_x4|GoxAVfnJ#UR74B$+=!7kio*4fX_FNy-{khX&MN8aRK&vH;j)c$n!5z;@hyPCF zr`wy-p5-~YE2Z$dSMR^hzI6ODQc+5dx1W-UroVaqr}FN8PZdyi`9bX zu44GqCjFdyFT*jWg8+S$F&5=OPkfjFag79Z9Cjjb-;LqEZ@8lj$9EaS;T{w4F7EN* zwcXEbKNH@aT`>NloH-SxQvMA6&8!Y6M;>qgql5lgzC8Awrd`wj)D)FJDfIugmXNmX zej@qvu+@TM@-L14|8ITkKZ3OUS6w}={gqvhg`Laak4oUby7>RzK3gpPI}~P*{i)>q z=j=z?DUO*+PW+gjbt+GBJ!JYO3;KLPU+9<|TrvAc-<>fts>r!DDufU3prk|`ED#LtW{`Ep$-0g?vky_mp(dmcS`bYKfk7&lL<2Eim&-fYOzWC*J$lH z>e%_2+3}AmbqRl5|0yhg)9DY)d}Qxi-1b+)AI0|5UMneo{OI#6fMZSg54e})#xOXT0XqFGHcCAW3ue|a56fKeQ-82>cmkBDyx{MQx#boQU2 zX~rLId6_o->x=(!A^Anp&pCR99r=$jlD!CN`EMxx7mL0#T=}~pbH~rSt0&@A!CLKf z385s7*WqpZZS`K#id=q59_yg}G}nF>MiFzQTQ0wSjr*u~Xz%RA@4r{^6rCLf{CTsl z#bPq_;N=W~%;{O2Mqg=7{ zr?7vNoc?c%|HFZOG@l=4@;N1Mmf8U)bg*-gbzq$Ek1n)L{Y~fd0#eZ((gO(uj=mX5 zghT3pqmM@N;7A2H`f_wX+z5fcTODD7-Ubf0j{sc(y$c-r0s0rZ8#)*`-fI=$776^_ z;}oXPTWmP=$dd%PB?6~ATVd$VGaPzmlu-E>8BSis#RBLq6Ywr{mkV&$3jBN5DGc4O z4EGKBO9i<51WtFq!qENJa7gJ#1h}^aPWO(&(7kWCN%B7s;JzXvr`t>c=)Pt+^jc1s zz@2P3!lxMB4-Ho>9QQurK8VqMXmlSNj=W!8iUfMt8uEDsTu+73_4Y8_?h1d(L%CxO zM|hFK#P7ry-C~7tH^%6GZFIL8Zj_$iZs8Zqhwn{UIKK0;aPWA|o>AtnD~$V!9uTc@ z0`Bg`ecf;)6|OWK_x3^uuD9W~Gu#N_`WkM4;YcrcOX7wau3F(84aap@mK_zlDh#^X zaC<2{8iZV(;Rx3&40@*F4p4X&2)RXuBg`$fpieLy?Sh-daNITQe7TJq^p6cUSz&JC z#@%E%!oOA+^lgSC4{iq`cemjP-=i>Sb}_(XxPV)-aolk2e7Oe}G^_oMH9LfW^9~zGEj}+$JGYz-D!e<%XPh)f! z8r?;Ps}wSO{C$P_-VY3i3}0+?j~Nb4;c>&gYB-@PUQ?KN|7JL3;yXt7mIjDv zdu_gz>$-OSd~aC`d|x&@E~ZJZVGd|PikZ8O4t(*LZb}g8$K|Fi4W``nd%k|8u>P@Q z8v9>c3eu+HU{z&$Qd}|q{R3IMf6>3zQnlxV;I#awiU0G~REqJZXD;N#zvT2IwP=~R zV*CdNvUdN%e@&%@Gp5p}{}}P#(D<|BlQWQOrTvB7{^2y*uzG9VUmSrN7ReQCHMHYO z0WXt*n+V+XQ~+Gu_12HVvD(MRPaR+X6xN{zeRbic7e#7Uc6^Y3;IJ=w%|b^7M_d^t z=&h6O+^{B}&qVh*&;xWNjcNF3J z$VWDlMEXwrRV^$p>NCMXhaHnJ`i;{O#`P0`qh3uEd_h2e4-WgK*TDsbgYIGhbe9?q zx`hJV!vg=_n+iksFT+9ir~t=lbWXRE0?>WaaL^$waFY!O-^E797=g#o9Y{d#3d2E1 zz2JMx3+!v(jL!8s(y_qk z7RvYZj#C(Sj^UtNW^_--=*~B~wbej89b*-S?>NK3cU^^Xvtx7@8r{V)x<;e>eT=S~ z8XVtSTfWEdNu%4waK!HbqpOY4^;He$I4$MI8Jc9-~_>mg2jT9 z1dPB=5ikNfO>nw^*1?GD3;`{Kk=7Ey*@7Pn&Jmm|I8OkN3*`Sq@IL}ZV~oOnCSVlC z=?#4HFh*a$5L_#`PH?^8mjXs(@K`FJQ5dc7*Mge`w+L<( z+$OkPaEIVd!Civi2<{f}?!EHw6WnjV8Ld5J;fLivBKV!)QNukh|M!AF*zYIh|530^ z@RZ1l<{67o+B6!wt&&z*7@S@-)!OMcb3K$I{Or5es{ja;aRz|#OH3&v+m)S_KSo((+ zVybd3M67vNqJ_`9!0n9R*5yz3{E z%@z@K%yBmnkh|7!(A{Xb^%XIK;J!j6<(gx-!wq+540o^LHc-a+yPKOva9#{|k>R?l z$Apf!d`V#(vzY#Fo#C)dISy+SZWFWB62C3XF8kdW?)!$jCx&~-aNC&;mi!xFHrS&K z$M=pi++Sk27Y)}}h6s;Ke}!@LVz?s=_n_h6@v!06G+QV*?6SCFhJ){L!(CuF)_+}O zxPQlR|25p6X7_~dTV~_DIEK5@aI2Y}61whYlbU8Y_|_ZlJi`&c^A*Ofbb;X%thmMK zhJ3M@R+K$|UhMn}&Ya{d@Y$LzZPfa>T7@_b(|@yijuoU~p6S^aYi1K4$|3G{)DLjX z6YXpdAOzP-&}6tP3|A@t8pCZMB7b*d0&-i)PpkcfH~jAvsn)ONJHIHoH!r!bH|_r4 z-2KmmPQLl=-1UJU6^l z)BDB7AH#}#itz{cTz$EO8u(j9pYa;5F#lnx)}O4WZ*5cp|Hs7tt-!u0e|ow?uAK4T z6XHKAW%>seVy{YzMXFimT_ z{QNUtKb2WObGTM2(@w*!t(rr*YB=3kP9D@4j`SWRm?}6phMS=Ie={&&THQ_FvLc~nN{`OecSz**8cDz!h1bAYS$cY>aBKF|!|o3&1` zrec)#-iAFQ$y;3KN;?U%|Ng5N{*xS2h9n$y9o%jL>O3)~-h-pQQ`cz|-bW}H?I9rt zdI+FHH{MdPqkujE96oZN_qP{-WB5eR4Q_zIaoZ}4qgH`KK=Xa*u=IjsOtF*s-!vSp zpjyD5mQjZLmVD9zZcoF(7a2+$o?y5J`I7|w1p6Bfx&s9CPm>MDclHw?FTQO!@`661 zQs8|A?@kdQFQy8JGjw%=Nz|nVu;rpBS42h#`wFn z3S);m&~UUrWCnG@Wd`kMR{?ICz~eGq;U0oI!%^Q_1n4rYG2C&6JKk`_YlZ;lZJh88 z0=}_S0FPA#w+e{UT>{5Zf5F{nIC;@pYH(h6dG}EPxF-bu?lTH+C-}4BXdh1th6?^- zIAqncf*l0U3wW12ctNm};3WY#zWuU*y!xxadAz1D&)$gP-ZI=fhU0rT32+|>co#=u zlLsFOz)`-R3VH}YfTJCM%x^h%kAlOoi3V;J;2->a4~wP0e$vn(JHU^UXEC(KxT6VVCgv zddW+4OYSj`pJM0Zm-uNAV=_!*W}(an#3Djw&& z&QX7pp{F&6G1Oe)gIss2prafd?U3Q**bJU_oWX~?Gv?|2^sZUyIke)|8^3(^8gJdd zin71WjjXPzMo;E`>2QPMLhb!)RDV;cK5IfWuBTt;&Wa)WJ3z35q~Ji|)QFW+*isuJ zoqAMsH{!n1S9exEOw@O(qqB8H7Rib@UvM~Z06IdWp!A#1u!V%v2(g#vo>Q3r=ImhQ zq(}Rv0N<*LLcw{=(%cf=pjSAXq42Hjeo7+yL-NNeY3=5AkZ?;hdW+wL!bl|Ui0A*k z8>2HdBc4{mUM|#_W5xsCy!ENl`WW9+ z3^jMjGsieXV+<^M@$;VecJe7Qh+5%J8Jt%Jfp^!D8pt=&*1*F=Tdqt<%3rr?`j{(I zx=A{h3)M<4Jqi9i`DyECt!Qgxsj0D251PjGs5}}ah3GFbyyM~Qc!XMmW`X3Ymj**g zEfl!>ES1#hiq!Hhsd#%y-r1NuF*;uv&Q$!;mf^{wEw2pYF^sq9?D%Cg24?=Tp*BWZ z1ezqZgul~;#~L4WNqLc55oPYY^82;Qn{cmr`jfvi+EVt()71JfLpDO~jFl3ur?=$v z)lVuyCtEEWCCce~1D%`|7A+N(`Vx6psraF3k*~CNTK*oQ=4p_P&3dy|77@PS*6i#z zIKyy`WNWR?Rp*{vH05DxyPPsSw@rJvT`}_Wv^th6*&_+hv9`J_PG_cSVf#edCFlJG zxxw#x{bT-yu@m|=`e*wT)J}RJ%8DA8(S_+rKGtaOXjQ{w1jh>4Iewhrc)lv8oFH_D;7t3?2y&(SeB?m($&qMp%lk|{=F4_ZRr~X;JIZcL z%q>hw^|f@T_$M_oZ?RZok1l~r=KfFmd{&v!D==1Uk`{*)tBzVU601patynAecrdy- zDpfoR%&@uOubL)bh*@?_ECz( z4OW*{oE|_eN1vD{e`XYS;uF6IcBt%XJE%^!e-G?Ain-4pmR@JPP35-5+;c#k*7NLn zaXz+$_Ln>Jmfa%JDnh+sbt^Ocw8UCrxrqkJ735U2>gjaZJbe{9voT$z#SMt;nAut! zV}m!_>Qi~Q;<~mtNGq(ctM*h|%FIz#X$(&O)v47VuH34UmK)Yb5H9Vc;`YBokASA< z_oo(;AIx9*O19E#;@CDVJ$qymmfTW0;s3w2+|0!;j~k#e7K!?ta(r3k*g3iz>%|yNa~DlUcl(9DKfdhN zkYD@WLEr4EHa}47J$B4#^L-SfBg;;ux2@3kd(Rs*w)S;Zf6Lqb9K~Tw*>S*Pk~#aH z8IVKlTi&{h$@qNdi3h8Am>rv^x{?1p>21Z$cixmPF_UAJ{4()Oak#4Nyvfy8DXB2O zi)O?Ki5?#;{d0{{iuP2mXINrkw!-^AvB!f!X?JruSfl7k3SFMwK6|>Z)FHu=L{oIlbgh z6r;|UY1#Svp12&E)pr%T2c!7dBx9eNu6)nf?ZP_KN5rrE-pgZ8ts1RbdWbkU&P(#= z;xHjqjmf9cd&|Sp#rhQg>ZSUs?-wb(*QIvHXFikTl+2hVE(ek}p!}oDI~1$K%1*22 zT>duNq`YM|iPl0t;?$lar;4}Bq|$T5zm|{pZsN#HOD@lEi6^@&c2fD5&og6ZqtEyB zuwu%sm}zBf@z#*tH@j`fPt|o>5GNaVmTr+rAN7p+y!Kc9umagfG=+1tkbKQ>^!DSq zdYZo9S$4jpuJ4@M>p564(b0Z+gvtad6J~m_46_z4>{4VtdZX02mrvHj+d#09p^36e z({t}3eZQf@^*yw)Oc~W`MMirq>;ZAyqil}3I`cez&$Y$E^($Wv(tq8u$KPL74LA`MQhlw7(EMrR+oo`F}bRqUMpxWVUBZ}(lArCIld~h zD(k)Ym!zuXxZOsM8(Sr8>AD#=rZEFdd%`-E`HeM*J#L|MT+wR|6BWt<<|Vx7SfjlJ(Qe zgFL`dGrOW3kiqeo#pBbJEtYdK;_+hUofh47@k_Sk-1vp(9zW`J25PEDSJ$9Me}>%u E0(8&56951J diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.cs deleted file mode 100644 index 873d0afcbbd..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.cs +++ /dev/null @@ -1,458 +0,0 @@ -// --------------------------------------------------------------------------------------------- -#region // Copyright (c) 2004-2005, SIL International. All Rights Reserved. -// -// Copyright (c) 2004-2005, SIL International. All Rights Reserved. -// -// Distributable under the terms of either the Common Public License or the -// GNU Lesser General Public License, as specified in the LICENSING.txt file. -// -#endregion -// -// File: TriStateTreeView.cs -// Responsibility: Eberhard Beilharz/Tim Steenwyk -// -// -// -// --------------------------------------------------------------------------------------------- -using System; -using System.Collections; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Runtime.InteropServices; -using System.Windows.Forms; -using Skybound.VisualStyles; - -namespace SIL.FieldWorks.Common.Controls -{ - /// ---------------------------------------------------------------------------------------- - /// - /// A tree view with tri-state check boxes - /// - /// - /// REVIEW: If we want to have icons in addition to the check boxes, we probably have to - /// set the icons for the check boxes in a different way. The windows tree view control - /// can have a separate image list for states. - /// - /// ---------------------------------------------------------------------------------------- - public class TriStateTreeView : TreeView - { - private System.Windows.Forms.ImageList m_TriStateImages; - private System.ComponentModel.IContainer components; - /// - /// The check state - /// - /// The states corresponds to image index - public enum CheckState - { - /// greyed out - GreyChecked = 0, - /// Unchecked - Unchecked = 1, - /// Checked - Checked = 2, - } - - #region Redefined Win-API structs and methods - /// - [StructLayout(LayoutKind.Sequential, Pack = 1)] - public struct TV_HITTESTINFO - { - /// Client coordinates of the point to test. - public Point pt; - /// Variable that receives information about the results of a hit test. - public TVHit flags; - /// Handle to the item that occupies the point. - public IntPtr hItem; - } - - /// Hit tests for tree view - [Flags] - public enum TVHit - { - /// In the client area, but below the last item. - NoWhere = 0x0001, - /// On the bitmap associated with an item. - OnItemIcon = 0x0002, - /// On the label (string) associated with an item. - OnItemLabel = 0x0004, - /// In the indentation associated with an item. - OnItemIndent = 0x0008, - /// On the button associated with an item. - OnItemButton = 0x0010, - /// In the area to the right of an item. - OnItemRight = 0x0020, - /// On the state icon for a tree-view item that is in a user-defined state. - OnItemStateIcon = 0x0040, - /// On the bitmap or label associated with an item. - OnItem = (OnItemIcon | OnItemLabel | OnItemStateIcon), - /// Above the client area. - Above = 0x0100, - /// Below the client area. - Below = 0x0200, - /// To the right of the client area. - ToRight = 0x0400, - /// To the left of the client area. - ToLeft = 0x0800 - } - - /// - public enum TreeViewMessages - { - /// - TV_FIRST = 0x1100, // TreeView messages - /// - TVM_HITTEST = (TV_FIRST + 17), - } - - /// - [DllImport("user32.dll", CharSet = CharSet.Auto)] - public static extern int SendMessage(IntPtr hWnd, TreeViewMessages msg, int wParam, ref TV_HITTESTINFO lParam); - #endregion - - #region Constructor and destructor - /// ------------------------------------------------------------------------------------ - /// - /// Initializes a new instance of the class. - /// - /// ------------------------------------------------------------------------------------ - public TriStateTreeView() - { - // This call is required by the Windows.Forms Form Designer. - InitializeComponent(); - - if (ThemeInformation.VisualStylesEnabled) - { - Bitmap bmp = new Bitmap(m_TriStateImages.ImageSize.Width, m_TriStateImages.ImageSize.Height); - Rectangle rc = new Rectangle(0, 0, bmp.Width, bmp.Height); - Graphics graphics = Graphics.FromImage(bmp); - - ThemePaint.Draw(graphics, this, ThemeClasses.Button, ThemeParts.ButtonCheckBox, - ThemeStates.CheckBoxCheckedDisabled, rc, rc); - m_TriStateImages.Images[0] = bmp; - - ThemePaint.Draw(graphics, this, ThemeClasses.Button, ThemeParts.ButtonCheckBox, - ThemeStates.CheckBoxUncheckedNormal, rc, rc); - m_TriStateImages.Images[1] = bmp; - - ThemePaint.Draw(graphics, this, ThemeClasses.Button, ThemeParts.ButtonCheckBox, - ThemeStates.CheckBoxCheckedNormal, rc, rc); - m_TriStateImages.Images[2] = bmp; - } - - ImageList = m_TriStateImages; - ImageIndex = (int)CheckState.Unchecked; - SelectedImageIndex = (int)CheckState.Unchecked; - } - - /// ----------------------------------------------------------------------------------- - /// - /// Clean up any resources being used. - /// - /// true to release both managed and unmanaged - /// resources; false to release only unmanaged resources. - /// - /// ----------------------------------------------------------------------------------- - protected override void Dispose(bool disposing) - { - if (disposing) - { - if (components != null) - { - components.Dispose(); - } - } - base.Dispose(disposing); - } - #endregion - - #region Component Designer generated code - /// ----------------------------------------------------------------------------------- - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - /// ----------------------------------------------------------------------------------- - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(TriStateTreeView)); - this.m_TriStateImages = new System.Windows.Forms.ImageList(this.components); - // - // m_TriStateImages - // - this.m_TriStateImages.ImageSize = new System.Drawing.Size(16, 16); - this.m_TriStateImages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("m_TriStateImages.ImageStream"))); - this.m_TriStateImages.TransparentColor = System.Drawing.Color.Magenta; - - } - #endregion - - #region Hide no longer appropriate properties from Designer - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new bool CheckBoxes - { - get { return base.CheckBoxes; } - set { base.CheckBoxes = value; } - } - - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new int ImageIndex - { - get { return base.ImageIndex; } - set { base.ImageIndex = value; } - } - - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new ImageList ImageList - { - get { return base.ImageList; } - set { base.ImageList = value; } - } - - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new int SelectedImageIndex - { - get { return base.SelectedImageIndex; } - set { base.SelectedImageIndex = value; } - } - #endregion - - #region Overrides - /// ------------------------------------------------------------------------------------ - /// - /// Called when the user clicks on an item - /// - /// - /// ------------------------------------------------------------------------------------ - protected override void OnClick(EventArgs e) - { - base.OnClick(e); - - TV_HITTESTINFO hitTestInfo = new TV_HITTESTINFO(); - hitTestInfo.pt = PointToClient(Control.MousePosition); - - SendMessage(Handle, TreeViewMessages.TVM_HITTEST, - 0, ref hitTestInfo); - if ((hitTestInfo.flags & TVHit.OnItemIcon) == TVHit.OnItemIcon) - { - TreeNode node = GetNodeAt(hitTestInfo.pt); - if (node != null) - ChangeNodeState(node); - } - } - - /// ------------------------------------------------------------------------------------ - /// - /// Toggle item if user presses space bar - /// - /// - /// ------------------------------------------------------------------------------------ - protected override void OnKeyDown(KeyEventArgs e) - { - base.OnKeyDown(e); - - if (e.KeyCode == Keys.Space) - ChangeNodeState(SelectedNode); - } - #endregion - - #region Private methods - /// ------------------------------------------------------------------------------------ - /// - /// Checks or unchecks all children - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void CheckNode(TreeNode node, CheckState state) - { - InternalSetChecked(node, state); - - foreach (TreeNode child in node.Nodes) - CheckNode(child, state); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Called after a node changed its state. Has to go through all direct children and - /// set state based on children's state. - /// - /// Parent node - /// ------------------------------------------------------------------------------------ - private void ChangeParent(TreeNode node) - { - if (node == null) - return; - - CheckState state = GetChecked(node.FirstNode); - foreach (TreeNode child in node.Nodes) - state &= GetChecked(child); - - if (InternalSetChecked(node, state)) - ChangeParent(node.Parent); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Handles changing the state of a node - /// - /// - /// ------------------------------------------------------------------------------------ - protected void ChangeNodeState(TreeNode node) - { - BeginUpdate(); - CheckState newState; - if (node.ImageIndex == (int)CheckState.Unchecked || node.ImageIndex < 0) - newState = CheckState.Checked; - else - newState = CheckState.Unchecked; - CheckNode(node, newState); - ChangeParent(node.Parent); - EndUpdate(); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Sets the checked state of a node, but doesn't deal with children or parents - /// - /// Node - /// The new checked state - /// true if checked state was set to the requested state, otherwise - /// false. - /// ------------------------------------------------------------------------------------ - private bool InternalSetChecked(TreeNode node, CheckState state) - { - TreeViewCancelEventArgs args = - new TreeViewCancelEventArgs(node, false, TreeViewAction.Unknown); - OnBeforeCheck(args); - if (args.Cancel) - return false; - - node.ImageIndex = (int)state; - node.SelectedImageIndex = (int)state; - - OnAfterCheck(new TreeViewEventArgs(node, TreeViewAction.Unknown)); - return true; - } - - /// ------------------------------------------------------------------------------------ - /// - /// Build a list of all of the tag data for checked items in the tree. - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void BuildTagDataList(TreeNode node, ArrayList list) - { - if (GetChecked(node) == CheckState.Checked && node.Tag != null) - list.Add(node.Tag); - - foreach (TreeNode child in node.Nodes) - BuildTagDataList(child, list); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Look through the tree nodes to find the node that has given tag data and check it. - /// - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void FindAndCheckNode(TreeNode node, object tag, CheckState state) - { - if (node.Tag != null && node.Tag.Equals(tag)) - { - SetChecked(node, state); - return; - } - - foreach (TreeNode child in node.Nodes) - FindAndCheckNode(child, tag, state); - } - #endregion - - #region Public methods - /// ------------------------------------------------------------------------------------ - /// - /// Gets the checked state of a node - /// - /// Node - /// The checked state - /// ------------------------------------------------------------------------------------ - public CheckState GetChecked(TreeNode node) - { - if (node.ImageIndex < 0) - return CheckState.Unchecked; - else - return (CheckState)node.ImageIndex; - } - - /// ------------------------------------------------------------------------------------ - /// - /// Sets the checked state of a node - /// - /// Node - /// The new checked state - /// ------------------------------------------------------------------------------------ - public void SetChecked(TreeNode node, CheckState state) - { - if (!InternalSetChecked(node, state)) - return; - CheckNode(node, state); - ChangeParent(node.Parent); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Find a node in the tree that matches the given tag data and set its checked state - /// - /// - /// - /// ------------------------------------------------------------------------------------ - public void CheckNodeByTag(object tag, CheckState state) - { - if (tag == null) - return; - foreach (TreeNode node in Nodes) - FindAndCheckNode(node, tag, state); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Return a list of the tag data for all of the checked items in the tree - /// - /// - /// ------------------------------------------------------------------------------------ - public ArrayList GetCheckedTagData() - { - ArrayList list = new ArrayList(); - - foreach (TreeNode node in Nodes) - BuildTagDataList(node, list); - return list; - } - #endregion - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.csproj b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.csproj deleted file mode 100644 index f53282f62f5..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.csproj +++ /dev/null @@ -1,116 +0,0 @@ - - - Local - 8.0.50727 - 2.0 - {99CEE41D-B76D-4102-B0AD-C81069509D17} - Debug - AnyCPU - - - - - TriStateTreeView - - - JScript - Grid - IE50 - false - Library - TriStateTreeView - OnBuildSuccess - - - - - - - 2.0 - - - bin\Debug\ - false - 285212672 - false - - - DEBUG;TRACE - - - true - 4096 - false - - - false - false - false - false - 4 - full - prompt - - - bin\Release\ - false - 285212672 - false - - - TRACE - - - false - 4096 - false - - - true - false - false - false - 4 - none - prompt - - - - skybound.visualstyles - skybound.visualstyles.dll - - - System - - - System.Data - - - System.Drawing - - - System.Windows.Forms - - - System.XML - - - - - Code - - - Component - - - TriStateTreeView.cs - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.resx b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.resx deleted file mode 100644 index aabb39ec3c5..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeView.resx +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Private - - - Private - - - 17, 17 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw - MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT - eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA - AAB0CQAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQC - AAEoAwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB - 3AHAAQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IB - AAM5AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8B - MwMAAWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYC - AAFmAZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMC - AAHMAWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQAB - ZgEAATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8B - AAEzAWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQAB - MwGZAWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQAB - MwLMAQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQAB - MwEAAWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMB - mQEAAWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQAB - ZgGZAWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYB - zAH/AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMB - mQEAAZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgAB - mQFmATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwB - AAKZAf8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB - /wEzAQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQAB - mQEAAcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYC - AAHMAWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYB - AAHMApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8C - AAHMAf8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQAB - mQEAAcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMB - AAHMAmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB - /wGZAcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC - /wEzAQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC - /wFmAQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gB - AAHwAfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/4MAAQcL8wQAAQcL - 8wQAAQcL8xQAAQcB7AH/AfMB/wHzAf8B8wH/AfMB/wHzBAABBwHsCf8B8wQAAQcB7An/AfMUAAEHAewB - 8wH/AfMBBwHzAf8B8wH/AvMEAAEHAewJ/wHzBAABBwHsA/8BAAX/AfMUAAEHAewB/wHzAwcB8wH/AfMB - /wHzBAABBwHsCf8B8wQAAQcB7AL/AwAE/wHzFAABBwHsAfMFBwHzAf8C8wQAAQcB7An/AfMEAAEHAewB - /wUAA/8B8xQAAQcB7AH/AgcB8wMHAfMB/wHzBAABBwHsCf8B8wQAAQcB7AH/AgAB/wMAAv8B8xQAAQcB - 7AHzAQcB8wH/AfMDBwLzBAABBwHsCf8B8wQAAQcB7AH/AQAD/wMAAf8B8xQAAQcB7AH/AfMB/wHzAf8B - 8wIHAf8B8wQAAQcB7An/AfMEAAEHAewG/wIAAf8B8xQAAQcB7AHzAf8B8wH/AfMB/wHzAQcC8wQAAQcB - 7An/AfMEAAEHAewH/wEAAf8B8xQAAQcB7AH/AfMB/wHzAf8B8wH/AfMB/wHzBAABBwHsCf8B8wQAAQcB - 7An/AfMUAAEHCuwB8wQAAQcK7AHzBAABBwrsAfMUAAwHBAAMBwQADAeSAAFCAU0BPgcAAT4DAAEoAwAB - QAMAARADAAEBAQABAQUAAYAXAAP/AQAG/wIABv8CAAHAAQMBwAEDAcABAwIAAcABAwHAAQMBwAEDAgAB - wAEDAcABAwHAAQMCAAHAAQMBwAEDAcABAwIAAcABAwHAAQMBwAEDAgABwAEDAcABAwHAAQMCAAHAAQMB - wAEDAcABAwIAAcABAwHAAQMBwAEDAgABwAEDAcABAwHAAQMCAAHAAQMBwAEDAcABAwIAAcABAwHAAQMB - wAEDAgABwAEDAcABAwHAAQMCAAb/AgAG/wIACw== - - - - Private - - - TriStateTreeView - - - False - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/App.ico b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/App.ico deleted file mode 100644 index 3a5525fd794f7a7c5c8e6187f470ea3af38cd2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmeHHJr05}7=1t!Hp3A*8IHkVf+j?-!eHY14Gtcw1Eb*_9>Bq^zETJ@GKj{_2j4$w zo9}xCh!8{T3=X##Skq>ikMjsvB|y%crWBM2iW(4pI}c%z6%lW!=~4v77#3{z!dmB1 z__&l)-{KUYR+|8|;wB^R|9ET$J@(@=#rd^=)qs85?vAy(PSF5CyNkus435LVkZ$rj zNw|JG-P7^hF<(;#o*Vk}5R#e|^13tBbQkeF?djULtvqyxd3<{9 diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/App.ico b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/App.ico deleted file mode 100644 index 3a5525fd794f7a7c5c8e6187f470ea3af38cd2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmeHHJr05}7=1t!Hp3A*8IHkVf+j?-!eHY14Gtcw1Eb*_9>Bq^zETJ@GKj{_2j4$w zo9}xCh!8{T3=X##Skq>ikMjsvB|y%crWBM2iW(4pI}c%z6%lW!=~4v77#3{z!dmB1 z__&l)-{KUYR+|8|;wB^R|9ET$J@(@=#rd^=)qs85?vAy(PSF5CyNkus435LVkZ$rj zNw|JG-P7^hF<(;#o*Vk}5R#e|^13tBbQkeF?djULtvqyxd3<{9 diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.cs deleted file mode 100644 index e30691824bb..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.cs +++ /dev/null @@ -1,117 +0,0 @@ -using System; -using System.Drawing; -using System.Collections; -using System.ComponentModel; -using System.Windows.Forms; -using System.Data; - -namespace TriStateTreeView -{ - /// ---------------------------------------------------------------------------------------- - /// - /// Summary description for Form1. - /// - /// ---------------------------------------------------------------------------------------- - public class Form1 : System.Windows.Forms.Form - { - private SIL.FieldWorks.Common.Controls.TriStateTreeView triStateTreeView1; - /// - /// Required designer variable. - /// - private System.ComponentModel.Container components = null; - - /// ------------------------------------------------------------------------------------ - /// - /// Initializes a new instance of the class. - /// - /// ------------------------------------------------------------------------------------ - public Form1() - { - // - // Required for Windows Form Designer support - // - InitializeComponent(); - - // - // TODO: Add any constructor code after InitializeComponent call - // - - triStateTreeView1.ExpandAll(); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Clean up any resources being used. - /// - /// true to release both managed and unmanaged - /// resources; false to release only unmanaged resources. - /// - /// ------------------------------------------------------------------------------------ - protected override void Dispose( bool disposing ) - { - if( disposing ) - { - if (components != null) - { - components.Dispose(); - } - } - base.Dispose( disposing ); - } - - #region Windows Form Designer generated code - /// ------------------------------------------------------------------------------------ - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - /// ------------------------------------------------------------------------------------ - private void InitializeComponent() - { - this.triStateTreeView1 = new SIL.FieldWorks.Common.Controls.TriStateTreeView(); - this.SuspendLayout(); - // - // triStateTreeView1 - // - this.triStateTreeView1.ImageIndex = 1; - this.triStateTreeView1.Location = new System.Drawing.Point(16, 16); - this.triStateTreeView1.Name = "triStateTreeView1"; - this.triStateTreeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - new System.Windows.Forms.TreeNode("Node0", new System.Windows.Forms.TreeNode[] { - new System.Windows.Forms.TreeNode("Node1", new System.Windows.Forms.TreeNode[] { - new System.Windows.Forms.TreeNode("Node2"), - new System.Windows.Forms.TreeNode("Node10", new System.Windows.Forms.TreeNode[] { - new System.Windows.Forms.TreeNode("Node11")})}), - new System.Windows.Forms.TreeNode("Node3", new System.Windows.Forms.TreeNode[] { - new System.Windows.Forms.TreeNode("Node4"), - new System.Windows.Forms.TreeNode("Node7"), - new System.Windows.Forms.TreeNode("Node8"), - new System.Windows.Forms.TreeNode("Node9")})})}); - this.triStateTreeView1.SelectedImageIndex = 1; - this.triStateTreeView1.Size = new System.Drawing.Size(256, 232); - this.triStateTreeView1.TabIndex = 0; - // - // Form1 - // - this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); - this.ClientSize = new System.Drawing.Size(292, 266); - this.Controls.Add(this.triStateTreeView1); - this.Name = "Form1"; - this.Text = "Form1"; - this.ResumeLayout(false); - - } - #endregion - - /// ------------------------------------------------------------------------------------ - /// - /// The main entry point for the application. - /// - /// ------------------------------------------------------------------------------------ - [STAThread] - static void Main() - { - Application.Run(new Form1()); - } - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.resx b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.resx deleted file mode 100644 index 74f7e7a9db5..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/Form1.resx +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Private - - - Private - - - False - - - False - - - (Default) - - - False - - - False - - - 8, 8 - - - Form1 - - - True - - - 80 - - - True - - - Private - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/TriStateTreeViewDemo.csproj b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/TriStateTreeViewDemo.csproj deleted file mode 100644 index 17c20075c38..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup/TriStateTreeViewDemo.csproj +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/AssemblyInfo.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/AssemblyInfo.cs deleted file mode 100644 index 192fff970c0..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/AssemblyInfo.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly: AssemblyTitle("TriStateTreeView control")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.*")] - -// -// In order to sign your assembly you must specify a key to use. Refer to the -// Microsoft .NET Framework documentation for more information on assembly signing. -// -// Use the attributes below to control which key is used for signing. -// -// Notes: -// (*) If no key is specified, the assembly is not signed. -// (*) KeyName refers to a key that has been installed in the Crypto Service -// Provider (CSP) on your machine. KeyFile refers to a file which contains -// a key. -// (*) If the KeyFile and the KeyName values are both specified, the -// following processing occurs: -// (1) If the KeyName can be found in the CSP, that key is used. -// (2) If the KeyName does not exist and the KeyFile does exist, the key -// in the KeyFile is installed into the CSP and used. -// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. -// When specifying the KeyFile, the location of the KeyFile should be -// relative to the project output directory which is -// %Project Directory%\obj\. For example, if your KeyFile is -// located in the project directory, you would specify the AssemblyKeyFile -// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] -// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework -// documentation for more information on this. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.cs deleted file mode 100644 index ba016abad0d..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.cs +++ /dev/null @@ -1,458 +0,0 @@ -// --------------------------------------------------------------------------------------------- -#region // Copyright (c) 2004-2005, SIL International. All Rights Reserved. -// -// Copyright (c) 2004-2005, SIL International. All Rights Reserved. -// -// Distributable under the terms of either the Common Public License or the -// GNU Lesser General Public License, as specified in the LICENSING.txt file. -// -#endregion -// -// File: TriStateTreeView.cs -// Responsibility: Eberhard Beilharz/Tim Steenwyk -// -// -// -// --------------------------------------------------------------------------------------------- -using System; -using System.Collections; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Runtime.InteropServices; -using System.Windows.Forms; -using Skybound.VisualStyles; - -namespace SIL.FieldWorks.Common.Controls -{ - /// ---------------------------------------------------------------------------------------- - /// - /// A tree view with tri-state check boxes - /// - /// - /// REVIEW: If we want to have icons in addition to the check boxes, we probably have to - /// set the icons for the check boxes in a different way. The windows tree view control - /// can have a separate image list for states. - /// - /// ---------------------------------------------------------------------------------------- - public class TriStateTreeView : TreeView - { - private System.Windows.Forms.ImageList m_TriStateImages; - private System.ComponentModel.IContainer components; - /// - /// The check state - /// - /// The states corresponds to image index - public enum CheckState - { - /// greyed out - GreyChecked = 0, - /// Unchecked - Unchecked = 1, - /// Checked - Checked = 2, - } - - #region Redefined Win-API structs and methods - /// - [StructLayout(LayoutKind.Sequential, Pack=1)] - public struct TV_HITTESTINFO - { - /// Client coordinates of the point to test. - public Point pt; - /// Variable that receives information about the results of a hit test. - public TVHit flags; - /// Handle to the item that occupies the point. - public IntPtr hItem; - } - - /// Hit tests for tree view - [Flags] - public enum TVHit - { - /// In the client area, but below the last item. - NoWhere = 0x0001, - /// On the bitmap associated with an item. - OnItemIcon = 0x0002, - /// On the label (string) associated with an item. - OnItemLabel = 0x0004, - /// In the indentation associated with an item. - OnItemIndent = 0x0008, - /// On the button associated with an item. - OnItemButton = 0x0010, - /// In the area to the right of an item. - OnItemRight = 0x0020, - /// On the state icon for a tree-view item that is in a user-defined state. - OnItemStateIcon = 0x0040, - /// On the bitmap or label associated with an item. - OnItem = (OnItemIcon | OnItemLabel | OnItemStateIcon), - /// Above the client area. - Above = 0x0100, - /// Below the client area. - Below = 0x0200, - /// To the right of the client area. - ToRight = 0x0400, - /// To the left of the client area. - ToLeft = 0x0800 - } - - /// - public enum TreeViewMessages - { - /// - TV_FIRST = 0x1100, // TreeView messages - /// - TVM_HITTEST = (TV_FIRST + 17), - } - - /// - [DllImport("user32.dll", CharSet=CharSet.Auto)] - public static extern int SendMessage(IntPtr hWnd, TreeViewMessages msg, int wParam, ref TV_HITTESTINFO lParam); - #endregion - - #region Constructor and destructor - /// ------------------------------------------------------------------------------------ - /// - /// Initializes a new instance of the class. - /// - /// ------------------------------------------------------------------------------------ - public TriStateTreeView() - { - // This call is required by the Windows.Forms Form Designer. - InitializeComponent(); - - if (ThemeInformation.VisualStylesEnabled) - { - Bitmap bmp = new Bitmap(m_TriStateImages.ImageSize.Width, m_TriStateImages.ImageSize.Height); - Rectangle rc = new Rectangle(0, 0, bmp.Width, bmp.Height); - Graphics graphics = Graphics.FromImage(bmp); - - ThemePaint.Draw(graphics, this, ThemeClasses.Button, ThemeParts.ButtonCheckBox, - ThemeStates.CheckBoxCheckedDisabled, rc, rc); - m_TriStateImages.Images[0] = bmp; - - ThemePaint.Draw(graphics, this, ThemeClasses.Button, ThemeParts.ButtonCheckBox, - ThemeStates.CheckBoxUncheckedNormal, rc, rc); - m_TriStateImages.Images[1] = bmp; - - ThemePaint.Draw(graphics, this, ThemeClasses.Button, ThemeParts.ButtonCheckBox, - ThemeStates.CheckBoxCheckedNormal, rc, rc); - m_TriStateImages.Images[2] = bmp; - } - - ImageList = m_TriStateImages; - ImageIndex = (int)CheckState.Unchecked; - SelectedImageIndex = (int)CheckState.Unchecked; - } - - /// ----------------------------------------------------------------------------------- - /// - /// Clean up any resources being used. - /// - /// true to release both managed and unmanaged - /// resources; false to release only unmanaged resources. - /// - /// ----------------------------------------------------------------------------------- - protected override void Dispose( bool disposing ) - { - if( disposing ) - { - if(components != null) - { - components.Dispose(); - } - } - base.Dispose( disposing ); - } - #endregion - - #region Component Designer generated code - /// ----------------------------------------------------------------------------------- - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - /// ----------------------------------------------------------------------------------- - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(TriStateTreeView)); - this.m_TriStateImages = new System.Windows.Forms.ImageList(this.components); - // - // m_TriStateImages - // - this.m_TriStateImages.ImageSize = new System.Drawing.Size(16, 16); - this.m_TriStateImages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("m_TriStateImages.ImageStream"))); - this.m_TriStateImages.TransparentColor = System.Drawing.Color.Magenta; - - } - #endregion - - #region Hide no longer appropriate properties from Designer - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new bool CheckBoxes - { - get { return base.CheckBoxes; } - set { base.CheckBoxes = value; } - } - - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new int ImageIndex - { - get { return base.ImageIndex; } - set { base.ImageIndex = value; } - } - - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new ImageList ImageList - { - get { return base.ImageList; } - set { base.ImageList = value; } - } - - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - [Browsable(false)] - public new int SelectedImageIndex - { - get { return base.SelectedImageIndex; } - set { base.SelectedImageIndex = value; } - } - #endregion - - #region Overrides - /// ------------------------------------------------------------------------------------ - /// - /// Called when the user clicks on an item - /// - /// - /// ------------------------------------------------------------------------------------ - protected override void OnClick(EventArgs e) - { - base.OnClick (e); - - TV_HITTESTINFO hitTestInfo = new TV_HITTESTINFO(); - hitTestInfo.pt = PointToClient(Control.MousePosition); - - SendMessage(Handle, TreeViewMessages.TVM_HITTEST, - 0, ref hitTestInfo); - if ((hitTestInfo.flags & TVHit.OnItemIcon) == TVHit.OnItemIcon) - { - TreeNode node = GetNodeAt(hitTestInfo.pt); - if (node != null) - ChangeNodeState(node); - } - } - - /// ------------------------------------------------------------------------------------ - /// - /// Toggle item if user presses space bar - /// - /// - /// ------------------------------------------------------------------------------------ - protected override void OnKeyDown(KeyEventArgs e) - { - base.OnKeyDown (e); - - if (e.KeyCode == Keys.Space) - ChangeNodeState(SelectedNode); - } - #endregion - - #region Private methods - /// ------------------------------------------------------------------------------------ - /// - /// Checks or unchecks all children - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void CheckNode(TreeNode node, CheckState state) - { - InternalSetChecked(node, state); - - foreach (TreeNode child in node.Nodes) - CheckNode(child, state); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Called after a node changed its state. Has to go through all direct children and - /// set state based on children's state. - /// - /// Parent node - /// ------------------------------------------------------------------------------------ - private void ChangeParent(TreeNode node) - { - if (node == null) - return; - - CheckState state = GetChecked(node.FirstNode); - foreach (TreeNode child in node.Nodes) - state &= GetChecked(child); - - if (InternalSetChecked(node, state)) - ChangeParent(node.Parent); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Handles changing the state of a node - /// - /// - /// ------------------------------------------------------------------------------------ - protected void ChangeNodeState(TreeNode node) - { - BeginUpdate(); - CheckState newState; - if (node.ImageIndex == (int)CheckState.Unchecked || node.ImageIndex < 0) - newState = CheckState.Checked; - else - newState = CheckState.Unchecked; - CheckNode(node, newState); - ChangeParent(node.Parent); - EndUpdate(); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Sets the checked state of a node, but doesn't deal with children or parents - /// - /// Node - /// The new checked state - /// true if checked state was set to the requested state, otherwise - /// false. - /// ------------------------------------------------------------------------------------ - private bool InternalSetChecked(TreeNode node, CheckState state) - { - TreeViewCancelEventArgs args = - new TreeViewCancelEventArgs(node, false, TreeViewAction.Unknown); - OnBeforeCheck(args); - if (args.Cancel) - return false; - - node.ImageIndex = (int)state; - node.SelectedImageIndex = (int)state; - - OnAfterCheck(new TreeViewEventArgs(node, TreeViewAction.Unknown)); - return true; - } - - /// ------------------------------------------------------------------------------------ - /// - /// Build a list of all of the tag data for checked items in the tree. - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void BuildTagDataList(TreeNode node, ArrayList list) - { - if (GetChecked(node) == CheckState.Checked && node.Tag != null) - list.Add(node.Tag); - - foreach (TreeNode child in node.Nodes) - BuildTagDataList(child, list); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Look through the tree nodes to find the node that has given tag data and check it. - /// - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void FindAndCheckNode(TreeNode node, object tag, CheckState state) - { - if (node.Tag != null && node.Tag.Equals(tag)) - { - SetChecked(node, state); - return; - } - - foreach (TreeNode child in node.Nodes) - FindAndCheckNode(child, tag, state); - } - #endregion - - #region Public methods - /// ------------------------------------------------------------------------------------ - /// - /// Gets the checked state of a node - /// - /// Node - /// The checked state - /// ------------------------------------------------------------------------------------ - public CheckState GetChecked(TreeNode node) - { - if (node.ImageIndex < 0) - return CheckState.Unchecked; - else - return (CheckState)node.ImageIndex; - } - - /// ------------------------------------------------------------------------------------ - /// - /// Sets the checked state of a node - /// - /// Node - /// The new checked state - /// ------------------------------------------------------------------------------------ - public void SetChecked(TreeNode node, CheckState state) - { - if (!InternalSetChecked(node, state)) - return; - CheckNode(node, state); - ChangeParent(node.Parent); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Find a node in the tree that matches the given tag data and set its checked state - /// - /// - /// - /// ------------------------------------------------------------------------------------ - public void CheckNodeByTag(object tag, CheckState state) - { - if (tag == null) - return; - foreach (TreeNode node in Nodes) - FindAndCheckNode(node, tag, state); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Return a list of the tag data for all of the checked items in the tree - /// - /// - /// ------------------------------------------------------------------------------------ - public ArrayList GetCheckedTagData() - { - ArrayList list = new ArrayList(); - - foreach (TreeNode node in Nodes) - BuildTagDataList(node, list); - return list; - } - #endregion - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.csproj b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.csproj deleted file mode 100644 index f87c6247744..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.csproj +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.resx b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.resx deleted file mode 100644 index aabb39ec3c5..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Backup1/TriStateTreeView.resx +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Private - - - Private - - - 17, 17 - - - - AAEAAAD/////AQAAAAAAAAAMAgAAAFpTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0xLjAuNTAw - MC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZT - eXN0ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMA - AAB0CQAAAk1TRnQBSQFMAgEBAwEAAQQBAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQC - AAEoAwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB - 3AHAAQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IB - AAM5AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8B - MwMAAWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYC - AAFmAZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMC - AAHMAWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQAB - ZgEAATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8B - AAEzAWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQAB - MwGZAWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQAB - MwLMAQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQAB - MwEAAWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMB - mQEAAWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQAB - ZgGZAWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYB - zAH/AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMB - mQEAAZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgAB - mQFmATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwB - AAKZAf8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB - /wEzAQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQAB - mQEAAcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYC - AAHMAWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYB - AAHMApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8C - AAHMAf8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQAB - mQEAAcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMB - AAHMAmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB - /wGZAcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC - /wEzAQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC - /wFmAQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gB - AAHwAfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/4MAAQcL8wQAAQcL - 8wQAAQcL8xQAAQcB7AH/AfMB/wHzAf8B8wH/AfMB/wHzBAABBwHsCf8B8wQAAQcB7An/AfMUAAEHAewB - 8wH/AfMBBwHzAf8B8wH/AvMEAAEHAewJ/wHzBAABBwHsA/8BAAX/AfMUAAEHAewB/wHzAwcB8wH/AfMB - /wHzBAABBwHsCf8B8wQAAQcB7AL/AwAE/wHzFAABBwHsAfMFBwHzAf8C8wQAAQcB7An/AfMEAAEHAewB - /wUAA/8B8xQAAQcB7AH/AgcB8wMHAfMB/wHzBAABBwHsCf8B8wQAAQcB7AH/AgAB/wMAAv8B8xQAAQcB - 7AHzAQcB8wH/AfMDBwLzBAABBwHsCf8B8wQAAQcB7AH/AQAD/wMAAf8B8xQAAQcB7AH/AfMB/wHzAf8B - 8wIHAf8B8wQAAQcB7An/AfMEAAEHAewG/wIAAf8B8xQAAQcB7AHzAf8B8wH/AfMB/wHzAQcC8wQAAQcB - 7An/AfMEAAEHAewH/wEAAf8B8xQAAQcB7AH/AfMB/wHzAf8B8wH/AfMB/wHzBAABBwHsCf8B8wQAAQcB - 7An/AfMUAAEHCuwB8wQAAQcK7AHzBAABBwrsAfMUAAwHBAAMBwQADAeSAAFCAU0BPgcAAT4DAAEoAwAB - QAMAARADAAEBAQABAQUAAYAXAAP/AQAG/wIABv8CAAHAAQMBwAEDAcABAwIAAcABAwHAAQMBwAEDAgAB - wAEDAcABAwHAAQMCAAHAAQMBwAEDAcABAwIAAcABAwHAAQMBwAEDAgABwAEDAcABAwHAAQMCAAHAAQMB - wAEDAcABAwIAAcABAwHAAQMBwAEDAgABwAEDAcABAwHAAQMCAAHAAQMBwAEDAcABAwIAAcABAwHAAQMB - wAEDAgABwAEDAcABAwHAAQMCAAb/AgAG/wIACw== - - - - Private - - - TriStateTreeView - - - False - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Controls/FileSystemTriStateTreeView.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Controls/FileSystemTriStateTreeView.cs deleted file mode 100644 index aa09cab37be..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Controls/FileSystemTriStateTreeView.cs +++ /dev/null @@ -1,158 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.IO; -using System.Windows.Forms; - -using SysGen.RBuild.Framework; - -using SIL.FieldWorks.Common.Controls; - -namespace TriStateTreeViewDemo -{ - public class FileSystemTriStateTreeView : TriStateTreeView - { - RBuildModule m_Module = null; - - public void Load(RBuildModule module) - { - m_Module = module; - - if (Directory.Exists(module.ModulePath) == false) - throw new DirectoryNotFoundException("Directory Not Found"); - - Nodes.Clear(); - - DirectoryNode node = new DirectoryNode(this, new DirectoryInfo(module.ModulePath)); - - node.Expand(); - } - - public RBuildModule Module - { - get { return m_Module; } - } - - protected override void OnAfterCheck(TreeViewEventArgs e) - { - base.OnAfterCheck(e); - - if (e.Node is FileNode) - { - FileNode fileNode = e.Node as FileNode; - - if (GetChecked(e.Node) == CheckState.Checked) - { - if (fileNode.IsInclude) - { - //if (m_Module.Includes.Contains(fileNode.RelativeDirectory) == false) - // m_Module.Includes.Add(fileNode.RelativeDirectory); - } - else - { - //if (m_Module.Files.Contains(fileNode.RelativePath) == false) - // m_Module.Files.Add(fileNode.RelativePath); - } - } - else if (GetChecked(e.Node) == CheckState.Unchecked) - { - if (fileNode.IsInclude == false) - { - //if (m_Module.Files.Contains(fileNode.RelativePath) == true) - // m_Module.Files.Remove(fileNode.RelativePath); - } - } - } - } - - public class DirectoryNode : TreeNode - { - private DirectoryInfo m_DirectoryInfo; - - public DirectoryNode(DirectoryNode parent, DirectoryInfo directoryInfo) - : base(directoryInfo.Name) - { - m_DirectoryInfo = directoryInfo; - - parent.Nodes.Add(this); - - LoadDirectory(); - LoadFiles(); - } - - public DirectoryNode(FileSystemTriStateTreeView treeView, DirectoryInfo directoryInfo) - : base(directoryInfo.Name) - { - m_DirectoryInfo = directoryInfo; - - treeView.Nodes.Add(this); - - LoadDirectory(); - LoadFiles(); - - } - - public void LoadDirectory() - { - foreach (DirectoryInfo directoryInfo in m_DirectoryInfo.GetDirectories()) - { - new DirectoryNode(this, directoryInfo); - } - } - - public void LoadFiles() - { - foreach (FileInfo file in m_DirectoryInfo.GetFiles()) - { - if (file.Extension.ToLower() == ".c" || - file.Extension.ToLower() == ".cpp" || - file.Extension.ToLower() == ".cxx" || - file.Extension.ToLower() == ".h") - { - new FileNode(this, file); - } - } - } - - public new FileSystemTriStateTreeView TreeView - { - get { return (FileSystemTriStateTreeView)base.TreeView; } - } - } - - public class FileNode : TreeNode - { - private FileInfo m_FileInfo; - private DirectoryNode m_DirectoryNode; - - public FileNode(DirectoryNode directoryNode, FileInfo fileInfo) - : base(fileInfo.Name) - { - m_DirectoryNode = directoryNode; - m_FileInfo = fileInfo; - - m_DirectoryNode.Nodes.Add(this); - } - - public string FilePath - { - get { return m_FileInfo.FullName; } - } - - public string RelativePath - { - get { return FilePath.Replace(((FileSystemTriStateTreeView)TreeView).Module.ModulePath, string.Empty); } - } - - public string RelativeDirectory - { - get { return RelativePath.Replace(@"\" + m_FileInfo.Name , string.Empty); } - } - - public bool IsInclude - { - get { return (m_FileInfo.Extension.ToLower() == ".h"); } - } - } - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.cs deleted file mode 100644 index 2197865e7a7..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.cs +++ /dev/null @@ -1,213 +0,0 @@ -using System; -using System.Drawing; -using System.Collections; -using System.ComponentModel; -using System.Windows.Forms; -using System.Data; - -using SysGen.RBuild.Framework; - -namespace TriStateTreeViewDemo -{ - /// ---------------------------------------------------------------------------------------- - /// - /// Summary description for Form1. - /// - /// ---------------------------------------------------------------------------------------- - public class Form1 : System.Windows.Forms.Form - { - private FileSystemTriStateTreeView triStateTreeView1; - private TextBox textBox1; - private Button btnProcess; - private Button btnGenerateRBuildFile; - private PropertyGrid propertyGrid1; - private IContainer components; - - /// ------------------------------------------------------------------------------------ - /// - /// Initializes a new instance of the class. - /// - /// ------------------------------------------------------------------------------------ - public Form1() - { - // - // Required for Windows Form Designer support - // - InitializeComponent(); - - // - // TODO: Add any constructor code after InitializeComponent call - // - - triStateTreeView1.ExpandAll(); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Clean up any resources being used. - /// - /// true to release both managed and unmanaged - /// resources; false to release only unmanaged resources. - /// - /// ------------------------------------------------------------------------------------ - protected override void Dispose( bool disposing ) - { - if( disposing ) - { - if (components != null) - { - components.Dispose(); - } - } - base.Dispose( disposing ); - } - - #region Windows Form Designer generated code - /// ------------------------------------------------------------------------------------ - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - /// ------------------------------------------------------------------------------------ - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Node2"); - System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Node11"); - System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Node10", new System.Windows.Forms.TreeNode[] { - treeNode2}); - System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("Node1", new System.Windows.Forms.TreeNode[] { - treeNode1, - treeNode3}); - System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("Node4"); - System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("Node7"); - System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("Node8"); - System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("Node9"); - System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("Node3", new System.Windows.Forms.TreeNode[] { - treeNode5, - treeNode6, - treeNode7, - treeNode8}); - System.Windows.Forms.TreeNode treeNode10 = new System.Windows.Forms.TreeNode("Node0", new System.Windows.Forms.TreeNode[] { - treeNode4, - treeNode9}); - this.textBox1 = new System.Windows.Forms.TextBox(); - this.btnProcess = new System.Windows.Forms.Button(); - this.btnGenerateRBuildFile = new System.Windows.Forms.Button(); - this.propertyGrid1 = new System.Windows.Forms.PropertyGrid(); - this.triStateTreeView1 = new TriStateTreeViewDemo.FileSystemTriStateTreeView(); - this.SuspendLayout(); - // - // textBox1 - // - this.textBox1.Location = new System.Drawing.Point(340, 12); - this.textBox1.Name = "textBox1"; - this.textBox1.Size = new System.Drawing.Size(432, 20); - this.textBox1.TabIndex = 1; - this.textBox1.Text = "C:\\Ros\\Trunk\\reactos\\salamander\\lib\\sdl"; - // - // btnProcess - // - this.btnProcess.Location = new System.Drawing.Point(687, 38); - this.btnProcess.Name = "btnProcess"; - this.btnProcess.Size = new System.Drawing.Size(85, 28); - this.btnProcess.TabIndex = 2; - this.btnProcess.Text = "button1"; - this.btnProcess.UseVisualStyleBackColor = true; - this.btnProcess.Click += new System.EventHandler(this.btnProcess_Click); - // - // btnGenerateRBuildFile - // - this.btnGenerateRBuildFile.Location = new System.Drawing.Point(701, 517); - this.btnGenerateRBuildFile.Name = "btnGenerateRBuildFile"; - this.btnGenerateRBuildFile.Size = new System.Drawing.Size(75, 23); - this.btnGenerateRBuildFile.TabIndex = 3; - this.btnGenerateRBuildFile.Text = "button1"; - this.btnGenerateRBuildFile.UseVisualStyleBackColor = true; - this.btnGenerateRBuildFile.Click += new System.EventHandler(this.btnGenerateRBuildFile_Click); - // - // propertyGrid1 - // - this.propertyGrid1.Location = new System.Drawing.Point(340, 75); - this.propertyGrid1.Name = "propertyGrid1"; - this.propertyGrid1.Size = new System.Drawing.Size(431, 426); - this.propertyGrid1.TabIndex = 4; - // - // triStateTreeView1 - // - this.triStateTreeView1.Anchor = System.Windows.Forms.AnchorStyles.None; - this.triStateTreeView1.ImageIndex = 1; - this.triStateTreeView1.Location = new System.Drawing.Point(12, 12); - this.triStateTreeView1.Name = "triStateTreeView1"; - treeNode1.Name = ""; - treeNode1.Text = "Node2"; - treeNode2.Name = ""; - treeNode2.Text = "Node11"; - treeNode3.Name = ""; - treeNode3.Text = "Node10"; - treeNode4.Name = ""; - treeNode4.Text = "Node1"; - treeNode5.Name = ""; - treeNode5.Text = "Node4"; - treeNode6.Name = ""; - treeNode6.Text = "Node7"; - treeNode7.Name = ""; - treeNode7.Text = "Node8"; - treeNode8.Name = ""; - treeNode8.Text = "Node9"; - treeNode9.Name = ""; - treeNode9.Text = "Node3"; - treeNode10.Name = ""; - treeNode10.Text = "Node0"; - this.triStateTreeView1.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { - treeNode10}); - this.triStateTreeView1.SelectedImageIndex = 1; - this.triStateTreeView1.Size = new System.Drawing.Size(322, 528); - this.triStateTreeView1.TabIndex = 0; - // - // Form1 - // - this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); - this.ClientSize = new System.Drawing.Size(788, 556); - this.Controls.Add(this.propertyGrid1); - this.Controls.Add(this.btnGenerateRBuildFile); - this.Controls.Add(this.btnProcess); - this.Controls.Add(this.textBox1); - this.Controls.Add(this.triStateTreeView1); - this.Name = "Form1"; - this.Text = "RBuild Port Maker"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - #endregion - - /// ------------------------------------------------------------------------------------ - /// - /// The main entry point for the application. - /// - /// ------------------------------------------------------------------------------------ - [STAThread] - static void Main() - { - Application.Run(new Form1()); - } - RBuildModule module = new RBuildModule(); - private void btnProcess_Click(object sender, EventArgs e) - { - - - module.GenerateFromPath(textBox1.Text); - - this.triStateTreeView1.Load(module); - this.propertyGrid1.SelectedObject = module; - - - } - - private void btnGenerateRBuildFile_Click(object sender, EventArgs e) - { -module.SaveAs (@"c:\module.rbuild"); - } - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.resx b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.resx deleted file mode 100644 index 19dc0dd8b39..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/Form1.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RBuildModule.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RBuildModule.cs deleted file mode 100644 index 7e121105791..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RBuildModule.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.ComponentModel; - -namespace TriStateTreeViewDemo -{ - public enum TargetType - { - Win32CUI = 0, - } - - [DefaultPropertyAttribute("Name")] - public class RBuildModule - { - private string m_Path = null; - private TargetType m_Type = TargetType.Win32CUI; - - public void GenerateFromPath(string path) - { - m_Path = path; - } - - public string ModulePath - { - get { return m_Path; } - } - - public string Name - { - get { return Path.GetFileName(m_Path); } - } - - public string SourcePath - { - get { return Path.Combine(m_Path, "src"); } - } - - public string ResourceFile - { - get { return Path.Combine(ModulePath, Name + ".rc"); } - } - - public string CompiledFilename - { - get { return ""; } - } - - public string Description - { - get { return ""; } - } - - public TargetType Type - { - get { return m_Type; } - set { m_Type = value; } - } - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RCWriter.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RCWriter.cs deleted file mode 100644 index e53f8f54c55..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/RCWriter.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.IO; -using System.Collections.Generic; -using System.Text; -using System.ComponentModel; - -using SysGen.RBuild.Framework; - -namespace TriStateTreeViewDemo -{ - public class RCWriter - { - RBuildModule m_Module = null; - - /// - /// Creates a new instance of the class. - /// - /// - public RCWriter(RBuildModule module) - { - //Set the module - m_Module = module; - } - - public RBuildModule Module - { - get { return m_Module; } - } - - public void Generate() - { - //using (FileStream fs = new FileStream(Module.ResourceFile, FileMode.Append)) - //{ - // using (StreamWriter objWriter = new StreamWriter(fs)) - // { - // objWriter.WriteLine("; Autogenerated"); - // objWriter.WriteLine("#include "); - // objWriter.WriteLine(); - // objWriter.WriteLine("LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL"); - // objWriter.WriteLine(); - // objWriter.WriteLine("#define REACTOS_STR_FILE_DESCRIPTION \"{0}\0\"", Module.Description); - // objWriter.WriteLine("#define REACTOS_STR_INTERNAL_NAME \"{0}\0\"", Module.Name); - // objWriter.WriteLine("#define REACTOS_STR_ORIGINAL_FILENAME \"{0}\0\"", Module.CompiledFilename); - // objWriter.WriteLine(); - // objWriter.WriteLine("LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL"); - // } - //} - } - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj deleted file mode 100644 index 3ab6641a37a..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj +++ /dev/null @@ -1,124 +0,0 @@ - - - Local - 8.0.50727 - 2.0 - {6E9E72B6-B523-424F-B409-BA5357BB7B50} - Debug - AnyCPU - - - - - TriStateTreeViewDemo - - - JScript - Grid - IE50 - false - WinExe - TriStateTreeViewDemo - OnBuildSuccess - - - - - - - - - bin\Debug\ - false - 285212672 - false - - - DEBUG;TRACE - - - true - 4096 - false - - - false - false - false - false - 4 - full - prompt - - - bin\Release\ - false - 285212672 - false - - - TRACE - - - false - 4096 - false - - - true - false - false - false - 4 - none - prompt - - - - System - - - System.Data - - - System.Drawing - - - System.Windows.Forms - - - System.XML - - - - - - Component - - - - Form - - - Form1.cs - Designer - - - - - {88D9BED7-30C5-4683-A6C6-6F2EB55B8F26} - SysGen.RBuild.Framework - - - {99CEE41D-B76D-4102-B0AD-C81069509D17} - TriStateTreeView - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj.user b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj.user deleted file mode 100644 index a1d742b1c46..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.csproj.user +++ /dev/null @@ -1,5 +0,0 @@ - - - ProjectFiles - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.suo b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/TriStateTreeViewDemo.suo deleted file mode 100644 index eb2fb45d07b1e48286ae885ff82237acdbdbb7c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*3Bx2!nwD0|OI~0pkDr|NlQkkbwcn90fxt z1pWfu3W`4%9zsqZbt)A?Ac!F!2um0g7+e|hfOHWc0UZlEJ0nkB zKh6kJcK}+D1ORQ!XUJmk1lpbkWVtd_5HJN*S`1hUAqNAhEN&jK_yPlehEkxfa~Lv# z_JeRbLokq^2*jxjM!2=ZWfaJ;ALR8#P!sUkZwR*qHv?!tBgi~ZSqusX+$s?=EI{Tg zC>NCPL3%-P0%EfQX;7IDVvmC19|F||2Sb0m|8-hFOK`jV)3`0bs3!^JF*q|=F~k6K zO+GOHmN1k9^G*>k?*st(Mc`ai1e6T{vNMr#7Kon;gkeC@RG=QhD)bnV8H#}}yCJl@ z*#hc9P9V((#DYL91;p||tOLZRKn#mHAQLZWqLcewfd0${hDi*A8#rWg84MX - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/UpgradeLog2.XML b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/UpgradeLog2.XML deleted file mode 100644 index 8133cb6b4e5..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/UpgradeLog2.XML +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.css b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.css deleted file mode 100644 index fae98af0a86..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.css +++ /dev/null @@ -1,207 +0,0 @@ -BODY -{ - BACKGROUND-COLOR: white; - FONT-FAMILY: "Verdana", sans-serif; - FONT-SIZE: 100%; - MARGIN-LEFT: 0px; - MARGIN-TOP: 0px -} -P -{ - FONT-FAMILY: "Verdana", sans-serif; - FONT-SIZE: 70%; - LINE-HEIGHT: 12pt; - MARGIN-BOTTOM: 0px; - MARGIN-LEFT: 10px; - MARGIN-TOP: 10px -} -.note -{ - BACKGROUND-COLOR: #ffffff; - COLOR: #336699; - FONT-FAMILY: "Verdana", sans-serif; - FONT-SIZE: 100%; - MARGIN-BOTTOM: 0px; - MARGIN-LEFT: 0px; - MARGIN-TOP: 0px; - PADDING-RIGHT: 10px -} -.infotable -{ - BACKGROUND-COLOR: #f0f0e0; - BORDER-BOTTOM: #ffffff 0px solid; - BORDER-COLLAPSE: collapse; - BORDER-LEFT: #ffffff 0px solid; - BORDER-RIGHT: #ffffff 0px solid; - BORDER-TOP: #ffffff 0px solid; - FONT-SIZE: 70%; - MARGIN-LEFT: 10px -} -.issuetable -{ - BACKGROUND-COLOR: #ffffe8; - BORDER-COLLAPSE: collapse; - COLOR: #000000; - FONT-SIZE: 100%; - MARGIN-BOTTOM: 10px; - MARGIN-LEFT: 13px; - MARGIN-TOP: 0px -} -.issuetitle -{ - BACKGROUND-COLOR: #ffffff; - BORDER-BOTTOM: #dcdcdc 1px solid; - BORDER-TOP: #dcdcdc 1px; - COLOR: #003366; - FONT-WEIGHT: normal -} -.header -{ - BACKGROUND-COLOR: #cecf9c; - BORDER-BOTTOM: #ffffff 1px solid; - BORDER-LEFT: #ffffff 1px solid; - BORDER-RIGHT: #ffffff 1px solid; - BORDER-TOP: #ffffff 1px solid; - COLOR: #000000; - FONT-WEIGHT: bold -} -.issuehdr -{ - BACKGROUND-COLOR: #E0EBF5; - BORDER-BOTTOM: #dcdcdc 1px solid; - BORDER-TOP: #dcdcdc 1px solid; - COLOR: #000000; - FONT-WEIGHT: normal -} -.issuenone -{ - BACKGROUND-COLOR: #ffffff; - BORDER-BOTTOM: 0px; - BORDER-LEFT: 0px; - BORDER-RIGHT: 0px; - BORDER-TOP: 0px; - COLOR: #000000; - FONT-WEIGHT: normal -} -.content -{ - BACKGROUND-COLOR: #e7e7ce; - BORDER-BOTTOM: #ffffff 1px solid; - BORDER-LEFT: #ffffff 1px solid; - BORDER-RIGHT: #ffffff 1px solid; - BORDER-TOP: #ffffff 1px solid; - PADDING-LEFT: 3px -} -.issuecontent -{ - BACKGROUND-COLOR: #ffffff; - BORDER-BOTTOM: #dcdcdc 1px solid; - BORDER-TOP: #dcdcdc 1px solid; - PADDING-LEFT: 3px -} -A:link -{ - COLOR: #cc6633; - TEXT-DECORATION: underline -} -A:visited -{ - COLOR: #cc6633; -} -A:active -{ - COLOR: #cc6633; -} -A:hover -{ - COLOR: #cc3300; - TEXT-DECORATION: underline -} -H1 -{ - BACKGROUND-COLOR: #003366; - BORDER-BOTTOM: #336699 6px solid; - COLOR: #ffffff; - FONT-SIZE: 130%; - FONT-WEIGHT: normal; - MARGIN: 0em 0em 0em -20px; - PADDING-BOTTOM: 8px; - PADDING-LEFT: 30px; - PADDING-TOP: 16px -} -H2 -{ - COLOR: #000000; - FONT-SIZE: 80%; - FONT-WEIGHT: bold; - MARGIN-BOTTOM: 3px; - MARGIN-LEFT: 10px; - MARGIN-TOP: 20px; - PADDING-LEFT: 0px -} -H3 -{ - COLOR: #000000; - FONT-SIZE: 80%; - FONT-WEIGHT: bold; - MARGIN-BOTTOM: -5px; - MARGIN-LEFT: 10px; - MARGIN-TOP: 20px -} -H4 -{ - COLOR: #000000; - FONT-SIZE: 70%; - FONT-WEIGHT: bold; - MARGIN-BOTTOM: 0px; - MARGIN-TOP: 15px; - PADDING-BOTTOM: 0px -} -UL -{ - COLOR: #000000; - FONT-SIZE: 70%; - LIST-STYLE: square; - MARGIN-BOTTOM: 0pt; - MARGIN-TOP: 0pt -} -OL -{ - COLOR: #000000; - FONT-SIZE: 70%; - LIST-STYLE: square; - MARGIN-BOTTOM: 0pt; - MARGIN-TOP: 0pt -} -LI -{ - LIST-STYLE: square; - MARGIN-LEFT: 0px -} -.expandable -{ - CURSOR: hand -} -.expanded -{ - color: black -} -.collapsed -{ - DISPLAY: none -} -.foot -{ -BACKGROUND-COLOR: #ffffff; -BORDER-BOTTOM: #cecf9c 1px solid; -BORDER-TOP: #cecf9c 2px solid -} -.settings -{ -MARGIN-LEFT: 25PX; -} -.help -{ -TEXT-ALIGN: right; -margin-right: 10px; -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.xslt b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.xslt deleted file mode 100644 index 83f4304ab60..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport.xslt +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- Solution: - Project: - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - src - - - - - - - - - - - - -
FilenameStatusErrorsWarnings
- javascript:document.images[''].click()src - - - - Converted - - - - Converted - -
- - files - - - 1 file - - - Converted:
- Not converted -
-
-
- - - - : - - - - - - - - - Conversion Report - <xsl:if test="Properties/Property[@Name='LogNumber']"> - <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/> - </xsl:if> - - - - -

Conversion Report -

- -

- Time of Conversion:
-

- - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - -
- Conversion Settings -

- - -
-
diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport_Minus.gif b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewDemo/_UpgradeReport_Files/UpgradeReport_Minus.gif deleted file mode 100644 index 17751cb2fd5c284dfe984adc4c769982f73a0a66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69 zcmZ?wbhEHb23ky~TYXIqG7FYlP diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/NUnit/.gitignore b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/NUnit/.gitignore deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.cs b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.cs deleted file mode 100644 index ee9bb2603bc..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.cs +++ /dev/null @@ -1,258 +0,0 @@ -// --------------------------------------------------------------------------------------------- -#region // Copyright (c) 2004-2005, SIL International. All Rights Reserved. -// -// Copyright (c) 2004-2005, SIL International. All Rights Reserved. -// -// Distributable under the terms of either the Common Public License or the -// GNU Lesser General Public License, as specified in the LICENSING.txt file. -// -#endregion -// -// File: TriStateTreeViewTests.cs -// Responsibility: TE Team -// -// -// -// --------------------------------------------------------------------------------------------- -using System; -using System.Windows.Forms; -using NUnit.Framework; - -namespace SIL.FieldWorks.Common.Controls -{ - #region DummyTriStateTreeView - /// ---------------------------------------------------------------------------------------- - /// - /// - /// - /// ---------------------------------------------------------------------------------------- - public class DummyTriStateTreeView: TriStateTreeView - { - /// ------------------------------------------------------------------------------------ - /// - /// Exposes ChangeNodeState for testing - /// - /// - /// ------------------------------------------------------------------------------------ - public void CallChangeNodeState(TreeNode node) - { - ChangeNodeState(node); - } - } - #endregion - - /// ---------------------------------------------------------------------------------------- - /// - /// Tests for TriStateTreeView control. - /// - /// ---------------------------------------------------------------------------------------- - [TestFixture] - public class TriStateTreeViewTests - { - private DummyTriStateTreeView m_treeView; - private TreeNode m_aNode; - private TreeNode m_bNode; - private TreeNode m_c1Node; - private TreeNode m_c2Node; - private TreeNode m_dNode; - private bool m_fBeforeCheck; - private bool m_fCancelInBeforeCheck; - private bool m_fAfterCheck; - - /// ------------------------------------------------------------------------------------ - /// - /// Initialize a test - /// - /// ------------------------------------------------------------------------------------ - [SetUp] - public void Init() - { - m_fBeforeCheck = false; - m_fAfterCheck = false; - m_fCancelInBeforeCheck = false; - m_treeView = new DummyTriStateTreeView(); - - m_dNode = new TreeNode("d"); - m_c1Node = new TreeNode("c1", new TreeNode[] { m_dNode }); - m_c2Node = new TreeNode("c2"); - m_bNode = new TreeNode("b", new TreeNode[] { m_c1Node, m_c2Node}); - m_aNode = new TreeNode("a", new TreeNode[] { m_bNode }); - m_treeView.Nodes.Add(m_aNode); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that all nodes in the tree view are initially unchecked - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void InitiallyUnchecked() - { - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_aNode)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_bNode)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_c1Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_c2Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_dNode)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that changing a node changes all children - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void ChangeNodeChangesAllChildren_Check() - { - // Check a node -> should check all children - m_treeView.SetChecked(m_bNode, TriStateTreeView.CheckState.Checked); - - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_bNode)); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_c1Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_c2Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_dNode)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that changing a node changes all children - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void ChangeNodeChangesAllChildren_Uncheck() - { - // uncheck a node -> should uncheck all children - m_treeView.SetChecked(m_bNode, TriStateTreeView.CheckState.Unchecked); - - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_bNode)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_c1Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_c2Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_dNode)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that parent get greyed out if children are not all in same state - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void ChangeParent_CheckOneChild() - { - // check child -> grey check all parents - m_treeView.SetChecked(m_c2Node, TriStateTreeView.CheckState.Checked); - - Assert.AreEqual(TriStateTreeView.CheckState.GreyChecked, m_treeView.GetChecked(m_aNode)); - Assert.AreEqual(TriStateTreeView.CheckState.GreyChecked, m_treeView.GetChecked(m_bNode)); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_c1Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_c2Node)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that parent get greyed out if children are not all in same state - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void ChangeParent_CheckAllChildren() - { - // check second child -> check all parents - m_treeView.SetChecked(m_c2Node, TriStateTreeView.CheckState.Checked); - m_treeView.SetChecked(m_c1Node, TriStateTreeView.CheckState.Checked); - - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_aNode)); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_bNode)); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_c1Node)); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_c2Node)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that the BeforeCheck event is raised - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void BeforeCheckCalled() - { - m_treeView.BeforeCheck += new TreeViewCancelEventHandler(OnBeforeCheck); - - m_treeView.SetChecked(m_c1Node, TriStateTreeView.CheckState.Checked); - - Assert.IsTrue(m_fBeforeCheck); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_c1Node)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that the BeforeCheck event is raised if first node is changed - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void BeforeCheckCalled_FirstNode() - { - m_treeView.BeforeCheck += new TreeViewCancelEventHandler(OnBeforeCheck); - - m_treeView.CallChangeNodeState(m_aNode); - - Assert.IsTrue(m_fBeforeCheck); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_aNode)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// Tests that the AfterCheck event is raised - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void AfterCheckCalled() - { - m_treeView.AfterCheck += new TreeViewEventHandler(OnAfterCheck); - - m_treeView.SetChecked(m_c1Node, TriStateTreeView.CheckState.Checked); - - Assert.IsTrue(m_fAfterCheck); - Assert.AreEqual(TriStateTreeView.CheckState.Checked, m_treeView.GetChecked(m_c1Node)); - } - - /// ------------------------------------------------------------------------------------ - /// - /// When the cancel flag in BeforeCheck returns true we don't want to change the - /// state of the node. - /// - /// ------------------------------------------------------------------------------------ - [Test] - public void StateNotChangedIfBeforeCheckCancels() - { - m_treeView.BeforeCheck += new TreeViewCancelEventHandler(OnBeforeCheck); - m_treeView.AfterCheck += new TreeViewEventHandler(OnAfterCheck); - m_fCancelInBeforeCheck = true; - - m_treeView.SetChecked(m_c1Node, TriStateTreeView.CheckState.Checked); - - Assert.IsTrue(m_fBeforeCheck); - Assert.IsFalse(m_fAfterCheck); - Assert.AreEqual(TriStateTreeView.CheckState.Unchecked, m_treeView.GetChecked(m_c1Node)); - } - - #region Helper methods - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void OnBeforeCheck(object sender, TreeViewCancelEventArgs e) - { - e.Cancel = m_fCancelInBeforeCheck; - m_fBeforeCheck = true; - } - - /// ------------------------------------------------------------------------------------ - /// - /// - /// - /// ------------------------------------------------------------------------------------ - private void OnAfterCheck(object sender, TreeViewEventArgs e) - { - m_fAfterCheck = true; - } - #endregion - } -} diff --git a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.csproj b/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.csproj deleted file mode 100644 index 77e5081d520..00000000000 --- a/reactos/tools/sysgen/TriStateTreeView/TriStateTreeViewTests/TriStateTreeViewTests.csproj +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/sysgen/style.css b/reactos/tools/sysgen/style.css deleted file mode 100644 index 1bae53d2185..00000000000 --- a/reactos/tools/sysgen/style.css +++ /dev/null @@ -1,105 +0,0 @@ -body -{ - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 12px; - background: white; - color: black; -} - -div.header -{ - border: 1px dashed #333; - background-color: #FFFBCB; - padding: 10px; -} - -div.footer -{ - border: 1px dashed #333; - background-color: #FFFBCB; - padding: 5px; -} - -h1, h2, h3, h4, h5, h6 { - font: 22px Verdana, Arial, Helvetica, sans-serif; -} - -td a { - font: 10px Verdana, Arial, Helvetica, sans-serif; -} - -td p { - font: 12px Verdana, Arial, Helvetica, sans-serif; - text-align: left; - border-right: 1px solid #FFF798; - border-bottom: 1px solid #FFF798; - padding: 6px; - background: #FFFBCB; -} - -.table td { - font: 10px Verdana, Arial, Helvetica, sans-serif; - text-align: left; - border-right: 1px solid #FFF798; - border-bottom: 1px solid #FFF798; - padding: 6px; - background: #FFFBCB; - vertical-align: top; -} - -.table td.Red { - font: 10px Verdana, Arial, Helvetica, sans-serif; - text-align: left; - border-right: 1px solid #FFF798; - border-bottom: 1px solid #FFF798; - padding: 6px; - background: #FF9999; -} - -.table td.Green { - font: 10px Verdana, Arial, Helvetica, sans-serif; - text-align: left; - border-right: 1px solid #FFF798; - border-bottom: 1px solid #FFF798; - padding: 6px; - background: #CCFF66; -} - -.table th { - font: 10px Verdana, Arial, Helvetica, sans-serif; - text-align: left; - padding: 6px; - background: black; - color : white; -} - -/* Status colors */ -.hdr { background-color: #000000; color: #ffffff; } -.pct0 { background-color: #ff5050; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct5 { background-color: #ff5d4f; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct10 { background-color: #ff694e; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct15 { background-color: #ff764d; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct20 { background-color: #ff824b; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct25 { background-color: #ff8f4a; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct30 { background-color: #ff9b49; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct35 { background-color: #ffa848; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct40 { background-color: #ffb447; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct45 { background-color: #ffc146; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct50 { background-color: #ffcd45; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct55 { background-color: #ffda43; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct60 { background-color: #ffe642; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct65 { background-color: #fff341; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct70 { background-color: #ffff40; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct75 { background-color: #dcff48; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct80 { background-color: #c8ff50; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct85 { background-color: #b4ff58; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct90 { background-color: #a0ff60; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct95 { background-color: #8cff60; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.pct100 { background-color: #60ff60; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.nonexistent { background-color: #ff5050; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.poor { background-color: #ff8f4a; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.outdated { background-color: #ffcd45; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.outdadeq { background-color: #ffff40; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.adequate { background-color: #dcff48; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.adeqgood { background-color: #c0ff54; font: 10px Verdana, Arial, Helvetica, sans-serif;} -.good { background-color: #60ff60; font: 10px Verdana, Arial, Helvetica, sans-serif;} \ No newline at end of file diff --git a/reactos/tools/tools.mak b/reactos/tools/tools.mak deleted file mode 100644 index d2d846c749c..00000000000 --- a/reactos/tools/tools.mak +++ /dev/null @@ -1,54 +0,0 @@ -TOOLS_BASE = tools -TOOLS_BASE_ = $(TOOLS_BASE)$(SEP) -TOOLS_INT = $(INTERMEDIATE_)$(TOOLS_BASE) -TOOLS_INT_ = $(TOOLS_INT)$(SEP) -TOOLS_OUT = $(OUTPUT_)$(TOOLS_BASE) -TOOLS_OUT_ = $(TOOLS_OUT)$(SEP) - -TOOLS_CFLAGS = -Wall -Wpointer-arith -Wno-strict-aliasing -D__REACTOS__ $(HOST_CFLAGS) -TOOLS_CPPFLAGS = -Wall -Wpointer-arith -D__REACTOS__ $(HOST_CPPFLAGS) -TOOLS_LFLAGS = $(HOST_LFLAGS) - -$(TOOLS_INT): | $(INTERMEDIATE) - $(ECHO_MKDIR) - ${mkdir} $@ - -ifneq ($(INTERMEDIATE),$(OUTPUT)) -$(TOOLS_OUT): | $(OUTPUT) - $(ECHO_MKDIR) - ${mkdir} $@ -endif - -XML_SSPRINTF_SOURCES = $(addprefix $(TOOLS_BASE_), \ - ssprintf.cpp \ - xml.cpp \ - ) - -XML_SSPRINTF_HEADERS = $(addprefix $(TOOLS_BASE_), \ - ssprintf.h \ - xml.h \ - ) - -XML_SSPRINTF_OBJECTS = \ - $(addprefix $(INTERMEDIATE_), $(XML_SSPRINTF_SOURCES:.cpp=.o)) - -$(TOOLS_INT_)ssprintf.o: $(TOOLS_BASE_)ssprintf.cpp $(XML_SSPRINTF_HEADERS) | $(TOOLS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(TOOLS_CPPFLAGS) -c $< -o $@ - -$(TOOLS_INT_)xml.o: $(TOOLS_BASE_)xml.cpp $(XML_SSPRINTF_HEADERS) | $(TOOLS_INT) - $(ECHO_HOSTCC) - ${host_gpp} $(TOOLS_CPPFLAGS) -c $< -o $@ - -include tools/bin2c.mak -include tools/buildno/buildno.mak -include tools/gendib/gendib.mak -include tools/log2lines/log2lines.mak -include tools/pipetools/pipetools.mak -ifeq ($(ARCH),powerpc) -include tools/ofw_interface/ofw_interface.mak -endif -include tools/pefixup.mak -include tools/rsym/raddr2line.mak -include tools/rbuild/rbuild.mak -include tools/rsym/rsym.mak diff --git a/reactos/tools/tools.rbuild b/reactos/tools/tools.rbuild deleted file mode 100644 index 324db18f2d0..00000000000 --- a/reactos/tools/tools.rbuild +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/reactos/tools/unicode/unicode.rbuild b/reactos/tools/unicode/unicode.rbuild deleted file mode 100644 index 17c11935b2e..00000000000 --- a/reactos/tools/unicode/unicode.rbuild +++ /dev/null @@ -1,74 +0,0 @@ - - - - casemap.c - compose.c - cptable.c - mbtowc.c - string.c - wctomb.c - wctype.c - utf8.c - c_037.c - c_424.c - c_437.c - c_500.c - c_737.c - c_775.c - c_850.c - c_852.c - c_855.c - c_856.c - c_857.c - c_860.c - c_861.c - c_862.c - c_863.c - c_864.c - c_865.c - c_866.c - c_869.c - c_874.c - c_875.c - c_878.c - c_932.c - c_936.c - c_949.c - c_950.c - c_1006.c - c_1026.c - c_1250.c - c_1251.c - c_1252.c - c_1253.c - c_1254.c - c_1255.c - c_1256.c - c_1257.c - c_1258.c - c_1361.c - c_10000.c - c_10006.c - c_10007.c - c_10029.c - c_10079.c - c_10081.c - c_20866.c - c_20932.c - c_20127.c - c_21866.c - c_28591.c - c_28592.c - c_28593.c - c_28594.c - c_28595.c - c_28596.c - c_28597.c - c_28598.c - c_28599.c - c_28600.c - c_28603.c - c_28604.c - c_28605.c - c_28606.c - diff --git a/reactos/tools/utf16le/utf16le.rbuild b/reactos/tools/utf16le/utf16le.rbuild deleted file mode 100644 index e0d71a05fb0..00000000000 --- a/reactos/tools/utf16le/utf16le.rbuild +++ /dev/null @@ -1,5 +0,0 @@ - - - - utf16le.cpp - diff --git a/reactos/tools/widl/widl.rbuild b/reactos/tools/widl/widl.rbuild deleted file mode 100644 index 8e070b5eab8..00000000000 --- a/reactos/tools/widl/widl.rbuild +++ /dev/null @@ -1,25 +0,0 @@ - - - - SHORT - . - wpp - client.c - expr.c - hash.c - header.c - proxy.c - register.c - server.c - typegen.c - typelib.c - typetree.c - utils.c - widl.c - write_msft.c - parser.yy.c - parser.tab.c - - mkstemps.c - - diff --git a/reactos/tools/winebuild/Makefile.in b/reactos/tools/winebuild/Makefile.in deleted file mode 100644 index c4ae029efe8..00000000000 --- a/reactos/tools/winebuild/Makefile.in +++ /dev/null @@ -1,39 +0,0 @@ -TOPSRCDIR = @top_srcdir@ -TOPOBJDIR = ../.. -SRCDIR = @srcdir@ -VPATH = @srcdir@ -EXEEXT = @EXEEXT@ -DEFS = -D__WINESRC__ $(EXTRADEFS) - -PROGRAMS = winebuild$(EXEEXT) -MANPAGES = winebuild.man -MODULE = none - -C_SRCS = \ - import.c \ - main.c \ - parser.c \ - relay.c \ - res16.c \ - res32.c \ - spec16.c \ - spec32.c \ - utils.c - -INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man$(prog_manext) - -all: $(PROGRAMS) $(MANPAGES) - -@MAKE_RULES@ - -winebuild$(EXEEXT): $(OBJS) - $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBPORT) $(LDFLAGS) - -install install-dev:: $(PROGRAMS) $(MANPAGES) $(INSTALLDIRS) - $(INSTALL_PROGRAM) winebuild$(EXEEXT) $(DESTDIR)$(bindir)/winebuild$(EXEEXT) - $(INSTALL_DATA) winebuild.man $(DESTDIR)$(mandir)/man$(prog_manext)/winebuild.$(prog_manext) - -uninstall:: - $(RM) $(DESTDIR)$(bindir)/winebuild$(EXEEXT) $(DESTDIR)$(mandir)/man$(prog_manext)/winebuild.$(prog_manext) - -@DEPENDENCIES@ # everything below this line is overwritten by make depend diff --git a/reactos/tools/winebuild/build.h b/reactos/tools/winebuild/build.h deleted file mode 100644 index 39e04b2a477..00000000000 --- a/reactos/tools/winebuild/build.h +++ /dev/null @@ -1,329 +0,0 @@ -/* - * Copyright 1993 Robert J. Amstadt - * Copyright 1995 Martin von Loewis - * Copyright 1995, 1996, 1997 Alexandre Julliard - * Copyright 1997 Eric Youngdale - * Copyright 1999 Ulrich Weigand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WINE_BUILD_H -#define __WINE_BUILD_H - -#ifndef __WINE_CONFIG_H -# error You must include config.h to use this header -#endif - -#include -#include -#include - -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif - -#define EXEEXT ".exe" - -typedef enum -{ - TYPE_VARIABLE, /* variable */ - TYPE_PASCAL, /* pascal function (Win16) */ - TYPE_ABS, /* absolute value (Win16) */ - TYPE_STUB, /* unimplemented stub */ - TYPE_STDCALL, /* stdcall function (Win32) */ - TYPE_CDECL, /* cdecl function (Win32) */ - TYPE_VARARGS, /* varargs function (Win32) */ - TYPE_FASTCALL, /* fastcall function (Win32) */ - TYPE_EXTERN, /* external symbol (Win32) */ - TYPE_NBTYPES -} ORD_TYPE; - -typedef enum -{ - SPEC_WIN16, - SPEC_WIN32 -} SPEC_TYPE; - -typedef struct -{ - int n_values; - int *values; -} ORD_VARIABLE; - -typedef struct -{ - char arg_types[21]; -} ORD_FUNCTION; - -typedef struct -{ - unsigned short value; -} ORD_ABS; - -typedef struct -{ - ORD_TYPE type; - int ordinal; - int lineno; - int flags; - char *name; /* public name of this function */ - char *link_name; /* name of the C symbol to link to */ - char *export_name; /* name exported under for noname exports */ - union - { - ORD_VARIABLE var; - ORD_FUNCTION func; - ORD_ABS abs; - } u; -} ORDDEF; - -typedef struct -{ - char *src_name; /* file name of the source spec file */ - char *file_name; /* file name of the dll */ - char *dll_name; /* internal name of the dll */ - char *init_func; /* initialization routine */ - char *main_module; /* main Win32 module for Win16 specs */ - SPEC_TYPE type; /* type of dll (Win16/Win32) */ - int base; /* ordinal base */ - int limit; /* ordinal limit */ - int stack_size; /* exe stack size */ - int heap_size; /* exe heap size */ - int nb_entry_points; /* number of used entry points */ - int alloc_entry_points; /* number of allocated entry points */ - int nb_names; /* number of entry points with names */ - unsigned int nb_resources; /* number of resources */ - int characteristics; /* characteristics for the PE header */ - int dll_characteristics;/* DLL characteristics for the PE header */ - int subsystem; /* subsystem id */ - int subsystem_major; /* subsystem version major number */ - int subsystem_minor; /* subsystem version minor number */ - ORDDEF *entry_points; /* dll entry points */ - ORDDEF **names; /* array of entry point names (points into entry_points) */ - ORDDEF **ordinals; /* array of dll ordinals (points into entry_points) */ - struct resource *resources; /* array of dll resources (format differs between Win16/Win32) */ -} DLLSPEC; - -enum target_cpu -{ - CPU_x86, CPU_x86_64, CPU_SPARC, CPU_ALPHA, CPU_POWERPC, CPU_ARM, CPU_LAST = CPU_ARM -}; - -enum target_platform -{ - PLATFORM_UNSPECIFIED, - PLATFORM_APPLE, - PLATFORM_FREEBSD, - PLATFORM_SOLARIS, - PLATFORM_WINDOWS -}; - -extern char *target_alias; -extern enum target_cpu target_cpu; -extern enum target_platform target_platform; - -/* entry point flags */ -#define FLAG_NORELAY 0x01 /* don't use relay debugging for this function */ -#define FLAG_NONAME 0x02 /* don't export function by name */ -#define FLAG_RET16 0x04 /* function returns a 16-bit value */ -#define FLAG_RET64 0x08 /* function returns a 64-bit value */ -#define FLAG_REGISTER 0x10 /* use register calling convention */ -#define FLAG_PRIVATE 0x20 /* function is private (cannot be imported) */ -#define FLAG_ORDINAL 0x40 /* function should be imported by ordinal */ - -#define FLAG_FORWARD 0x100 /* function is a forwarded name */ -#define FLAG_EXT_LINK 0x200 /* function links to an external symbol */ - -#define FLAG_CPU(cpu) (0x01000 << (cpu)) -#define FLAG_CPU_MASK (FLAG_CPU(CPU_LAST + 1) - FLAG_CPU(0)) -#define FLAG_CPU_WIN64 (FLAG_CPU(CPU_x86_64)) -#define FLAG_CPU_WIN32 (FLAG_CPU_MASK & ~FLAG_CPU_WIN64) - -#define MAX_ORDINALS 65535 - -/* some Windows constants */ - -#define IMAGE_FILE_RELOCS_STRIPPED 0x0001 /* No relocation info */ -#define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 -#define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 -#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 -#define IMAGE_FILE_AGGRESIVE_WS_TRIM 0x0010 -#define IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020 -#define IMAGE_FILE_16BIT_MACHINE 0x0040 -#define IMAGE_FILE_BYTES_REVERSED_LO 0x0080 -#define IMAGE_FILE_32BIT_MACHINE 0x0100 -#define IMAGE_FILE_DEBUG_STRIPPED 0x0200 -#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400 -#define IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800 -#define IMAGE_FILE_SYSTEM 0x1000 -#define IMAGE_FILE_DLL 0x2000 -#define IMAGE_FILE_UP_SYSTEM_ONLY 0x4000 -#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000 - -#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100 - -#define IMAGE_SUBSYSTEM_NATIVE 1 -#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 -#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 - -/* global functions */ - -#ifndef __GNUC__ -#define __attribute__(X) -#endif - -#ifndef DECLSPEC_NORETURN -# if defined(_MSC_VER) && (_MSC_VER >= 1200) && !defined(MIDL_PASS) -# define DECLSPEC_NORETURN __declspec(noreturn) -# else -# define DECLSPEC_NORETURN __attribute__((noreturn)) -# endif -#endif - -extern void *xmalloc (size_t size); -extern void *xrealloc (void *ptr, size_t size); -extern char *xstrdup( const char *str ); -extern char *strupper(char *s); -extern int strendswith(const char* str, const char* end); -extern DECLSPEC_NORETURN void fatal_error( const char *msg, ... ) - __attribute__ ((__format__ (__printf__, 1, 2))); -extern DECLSPEC_NORETURN void fatal_perror( const char *msg, ... ) - __attribute__ ((__format__ (__printf__, 1, 2))); -extern void error( const char *msg, ... ) - __attribute__ ((__format__ (__printf__, 1, 2))); -extern void warning( const char *msg, ... ) - __attribute__ ((__format__ (__printf__, 1, 2))); -extern int output( const char *format, ... ) - __attribute__ ((__format__ (__printf__, 1, 2))); -extern const char *get_as_command(void); -extern const char *get_ld_command(void); -extern const char *get_nm_command(void); -extern const char *get_windres_command(void); -extern char *get_temp_file_name( const char *prefix, const char *suffix ); -extern void output_standard_file_header(void); -extern FILE *open_input_file( const char *srcdir, const char *name ); -extern void close_input_file( FILE *file ); -extern void dump_bytes( const void *buffer, unsigned int size ); -extern int remove_stdcall_decoration( char *name ); -extern void assemble_file( const char *src_file, const char *obj_file ); -extern DLLSPEC *alloc_dll_spec(void); -extern void free_dll_spec( DLLSPEC *spec ); -extern const char *make_c_identifier( const char *str ); -extern const char *get_stub_name( const ORDDEF *odp, const DLLSPEC *spec ); -extern enum target_cpu get_cpu_from_name( const char *name ); -extern unsigned int get_alignment(unsigned int align); -extern unsigned int get_page_size(void); -extern unsigned int get_ptr_size(void); -extern const char *asm_name( const char *func ); -extern const char *func_declaration( const char *func ); -extern const char *asm_globl( const char *func ); -extern const char *get_asm_ptr_keyword(void); -extern const char *get_asm_string_keyword(void); -extern const char *get_asm_short_keyword(void); -extern const char *get_asm_rodata_section(void); -extern const char *get_asm_string_section(void); -extern void output_function_size( const char *name ); -extern void output_gnu_stack_note(void); - -extern void add_import_dll( const char *name, const char *filename ); -extern void add_delayed_import( const char *name ); -extern void add_ignore_symbol( const char *name ); -extern void add_extra_ld_symbol( const char *name ); -extern void read_undef_symbols( DLLSPEC *spec, char **argv ); -extern int resolve_imports( DLLSPEC *spec ); -extern int has_imports(void); -extern int has_relays( DLLSPEC *spec ); -extern void output_get_pc_thunk(void); -extern void output_module( DLLSPEC *spec ); -extern void output_stubs( DLLSPEC *spec ); -extern void output_imports( DLLSPEC *spec ); -extern void output_exports( DLLSPEC *spec ); -extern int load_res32_file( const char *name, DLLSPEC *spec ); -extern void output_resources( DLLSPEC *spec ); -extern void output_bin_resources( DLLSPEC *spec, unsigned int start_rva ); -extern void output_fake_module( DLLSPEC *spec ); -extern void load_res16_file( const char *name, DLLSPEC *spec ); -extern void output_res16_data( DLLSPEC *spec ); -extern void output_bin_res16_data( DLLSPEC *spec ); -extern void output_res16_directory( DLLSPEC *spec ); -extern void output_bin_res16_directory( DLLSPEC *spec, unsigned int data_offset ); -extern void output_spec16_file( DLLSPEC *spec ); -extern void output_fake_module16( DLLSPEC *spec16 ); -extern void output_res_o_file( DLLSPEC *spec ); - -extern void BuildRelays16(void); -extern void BuildRelays32(void); -extern void BuildSpec16File( DLLSPEC *spec ); -extern void BuildSpec32File( DLLSPEC *spec ); -extern void BuildDef32File( DLLSPEC *spec ); -extern void BuildPedllFile( DLLSPEC *spec ); - -extern void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 ); -extern int parse_spec_file( FILE *file, DLLSPEC *spec ); -extern int parse_def_file( FILE *file, DLLSPEC *spec ); - -/* buffer management */ - -extern int byte_swapped; -extern const char *input_buffer_filename; -extern const unsigned char *input_buffer; -extern size_t input_buffer_pos; -extern size_t input_buffer_size; -extern unsigned char *output_buffer; -extern size_t output_buffer_pos; -extern size_t output_buffer_size; - -extern void init_input_buffer( const char *file ); -extern void init_output_buffer(void); -extern void flush_output_buffer(void); -extern unsigned char get_byte(void); -extern unsigned short get_word(void); -extern unsigned int get_dword(void); -extern void put_data( const void *data, size_t size ); -extern void put_byte( unsigned char val ); -extern void put_word( unsigned short val ); -extern void put_dword( unsigned int val ); -extern void put_qword( unsigned int val ); -extern void put_pword( unsigned int val ); -extern void align_output( unsigned int align ); - -/* global variables */ - -extern int current_line; -extern int UsePIC; -extern int nb_lib_paths; -extern int nb_errors; -extern int display_warnings; -extern int kill_at; -extern int verbose; -extern int save_temps; -extern int link_ext_symbols; -extern int force_pointer_size; - -extern char *input_file_name; -extern char *spec_file_name; -extern FILE *output_file; -extern const char *output_file_name; -extern char **lib_path; - -extern char *as_command; -extern char *ld_command; -extern char *nm_command; - -#endif /* __WINE_BUILD_H */ diff --git a/reactos/tools/winebuild/import.c b/reactos/tools/winebuild/import.c deleted file mode 100644 index d41a754ac41..00000000000 --- a/reactos/tools/winebuild/import.c +++ /dev/null @@ -1,1306 +0,0 @@ -/* - * DLL imports support - * - * Copyright 2000, 2004 Alexandre Julliard - * Copyright 2000 Eric Pouech - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif - -#include "build.h" - -struct import -{ - DLLSPEC *spec; /* description of the imported dll */ - char *full_name; /* full name of the input file */ - dev_t dev; /* device/inode of the input file */ - ino_t ino; - int delay; /* delay or not dll loading ? */ - ORDDEF **exports; /* functions exported from this dll */ - int nb_exports; /* number of exported functions */ - ORDDEF **imports; /* functions we want to import from this dll */ - int nb_imports; /* number of imported functions */ -}; - -struct name_table -{ - char **names; - unsigned int count, size; -}; - -static struct name_table undef_symbols; /* list of undefined symbols */ -static struct name_table ignore_symbols; /* list of symbols to ignore */ -static struct name_table extra_ld_symbols; /* list of extra symbols that ld should resolve */ -static struct name_table delayed_imports; /* list of delayed import dlls */ -static struct name_table ext_link_imports; /* list of external symbols to link to */ - -static struct import **dll_imports = NULL; -static int nb_imports = 0; /* number of imported dlls (delayed or not) */ -static int nb_delayed = 0; /* number of delayed dlls */ -static int total_imports = 0; /* total number of imported functions */ -static int total_delayed = 0; /* total number of imported functions in delayed DLLs */ - - -static inline const char *ppc_reg( int reg ) -{ - static const char * const ppc_regs[32] = { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", - "r8", "r9", "r10","r11","r12","r13","r14","r15", - "r16","r17","r18","r19","r20","r21","r22","r23", - "r24","r25","r26","r27","r28","r29","r30","r31" }; - if (target_platform == PLATFORM_APPLE) return ppc_regs[reg]; - return ppc_regs[reg] + 1; /* skip the 'r' */ -} - -/* compare function names; helper for resolve_imports */ -static int name_cmp( const void *name, const void *entry ) -{ - return strcmp( *(const char* const *)name, *(const char* const *)entry ); -} - -/* compare function names; helper for resolve_imports */ -static int func_cmp( const void *func1, const void *func2 ) -{ - const ORDDEF *odp1 = *(const ORDDEF * const *)func1; - const ORDDEF *odp2 = *(const ORDDEF * const *)func2; - return strcmp( odp1->name ? odp1->name : odp1->export_name, - odp2->name ? odp2->name : odp2->export_name ); -} - -/* add a name to a name table */ -static inline void add_name( struct name_table *table, const char *name ) -{ - if (table->count == table->size) - { - table->size += (table->size / 2); - if (table->size < 32) table->size = 32; - table->names = xrealloc( table->names, table->size * sizeof(*table->names) ); - } - table->names[table->count++] = xstrdup( name ); -} - -/* remove a name from a name table */ -static inline void remove_name( struct name_table *table, unsigned int idx ) -{ - assert( idx < table->count ); - free( table->names[idx] ); - memmove( table->names + idx, table->names + idx + 1, - (table->count - idx - 1) * sizeof(*table->names) ); - table->count--; -} - -/* make a name table empty */ -static inline void empty_name_table( struct name_table *table ) -{ - unsigned int i; - - for (i = 0; i < table->count; i++) free( table->names[i] ); - table->count = 0; -} - -/* locate a name in a (sorted) list */ -static inline const char *find_name( const char *name, const struct name_table *table ) -{ - char **res = NULL; - - if (table->count) res = bsearch( &name, table->names, table->count, sizeof(*table->names), name_cmp ); - return res ? *res : NULL; -} - -/* sort a name table */ -static inline void sort_names( struct name_table *table ) -{ - if (table->count) qsort( table->names, table->count, sizeof(*table->names), name_cmp ); -} - -/* locate an export in a (sorted) export list */ -static inline ORDDEF *find_export( const char *name, ORDDEF **table, int size ) -{ - ORDDEF func, *odp, **res = NULL; - - func.name = xstrdup(name); - func.ordinal = -1; - odp = &func; - if (table) res = bsearch( &odp, table, size, sizeof(*table), func_cmp ); - free( func.name ); - return res ? *res : NULL; -} - -/* free an import structure */ -static void free_imports( struct import *imp ) -{ - free( imp->exports ); - free( imp->imports ); - free_dll_spec( imp->spec ); - free( imp->full_name ); - free( imp ); -} - -/* check whether a given dll is imported in delayed mode */ -static int is_delayed_import( const char *name ) -{ - unsigned int i; - - for (i = 0; i < delayed_imports.count; i++) - { - if (!strcmp( delayed_imports.names[i], name )) return 1; - } - return 0; -} - -/* check whether a given dll has already been imported */ -static struct import *is_already_imported( const char *name ) -{ - int i; - - for (i = 0; i < nb_imports; i++) - { - if (!strcmp( dll_imports[i]->spec->file_name, name )) return dll_imports[i]; - } - return NULL; -} - -/* open the .so library for a given dll in a specified path */ -static char *try_library_path( const char *path, const char *name ) -{ - char *buffer; - int fd; - - buffer = xmalloc( strlen(path) + strlen(name) + 9 ); - sprintf( buffer, "%s/lib%s.def", path, name ); - - /* check if the file exists */ - if ((fd = open( buffer, O_RDONLY )) != -1) - { - close( fd ); - return buffer; - } - free( buffer ); - return NULL; -} - -/* find the .def import library for a given dll */ -static char *find_library( const char *name ) -{ - char *fullname; - int i; - - for (i = 0; i < nb_lib_paths; i++) - { - if ((fullname = try_library_path( lib_path[i], name ))) return fullname; - } - fatal_error( "could not open .def file for %s\n", name ); - return NULL; -} - -/* read in the list of exported symbols of an import library */ -static int read_import_lib( struct import *imp ) -{ - FILE *f; - int i, ret; - struct stat stat; - struct import *prev_imp; - DLLSPEC *spec = imp->spec; - - f = open_input_file( NULL, imp->full_name ); - fstat( fileno(f), &stat ); - imp->dev = stat.st_dev; - imp->ino = stat.st_ino; - ret = parse_def_file( f, spec ); - close_input_file( f ); - if (!ret) return 0; - - /* check if we already imported that library from a different file */ - if ((prev_imp = is_already_imported( spec->file_name ))) - { - if (prev_imp->dev != imp->dev || prev_imp->ino != imp->ino) - fatal_error( "%s and %s have the same export name '%s'\n", - prev_imp->full_name, imp->full_name, spec->file_name ); - return 0; /* the same file was already loaded, ignore this one */ - } - - if (is_delayed_import( spec->file_name )) - { - imp->delay = 1; - nb_delayed++; - } - - if (spec->nb_entry_points) - { - imp->exports = xmalloc( spec->nb_entry_points * sizeof(*imp->exports) ); - for (i = 0; i < spec->nb_entry_points; i++) - imp->exports[imp->nb_exports++] = &spec->entry_points[i]; - qsort( imp->exports, imp->nb_exports, sizeof(*imp->exports), func_cmp ); - } - return 1; -} - -/* build the dll exported name from the import lib name or path */ -static char *get_dll_name( const char *name, const char *filename ) -{ - char *ret; - - if (filename) - { - const char *basename = strrchr( filename, '/' ); - if (!basename) basename = filename; - else basename++; - if (!strncmp( basename, "lib", 3 )) basename += 3; - ret = xmalloc( strlen(basename) + 5 ); - strcpy( ret, basename ); - if (strendswith( ret, ".def" )) ret[strlen(ret)-4] = 0; - } - else - { - ret = xmalloc( strlen(name) + 5 ); - strcpy( ret, name ); - } - if (!strchr( ret, '.' )) strcat( ret, ".dll" ); - return ret; -} - -/* add a dll to the list of imports */ -void add_import_dll( const char *name, const char *filename ) -{ - struct import *imp = xmalloc( sizeof(*imp) ); - - imp->spec = alloc_dll_spec(); - imp->spec->file_name = get_dll_name( name, filename ); - imp->delay = 0; - imp->imports = NULL; - imp->nb_imports = 0; - imp->exports = NULL; - imp->nb_exports = 0; - - if (filename) imp->full_name = xstrdup( filename ); - else imp->full_name = find_library( name ); - - if (read_import_lib( imp )) - { - dll_imports = xrealloc( dll_imports, (nb_imports+1) * sizeof(*dll_imports) ); - dll_imports[nb_imports++] = imp; - } - else - { - free_imports( imp ); - if (nb_errors) exit(1); - } -} - -/* add a library to the list of delayed imports */ -void add_delayed_import( const char *name ) -{ - struct import *imp; - char *fullname = get_dll_name( name, NULL ); - - add_name( &delayed_imports, fullname ); - if ((imp = is_already_imported( fullname )) && !imp->delay) - { - imp->delay = 1; - nb_delayed++; - } - free( fullname ); -} - -/* remove an imported dll, based on its index in the dll_imports array */ -static void remove_import_dll( int index ) -{ - struct import *imp = dll_imports[index]; - - memmove( &dll_imports[index], &dll_imports[index+1], sizeof(imp) * (nb_imports - index - 1) ); - nb_imports--; - if (imp->delay) nb_delayed--; - free_imports( imp ); -} - -/* add a symbol to the ignored symbol list */ -/* if the name starts with '-' the symbol is removed instead */ -void add_ignore_symbol( const char *name ) -{ - unsigned int i; - - if (name[0] == '-') /* remove it */ - { - if (!name[1]) empty_name_table( &ignore_symbols ); /* remove everything */ - else for (i = 0; i < ignore_symbols.count; i++) - { - if (!strcmp( ignore_symbols.names[i], name+1 )) remove_name( &ignore_symbols, i-- ); - } - } - else add_name( &ignore_symbols, name ); -} - -/* add a symbol to the list of extra symbols that ld must resolve */ -void add_extra_ld_symbol( const char *name ) -{ - add_name( &extra_ld_symbols, name ); -} - -/* add a function to the list of imports from a given dll */ -static void add_import_func( struct import *imp, ORDDEF *func ) -{ - imp->imports = xrealloc( imp->imports, (imp->nb_imports+1) * sizeof(*imp->imports) ); - imp->imports[imp->nb_imports++] = func; - total_imports++; - if (imp->delay) total_delayed++; -} - -/* get the default entry point for a given spec file */ -static const char *get_default_entry_point( const DLLSPEC *spec ) -{ - if (spec->characteristics & IMAGE_FILE_DLL) return "__wine_spec_dll_entry"; - if (spec->subsystem == IMAGE_SUBSYSTEM_NATIVE) return "__wine_spec_drv_entry"; - if (spec->type == SPEC_WIN16) return "__wine_spec_exe16_entry"; - return "__wine_spec_exe_entry"; -} - -/* check if the spec file exports any stubs */ -static int has_stubs( const DLLSPEC *spec ) -{ - int i; - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type == TYPE_STUB) return 1; - } - return 0; -} - -/* add the extra undefined symbols that will be contained in the generated spec file itself */ -static void add_extra_undef_symbols( DLLSPEC *spec ) -{ - if (!spec->init_func) spec->init_func = xstrdup( get_default_entry_point(spec) ); - add_extra_ld_symbol( spec->init_func ); - if (has_stubs( spec )) add_extra_ld_symbol( "__wine_spec_unimplemented_stub" ); - if (nb_delayed) add_extra_ld_symbol( "__wine_spec_delay_load" ); -} - -/* check if a given imported dll is not needed, taking forwards into account */ -static int check_unused( const struct import* imp, const DLLSPEC *spec ) -{ - int i; - const char *file_name = imp->spec->file_name; - size_t len = strlen( file_name ); - const char *p = strchr( file_name, '.' ); - if (p && !strcasecmp( p, ".dll" )) len = p - file_name; - - for (i = spec->base; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (!odp || !(odp->flags & FLAG_FORWARD)) continue; - if (!strncasecmp( odp->link_name, file_name, len ) && - odp->link_name[len] == '.') - return 0; /* found a forward, it is used */ - } - return 1; -} - -/* check if a given forward does exist in one of the imported dlls */ -static void check_undefined_forwards( DLLSPEC *spec ) -{ - char *link_name, *api_name, *dll_name, *p; - int i, j; - - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - - if (!(odp->flags & FLAG_FORWARD)) continue; - - link_name = xstrdup( odp->link_name ); - p = strrchr( link_name, '.' ); - *p = 0; - api_name = p + 1; - dll_name = get_dll_name( link_name, NULL ); - - for (j = 0; j < nb_imports; j++) - { - struct import *imp = dll_imports[j]; - - if (strcasecmp( imp->spec->file_name, dll_name )) continue; - if (!find_export( api_name, imp->exports, imp->nb_exports )) - warning( "%s:%d: forward '%s' not found in %s\n", - spec->src_name, odp->lineno, odp->link_name, imp->spec->file_name ); - break; - } - if (j == nb_imports) - warning( "%s:%d: forward '%s' not found in the imported dll list\n", - spec->src_name, odp->lineno, odp->link_name ); - free( link_name ); - free( dll_name ); - } -} - -/* flag the dll exports that link to an undefined symbol */ -static void check_undefined_exports( DLLSPEC *spec ) -{ - int i; - - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type == TYPE_STUB || odp->type == TYPE_ABS) continue; - if (odp->flags & FLAG_FORWARD) continue; - if (find_name( odp->link_name, &undef_symbols )) - { - switch(odp->type) - { - case TYPE_PASCAL: - case TYPE_STDCALL: - case TYPE_CDECL: - case TYPE_VARARGS: - if (link_ext_symbols) - { - odp->flags |= FLAG_EXT_LINK; - add_name( &ext_link_imports, odp->link_name ); - } - else error( "%s:%d: function '%s' not defined\n", - spec->src_name, odp->lineno, odp->link_name ); - break; - default: - error( "%s:%d: external symbol '%s' is not a function\n", - spec->src_name, odp->lineno, odp->link_name ); - break; - } - } - } -} - -/* create a .o file that references all the undefined symbols we want to resolve */ -static char *create_undef_symbols_file( DLLSPEC *spec ) -{ - char *as_file, *obj_file; - int i; - unsigned int j; - FILE *f; - - as_file = get_temp_file_name( output_file_name, ".s" ); - if (!(f = fopen( as_file, "w" ))) fatal_error( "Cannot create %s\n", as_file ); - fprintf( f, "\t.data\n" ); - - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type == TYPE_STUB || odp->type == TYPE_ABS) continue; - if (odp->flags & FLAG_FORWARD) continue; - fprintf( f, "\t%s %s\n", get_asm_ptr_keyword(), asm_name(odp->link_name) ); - } - for (j = 0; j < extra_ld_symbols.count; j++) - fprintf( f, "\t%s %s\n", get_asm_ptr_keyword(), asm_name(extra_ld_symbols.names[j]) ); - fclose( f ); - - obj_file = get_temp_file_name( output_file_name, ".o" ); - assemble_file( as_file, obj_file ); - return obj_file; -} - -/* combine a list of object files with ld into a single object file */ -/* returns the name of the combined file */ -static const char *ldcombine_files( DLLSPEC *spec, char **argv ) -{ - unsigned int i, len = 0; - const char *prog = get_ld_command(); - char *cmd, *p, *ld_tmp_file, *undef_file; - int err; - - undef_file = create_undef_symbols_file( spec ); - len += strlen(undef_file) + 1; - ld_tmp_file = get_temp_file_name( output_file_name, ".o" ); - for (i = 0; argv[i]; i++) len += strlen(argv[i]) + 1; - cmd = p = xmalloc( len + strlen(ld_tmp_file) + 8 + strlen(prog) ); - p += sprintf( cmd, "%s -r -o %s %s", prog, ld_tmp_file, undef_file ); - for (i = 0; argv[i]; i++) - p += sprintf( p, " %s", argv[i] ); - if (verbose) fprintf( stderr, "%s\n", cmd ); - err = system( cmd ); - if (err) fatal_error( "%s -r failed with status %d\n", prog, err ); - free( cmd ); - return ld_tmp_file; -} - -/* read in the list of undefined symbols */ -void read_undef_symbols( DLLSPEC *spec, char **argv ) -{ - size_t prefix_len; - FILE *f; - const char *prog = get_nm_command(); - char *cmd, buffer[1024], name_prefix[16]; - int err; - const char *name; - - if (!argv[0]) return; - - add_extra_undef_symbols( spec ); - - strcpy( name_prefix, asm_name("") ); - prefix_len = strlen( name_prefix ); - - name = ldcombine_files( spec, argv ); - - cmd = xmalloc( strlen(prog) + strlen(name) + 5 ); - sprintf( cmd, "%s -u %s", prog, name ); - if (!(f = popen( cmd, "r" ))) - fatal_error( "Cannot execute '%s'\n", cmd ); - - while (fgets( buffer, sizeof(buffer), f )) - { - char *p = buffer + strlen(buffer) - 1; - if (p < buffer) continue; - if (*p == '\n') *p-- = 0; - p = buffer; - while (*p == ' ') p++; - if (p[0] == 'U' && p[1] == ' ' && p[2]) p += 2; - if (prefix_len && !strncmp( p, name_prefix, prefix_len )) p += prefix_len; - add_name( &undef_symbols, p ); - } - if ((err = pclose( f ))) warning( "%s failed with status %d\n", cmd, err ); - free( cmd ); -} - -/* resolve the imports for a Win32 module */ -int resolve_imports( DLLSPEC *spec ) -{ - int i; - unsigned int j, removed; - ORDDEF *odp; - - sort_names( &ignore_symbols ); - check_undefined_forwards( spec ); - - for (i = 0; i < nb_imports; i++) - { - struct import *imp = dll_imports[i]; - - for (j = removed = 0; j < undef_symbols.count; j++) - { - if (find_name( undef_symbols.names[j], &ignore_symbols )) continue; - odp = find_export( undef_symbols.names[j], imp->exports, imp->nb_exports ); - if (odp) - { - if (odp->flags & FLAG_PRIVATE) continue; - if (odp->type != TYPE_STDCALL && odp->type != TYPE_CDECL) - warning( "winebuild: Data export '%s' cannot be imported from %s\n", - odp->link_name, imp->spec->file_name ); - else - { - add_import_func( imp, odp ); - remove_name( &undef_symbols, j-- ); - removed++; - } - } - } - if (!removed) - { - /* the dll is not used, get rid of it */ - if (check_unused( imp, spec )) - warning( "winebuild: %s imported but no symbols used\n", imp->spec->file_name ); - remove_import_dll( i ); - i--; - } - } - - sort_names( &undef_symbols ); - check_undefined_exports( spec ); - - return 1; -} - -/* output the get_pc thunk if needed */ -void output_get_pc_thunk(void) -{ - if (target_cpu != CPU_x86) return; - if (!UsePIC) return; - output( "\n\t.text\n" ); - output( "\t.align %d\n", get_alignment(4) ); - output( "\t%s\n", func_declaration("__wine_spec_get_pc_thunk_eax") ); - output( "%s:\n", asm_name("__wine_spec_get_pc_thunk_eax") ); - output( "\tpopl %%eax\n" ); - output( "\tpushl %%eax\n" ); - output( "\tret\n" ); - output_function_size( "__wine_spec_get_pc_thunk_eax" ); -} - -/* output a single import thunk */ -static void output_import_thunk( const char *name, const char *table, int pos ) -{ - output( "\n\t.align %d\n", get_alignment(4) ); - output( "\t%s\n", func_declaration(name) ); - output( "%s\n", asm_globl(name) ); - - switch(target_cpu) - { - case CPU_x86: - if (!UsePIC) - { - output( "\tjmp *(%s+%d)\n", table, pos ); - } - else - { - output( "\tcall %s\n", asm_name("__wine_spec_get_pc_thunk_eax") ); - output( "1:\tjmp *%s+%d-1b(%%eax)\n", table, pos ); - } - break; - case CPU_x86_64: - output( "\t.cfi_startproc\n" ); - output( "\tjmpq *%s+%d(%%rip)\n", table, pos ); - output( "\t.cfi_endproc\n" ); - break; - case CPU_SPARC: - if ( !UsePIC ) - { - output( "\tsethi %%hi(%s+%d), %%g1\n", table, pos ); - output( "\tld [%%g1+%%lo(%s+%d)], %%g1\n", table, pos ); - output( "\tjmp %%g1\n" ); - output( "\tnop\n" ); - } - else - { - /* Hmpf. Stupid sparc assembler always interprets global variable - names as GOT offsets, so we have to do it the long way ... */ - output( "\tsave %%sp, -96, %%sp\n" ); - output( "0:\tcall 1f\n" ); - output( "\tnop\n" ); - output( "1:\tsethi %%hi(%s+%d-0b), %%g1\n", table, pos ); - output( "\tor %%g1, %%lo(%s+%d-0b), %%g1\n", table, pos ); - output( "\tld [%%g1+%%o7], %%g1\n" ); - output( "\tjmp %%g1\n" ); - output( "\trestore\n" ); - } - break; - case CPU_ALPHA: - output( "\tlda $0,%s\n", table ); - output( "\tlda $0,%d($0)\n", pos ); - output( "\tjmp $31,($0)\n" ); - break; - case CPU_ARM: - output( "\tmov r4, #%s\n", table ); - output( "\tldr r15, [r4, #%d]\n", pos ); - break; - case CPU_POWERPC: - output( "\tmr %s, %s\n", ppc_reg(0), ppc_reg(31) ); - if (target_platform == PLATFORM_APPLE) - { - output( "\tlis %s, ha16(%s+%d+32768)\n", ppc_reg(31), table, pos ); - output( "\tla %s, lo16(%s+%d)(%s)\n", ppc_reg(31), table, pos, ppc_reg(31) ); - } - else - { - output( "\tlis %s, (%s+%d+32768)@h\n", ppc_reg(31), table, pos ); - output( "\tla %s, (%s+%d)@l(%s)\n", ppc_reg(31), table, pos, ppc_reg(31) ); - } - output( "\tlwz %s, 0(%s)\n", ppc_reg(31), ppc_reg(31) ); - output( "\tmtctr %s\n", ppc_reg(31) ); - output( "\tmr %s, %s\n", ppc_reg(31), ppc_reg(0) ); - output( "\tbctr\n" ); - break; - } - output_function_size( name ); -} - -/* check if we need an import directory */ -int has_imports(void) -{ - return (nb_imports - nb_delayed) > 0; -} - -/* output the import table of a Win32 module */ -static void output_immediate_imports(void) -{ - int i, j; - const char *dll_name; - - if (nb_imports == nb_delayed) return; /* no immediate imports */ - - /* main import header */ - - output( "\n/* import table */\n" ); - output( "\n\t.data\n" ); - output( "\t.align %d\n", get_alignment(4) ); - output( ".L__wine_spec_imports:\n" ); - - /* list of dlls */ - - for (i = j = 0; i < nb_imports; i++) - { - if (dll_imports[i]->delay) continue; - dll_name = make_c_identifier( dll_imports[i]->spec->file_name ); - output( "\t.long .L__wine_spec_import_data_names+%d-.L__wine_spec_rva_base\n", /* OriginalFirstThunk */ - j * get_ptr_size() ); - output( "\t.long 0\n" ); /* TimeDateStamp */ - output( "\t.long 0\n" ); /* ForwarderChain */ - output( "\t.long .L__wine_spec_import_name_%s-.L__wine_spec_rva_base\n", /* Name */ - dll_name ); - output( "\t.long .L__wine_spec_import_data_ptrs+%d-.L__wine_spec_rva_base\n", /* FirstThunk */ - j * get_ptr_size() ); - j += dll_imports[i]->nb_imports + 1; - } - output( "\t.long 0\n" ); /* OriginalFirstThunk */ - output( "\t.long 0\n" ); /* TimeDateStamp */ - output( "\t.long 0\n" ); /* ForwarderChain */ - output( "\t.long 0\n" ); /* Name */ - output( "\t.long 0\n" ); /* FirstThunk */ - - output( "\n\t.align %d\n", get_alignment(get_ptr_size()) ); - output( ".L__wine_spec_import_data_names:\n" ); - for (i = 0; i < nb_imports; i++) - { - if (dll_imports[i]->delay) continue; - dll_name = make_c_identifier( dll_imports[i]->spec->file_name ); - for (j = 0; j < dll_imports[i]->nb_imports; j++) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - if (!(odp->flags & FLAG_NONAME)) - output( "\t%s .L__wine_spec_import_data_%s_%s-.L__wine_spec_rva_base\n", - get_asm_ptr_keyword(), dll_name, odp->name ); - else - { - if (get_ptr_size() == 8) - output( "\t.quad 0x800000000000%04x\n", odp->ordinal ); - else - output( "\t.long 0x8000%04x\n", odp->ordinal ); - } - } - output( "\t%s 0\n", get_asm_ptr_keyword() ); - } - output( ".L__wine_spec_import_data_ptrs:\n" ); - for (i = 0; i < nb_imports; i++) - { - if (dll_imports[i]->delay) continue; - for (j = 0; j < dll_imports[i]->nb_imports; j++) output( "\t%s 0\n", get_asm_ptr_keyword() ); - output( "\t%s 0\n", get_asm_ptr_keyword() ); - } - output( ".L__wine_spec_imports_end:\n" ); - - for (i = 0; i < nb_imports; i++) - { - if (dll_imports[i]->delay) continue; - dll_name = make_c_identifier( dll_imports[i]->spec->file_name ); - for (j = 0; j < dll_imports[i]->nb_imports; j++) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - if (!(odp->flags & FLAG_NONAME)) - { - output( "\t.align %d\n", get_alignment(2) ); - output( ".L__wine_spec_import_data_%s_%s:\n", dll_name, odp->name ); - output( "\t%s %d\n", get_asm_short_keyword(), odp->ordinal ); - output( "\t%s \"%s\"\n", get_asm_string_keyword(), odp->name ); - } - } - } - - for (i = 0; i < nb_imports; i++) - { - if (dll_imports[i]->delay) continue; - dll_name = make_c_identifier( dll_imports[i]->spec->file_name ); - output( ".L__wine_spec_import_name_%s:\n\t%s \"%s\"\n", - dll_name, get_asm_string_keyword(), dll_imports[i]->spec->file_name ); - } -} - -/* output the import thunks of a Win32 module */ -static void output_immediate_import_thunks(void) -{ - int i, j, pos; - int nb_imm = nb_imports - nb_delayed; - static const char import_thunks[] = "__wine_spec_import_thunks"; - - if (!nb_imm) return; - - output( "\n/* immediate import thunks */\n\n" ); - output( "\t.text\n" ); - output( "\t.align %d\n", get_alignment(8) ); - output( "%s:\n", asm_name(import_thunks)); - - for (i = pos = 0; i < nb_imports; i++) - { - if (dll_imports[i]->delay) continue; - for (j = 0; j < dll_imports[i]->nb_imports; j++, pos += get_ptr_size()) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - output_import_thunk( odp->name ? odp->name : odp->export_name, - ".L__wine_spec_import_data_ptrs", pos ); - } - pos += get_ptr_size(); - } - output_function_size( import_thunks ); -} - -/* output the delayed import table of a Win32 module */ -static void output_delayed_imports( const DLLSPEC *spec ) -{ - int i, j, mod; - - if (!nb_delayed) return; - - output( "\n/* delayed imports */\n\n" ); - output( "\t.data\n" ); - output( "\t.align %d\n", get_alignment(get_ptr_size()) ); - output( "%s\n", asm_globl("__wine_spec_delay_imports") ); - - /* list of dlls */ - - for (i = j = mod = 0; i < nb_imports; i++) - { - if (!dll_imports[i]->delay) continue; - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* grAttrs */ - output( "\t%s .L__wine_delay_name_%d\n", /* szName */ - get_asm_ptr_keyword(), i ); - output( "\t%s .L__wine_delay_modules+%d\n", /* phmod */ - get_asm_ptr_keyword(), mod * get_ptr_size() ); - output( "\t%s .L__wine_delay_IAT+%d\n", /* pIAT */ - get_asm_ptr_keyword(), j * get_ptr_size() ); - output( "\t%s .L__wine_delay_INT+%d\n", /* pINT */ - get_asm_ptr_keyword(), j * get_ptr_size() ); - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* pBoundIAT */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* pUnloadIAT */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* dwTimeStamp */ - j += dll_imports[i]->nb_imports; - mod++; - } - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* grAttrs */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* szName */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* phmod */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* pIAT */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* pINT */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* pBoundIAT */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* pUnloadIAT */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* dwTimeStamp */ - - output( "\n.L__wine_delay_IAT:\n" ); - for (i = 0; i < nb_imports; i++) - { - if (!dll_imports[i]->delay) continue; - for (j = 0; j < dll_imports[i]->nb_imports; j++) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - const char *name = odp->name ? odp->name : odp->export_name; - output( "\t%s .L__wine_delay_imp_%d_%s\n", - get_asm_ptr_keyword(), i, name ); - } - } - - output( "\n.L__wine_delay_INT:\n" ); - for (i = 0; i < nb_imports; i++) - { - if (!dll_imports[i]->delay) continue; - for (j = 0; j < dll_imports[i]->nb_imports; j++) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - if (!odp->name) - output( "\t%s %d\n", get_asm_ptr_keyword(), odp->ordinal ); - else - output( "\t%s .L__wine_delay_data_%d_%s\n", - get_asm_ptr_keyword(), i, odp->name ); - } - } - - output( "\n.L__wine_delay_modules:\n" ); - for (i = 0; i < nb_imports; i++) - { - if (dll_imports[i]->delay) output( "\t%s 0\n", get_asm_ptr_keyword() ); - } - - for (i = 0; i < nb_imports; i++) - { - if (!dll_imports[i]->delay) continue; - output( ".L__wine_delay_name_%d:\n", i ); - output( "\t%s \"%s\"\n", - get_asm_string_keyword(), dll_imports[i]->spec->file_name ); - } - - for (i = 0; i < nb_imports; i++) - { - if (!dll_imports[i]->delay) continue; - for (j = 0; j < dll_imports[i]->nb_imports; j++) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - if (!odp->name) continue; - output( ".L__wine_delay_data_%d_%s:\n", i, odp->name ); - output( "\t%s \"%s\"\n", get_asm_string_keyword(), odp->name ); - } - } - output_function_size( "__wine_spec_delay_imports" ); -} - -/* output the delayed import thunks of a Win32 module */ -static void output_delayed_import_thunks( const DLLSPEC *spec ) -{ - int i, idx, j, pos, extra_stack_storage = 0; - static const char delayed_import_loaders[] = "__wine_spec_delayed_import_loaders"; - static const char delayed_import_thunks[] = "__wine_spec_delayed_import_thunks"; - - if (!nb_delayed) return; - - output( "\n/* delayed import thunks */\n\n" ); - output( "\t.text\n" ); - output( "\t.align %d\n", get_alignment(8) ); - output( "%s:\n", asm_name(delayed_import_loaders)); - output( "\t%s\n", func_declaration("__wine_delay_load_asm") ); - output( "%s:\n", asm_name("__wine_delay_load_asm") ); - switch(target_cpu) - { - case CPU_x86: - output( "\tpushl %%ecx\n" ); - output( "\tpushl %%edx\n" ); - output( "\tpushl %%eax\n" ); - output( "\tcall %s\n", asm_name("__wine_spec_delay_load") ); - output( "\tpopl %%edx\n" ); - output( "\tpopl %%ecx\n" ); - output( "\tjmp *%%eax\n" ); - break; - case CPU_x86_64: - output( "\t.cfi_startproc\n" ); - output( "\tsubq $88,%%rsp\n" ); - output( "\t.cfi_adjust_cfa_offset 88\n" ); - output( "\tmovq %%rdx,80(%%rsp)\n" ); - output( "\tmovq %%rcx,72(%%rsp)\n" ); - output( "\tmovq %%r8,64(%%rsp)\n" ); - output( "\tmovq %%r9,56(%%rsp)\n" ); - output( "\tmovq %%r10,48(%%rsp)\n" ); - output( "\tmovq %%r11,40(%%rsp)\n" ); - output( "\tmovq %%rax,%%rcx\n" ); - output( "\tcall %s\n", asm_name("__wine_spec_delay_load") ); - output( "\tmovq 40(%%rsp),%%r11\n" ); - output( "\tmovq 48(%%rsp),%%r10\n" ); - output( "\tmovq 56(%%rsp),%%r9\n" ); - output( "\tmovq 64(%%rsp),%%r8\n" ); - output( "\tmovq 72(%%rsp),%%rcx\n" ); - output( "\tmovq 80(%%rsp),%%rdx\n" ); - output( "\taddq $88,%%rsp\n" ); - output( "\t.cfi_adjust_cfa_offset -88\n" ); - output( "\tjmp *%%rax\n" ); - output( "\t.cfi_endproc\n" ); - break; - case CPU_SPARC: - output( "\tsave %%sp, -96, %%sp\n" ); - output( "\tcall %s\n", asm_name("__wine_spec_delay_load") ); - output( "\tmov %%g1, %%o0\n" ); - output( "\tjmp %%o0\n" ); - output( "\trestore\n" ); - break; - case CPU_ALPHA: - output( "\tjsr $26,%s\n", asm_name("__wine_spec_delay_load") ); - output( "\tjmp $31,($0)\n" ); - break; - case CPU_ARM: - output( "\tstmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}\n" ); - output( "\tblx %s\n", asm_name("__wine_spec_delay_load") ); - output( "\tldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}\n" ); - break; - case CPU_POWERPC: - if (target_platform == PLATFORM_APPLE) extra_stack_storage = 56; - - /* Save all callee saved registers into a stackframe. */ - output( "\tstwu %s, -%d(%s)\n",ppc_reg(1), 48+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(3), 4+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(4), 8+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(5), 12+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(6), 16+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(7), 20+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(8), 24+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(9), 28+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(10),32+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(11),36+extra_stack_storage, ppc_reg(1)); - output( "\tstw %s, %d(%s)\n", ppc_reg(12),40+extra_stack_storage, ppc_reg(1)); - - /* r0 -> r3 (arg1) */ - output( "\tmr %s, %s\n", ppc_reg(3), ppc_reg(0)); - - /* save return address */ - output( "\tmflr %s\n", ppc_reg(0)); - output( "\tstw %s, %d(%s)\n", ppc_reg(0), 44+extra_stack_storage, ppc_reg(1)); - - /* Call the __wine_delay_load function, arg1 is arg1. */ - output( "\tbl %s\n", asm_name("__wine_spec_delay_load") ); - - /* Load return value from call into ctr register */ - output( "\tmtctr %s\n", ppc_reg(3)); - - /* restore all saved registers and drop stackframe. */ - output( "\tlwz %s, %d(%s)\n", ppc_reg(3), 4+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(4), 8+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(5), 12+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(6), 16+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(7), 20+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(8), 24+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(9), 28+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(10),32+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(11),36+extra_stack_storage, ppc_reg(1)); - output( "\tlwz %s, %d(%s)\n", ppc_reg(12),40+extra_stack_storage, ppc_reg(1)); - - /* Load return value from call into return register */ - output( "\tlwz %s, %d(%s)\n", ppc_reg(0), 44+extra_stack_storage, ppc_reg(1)); - output( "\tmtlr %s\n", ppc_reg(0)); - output( "\taddi %s, %s, %d\n", ppc_reg(1), ppc_reg(1), 48+extra_stack_storage); - - /* branch to ctr register. */ - output( "\tbctr\n"); - break; - } - output_function_size( "__wine_delay_load_asm" ); - output( "\n" ); - - for (i = idx = 0; i < nb_imports; i++) - { - if (!dll_imports[i]->delay) continue; - for (j = 0; j < dll_imports[i]->nb_imports; j++) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - const char *name = odp->name ? odp->name : odp->export_name; - - output( ".L__wine_delay_imp_%d_%s:\n", i, name ); - switch(target_cpu) - { - case CPU_x86: - output( "\tmovl $%d, %%eax\n", (idx << 16) | j ); - output( "\tjmp %s\n", asm_name("__wine_delay_load_asm") ); - break; - case CPU_x86_64: - output( "\t.cfi_startproc\n" ); - output( "\tmovq $%d,%%rax\n", (idx << 16) | j ); - output( "\tjmp %s\n", asm_name("__wine_delay_load_asm") ); - output( "\t.cfi_endproc\n" ); - break; - case CPU_SPARC: - output( "\tset %d, %%g1\n", (idx << 16) | j ); - output( "\tb,a %s\n", asm_name("__wine_delay_load_asm") ); - break; - case CPU_ALPHA: - output( "\tlda $0,%d($31)\n", j); - output( "\tldah $0,%d($0)\n", idx); - output( "\tjmp $31,%s\n", asm_name("__wine_delay_load_asm") ); - break; - case CPU_ARM: - output( "\tb %s\n", asm_name("__wine_delay_load_asm") ); - break; - case CPU_POWERPC: - switch(target_platform) - { - case PLATFORM_APPLE: - /* On Darwin we can use r0 and r2 */ - /* Upper part in r2 */ - output( "\tlis %s, %d\n", ppc_reg(2), idx); - /* Lower part + r2 -> r0, Note we can't use r0 directly */ - output( "\taddi %s, %s, %d\n", ppc_reg(0), ppc_reg(2), j); - output( "\tb %s\n", asm_name("__wine_delay_load_asm") ); - break; - default: - /* On linux we can't use r2 since r2 is not a scratch register (hold the TOC) */ - /* Save r13 on the stack */ - output( "\taddi %s, %s, -0x4\n", ppc_reg(1), ppc_reg(1)); - output( "\tstw %s, 0(%s)\n", ppc_reg(13), ppc_reg(1)); - /* Upper part in r13 */ - output( "\tlis %s, %d\n", ppc_reg(13), idx); - /* Lower part + r13 -> r0, Note we can't use r0 directly */ - output( "\taddi %s, %s, %d\n", ppc_reg(0), ppc_reg(13), j); - /* Restore r13 */ - output( "\tstw %s, 0(%s)\n", ppc_reg(13), ppc_reg(1)); - output( "\taddic %s, %s, 0x4\n", ppc_reg(1), ppc_reg(1)); - output( "\tb %s\n", asm_name("__wine_delay_load_asm") ); - break; - } - break; - } - } - idx++; - } - output_function_size( delayed_import_loaders ); - - output( "\n\t.align %d\n", get_alignment(get_ptr_size()) ); - output( "%s:\n", asm_name(delayed_import_thunks)); - for (i = pos = 0; i < nb_imports; i++) - { - if (!dll_imports[i]->delay) continue; - for (j = 0; j < dll_imports[i]->nb_imports; j++, pos += get_ptr_size()) - { - ORDDEF *odp = dll_imports[i]->imports[j]; - output_import_thunk( odp->name ? odp->name : odp->export_name, - ".L__wine_delay_IAT", pos ); - } - } - output_function_size( delayed_import_thunks ); -} - -/* output import stubs for exported entry points that link to external symbols */ -static void output_external_link_imports( DLLSPEC *spec ) -{ - unsigned int i, pos; - - if (!ext_link_imports.count) return; /* nothing to do */ - - sort_names( &ext_link_imports ); - - /* get rid of duplicate names */ - for (i = 1; i < ext_link_imports.count; i++) - { - if (!strcmp( ext_link_imports.names[i-1], ext_link_imports.names[i] )) - remove_name( &ext_link_imports, i-- ); - } - - output( "\n/* external link thunks */\n\n" ); - output( "\t.data\n" ); - output( "\t.align %d\n", get_alignment(get_ptr_size()) ); - output( ".L__wine_spec_external_links:\n" ); - for (i = 0; i < ext_link_imports.count; i++) - output( "\t%s %s\n", get_asm_ptr_keyword(), asm_name(ext_link_imports.names[i]) ); - - output( "\n\t.text\n" ); - output( "\t.align %d\n", get_alignment(get_ptr_size()) ); - output( "%s:\n", asm_name("__wine_spec_external_link_thunks") ); - - for (i = pos = 0; i < ext_link_imports.count; i++) - { - char buffer[256]; - sprintf( buffer, "__wine_spec_ext_link_%s", ext_link_imports.names[i] ); - output_import_thunk( buffer, ".L__wine_spec_external_links", pos ); - pos += get_ptr_size(); - } - output_function_size( "__wine_spec_external_link_thunks" ); -} - -/******************************************************************* - * output_stubs - * - * Output the functions for stub entry points - */ -void output_stubs( DLLSPEC *spec ) -{ - const char *name, *exp_name; - int i, count; - - if (!has_stubs( spec )) return; - - output( "\n/* stub functions */\n\n" ); - output( "\t.text\n" ); - - for (i = count = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type != TYPE_STUB) continue; - - name = get_stub_name( odp, spec ); - exp_name = odp->name ? odp->name : odp->export_name; - output( "\t.align %d\n", get_alignment(4) ); - output( "\t%s\n", func_declaration(name) ); - output( "%s:\n", asm_name(name) ); - - switch (target_cpu) - { - case CPU_x86: - /* flesh out the stub a bit to make safedisc happy */ - output(" \tnop\n" ); - output(" \tnop\n" ); - output(" \tnop\n" ); - output(" \tnop\n" ); - output(" \tnop\n" ); - output(" \tnop\n" ); - output(" \tnop\n" ); - output(" \tnop\n" ); - output(" \tnop\n" ); - - output( "\tsubl $4,%%esp\n" ); - if (UsePIC) - { - output( "\tcall %s\n", asm_name("__wine_spec_get_pc_thunk_eax") ); - output( "1:" ); - if (exp_name) - { - output( "\tleal .L%s_string-1b(%%eax),%%ecx\n", name ); - output( "\tpushl %%ecx\n" ); - count++; - } - else - output( "\tpushl $%d\n", odp->ordinal ); - output( "\tleal .L__wine_spec_file_name-1b(%%eax),%%ecx\n" ); - output( "\tpushl %%ecx\n" ); - } - else - { - if (exp_name) - { - output( "\tpushl $.L%s_string\n", name ); - count++; - } - else - output( "\tpushl $%d\n", odp->ordinal ); - output( "\tpushl $.L__wine_spec_file_name\n" ); - } - output( "\tcall %s\n", asm_name("__wine_spec_unimplemented_stub") ); - break; - case CPU_x86_64: - output( "\t.cfi_startproc\n" ); - output( "\tsubq $8,%%rsp\n" ); - output( "\t.cfi_adjust_cfa_offset 8\n" ); - output( "\tleaq .L__wine_spec_file_name(%%rip),%%rdi\n" ); - if (exp_name) - { - output( "leaq .L%s_string(%%rip),%%rsi\n", name ); - count++; - } - else - output( "\tmovq $%d,%%rsi\n", odp->ordinal ); - output( "\tcall %s\n", asm_name("__wine_spec_unimplemented_stub") ); - output( "\t.cfi_endproc\n" ); - break; - default: - assert(0); - } - output_function_size( name ); - } - - if (count) - { - output( "\t%s\n", get_asm_string_section() ); - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type != TYPE_STUB) continue; - exp_name = odp->name ? odp->name : odp->export_name; - if (exp_name) - { - name = get_stub_name( odp, spec ); - output( ".L%s_string:\n", name ); - output( "\t%s \"%s\"\n", get_asm_string_keyword(), exp_name ); - } - } - } -} - -/* output the import and delayed import tables of a Win32 module */ -void output_imports( DLLSPEC *spec ) -{ - output_immediate_imports(); - output_delayed_imports( spec ); - output_immediate_import_thunks(); - output_delayed_import_thunks( spec ); - output_external_link_imports( spec ); - if (nb_imports || ext_link_imports.count || has_stubs(spec) || has_relays(spec)) - output_get_pc_thunk(); -} diff --git a/reactos/tools/winebuild/main.c b/reactos/tools/winebuild/main.c deleted file mode 100644 index 24807032fcc..00000000000 --- a/reactos/tools/winebuild/main.c +++ /dev/null @@ -1,685 +0,0 @@ -/* - * Main function - * - * Copyright 1993 Robert J. Amstadt - * Copyright 1995 Martin von Loewis - * Copyright 1995, 1996, 1997 Alexandre Julliard - * Copyright 1997 Eric Youngdale - * Copyright 1999 Ulrich Weigand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include -#include -#ifdef HAVE_GETOPT_H -# include -#endif - -#include "build.h" - -int UsePIC = 0; -int nb_lib_paths = 0; -int nb_errors = 0; -int display_warnings = 0; -int kill_at = 0; -int verbose = 0; -int save_temps = 0; -int link_ext_symbols = 0; -int force_pointer_size = 0; - -#if defined(TARGET_i386) -enum target_cpu target_cpu = CPU_x86; -#elif defined(TARGET_amd64) -enum target_cpu target_cpu = CPU_x86_64; -#elif defined(__sparc__) -enum target_cpu target_cpu = CPU_SPARC; -#elif defined(__ALPHA__) -enum target_cpu target_cpu = CPU_ALPHA; -#elif defined(__powerpc__) -enum target_cpu target_cpu = CPU_POWERPC; -#elif defined(TARGET_arm) -enum target_cpu target_cpu = CPU_ARM; -#else -#error Unsupported CPU -#endif - -#ifdef __APPLE__ -enum target_platform target_platform = PLATFORM_APPLE; -#elif defined(__FreeBSD__) -enum target_platform target_platform = PLATFORM_FREEBSD; -#elif defined(__sun) -enum target_platform target_platform = PLATFORM_SOLARIS; -#elif defined(_WIN32) -enum target_platform target_platform = PLATFORM_WINDOWS; -#else -enum target_platform target_platform = PLATFORM_UNSPECIFIED; -#endif - -char *target_alias = NULL; -char **lib_path = NULL; - -char *input_file_name = NULL; -char *spec_file_name = NULL; -FILE *output_file = NULL; -const char *output_file_name = NULL; -static const char *output_file_source_name; -static int fake_module; - -char *as_command = NULL; -char *ld_command = NULL; -char *nm_command = NULL; - -static int nb_res_files; -static char **res_files; - -/* execution mode */ -enum exec_mode_values -{ - MODE_NONE, - MODE_DLL, - MODE_EXE, - MODE_DEF, - MODE_RELAY16, - MODE_RELAY32, - MODE_RESOURCES, - MODE_PEDLL -}; - -static enum exec_mode_values exec_mode = MODE_NONE; - -static const struct -{ - const char *name; - enum target_platform platform; -} platform_names[] = -{ - { "macos", PLATFORM_APPLE }, - { "darwin", PLATFORM_APPLE }, - { "freebsd", PLATFORM_FREEBSD }, - { "solaris", PLATFORM_SOLARIS }, - { "windows", PLATFORM_WINDOWS }, - { "winnt", PLATFORM_WINDOWS } -}; - -/* set the dll file name from the input file name */ -static void set_dll_file_name( const char *name, DLLSPEC *spec ) -{ - char *p; - - if (spec->file_name) return; - - if ((p = strrchr( name, '\\' ))) name = p + 1; - if ((p = strrchr( name, '/' ))) name = p + 1; - spec->file_name = xmalloc( strlen(name) + 5 ); - strcpy( spec->file_name, name ); - if ((p = strrchr( spec->file_name, '.' ))) - { - if (!strcmp( p, ".spec" ) || !strcmp( p, ".def" )) *p = 0; - } -} - -/* set the dll subsystem */ -static void set_subsystem( const char *subsystem, DLLSPEC *spec ) -{ - char *major, *minor, *str = xstrdup( subsystem ); - - if ((major = strchr( str, ':' ))) *major++ = 0; - if (!strcmp( str, "native" )) spec->subsystem = IMAGE_SUBSYSTEM_NATIVE; - else if (!strcmp( str, "windows" )) spec->subsystem = IMAGE_SUBSYSTEM_WINDOWS_GUI; - else if (!strcmp( str, "console" )) spec->subsystem = IMAGE_SUBSYSTEM_WINDOWS_CUI; - else if (!strcmp( str, "win16" )) spec->type = SPEC_WIN16; - else fatal_error( "Invalid subsystem name '%s'\n", subsystem ); - if (major) - { - if ((minor = strchr( major, '.' ))) - { - *minor++ = 0; - spec->subsystem_minor = atoi( minor ); - } - spec->subsystem_major = atoi( major ); - } - free( str ); -} - -/* set the target CPU and platform */ -static void set_target( const char *target ) -{ - unsigned int i; - char *p, *platform, *spec = xstrdup( target ); - - /* target specification is in the form CPU-MANUFACTURER-OS or CPU-MANUFACTURER-KERNEL-OS */ - - target_alias = xstrdup( target ); - - /* get the CPU part */ - - if (!(p = strchr( spec, '-' ))) fatal_error( "Invalid target specification '%s'\n", target ); - *p++ = 0; - if ((target_cpu = get_cpu_from_name( spec )) == -1) - fatal_error( "Unrecognized CPU '%s'\n", spec ); - platform = p; - if ((p = strrchr( p, '-' ))) platform = p + 1; - - /* get the OS part */ - - target_platform = PLATFORM_UNSPECIFIED; /* default value */ - for (i = 0; i < sizeof(platform_names)/sizeof(platform_names[0]); i++) - { - if (!strncmp( platform_names[i].name, platform, strlen(platform_names[i].name) )) - { - target_platform = platform_names[i].platform; - break; - } - } - - free( spec ); -} - -/* cleanup on program exit */ -static void cleanup(void) -{ - if (output_file_name) unlink( output_file_name ); -} - -/* clean things up when aborting on a signal */ -static void exit_on_signal( int sig ) -{ - exit(1); /* this will call atexit functions */ -} - -/******************************************************************* - * command-line option handling - */ -static const char usage_str[] = -"Usage: winebuild [OPTIONS] [FILES]\n\n" -"Options:\n" -" --as-cmd=AS Command to use for assembling (default: as)\n" -" -b, --target=TARGET Specify target CPU and platform for cross-compiling\n" -" -d, --delay-lib=LIB Import the specified library in delayed mode\n" -" -D SYM Ignored for C flags compatibility\n" -" -e, --entry=FUNC Set the DLL entry point function (default: DllMain)\n" -" -E, --export=FILE Export the symbols defined in the .spec or .def file\n" -" --external-symbols Allow linking to external symbols\n" -" -f FLAGS Compiler flags (only -fPIC is supported)\n" -" -F, --filename=DLLFILE Set the DLL filename (default: from input file name)\n" -" --fake-module Create a fake binary module\n" -" -h, --help Display this help message\n" -" -H, --heap=SIZE Set the heap size for a Win16 dll\n" -" -i, --ignore=SYM[,SYM] Ignore specified symbols when resolving imports\n" -" -I DIR Ignored for C flags compatibility\n" -" -k, --kill-at Kill stdcall decorations in generated .def files\n" -" -K, FLAGS Compiler flags (only -KPIC is supported)\n" -" --large-address-aware Support an address space larger than 2Gb\n" -" --ld-cmd=LD Command to use for linking (default: ld)\n" -" -l, --library=LIB Import the specified library\n" -" -L, --library-path=DIR Look for imports libraries in DIR\n" -" -m32, -m64 Force building 32-bit resp. 64-bit code\n" -" -M, --main-module=MODULE Set the name of the main module for a Win16 dll\n" -" --nm-cmd=NM Command to use to get undefined symbols (default: nm)\n" -" --nxcompat=y|n Set the NX compatibility flag (default: yes)\n" -" -N, --dll-name=DLLNAME Set the DLL name (default: from input file name)\n" -" -o, --output=NAME Set the output file name (default: stdout)\n" -" -r, --res=RSRC.RES Load resources from RSRC.RES\n" -" --save-temps Do not delete the generated intermediate files\n" -" --subsystem=SUBSYS Set the subsystem (one of native, windows, console)\n" -" -u, --undefined=SYMBOL Add an undefined reference to SYMBOL when linking\n" -" -v, --verbose Display the programs invoked\n" -" --version Print the version and exit\n" -" -w, --warnings Turn on warnings\n" -"\nMode options:\n" -" --dll Build a .c file from a .spec or .def file\n" -" --def Build a .def file from a .spec file\n" -" --exe Build a .c file for an executable\n" -" --relay16 Build the 16-bit relay assembly routines\n" -" --relay32 Build the 32-bit relay assembly routines\n" -" --resources Build a .o file for the resource files\n\n" -" --pedll Build a .c file for PE dll\n\n" -"The mode options are mutually exclusive; you must specify one and only one.\n\n"; - -enum long_options_values -{ - LONG_OPT_DLL = 1, - LONG_OPT_DEF, - LONG_OPT_EXE, - LONG_OPT_ASCMD, - LONG_OPT_EXTERNAL_SYMS, - LONG_OPT_FAKE_MODULE, - LONG_OPT_LARGE_ADDRESS_AWARE, - LONG_OPT_LDCMD, - LONG_OPT_NMCMD, - LONG_OPT_NXCOMPAT, - LONG_OPT_RELAY16, - LONG_OPT_RELAY32, - LONG_OPT_RESOURCES, - LONG_OPT_SAVE_TEMPS, - LONG_OPT_SUBSYSTEM, - LONG_OPT_VERSION, - LONG_OPT_PEDLL -}; - -static const char short_options[] = "C:D:E:F:H:I:K:L:M:N:b:d:e:f:hi:kl:m:o:r:u:vw"; - -static const struct option long_options[] = -{ - { "dll", 0, 0, LONG_OPT_DLL }, - { "def", 0, 0, LONG_OPT_DEF }, - { "exe", 0, 0, LONG_OPT_EXE }, - { "as-cmd", 1, 0, LONG_OPT_ASCMD }, - { "external-symbols", 0, 0, LONG_OPT_EXTERNAL_SYMS }, - { "fake-module", 0, 0, LONG_OPT_FAKE_MODULE }, - { "large-address-aware", 0, 0, LONG_OPT_LARGE_ADDRESS_AWARE }, - { "ld-cmd", 1, 0, LONG_OPT_LDCMD }, - { "nm-cmd", 1, 0, LONG_OPT_NMCMD }, - { "nxcompat", 1, 0, LONG_OPT_NXCOMPAT }, - { "relay16", 0, 0, LONG_OPT_RELAY16 }, - { "relay32", 0, 0, LONG_OPT_RELAY32 }, - { "resources", 0, 0, LONG_OPT_RESOURCES }, - { "save-temps", 0, 0, LONG_OPT_SAVE_TEMPS }, - { "subsystem", 1, 0, LONG_OPT_SUBSYSTEM }, - { "version", 0, 0, LONG_OPT_VERSION }, - { "pedll", 1, 0, LONG_OPT_PEDLL }, - /* aliases for short options */ - { "target", 1, 0, 'b' }, - { "delay-lib", 1, 0, 'd' }, - { "export", 1, 0, 'E' }, - { "entry", 1, 0, 'e' }, - { "filename", 1, 0, 'F' }, - { "help", 0, 0, 'h' }, - { "heap", 1, 0, 'H' }, - { "ignore", 1, 0, 'i' }, - { "kill-at", 0, 0, 'k' }, - { "library", 1, 0, 'l' }, - { "library-path", 1, 0, 'L' }, - { "main-module", 1, 0, 'M' }, - { "dll-name", 1, 0, 'N' }, - { "output", 1, 0, 'o' }, - { "res", 1, 0, 'r' }, - { "undefined", 1, 0, 'u' }, - { "verbose", 0, 0, 'v' }, - { "warnings", 0, 0, 'w' }, - { NULL, 0, 0, 0 } -}; - -static void usage( int exit_code ) -{ - fprintf( stderr, "%s", usage_str ); - exit( exit_code ); -} - -static void set_exec_mode( enum exec_mode_values mode ) -{ - if (exec_mode != MODE_NONE) usage(1); - exec_mode = mode; -} - -/* parse options from the argv array and remove all the recognized ones */ -static char **parse_options( int argc, char **argv, DLLSPEC *spec ) -{ - char *p; - int optc; - - while ((optc = getopt_long( argc, argv, short_options, long_options, NULL )) != -1) - { - switch(optc) - { - case 'D': - /* ignored */ - break; - case 'E': - spec_file_name = xstrdup( optarg ); - set_dll_file_name( optarg, spec ); - break; - case 'F': - spec->file_name = xstrdup( optarg ); - break; - case 'H': - if (!isdigit(optarg[0])) - fatal_error( "Expected number argument with -H option instead of '%s'\n", optarg ); - spec->heap_size = atoi(optarg); - if (spec->heap_size > 65535) - fatal_error( "Invalid heap size %d, maximum is 65535\n", spec->heap_size ); - break; - case 'I': - /* ignored */ - break; - case 'K': - /* ignored, because cc generates correct code. */ - break; - case 'L': - lib_path = xrealloc( lib_path, (nb_lib_paths+1) * sizeof(*lib_path) ); - lib_path[nb_lib_paths++] = xstrdup( optarg ); - break; - case 'm': - if (strcmp( optarg, "32" ) && strcmp( optarg, "64" )) - fatal_error( "Invalid -m option '%s', expected -m32 or -m64\n", optarg ); - if (!strcmp( optarg, "32" )) force_pointer_size = 4; - else force_pointer_size = 8; - break; - case 'M': - spec->main_module = xstrdup( optarg ); - break; - case 'N': - spec->dll_name = xstrdup( optarg ); - break; - case 'b': - set_target( optarg ); - break; - case 'd': - add_delayed_import( optarg ); - break; - case 'e': - spec->init_func = xstrdup( optarg ); - if ((p = strchr( spec->init_func, '@' ))) *p = 0; /* kill stdcall decoration */ - break; - case 'f': - if (!strcmp( optarg, "PIC") || !strcmp( optarg, "pic")) UsePIC = 1; - /* ignore all other flags */ - break; - case 'h': - usage(0); - break; - case 'i': - { - char *str = xstrdup( optarg ); - char *token = strtok( str, "," ); - while (token) - { - add_ignore_symbol( token ); - token = strtok( NULL, "," ); - } - free( str ); - } - break; - case 'k': - kill_at = 1; - break; - case 'l': - add_import_dll( optarg, NULL ); - break; - case 'o': - { - char *ext = strrchr( optarg, '.' ); - - if (unlink( optarg ) == -1 && errno != ENOENT) - fatal_error( "Unable to create output file '%s'\n", optarg ); - if (ext && !strcmp( ext, ".o" )) - { - output_file_source_name = get_temp_file_name( optarg, ".s" ); - if (!(output_file = fopen( output_file_source_name, "w" ))) - fatal_error( "Unable to create output file '%s'\n", optarg ); - } - else - { - if (!(output_file = fopen( optarg, "w" ))) - fatal_error( "Unable to create output file '%s'\n", optarg ); - } - output_file_name = xstrdup(optarg); - atexit( cleanup ); /* make sure we remove the output file on exit */ - } - break; - case 'r': - res_files = xrealloc( res_files, (nb_res_files+1) * sizeof(*res_files) ); - res_files[nb_res_files++] = xstrdup( optarg ); - break; - case 'u': - add_extra_ld_symbol( optarg ); - break; - case 'v': - verbose++; - break; - case 'w': - display_warnings = 1; - break; - case LONG_OPT_DLL: - set_exec_mode( MODE_DLL ); - break; - case LONG_OPT_DEF: - set_exec_mode( MODE_DEF ); - break; - case LONG_OPT_EXE: - set_exec_mode( MODE_EXE ); - if (!spec->subsystem) spec->subsystem = IMAGE_SUBSYSTEM_WINDOWS_GUI; - break; - case LONG_OPT_ASCMD: - as_command = xstrdup( optarg ); - break; - case LONG_OPT_FAKE_MODULE: - fake_module = 1; - break; - case LONG_OPT_EXTERNAL_SYMS: - link_ext_symbols = 1; - break; - case LONG_OPT_LARGE_ADDRESS_AWARE: - spec->characteristics |= IMAGE_FILE_LARGE_ADDRESS_AWARE; - break; - case LONG_OPT_LDCMD: - ld_command = xstrdup( optarg ); - break; - case LONG_OPT_NMCMD: - nm_command = xstrdup( optarg ); - break; - case LONG_OPT_NXCOMPAT: - if (optarg[0] == 'n' || optarg[0] == 'N') - spec->dll_characteristics &= ~IMAGE_DLLCHARACTERISTICS_NX_COMPAT; - break; - case LONG_OPT_RELAY16: - set_exec_mode( MODE_RELAY16 ); - break; - case LONG_OPT_RELAY32: - set_exec_mode( MODE_RELAY32 ); - break; - case LONG_OPT_RESOURCES: - set_exec_mode( MODE_RESOURCES ); - break; - case LONG_OPT_SAVE_TEMPS: - save_temps = 1; - break; - case LONG_OPT_SUBSYSTEM: - set_subsystem( optarg, spec ); - break; - case LONG_OPT_VERSION: - printf( "winebuild version " PACKAGE_VERSION "\n" ); - exit(0); - case LONG_OPT_PEDLL: - set_exec_mode( MODE_PEDLL ); - spec_file_name = xstrdup( optarg ); - set_dll_file_name( optarg, spec ); - break; - case '?': - usage(1); - break; - } - } - - if (spec->file_name && !strchr( spec->file_name, '.' )) - strcat( spec->file_name, exec_mode == MODE_EXE ? ".exe" : ".dll" ); - - switch (target_cpu) - { - case CPU_x86: - if (force_pointer_size == 8) target_cpu = CPU_x86_64; - break; - case CPU_x86_64: - if (force_pointer_size == 4) target_cpu = CPU_x86; - break; - default: - if (force_pointer_size == 8) - fatal_error( "Cannot build 64-bit code for this CPU\n" ); - break; - } - - return &argv[optind]; -} - - -/* load all specified resource files */ -static void load_resources( char *argv[], DLLSPEC *spec ) -{ - int i; - char **ptr, **last; - - switch (spec->type) - { - case SPEC_WIN16: - for (i = 0; i < nb_res_files; i++) load_res16_file( res_files[i], spec ); - break; - - case SPEC_WIN32: - for (i = 0; i < nb_res_files; i++) - { - if (!load_res32_file( res_files[i], spec )) - fatal_error( "%s is not a valid Win32 resource file\n", res_files[i] ); - } - - /* load any resource file found in the remaining arguments */ - for (ptr = last = argv; *ptr; ptr++) - { - if (!load_res32_file( *ptr, spec )) - *last++ = *ptr; /* not a resource file, keep it in the list */ - } - *last = NULL; - break; - } -} - -/* add input files that look like import libs to the import list */ -static void load_import_libs( char *argv[] ) -{ - char **ptr, **last; - - for (ptr = last = argv; *ptr; ptr++) - { - if (strendswith( *ptr, ".def" )) - add_import_dll( NULL, *ptr ); - else - *last++ = *ptr; /* not an import dll, keep it in the list */ - } - *last = NULL; -} - -static int parse_input_file( DLLSPEC *spec ) -{ - FILE *input_file = open_input_file( NULL, spec_file_name ); - char *extension = strrchr( spec_file_name, '.' ); - int result; - - spec->src_name = xstrdup( input_file_name ); - if (extension && !strcmp( extension, ".def" )) - result = parse_def_file( input_file, spec ); - else - result = parse_spec_file( input_file, spec ); - close_input_file( input_file ); - return result; -} - - -/******************************************************************* - * main - */ -int main(int argc, char **argv) -{ - DLLSPEC *spec = alloc_dll_spec(); - -#ifdef SIGHUP - signal( SIGHUP, exit_on_signal ); -#endif - signal( SIGTERM, exit_on_signal ); - signal( SIGINT, exit_on_signal ); - - output_file = stdout; - argv = parse_options( argc, argv, spec ); - - switch(exec_mode) - { - case MODE_DLL: - if (spec->subsystem != IMAGE_SUBSYSTEM_NATIVE) - spec->characteristics |= IMAGE_FILE_DLL; - if (!spec_file_name) fatal_error( "missing .spec file\n" ); - if (spec->type == SPEC_WIN32 && spec->main_module) /* embedded 16-bit module */ - { - spec->type = SPEC_WIN16; - load_resources( argv, spec ); - if (parse_input_file( spec )) BuildSpec16File( spec ); - break; - } - /* fall through */ - case MODE_EXE: - load_resources( argv, spec ); - load_import_libs( argv ); - if (spec_file_name && !parse_input_file( spec )) break; - if (fake_module) - { - if (spec->type == SPEC_WIN16) output_fake_module16( spec ); - else output_fake_module( spec ); - break; - } - read_undef_symbols( spec, argv ); - switch (spec->type) - { - case SPEC_WIN16: - output_spec16_file( spec ); - break; - case SPEC_WIN32: - BuildSpec32File( spec ); - break; - default: assert(0); - } - break; - case MODE_DEF: - if (argv[0]) fatal_error( "file argument '%s' not allowed in this mode\n", argv[0] ); - if (spec->type == SPEC_WIN16) fatal_error( "Cannot yet build .def file for 16-bit dlls\n" ); - if (!spec_file_name) fatal_error( "missing .spec file\n" ); - if (!parse_input_file( spec )) break; - BuildDef32File( spec ); - break; - case MODE_RELAY16: - if (argv[0]) fatal_error( "file argument '%s' not allowed in this mode\n", argv[0] ); - BuildRelays16(); - break; - case MODE_RELAY32: - if (argv[0]) fatal_error( "file argument '%s' not allowed in this mode\n", argv[0] ); - BuildRelays32(); - break; - case MODE_PEDLL: - if (argv[0]) fatal_error( "file argument '%s' not allowed in this mode\n", argv[0] ); - if (!parse_input_file( spec )) break; - BuildPedllFile( spec ); - break; - case MODE_RESOURCES: - load_resources( argv, spec ); - output_res_o_file( spec ); - break; - default: - usage(1); - break; - } - if (nb_errors) exit(1); - if (output_file_name) - { - if (fclose( output_file ) < 0) fatal_perror( "fclose" ); - if (output_file_source_name) assemble_file( output_file_source_name, output_file_name ); - output_file_name = NULL; - } - return 0; -} diff --git a/reactos/tools/winebuild/mkstemps.c b/reactos/tools/winebuild/mkstemps.c deleted file mode 100644 index 5558a6e78f0..00000000000 --- a/reactos/tools/winebuild/mkstemps.c +++ /dev/null @@ -1,139 +0,0 @@ -/* Copyright (C) 1991, 1992, 1996, 1998 Free Software Foundation, Inc. - This file is derived from mkstemp.c from the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "config.h" - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#ifdef HAVE_SYS_TIME_H -#include -#endif -#ifdef HAVE_PROCESS_H -#include -#endif - -/* We need to provide a type for gcc_uint64_t. */ -#ifdef __GNUC__ -__extension__ typedef unsigned long long gcc_uint64_t; -#else -typedef unsigned long gcc_uint64_t; -#endif - -#ifndef TMP_MAX -#define TMP_MAX 16384 -#endif - -/* - -@deftypefn Replacement int mkstemps (char *@var{template}, int @var{suffix_len}) - -Generate a unique temporary file name from @var{template}. -@var{template} has the form: - -@example - @var{path}/ccXXXXXX@var{suffix} -@end example - -@var{suffix_len} tells us how long @var{suffix} is (it can be zero -length). The last six characters of @var{template} before @var{suffix} -must be @samp{XXXXXX}; they are replaced with a string that makes the -filename unique. Returns a file descriptor open on the file for -reading and writing. - -@end deftypefn - -*/ - -int -mkstemps ( - char *template, - int suffix_len) -{ - static const char letters[] - = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - static gcc_uint64_t value; -#ifdef HAVE_GETTIMEOFDAY - struct timeval tv; -#endif - char *XXXXXX; - size_t len; - int count; - - len = strlen (template); - - if ((int) len < 6 + suffix_len - || strncmp (&template[len - 6 - suffix_len], "XXXXXX", 6)) - { - return -1; - } - - XXXXXX = &template[len - 6 - suffix_len]; - -#ifdef HAVE_GETTIMEOFDAY - /* Get some more or less random data. */ - gettimeofday (&tv, NULL); - value += ((gcc_uint64_t) tv.tv_usec << 16) ^ tv.tv_sec ^ getpid (); -#else - value += getpid (); -#endif - - for (count = 0; count < TMP_MAX; ++count) - { - gcc_uint64_t v = value; - int fd; - - /* Fill in the random bits. */ - XXXXXX[0] = letters[v % 62]; - v /= 62; - XXXXXX[1] = letters[v % 62]; - v /= 62; - XXXXXX[2] = letters[v % 62]; - v /= 62; - XXXXXX[3] = letters[v % 62]; - v /= 62; - XXXXXX[4] = letters[v % 62]; - v /= 62; - XXXXXX[5] = letters[v % 62]; - -#ifdef VMS - fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600, "fop=tmd"); -#else - fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600); -#endif - if (fd >= 0) - /* The file does not exist. */ - return fd; - - /* This is a random value. It is only necessary that the next - TMP_MAX values generated by adding 7777 to VALUE are different - with (module 2^32). */ - value += 7777; - } - - /* We return the null string if we can't find a unique file name. */ - template[0] = '\0'; - return -1; -} diff --git a/reactos/tools/winebuild/parser.c b/reactos/tools/winebuild/parser.c deleted file mode 100644 index ba813a4d30d..00000000000 --- a/reactos/tools/winebuild/parser.c +++ /dev/null @@ -1,1048 +0,0 @@ -/* - * Spec file parser - * - * Copyright 1993 Robert J. Amstadt - * Copyright 1995 Martin von Loewis - * Copyright 1995, 1996, 1997, 2004 Alexandre Julliard - * Copyright 1997 Eric Youngdale - * Copyright 1999 Ulrich Weigand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include - -#include "build.h" - -int current_line = 0; - -static char ParseBuffer[512]; -static char TokenBuffer[512]; -static char *ParseNext = ParseBuffer; -static FILE *input_file; - -static const char *separator_chars; -static const char *comment_chars; - -/* valid characters in ordinal names */ -static const char valid_ordname_chars[] = "/$:-_@?abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - -static const char * const TypeNames[TYPE_NBTYPES] = -{ - "variable", /* TYPE_VARIABLE */ - "pascal", /* TYPE_PASCAL */ - "equate", /* TYPE_ABS */ - "stub", /* TYPE_STUB */ - "stdcall", /* TYPE_STDCALL */ - "cdecl", /* TYPE_CDECL */ - "varargs", /* TYPE_VARARGS */ - "fastcall", /* TYPE_FASTCALL */ - "extern" /* TYPE_EXTERN */ -}; - -static const char * const FlagNames[] = -{ - "norelay", /* FLAG_NORELAY */ - "noname", /* FLAG_NONAME */ - "ret16", /* FLAG_RET16 */ - "ret64", /* FLAG_RET64 */ - "register", /* FLAG_REGISTER */ - "private", /* FLAG_PRIVATE */ - "ordinal", /* FLAG_ORDINAL */ - NULL -}; - -static int IsNumberString(const char *s) -{ - while (*s) if (!isdigit(*s++)) return 0; - return 1; -} - -static inline int is_token_separator( char ch ) -{ - return strchr( separator_chars, ch ) != NULL; -} - -static inline int is_token_comment( char ch ) -{ - return strchr( comment_chars, ch ) != NULL; -} - -/* get the next line from the input file, or return 0 if at eof */ -static int get_next_line(void) -{ - ParseNext = ParseBuffer; - current_line++; - return (fgets(ParseBuffer, sizeof(ParseBuffer), input_file) != NULL); -} - -static const char * GetToken( int allow_eol ) -{ - char *p = ParseNext; - char *token = TokenBuffer; - - for (;;) - { - /* remove initial white space */ - p = ParseNext; - while (isspace(*p)) p++; - - if (*p == '\\' && p[1] == '\n') /* line continuation */ - { - if (!get_next_line()) - { - if (!allow_eol) error( "Unexpected end of file\n" ); - return NULL; - } - } - else break; - } - - if ((*p == '\0') || is_token_comment(*p)) - { - if (!allow_eol) error( "Declaration not terminated properly\n" ); - return NULL; - } - - /* - * Find end of token. - */ - if (is_token_separator(*p)) - { - /* a separator is always a complete token */ - *token++ = *p++; - } - else while (*p != '\0' && !is_token_separator(*p) && !isspace(*p)) - { - if (*p == '\\') p++; - if (*p) *token++ = *p++; - } - *token = '\0'; - ParseNext = p; - return TokenBuffer; -} - - -static ORDDEF *add_entry_point( DLLSPEC *spec ) -{ - ORDDEF *ret; - - if (spec->nb_entry_points == spec->alloc_entry_points) - { - spec->alloc_entry_points += 128; - spec->entry_points = xrealloc( spec->entry_points, - spec->alloc_entry_points * sizeof(*spec->entry_points) ); - } - ret = &spec->entry_points[spec->nb_entry_points++]; - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -/******************************************************************* - * parse_spec_variable - * - * Parse a variable definition in a .spec file. - */ -static int parse_spec_variable( ORDDEF *odp, DLLSPEC *spec ) -{ - char *endptr; - int *value_array; - int n_values; - int value_array_size; - const char *token; - - if (spec->type == SPEC_WIN32) - { - error( "'variable' not supported in Win32, use 'extern' instead\n" ); - return 0; - } - - if (!(token = GetToken(0))) return 0; - if (*token != '(') - { - error( "Expected '(' got '%s'\n", token ); - return 0; - } - - n_values = 0; - value_array_size = 25; - value_array = xmalloc(sizeof(*value_array) * value_array_size); - - for (;;) - { - if (!(token = GetToken(0))) - { - free( value_array ); - return 0; - } - if (*token == ')') - break; - - value_array[n_values++] = strtol(token, &endptr, 0); - if (n_values == value_array_size) - { - value_array_size += 25; - value_array = xrealloc(value_array, - sizeof(*value_array) * value_array_size); - } - - if (endptr == NULL || *endptr != '\0') - { - error( "Expected number value, got '%s'\n", token ); - free( value_array ); - return 0; - } - } - - odp->u.var.n_values = n_values; - odp->u.var.values = xrealloc(value_array, sizeof(*value_array) * n_values); - return 1; -} - - -/******************************************************************* - * parse_spec_export - * - * Parse an exported function definition in a .spec file. - */ -static int parse_spec_export( ORDDEF *odp, DLLSPEC *spec ) -{ - const char *token; - unsigned int i; - - switch(spec->type) - { - case SPEC_WIN16: - if (odp->type == TYPE_STDCALL) - { - error( "'stdcall' not supported for Win16\n" ); - return 0; - } - break; - case SPEC_WIN32: - if (odp->type == TYPE_PASCAL) - { - error( "'pascal' not supported for Win32\n" ); - return 0; - } - break; - default: - break; - } - - if (!(token = GetToken(0))) return 0; - if (*token != '(') - { - error( "Expected '(' got '%s'\n", token ); - return 0; - } - - for (i = 0; i < sizeof(odp->u.func.arg_types); i++) - { - if (!(token = GetToken(0))) return 0; - if (*token == ')') - break; - - if (!strcmp(token, "word")) - odp->u.func.arg_types[i] = 'w'; - else if (!strcmp(token, "s_word")) - odp->u.func.arg_types[i] = 's'; - else if (!strcmp(token, "long") || !strcmp(token, "segptr")) - odp->u.func.arg_types[i] = 'l'; - else if (!strcmp(token, "ptr")) - odp->u.func.arg_types[i] = 'p'; - else if (!strcmp(token, "str")) - odp->u.func.arg_types[i] = 't'; - else if (!strcmp(token, "wstr")) - odp->u.func.arg_types[i] = 'W'; - else if (!strcmp(token, "segstr")) - odp->u.func.arg_types[i] = 'T'; - else if (!strcmp(token, "double")) - { - odp->u.func.arg_types[i++] = 'l'; - if (get_ptr_size() == 4 && i < sizeof(odp->u.func.arg_types)) - odp->u.func.arg_types[i] = 'l'; - } - else - { - error( "Unknown argument type '%s'\n", token ); - return 0; - } - - if (spec->type == SPEC_WIN32) - { - if (strcmp(token, "long") && - strcmp(token, "ptr") && - strcmp(token, "str") && - strcmp(token, "wstr") && - strcmp(token, "double")) - { - error( "Type '%s' not supported for Win32\n", token ); - return 0; - } - } - } - if ((*token != ')') || (i >= sizeof(odp->u.func.arg_types))) - { - error( "Too many arguments\n" ); - return 0; - } - - odp->u.func.arg_types[i] = '\0'; - if (odp->type == TYPE_VARARGS) - odp->flags |= FLAG_NORELAY; /* no relay debug possible for varags entry point */ - - if (!(token = GetToken(1))) - { - if (!strcmp( odp->name, "@" )) - { - error( "Missing handler name for anonymous function\n" ); - return 0; - } - odp->link_name = xstrdup( odp->name ); - } - else - { - odp->link_name = xstrdup( token ); - if (strchr( odp->link_name, '.' )) - { - if (spec->type == SPEC_WIN16) - { - error( "Forwarded functions not supported for Win16\n" ); - return 0; - } - odp->flags |= FLAG_FORWARD; - } - } - return 1; -} - - -/******************************************************************* - * parse_spec_equate - * - * Parse an 'equate' definition in a .spec file. - */ -static int parse_spec_equate( ORDDEF *odp, DLLSPEC *spec ) -{ - char *endptr; - int value; - const char *token; - - if (spec->type == SPEC_WIN32) - { - error( "'equate' not supported for Win32\n" ); - return 0; - } - if (!(token = GetToken(0))) return 0; - value = strtol(token, &endptr, 0); - if (endptr == NULL || *endptr != '\0') - { - error( "Expected number value, got '%s'\n", token ); - return 0; - } - if (value < -0x8000 || value > 0xffff) - { - error( "Value %d for absolute symbol doesn't fit in 16 bits\n", value ); - value = 0; - } - odp->u.abs.value = value; - return 1; -} - - -/******************************************************************* - * parse_spec_stub - * - * Parse a 'stub' definition in a .spec file - */ -static int parse_spec_stub( ORDDEF *odp, DLLSPEC *spec ) -{ - odp->u.func.arg_types[0] = '\0'; - odp->link_name = xstrdup(""); - odp->flags |= FLAG_CPU(CPU_x86) | FLAG_CPU(CPU_x86_64); /* don't bother generating stubs for Winelib */ - return 1; -} - - -/******************************************************************* - * parse_spec_extern - * - * Parse an 'extern' definition in a .spec file. - */ -static int parse_spec_extern( ORDDEF *odp, DLLSPEC *spec ) -{ - const char *token; - - if (spec->type == SPEC_WIN16) - { - error( "'extern' not supported for Win16, use 'variable' instead\n" ); - return 0; - } - if (!(token = GetToken(1))) - { - if (!strcmp( odp->name, "@" )) - { - error( "Missing handler name for anonymous extern\n" ); - return 0; - } - odp->link_name = xstrdup( odp->name ); - } - else - { - odp->link_name = xstrdup( token ); - if (strchr( odp->link_name, '.' )) odp->flags |= FLAG_FORWARD; - } - return 1; -} - - -/******************************************************************* - * parse_spec_flags - * - * Parse the optional flags for an entry point in a .spec file. - */ -static const char *parse_spec_flags( ORDDEF *odp ) -{ - unsigned int i; - const char *token; - - do - { - if (!(token = GetToken(0))) break; - if (!strncmp( token, "arch=", 5)) - { - char *args = xstrdup( token + 5 ); - char *cpu_name = strtok( args, "," ); - while (cpu_name) - { - if (!strcmp( cpu_name, "win32" )) - odp->flags |= FLAG_CPU_WIN32; - else if (!strcmp( cpu_name, "win64" )) - odp->flags |= FLAG_CPU_WIN64; - else - { - enum target_cpu cpu = get_cpu_from_name( cpu_name ); - if (cpu == -1) - { - error( "Unknown architecture '%s'\n", cpu_name ); - return NULL; - } - odp->flags |= FLAG_CPU( cpu ); - } - cpu_name = strtok( NULL, "," ); - } - free( args ); - } - else if (!strcmp( token, "i386" )) /* backwards compatibility */ - { - odp->flags |= FLAG_CPU(CPU_x86); - } - else - { - for (i = 0; FlagNames[i]; i++) - if (!strcmp( FlagNames[i], token )) break; - if (!FlagNames[i]) - { - error( "Unknown flag '%s'\n", token ); - return NULL; - } - odp->flags |= 1 << i; - } - token = GetToken(0); - } while (token && *token == '-'); - - return token; -} - - -/******************************************************************* - * parse_spec_ordinal - * - * Parse an ordinal definition in a .spec file. - */ -static int parse_spec_ordinal( int ordinal, DLLSPEC *spec ) -{ - const char *token; - size_t len; - ORDDEF *odp = add_entry_point( spec ); - - if (!(token = GetToken(0))) goto error; - - for (odp->type = 0; odp->type < TYPE_NBTYPES; odp->type++) - if (TypeNames[odp->type] && !strcmp( token, TypeNames[odp->type] )) - break; - - if (odp->type >= TYPE_NBTYPES) - { - error( "Expected type after ordinal, found '%s' instead\n", token ); - goto error; - } - - if (!(token = GetToken(0))) goto error; - if (*token == '-' && !(token = parse_spec_flags( odp ))) goto error; - - odp->name = xstrdup( token ); - odp->lineno = current_line; - odp->ordinal = ordinal; - - len = strspn( odp->name, valid_ordname_chars ); - if (len < strlen( odp->name )) - { - error( "Character '%c' is not allowed in exported name '%s'\n", odp->name[len], odp->name ); - goto error; - } - - switch(odp->type) - { - case TYPE_VARIABLE: - if (!parse_spec_variable( odp, spec )) goto error; - break; - case TYPE_PASCAL: - case TYPE_STDCALL: - case TYPE_VARARGS: - case TYPE_CDECL: - case TYPE_FASTCALL: - if (!parse_spec_export( odp, spec )) goto error; - break; - case TYPE_ABS: - if (!parse_spec_equate( odp, spec )) goto error; - break; - case TYPE_STUB: - if (!parse_spec_stub( odp, spec )) goto error; - break; - case TYPE_EXTERN: - if (!parse_spec_extern( odp, spec )) goto error; - break; - default: - assert( 0 ); - } - - if ((odp->flags & FLAG_CPU_MASK) && !(odp->flags & FLAG_CPU(target_cpu))) - { - /* ignore this entry point */ - spec->nb_entry_points--; - return 1; - } - - if (ordinal != -1) - { - if (!ordinal) - { - error( "Ordinal 0 is not valid\n" ); - goto error; - } - if (ordinal >= MAX_ORDINALS) - { - error( "Ordinal number %d too large\n", ordinal ); - goto error; - } - if (ordinal > spec->limit) spec->limit = ordinal; - if (ordinal < spec->base) spec->base = ordinal; - odp->ordinal = ordinal; - } - - if (odp->type == TYPE_STDCALL && !(odp->flags & FLAG_PRIVATE)) - { - if (!strcmp( odp->name, "DllRegisterServer" ) || - !strcmp( odp->name, "DllUnregisterServer" ) || - !strcmp( odp->name, "DllGetClassObject" ) || - !strcmp( odp->name, "DllGetVersion" ) || - !strcmp( odp->name, "DllInstall" ) || - !strcmp( odp->name, "DllCanUnloadNow" )) - { - warning( "Function %s should be marked private\n", odp->name ); - if (strcmp( odp->name, odp->link_name )) - warning( "Function %s should not use a different internal name (%s)\n", - odp->name, odp->link_name ); - } - } - - if (!strcmp( odp->name, "@" ) || odp->flags & (FLAG_NONAME | FLAG_ORDINAL)) - { - if (ordinal == -1) - { - if (!strcmp( odp->name, "@" )) - error( "Nameless function needs an explicit ordinal number\n" ); - else - error( "Function imported by ordinal needs an explicit ordinal number\n" ); - goto error; - } - if (spec->type != SPEC_WIN32) - { - error( "Nameless functions not supported for Win16\n" ); - goto error; - } - if (!strcmp( odp->name, "@" )) - { - free( odp->name ); - odp->name = NULL; - } - else if (!(odp->flags & FLAG_ORDINAL)) /* -ordinal only affects the import library */ - { - odp->export_name = odp->name; - odp->name = NULL; - } - } - return 1; - -error: - spec->nb_entry_points--; - free( odp->name ); - return 0; -} - - -static int name_compare( const void *ptr1, const void *ptr2 ) -{ - const ORDDEF *odp1 = *(const ORDDEF * const *)ptr1; - const ORDDEF *odp2 = *(const ORDDEF * const *)ptr2; - const char *name1 = odp1->name ? odp1->name : odp1->export_name; - const char *name2 = odp2->name ? odp2->name : odp2->export_name; - return strcmp( name1, name2 ); -} - -/******************************************************************* - * assign_names - * - * Build the name array and catch duplicates. - */ -static void assign_names( DLLSPEC *spec ) -{ - int i, j, nb_exp_names = 0; - ORDDEF **all_names; - - spec->nb_names = 0; - for (i = 0; i < spec->nb_entry_points; i++) - if (spec->entry_points[i].name) spec->nb_names++; - else if (spec->entry_points[i].export_name) nb_exp_names++; - - if (!spec->nb_names && !nb_exp_names) return; - - /* check for duplicates */ - - all_names = xmalloc( (spec->nb_names + nb_exp_names) * sizeof(all_names[0]) ); - for (i = j = 0; i < spec->nb_entry_points; i++) - if (spec->entry_points[i].name || spec->entry_points[i].export_name) - all_names[j++] = &spec->entry_points[i]; - - qsort( all_names, j, sizeof(all_names[0]), name_compare ); - - for (i = 0; i < j - 1; i++) - { - const char *name1 = all_names[i]->name ? all_names[i]->name : all_names[i]->export_name; - const char *name2 = all_names[i+1]->name ? all_names[i+1]->name : all_names[i+1]->export_name; - if (!strcmp( name1, name2 )) - { - current_line = max( all_names[i]->lineno, all_names[i+1]->lineno ); - error( "'%s' redefined\n%s:%d: First defined here\n", - name1, input_file_name, - min( all_names[i]->lineno, all_names[i+1]->lineno ) ); - } - } - free( all_names ); - - if (spec->nb_names) - { - spec->names = xmalloc( spec->nb_names * sizeof(spec->names[0]) ); - for (i = j = 0; i < spec->nb_entry_points; i++) - if (spec->entry_points[i].name) spec->names[j++] = &spec->entry_points[i]; - - /* sort the list of names */ - qsort( spec->names, spec->nb_names, sizeof(spec->names[0]), name_compare ); - } -} - -/******************************************************************* - * assign_ordinals - * - * Build the ordinal array. - */ -static void assign_ordinals( DLLSPEC *spec ) -{ - int i, count, ordinal; - - /* start assigning from base, or from 1 if no ordinal defined yet */ - - spec->base = MAX_ORDINALS; - spec->limit = 0; - for (i = 0; i < spec->nb_entry_points; i++) - { - ordinal = spec->entry_points[i].ordinal; - if (ordinal == -1) continue; - if (ordinal > spec->limit) spec->limit = ordinal; - if (ordinal < spec->base) spec->base = ordinal; - } - if (spec->base == MAX_ORDINALS) spec->base = 1; - if (spec->limit < spec->base) spec->limit = spec->base; - - count = max( spec->limit + 1, spec->base + spec->nb_entry_points ); - spec->ordinals = xmalloc( count * sizeof(spec->ordinals[0]) ); - memset( spec->ordinals, 0, count * sizeof(spec->ordinals[0]) ); - - /* fill in all explicitly specified ordinals */ - for (i = 0; i < spec->nb_entry_points; i++) - { - ordinal = spec->entry_points[i].ordinal; - if (ordinal == -1) continue; - if (spec->ordinals[ordinal]) - { - current_line = max( spec->entry_points[i].lineno, spec->ordinals[ordinal]->lineno ); - error( "ordinal %d redefined\n%s:%d: First defined here\n", - ordinal, input_file_name, - min( spec->entry_points[i].lineno, spec->ordinals[ordinal]->lineno ) ); - } - else spec->ordinals[ordinal] = &spec->entry_points[i]; - } - - /* now assign ordinals to the rest */ - for (i = 0, ordinal = spec->base; i < spec->nb_entry_points; i++) - { - if (spec->entry_points[i].ordinal != -1) continue; - while (spec->ordinals[ordinal]) ordinal++; - if (ordinal >= MAX_ORDINALS) - { - current_line = spec->entry_points[i].lineno; - fatal_error( "Too many functions defined (max %d)\n", MAX_ORDINALS ); - } - spec->entry_points[i].ordinal = ordinal; - spec->ordinals[ordinal] = &spec->entry_points[i]; - } - if (ordinal > spec->limit) spec->limit = ordinal; -} - - -/******************************************************************* - * add_16bit_exports - * - * Add the necessary exports to the 32-bit counterpart of a 16-bit module. - */ -void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 ) -{ - ORDDEF *odp; - - /* add an export for the NE module */ - - odp = add_entry_point( spec32 ); - odp->type = TYPE_EXTERN; - odp->name = xstrdup( "__wine_spec_dos_header" ); - odp->lineno = 0; - odp->ordinal = 1; - odp->link_name = xstrdup( ".L__wine_spec_dos_header" ); - - if (spec16->main_module) - { - odp = add_entry_point( spec32 ); - odp->type = TYPE_EXTERN; - odp->name = xstrdup( "__wine_spec_main_module" ); - odp->lineno = 0; - odp->ordinal = 2; - odp->link_name = xstrdup( ".L__wine_spec_main_module" ); - } - - assign_names( spec32 ); - assign_ordinals( spec32 ); -} - - -/******************************************************************* - * parse_spec_file - * - * Parse a .spec file. - */ -int parse_spec_file( FILE *file, DLLSPEC *spec ) -{ - const char *token; - - input_file = file; - current_line = 0; - - comment_chars = "#;"; - separator_chars = "()-"; - - while (get_next_line()) - { - if (!(token = GetToken(1))) continue; - if (strcmp(token, "@") == 0) - { - if (spec->type != SPEC_WIN32) - { - error( "'@' ordinals not supported for Win16\n" ); - continue; - } - if (!parse_spec_ordinal( -1, spec )) continue; - } - else if (IsNumberString(token)) - { - if (!parse_spec_ordinal( atoi(token), spec )) continue; - } - else - { - error( "Expected ordinal declaration, got '%s'\n", token ); - continue; - } - if ((token = GetToken(1))) error( "Syntax error near '%s'\n", token ); - } - - current_line = 0; /* no longer parsing the input file */ - assign_names( spec ); - assign_ordinals( spec ); - return !nb_errors; -} - - -/******************************************************************* - * parse_def_library - * - * Parse a LIBRARY declaration in a .def file. - */ -static int parse_def_library( DLLSPEC *spec ) -{ - const char *token = GetToken(1); - - if (!token) return 1; - if (strcmp( token, "BASE" )) - { - free( spec->file_name ); - spec->file_name = xstrdup( token ); - if (!(token = GetToken(1))) return 1; - } - if (strcmp( token, "BASE" )) - { - error( "Expected library name or BASE= declaration, got '%s'\n", token ); - return 0; - } - if (!(token = GetToken(0))) return 0; - if (strcmp( token, "=" )) - { - error( "Expected '=' after BASE, got '%s'\n", token ); - return 0; - } - if (!(token = GetToken(0))) return 0; - /* FIXME: do something with base address */ - - return 1; -} - - -/******************************************************************* - * parse_def_stack_heap_size - * - * Parse a STACKSIZE or HEAPSIZE declaration in a .def file. - */ -static int parse_def_stack_heap_size( int is_stack, DLLSPEC *spec ) -{ - const char *token = GetToken(0); - char *end; - unsigned long size; - - if (!token) return 0; - size = strtoul( token, &end, 0 ); - if (*end) - { - error( "Invalid number '%s'\n", token ); - return 0; - } - if (is_stack) spec->stack_size = size / 1024; - else spec->heap_size = size / 1024; - if (!(token = GetToken(1))) return 1; - if (strcmp( token, "," )) - { - error( "Expected ',' after size, got '%s'\n", token ); - return 0; - } - if (!(token = GetToken(0))) return 0; - /* FIXME: do something with reserve size */ - return 1; -} - - -/******************************************************************* - * parse_def_export - * - * Parse an export declaration in a .def file. - */ -static int parse_def_export( char *name, DLLSPEC *spec ) -{ - int i, args; - const char *token = GetToken(1); - ORDDEF *odp = add_entry_point( spec ); - - odp->lineno = current_line; - odp->ordinal = -1; - odp->name = name; - args = remove_stdcall_decoration( odp->name ); - if (args == -1) odp->type = TYPE_CDECL; - else - { - odp->type = TYPE_STDCALL; - args /= get_ptr_size(); - if (args >= sizeof(odp->u.func.arg_types)) - { - error( "Too many arguments in stdcall function '%s'\n", odp->name ); - return 0; - } - for (i = 0; i < args; i++) odp->u.func.arg_types[i] = 'l'; - } - - /* check for optional internal name */ - - if (token && !strcmp( token, "=" )) - { - if (!(token = GetToken(0))) goto error; - odp->link_name = xstrdup( token ); - remove_stdcall_decoration( odp->link_name ); - token = GetToken(1); - } - else - { - odp->link_name = xstrdup( name ); - } - - /* check for optional ordinal */ - - if (token && token[0] == '@') - { - int ordinal; - - if (!IsNumberString( token+1 )) - { - error( "Expected number after '@', got '%s'\n", token+1 ); - goto error; - } - ordinal = atoi( token+1 ); - if (!ordinal) - { - error( "Ordinal 0 is not valid\n" ); - goto error; - } - if (ordinal >= MAX_ORDINALS) - { - error( "Ordinal number %d too large\n", ordinal ); - goto error; - } - odp->ordinal = ordinal; - token = GetToken(1); - } - - /* check for other optional keywords */ - - if (token && !strcmp( token, "NONAME" )) - { - if (odp->ordinal == -1) - { - error( "NONAME requires an ordinal\n" ); - goto error; - } - odp->export_name = odp->name; - odp->name = NULL; - odp->flags |= FLAG_NONAME; - token = GetToken(1); - } - if (token && !strcmp( token, "PRIVATE" )) - { - odp->flags |= FLAG_PRIVATE; - token = GetToken(1); - } - if (token && !strcmp( token, "DATA" )) - { - odp->type = TYPE_EXTERN; - token = GetToken(1); - } - if (token) - { - error( "Garbage text '%s' found at end of export declaration\n", token ); - goto error; - } - return 1; - -error: - spec->nb_entry_points--; - free( odp->name ); - return 0; -} - - -/******************************************************************* - * parse_def_file - * - * Parse a .def file. - */ -int parse_def_file( FILE *file, DLLSPEC *spec ) -{ - const char *token; - int in_exports = 0; - - input_file = file; - current_line = 0; - - comment_chars = ";"; - separator_chars = ",="; - - while (get_next_line()) - { - if (!(token = GetToken(1))) continue; - - if (!strcmp( token, "LIBRARY" ) || !strcmp( token, "NAME" )) - { - if (!parse_def_library( spec )) continue; - goto end_of_line; - } - else if (!strcmp( token, "STACKSIZE" )) - { - if (!parse_def_stack_heap_size( 1, spec )) continue; - goto end_of_line; - } - else if (!strcmp( token, "HEAPSIZE" )) - { - if (!parse_def_stack_heap_size( 0, spec )) continue; - goto end_of_line; - } - else if (!strcmp( token, "EXPORTS" )) - { - in_exports = 1; - if (!(token = GetToken(1))) continue; - } - else if (!strcmp( token, "IMPORTS" )) - { - in_exports = 0; - if (!(token = GetToken(1))) continue; - } - else if (!strcmp( token, "SECTIONS" )) - { - in_exports = 0; - if (!(token = GetToken(1))) continue; - } - - if (!in_exports) continue; /* ignore this line */ - if (!parse_def_export( xstrdup(token), spec )) continue; - - end_of_line: - if ((token = GetToken(1))) error( "Syntax error near '%s'\n", token ); - } - - current_line = 0; /* no longer parsing the input file */ - assign_names( spec ); - assign_ordinals( spec ); - return !nb_errors; -} diff --git a/reactos/tools/winebuild/relay.c b/reactos/tools/winebuild/relay.c deleted file mode 100644 index 3f955451562..00000000000 --- a/reactos/tools/winebuild/relay.c +++ /dev/null @@ -1,1182 +0,0 @@ -/* - * Relay calls helper routines - * - * Copyright 1993 Robert J. Amstadt - * Copyright 1995 Martin von Loewis - * Copyright 1995, 1996, 1997 Alexandre Julliard - * Copyright 1997 Eric Youngdale - * Copyright 1999 Ulrich Weigand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include - -#include "build.h" - -/* offset of the stack pointer relative to %fs:(0) */ -#define STACKOFFSET 0xc0 /* FIELD_OFFSET(TEB,WOW32Reserved) */ - -/* fix this if the ntdll_thread_regs structure is changed */ -#define GS_OFFSET 0x1d8 /* FIELD_OFFSET(TEB,SystemReserved2) + FIELD_OFFSET(ntdll_thread_data,gs) */ - -#define DPMI_VIF_OFFSET (0x1fc + 0) /* FIELD_OFFSET(TEB,GdiTebBatch) + FIELD_OFFSET(WINE_VM86_TEB_INFO,dpmi_vif) */ -#define VM86_PENDING_OFFSET (0x1fc + 4) /* FIELD_OFFSET(TEB,GdiTebBatch) + FIELD_OFFSET(WINE_VM86_TEB_INFO,vm86_pending) */ - -static void function_header( const char *name ) -{ - output( "\n\t.align %d\n", get_alignment(4) ); - output( "\t%s\n", func_declaration(name) ); - output( "%s\n", asm_globl(name) ); -} - - -/******************************************************************* - * BuildCallFrom16Core - * - * This routine builds the core routines used in 16->32 thunks: - * CallFrom16Word, CallFrom16Long, CallFrom16Register, and CallFrom16Thunk. - * - * These routines are intended to be called via a far call (with 32-bit - * operand size) from 16-bit code. The 16-bit code stub must push %bp, - * the 32-bit entry point to be called, and the argument conversion - * routine to be used (see stack layout below). - * - * The core routine completes the STACK16FRAME on the 16-bit stack and - * switches to the 32-bit stack. Then, the argument conversion routine - * is called; it gets passed the 32-bit entry point and a pointer to the - * 16-bit arguments (on the 16-bit stack) as parameters. (You can either - * use conversion routines automatically generated by BuildCallFrom16, - * or write your own for special purposes.) - * - * The conversion routine must call the 32-bit entry point, passing it - * the converted arguments, and return its return value to the core. - * After the conversion routine has returned, the core switches back - * to the 16-bit stack, converts the return value to the DX:AX format - * (CallFrom16Long), and returns to the 16-bit call stub. All parameters, - * including %bp, are popped off the stack. - * - * The 16-bit call stub now returns to the caller, popping the 16-bit - * arguments if necessary (pascal calling convention). - * - * In the case of a 'register' function, CallFrom16Register fills a - * CONTEXT86 structure with the values all registers had at the point - * the first instruction of the 16-bit call stub was about to be - * executed. A pointer to this CONTEXT86 is passed as third parameter - * to the argument conversion routine, which typically passes it on - * to the called 32-bit entry point. - * - * CallFrom16Thunk is a special variant used by the implementation of - * the Win95 16->32 thunk functions C16ThkSL and C16ThkSL01 and is - * implemented as follows: - * On entry, the EBX register is set up to contain a flat pointer to the - * 16-bit stack such that EBX+22 points to the first argument. - * Then, the entry point is called, while EBP is set up to point - * to the return address (on the 32-bit stack). - * The called function returns with CX set to the number of bytes - * to be popped of the caller's stack. - * - * Stack layout upon entry to the core routine (STACK16FRAME): - * ... ... - * (sp+24) word first 16-bit arg - * (sp+22) word cs - * (sp+20) word ip - * (sp+18) word bp - * (sp+14) long 32-bit entry point (reused for Win16 mutex recursion count) - * (sp+12) word ip of actual entry point (necessary for relay debugging) - * (sp+8) long relay (argument conversion) function entry point - * (sp+4) long cs of 16-bit entry point - * (sp) long ip of 16-bit entry point - * - * Added on the stack: - * (sp-2) word saved gs - * (sp-4) word saved fs - * (sp-6) word saved es - * (sp-8) word saved ds - * (sp-12) long saved ebp - * (sp-16) long saved ecx - * (sp-20) long saved edx - * (sp-24) long saved previous stack - */ -static void BuildCallFrom16Core( int reg_func, int thunk ) -{ - /* Function header */ - if (thunk) function_header( "__wine_call_from_16_thunk" ); - else if (reg_func) function_header( "__wine_call_from_16_regs" ); - else function_header( "__wine_call_from_16" ); - - /* Create STACK16FRAME (except STACK32FRAME link) */ - output( "\tpushw %%gs\n" ); - output( "\tpushw %%fs\n" ); - output( "\tpushw %%es\n" ); - output( "\tpushw %%ds\n" ); - output( "\tpushl %%ebp\n" ); - output( "\tpushl %%ecx\n" ); - output( "\tpushl %%edx\n" ); - - /* Save original EFlags register */ - if (reg_func) output( "\tpushfl\n" ); - - if ( UsePIC ) - { - output( "\tcall 1f\n" ); - output( "1:\tpopl %%ecx\n" ); - output( "\t.byte 0x2e\n\tmovl %s-1b(%%ecx),%%edx\n", asm_name("CallTo16_DataSelector") ); - } - else - output( "\t.byte 0x2e\n\tmovl %s,%%edx\n", asm_name("CallTo16_DataSelector") ); - - /* Load 32-bit segment registers */ - output( "\tmovw %%dx, %%ds\n" ); - output( "\tmovw %%dx, %%es\n" ); - - if ( UsePIC ) - output( "\tmovw %s-1b(%%ecx), %%fs\n", asm_name("CallTo16_TebSelector") ); - else - output( "\tmovw %s, %%fs\n", asm_name("CallTo16_TebSelector") ); - - output( "\t.byte 0x64\n\tmov (%d),%%gs\n", GS_OFFSET ); - - /* Translate STACK16FRAME base to flat offset in %edx */ - output( "\tmovw %%ss, %%dx\n" ); - output( "\tandl $0xfff8, %%edx\n" ); - output( "\tshrl $1, %%edx\n" ); - if (UsePIC) - { - output( "\taddl wine_ldt_copy_ptr-1b(%%ecx),%%edx\n" ); - output( "\tmovl (%%edx), %%edx\n" ); - } - else - output( "\tmovl %s(%%edx), %%edx\n", asm_name("wine_ldt_copy") ); - output( "\tmovzwl %%sp, %%ebp\n" ); - output( "\tleal %d(%%ebp,%%edx), %%edx\n", reg_func ? 0 : -4 ); - - /* Get saved flags into %ecx */ - if (reg_func) output( "\tpopl %%ecx\n" ); - - /* Get the 32-bit stack pointer from the TEB and complete STACK16FRAME */ - output( "\t.byte 0x64\n\tmovl (%d), %%ebp\n", STACKOFFSET ); - output( "\tpushl %%ebp\n" ); - - /* Switch stacks */ - output( "\t.byte 0x64\n\tmovw %%ss, (%d)\n", STACKOFFSET + 2 ); - output( "\t.byte 0x64\n\tmovw %%sp, (%d)\n", STACKOFFSET ); - output( "\tpushl %%ds\n" ); - output( "\tpopl %%ss\n" ); - output( "\tmovl %%ebp, %%esp\n" ); - output( "\taddl $0x20,%%ebp\n"); /* FIELD_OFFSET(STACK32FRAME,ebp) */ - - - /* At this point: - STACK16FRAME is completely set up - DS, ES, SS: flat data segment - FS: current TEB - ESP: points to last STACK32FRAME - EBP: points to ebp member of last STACK32FRAME - EDX: points to current STACK16FRAME - ECX: contains saved flags - all other registers: unchanged */ - - /* Special case: C16ThkSL stub */ - if ( thunk ) - { - /* Set up registers as expected and call thunk */ - output( "\tleal 0x1a(%%edx),%%ebx\n" ); /* sizeof(STACK16FRAME)-22 */ - output( "\tleal -4(%%esp), %%ebp\n" ); - - output( "\tcall *0x26(%%edx)\n"); /* FIELD_OFFSET(STACK16FRAME,entry_point) */ - - /* Switch stack back */ - output( "\t.byte 0x64\n\tmovw (%d), %%ss\n", STACKOFFSET+2 ); - output( "\t.byte 0x64\n\tmovzwl (%d), %%esp\n", STACKOFFSET ); - output( "\t.byte 0x64\n\tpopl (%d)\n", STACKOFFSET ); - - /* Restore registers and return directly to caller */ - output( "\taddl $8, %%esp\n" ); - output( "\tpopl %%ebp\n" ); - output( "\tpopw %%ds\n" ); - output( "\tpopw %%es\n" ); - output( "\tpopw %%fs\n" ); - output( "\tpopw %%gs\n" ); - output( "\taddl $20, %%esp\n" ); - - output( "\txorb %%ch, %%ch\n" ); - output( "\tpopl %%ebx\n" ); - output( "\taddw %%cx, %%sp\n" ); - output( "\tpush %%ebx\n" ); - - output( "\t.byte 0x66\n" ); - output( "\tlret\n" ); - - return; - } - - - /* Build register CONTEXT */ - if ( reg_func ) - { - output( "\tsubl $0x2cc,%%esp\n" ); /* sizeof(CONTEXT86) */ - - output( "\tmovl %%ecx,0xc0(%%esp)\n" ); /* EFlags */ - - output( "\tmovl %%eax,0xb0(%%esp)\n" ); /* Eax */ - output( "\tmovl %%ebx,0xa4(%%esp)\n" ); /* Ebx */ - output( "\tmovl %%esi,0xa0(%%esp)\n" ); /* Esi */ - output( "\tmovl %%edi,0x9c(%%esp)\n" ); /* Edi */ - - output( "\tmovl 0x0c(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,ebp) */ - output( "\tmovl %%eax,0xb4(%%esp)\n" ); /* Ebp */ - output( "\tmovl 0x08(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,ecx) */ - output( "\tmovl %%eax,0xac(%%esp)\n" ); /* Ecx */ - output( "\tmovl 0x04(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,edx) */ - output( "\tmovl %%eax,0xa8(%%esp)\n" ); /* Edx */ - - output( "\tmovzwl 0x10(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,ds) */ - output( "\tmovl %%eax,0x98(%%esp)\n" ); /* SegDs */ - output( "\tmovzwl 0x12(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,es) */ - output( "\tmovl %%eax,0x94(%%esp)\n" ); /* SegEs */ - output( "\tmovzwl 0x14(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,fs) */ - output( "\tmovl %%eax,0x90(%%esp)\n" ); /* SegFs */ - output( "\tmovzwl 0x16(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,gs) */ - output( "\tmovl %%eax,0x8c(%%esp)\n" ); /* SegGs */ - - output( "\tmovzwl 0x2e(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,cs) */ - output( "\tmovl %%eax,0xbc(%%esp)\n" ); /* SegCs */ - output( "\tmovzwl 0x2c(%%edx),%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,ip) */ - output( "\tmovl %%eax,0xb8(%%esp)\n" ); /* Eip */ - - output( "\t.byte 0x64\n\tmovzwl (%d), %%eax\n", STACKOFFSET+2 ); - output( "\tmovl %%eax,0xc8(%%esp)\n" ); /* SegSs */ - output( "\t.byte 0x64\n\tmovzwl (%d), %%eax\n", STACKOFFSET ); - output( "\taddl $0x2c,%%eax\n"); /* FIELD_OFFSET(STACK16FRAME,ip) */ - output( "\tmovl %%eax,0xc4(%%esp)\n" ); /* Esp */ -#if 0 - output( "\tfsave 0x1c(%%esp)\n" ); /* FloatSave */ -#endif - - /* Push address of CONTEXT86 structure -- popped by the relay routine */ - output( "\tmovl %%esp,%%eax\n" ); - output( "\tandl $~15,%%esp\n" ); - output( "\tsubl $4,%%esp\n" ); - output( "\tpushl %%eax\n" ); - } - else - { - output( "\tsubl $8,%%esp\n" ); - output( "\tandl $~15,%%esp\n" ); - output( "\taddl $8,%%esp\n" ); - } - - /* Call relay routine (which will call the API entry point) */ - output( "\tleal 0x30(%%edx),%%eax\n" ); /* sizeof(STACK16FRAME) */ - output( "\tpushl %%eax\n" ); - output( "\tpushl 0x26(%%edx)\n"); /* FIELD_OFFSET(STACK16FRAME,entry_point) */ - output( "\tcall *0x20(%%edx)\n"); /* FIELD_OFFSET(STACK16FRAME,relay) */ - - if ( reg_func ) - { - output( "\tleal -748(%%ebp),%%ebx\n" ); /* sizeof(CONTEXT) + FIELD_OFFSET(STACK32FRAME,ebp) */ - - /* Switch stack back */ - output( "\t.byte 0x64\n\tmovw (%d), %%ss\n", STACKOFFSET+2 ); - output( "\t.byte 0x64\n\tmovzwl (%d), %%esp\n", STACKOFFSET ); - output( "\t.byte 0x64\n\tpopl (%d)\n", STACKOFFSET ); - - /* Get return address to CallFrom16 stub */ - output( "\taddw $0x14,%%sp\n" ); /* FIELD_OFFSET(STACK16FRAME,callfrom_ip)-4 */ - output( "\tpopl %%eax\n" ); - output( "\tpopl %%edx\n" ); - - /* Restore all registers from CONTEXT */ - output( "\tmovw 0xc8(%%ebx),%%ss\n"); /* SegSs */ - output( "\tmovl 0xc4(%%ebx),%%esp\n"); /* Esp */ - output( "\taddl $4, %%esp\n" ); /* room for final return address */ - - output( "\tpushw 0xbc(%%ebx)\n"); /* SegCs */ - output( "\tpushw 0xb8(%%ebx)\n"); /* Eip */ - output( "\tpushl %%edx\n" ); - output( "\tpushl %%eax\n" ); - output( "\tpushl 0xc0(%%ebx)\n"); /* EFlags */ - output( "\tpushl 0x98(%%ebx)\n"); /* SegDs */ - - output( "\tpushl 0x94(%%ebx)\n"); /* SegEs */ - output( "\tpopl %%es\n" ); - output( "\tpushl 0x90(%%ebx)\n"); /* SegFs */ - output( "\tpopl %%fs\n" ); - output( "\tpushl 0x8c(%%ebx)\n"); /* SegGs */ - output( "\tpopl %%gs\n" ); - - output( "\tmovl 0xb4(%%ebx),%%ebp\n"); /* Ebp */ - output( "\tmovl 0xa0(%%ebx),%%esi\n"); /* Esi */ - output( "\tmovl 0x9c(%%ebx),%%edi\n"); /* Edi */ - output( "\tmovl 0xb0(%%ebx),%%eax\n"); /* Eax */ - output( "\tmovl 0xa8(%%ebx),%%edx\n"); /* Edx */ - output( "\tmovl 0xac(%%ebx),%%ecx\n"); /* Ecx */ - output( "\tmovl 0xa4(%%ebx),%%ebx\n"); /* Ebx */ - - output( "\tpopl %%ds\n" ); - output( "\tpopfl\n" ); - output( "\tlret\n" ); - } - else - { - /* Switch stack back */ - output( "\t.byte 0x64\n\tmovw (%d), %%ss\n", STACKOFFSET+2 ); - output( "\t.byte 0x64\n\tmovzwl (%d), %%esp\n", STACKOFFSET ); - output( "\t.byte 0x64\n\tpopl (%d)\n", STACKOFFSET ); - - /* Restore registers */ - output( "\tpopl %%edx\n" ); - output( "\tpopl %%ecx\n" ); - output( "\tpopl %%ebp\n" ); - output( "\tpopw %%ds\n" ); - output( "\tpopw %%es\n" ); - output( "\tpopw %%fs\n" ); - output( "\tpopw %%gs\n" ); - - /* Return to return stub which will return to caller */ - output( "\tlret $12\n" ); - } - if (thunk) output_function_size( "__wine_call_from_16_thunk" ); - else if (reg_func) output_function_size( "__wine_call_from_16_regs" ); - else output_function_size( "__wine_call_from_16" ); -} - - -/******************************************************************* - * BuildCallTo16Core - * - * This routine builds the core routines used in 32->16 thunks: - * - * extern DWORD WINAPI wine_call_to_16( FARPROC16 target, DWORD cbArgs, PEXCEPTION_HANDLER handler ); - * extern void WINAPI wine_call_to_16_regs( CONTEXT86 *context, DWORD cbArgs, PEXCEPTION_HANDLER handler ); - * - * These routines can be called directly from 32-bit code. - * - * All routines expect that the 16-bit stack contents (arguments) and the - * return address (segptr to CallTo16_Ret) were already set up by the - * caller; nb_args must contain the number of bytes to be conserved. The - * 16-bit SS:SP will be set accordingly. - * - * All other registers are either taken from the CONTEXT86 structure - * or else set to default values. The target routine address is either - * given directly or taken from the CONTEXT86. - */ -static void BuildCallTo16Core( int reg_func ) -{ - const char *name = reg_func ? "wine_call_to_16_regs" : "wine_call_to_16"; - - /* Function header */ - function_header( name ); - - /* Function entry sequence */ - output( "\tpushl %%ebp\n" ); - output( "\tmovl %%esp, %%ebp\n" ); - - /* Save the 32-bit registers */ - output( "\tpushl %%ebx\n" ); - output( "\tpushl %%esi\n" ); - output( "\tpushl %%edi\n" ); - output( "\t.byte 0x64\n\tmov %%gs,(%d)\n", GS_OFFSET ); - - /* Setup exception frame */ - output( "\t.byte 0x64\n\tpushl (%d)\n", STACKOFFSET ); - output( "\tpushl 16(%%ebp)\n" ); /* handler */ - output( "\t.byte 0x64\n\tpushl (0)\n" ); - output( "\t.byte 0x64\n\tmovl %%esp,(0)\n" ); - - /* Call the actual CallTo16 routine (simulate a lcall) */ - output( "\tpushl %%cs\n" ); - output( "\tcall .L%s\n", name ); - - /* Remove exception frame */ - output( "\t.byte 0x64\n\tpopl (0)\n" ); - output( "\taddl $4, %%esp\n" ); - output( "\t.byte 0x64\n\tpopl (%d)\n", STACKOFFSET ); - - if ( !reg_func ) - { - /* Convert return value */ - output( "\tandl $0xffff,%%eax\n" ); - output( "\tshll $16,%%edx\n" ); - output( "\torl %%edx,%%eax\n" ); - } - else - { - /* - * Modify CONTEXT86 structure to contain new values - * - * NOTE: We restore only EAX, EBX, EDX, EDX, EBP, and ESP. - * The segment registers as well as ESI and EDI should - * not be modified by a well-behaved 16-bit routine in - * any case. [If necessary, we could restore them as well, - * at the cost of a somewhat less efficient return path.] - */ - - output( "\tmovl 0x14(%%esp),%%edi\n" ); /* FIELD_OFFSET(STACK32FRAME,target) - FIELD_OFFSET(STACK32FRAME,edi) */ - /* everything above edi has been popped already */ - - output( "\tmovl %%eax,0xb0(%%edi)\n"); /* Eax */ - output( "\tmovl %%ebx,0xa4(%%edi)\n"); /* Ebx */ - output( "\tmovl %%ecx,0xac(%%edi)\n"); /* Ecx */ - output( "\tmovl %%edx,0xa8(%%edi)\n"); /* Edx */ - output( "\tmovl %%ebp,0xb4(%%edi)\n"); /* Ebp */ - output( "\tmovl %%esi,0xc4(%%edi)\n"); /* Esp */ - /* The return glue code saved %esp into %esi */ - } - - /* Restore the 32-bit registers */ - output( "\tpopl %%edi\n" ); - output( "\tpopl %%esi\n" ); - output( "\tpopl %%ebx\n" ); - - /* Function exit sequence */ - output( "\tpopl %%ebp\n" ); - output( "\tret $12\n" ); - - - /* Start of the actual CallTo16 routine */ - - output( ".L%s:\n", name ); - - /* Switch to the 16-bit stack */ - output( "\tmovl %%esp,%%edx\n" ); - output( "\t.byte 0x64\n\tmovw (%d),%%ss\n", STACKOFFSET + 2); - output( "\t.byte 0x64\n\tmovw (%d),%%sp\n", STACKOFFSET ); - output( "\t.byte 0x64\n\tmovl %%edx,(%d)\n", STACKOFFSET ); - - /* Make %bp point to the previous stackframe (built by CallFrom16) */ - output( "\tmovzwl %%sp,%%ebp\n" ); - output( "\tleal 0x2a(%%ebp),%%ebp\n"); /* FIELD_OFFSET(STACK16FRAME,bp) */ - - /* Add the specified offset to the new sp */ - output( "\tsubw 0x2c(%%edx), %%sp\n"); /* FIELD_OFFSET(STACK32FRAME,nb_args) */ - - if (reg_func) - { - /* Push the called routine address */ - output( "\tmovl 0x28(%%edx),%%edx\n"); /* FIELD_OFFSET(STACK32FRAME,target) */ - output( "\tpushw 0xbc(%%edx)\n"); /* SegCs */ - output( "\tpushw 0xb8(%%edx)\n"); /* Eip */ - - /* Get the registers */ - output( "\tpushw 0x98(%%edx)\n"); /* SegDs */ - output( "\tpushl 0x94(%%edx)\n"); /* SegEs */ - output( "\tpopl %%es\n" ); - output( "\tpushl 0x90(%%edx)\n"); /* SegFs */ - output( "\tpopl %%fs\n" ); - output( "\tpushl 0x8c(%%edx)\n"); /* SegGs */ - output( "\tpopl %%gs\n" ); - output( "\tmovl 0xb4(%%edx),%%ebp\n"); /* Ebp */ - output( "\tmovl 0xa0(%%edx),%%esi\n"); /* Esi */ - output( "\tmovl 0x9c(%%edx),%%edi\n"); /* Edi */ - output( "\tmovl 0xb0(%%edx),%%eax\n"); /* Eax */ - output( "\tmovl 0xa4(%%edx),%%ebx\n"); /* Ebx */ - output( "\tmovl 0xac(%%edx),%%ecx\n"); /* Ecx */ - output( "\tmovl 0xa8(%%edx),%%edx\n"); /* Edx */ - - /* Get the 16-bit ds */ - output( "\tpopw %%ds\n" ); - } - else /* not a register function */ - { - /* Push the called routine address */ - output( "\tpushl 0x28(%%edx)\n"); /* FIELD_OFFSET(STACK32FRAME,target) */ - - /* Set %fs and %gs to the value saved by the last CallFrom16 */ - output( "\tpushw -22(%%ebp)\n" ); /* FIELD_OFFSET(STACK16FRAME,fs)-FIELD_OFFSET(STACK16FRAME,bp) */ - output( "\tpopw %%fs\n" ); - output( "\tpushw -20(%%ebp)\n" ); /* FIELD_OFFSET(STACK16FRAME,gs)-FIELD_OFFSET(STACK16FRAME,bp) */ - output( "\tpopw %%gs\n" ); - - /* Set %ds and %es (and %ax just in case) equal to %ss */ - output( "\tmovw %%ss,%%ax\n" ); - output( "\tmovw %%ax,%%ds\n" ); - output( "\tmovw %%ax,%%es\n" ); - } - - /* Jump to the called routine */ - output( "\t.byte 0x66\n" ); - output( "\tlret\n" ); - - /* Function footer */ - output_function_size( name ); -} - - -/******************************************************************* - * BuildRet16Func - * - * Build the return code for 16-bit callbacks - */ -static void BuildRet16Func(void) -{ - function_header( "__wine_call_to_16_ret" ); - - /* Save %esp into %esi */ - output( "\tmovl %%esp,%%esi\n" ); - - /* Restore 32-bit segment registers */ - - output( "\t.byte 0x2e\n\tmovl %s", asm_name("CallTo16_DataSelector") ); - output( "-%s,%%edi\n", asm_name("__wine_call16_start") ); - output( "\tmovw %%di,%%ds\n" ); - output( "\tmovw %%di,%%es\n" ); - - output( "\t.byte 0x2e\n\tmov %s", asm_name("CallTo16_TebSelector") ); - output( "-%s,%%fs\n", asm_name("__wine_call16_start") ); - - output( "\t.byte 0x64\n\tmov (%d),%%gs\n", GS_OFFSET ); - - /* Restore the 32-bit stack */ - - output( "\tmovw %%di,%%ss\n" ); - output( "\t.byte 0x64\n\tmovl (%d),%%esp\n", STACKOFFSET ); - - /* Return to caller */ - - output( "\tlret\n" ); - output_function_size( "__wine_call_to_16_ret" ); -} - - -/******************************************************************* - * BuildCallTo32CBClient - * - * Call a CBClient relay stub from 32-bit code (KERNEL.620). - * - * Since the relay stub is itself 32-bit, this should not be a problem; - * unfortunately, the relay stubs are expected to switch back to a - * 16-bit stack (and 16-bit code) after completion :-( - * - * This would conflict with our 16- vs. 32-bit stack handling, so - * we simply switch *back* to our 32-bit stack before returning to - * the caller ... - * - * The CBClient relay stub expects to be called with the following - * 16-bit stack layout, and with ebp and ebx pointing into the 16-bit - * stack at the designated places: - * - * ... - * (ebp+14) original arguments to the callback routine - * (ebp+10) far return address to original caller - * (ebp+6) Thunklet target address - * (ebp+2) Thunklet relay ID code - * (ebp) BP (saved by CBClientGlueSL) - * (ebp-2) SI (saved by CBClientGlueSL) - * (ebp-4) DI (saved by CBClientGlueSL) - * (ebp-6) DS (saved by CBClientGlueSL) - * - * ... buffer space used by the 16-bit side glue for temp copies - * - * (ebx+4) far return address to 16-bit side glue code - * (ebx) saved 16-bit ss:sp (pointing to ebx+4) - * - * The 32-bit side glue code accesses both the original arguments (via ebp) - * and the temporary copies prepared by the 16-bit side glue (via ebx). - * After completion, the stub will load ss:sp from the buffer at ebx - * and perform a far return to 16-bit code. - * - * To trick the relay stub into returning to us, we replace the 16-bit - * return address to the glue code by a cs:ip pair pointing to our - * return entry point (the original return address is saved first). - * Our return stub thus called will then reload the 32-bit ss:esp and - * return to 32-bit code (by using and ss:esp value that we have also - * pushed onto the 16-bit stack before and a cs:eip values found at - * that position on the 32-bit stack). The ss:esp to be restored is - * found relative to the 16-bit stack pointer at: - * - * (ebx-4) ss (flat) - * (ebx-8) sp (32-bit stack pointer) - * - * The second variant of this routine, CALL32_CBClientEx, which is used - * to implement KERNEL.621, has to cope with yet another problem: Here, - * the 32-bit side directly returns to the caller of the CBClient thunklet, - * restoring registers saved by CBClientGlueSL and cleaning up the stack. - * As we have to return to our 32-bit code first, we have to adapt the - * layout of our temporary area so as to include values for the registers - * that are to be restored, and later (in the implementation of KERNEL.621) - * we *really* restore them. The return stub restores DS, DI, SI, and BP - * from the stack, skips the next 8 bytes (CBClient relay code / target), - * and then performs a lret NN, where NN is the number of arguments to be - * removed. Thus, we prepare our temporary area as follows: - * - * (ebx+22) 16-bit cs (this segment) - * (ebx+20) 16-bit ip ('16-bit' return entry point) - * (ebx+16) 32-bit ss (flat) - * (ebx+12) 32-bit sp (32-bit stack pointer) - * (ebx+10) 16-bit bp (points to ebx+24) - * (ebx+8) 16-bit si (ignored) - * (ebx+6) 16-bit di (ignored) - * (ebx+4) 16-bit ds (we actually use the flat DS here) - * (ebx+2) 16-bit ss (16-bit stack segment) - * (ebx+0) 16-bit sp (points to ebx+4) - * - * Note that we ensure that DS is not changed and remains the flat segment, - * and the 32-bit stack pointer our own return stub needs fits just - * perfectly into the 8 bytes that are skipped by the Windows stub. - * One problem is that we have to determine the number of removed arguments, - * as these have to be really removed in KERNEL.621. Thus, the BP value - * that we place in the temporary area to be restored, contains the value - * that SP would have if no arguments were removed. By comparing the actual - * value of SP with this value in our return stub we can compute the number - * of removed arguments. This is then returned to KERNEL.621. - * - * The stack layout of this function: - * (ebp+20) nArgs pointer to variable receiving nr. of args (Ex only) - * (ebp+16) esi pointer to caller's esi value - * (ebp+12) arg ebp value to be set for relay stub - * (ebp+8) func CBClient relay stub address - * (ebp+4) ret addr - * (ebp) ebp - */ -static void BuildCallTo32CBClient( int isEx ) -{ - function_header( isEx ? "CALL32_CBClientEx" : "CALL32_CBClient" ); - - /* Entry code */ - - output( "\tpushl %%ebp\n" ); - output( "\tmovl %%esp,%%ebp\n" ); - output( "\tpushl %%edi\n" ); - output( "\tpushl %%esi\n" ); - output( "\tpushl %%ebx\n" ); - - /* Get pointer to temporary area and save the 32-bit stack pointer */ - - output( "\tmovl 16(%%ebp), %%ebx\n" ); - output( "\tleal -8(%%esp), %%eax\n" ); - - if ( !isEx ) - output( "\tmovl %%eax, -8(%%ebx)\n" ); - else - output( "\tmovl %%eax, 12(%%ebx)\n" ); - - /* Set up registers and call CBClient relay stub (simulating a far call) */ - - output( "\tmovl 20(%%ebp), %%esi\n" ); - output( "\tmovl (%%esi), %%esi\n" ); - - output( "\tmovl 8(%%ebp), %%eax\n" ); - output( "\tmovl 12(%%ebp), %%ebp\n" ); - - output( "\tpushl %%cs\n" ); - output( "\tcall *%%eax\n" ); - - /* Return new esi value to caller */ - - output( "\tmovl 32(%%esp), %%edi\n" ); - output( "\tmovl %%esi, (%%edi)\n" ); - - /* Return argument size to caller */ - if ( isEx ) - { - output( "\tmovl 36(%%esp), %%ebx\n" ); - output( "\tmovl %%ebp, (%%ebx)\n" ); - } - - /* Restore registers and return */ - - output( "\tpopl %%ebx\n" ); - output( "\tpopl %%esi\n" ); - output( "\tpopl %%edi\n" ); - output( "\tpopl %%ebp\n" ); - output( "\tret\n" ); - output_function_size( isEx ? "CALL32_CBClientEx" : "CALL32_CBClient" ); - - /* '16-bit' return stub */ - - function_header( isEx ? "CALL32_CBClientEx_Ret" : "CALL32_CBClient_Ret" ); - if ( !isEx ) - { - output( "\tmovzwl %%sp, %%ebx\n" ); - output( "\tlssl %%ss:-16(%%ebx), %%esp\n" ); - } - else - { - output( "\tmovzwl %%bp, %%ebx\n" ); - output( "\tsubw %%bp, %%sp\n" ); - output( "\tmovzwl %%sp, %%ebp\n" ); - output( "\tlssl %%ss:-12(%%ebx), %%esp\n" ); - } - output( "\tlret\n" ); - output_function_size( isEx ? "CALL32_CBClientEx_Ret" : "CALL32_CBClient_Ret" ); -} - - -/******************************************************************* - * BuildCallFrom32Regs - * - * Build a 32-bit-to-Wine call-back function for a 'register' function. - * 'args' is the number of dword arguments. - * - * Stack layout: - * ... - * (ebp+20) first arg - * (ebp+16) ret addr to user code - * (ebp+12) func to call (relative to relay code ret addr) - * (ebp+8) number of args - * (ebp+4) ret addr to relay code - * (ebp+0) saved ebp - * (ebp-128) buffer area to allow stack frame manipulation - * (ebp-332) CONTEXT86 struct - * (ebp-336) padding for stack alignment - * (ebp-336-n) CONTEXT86 *argument - * .... other arguments copied from (ebp+12) - * - * The entry point routine is called with a CONTEXT* extra argument, - * following the normal args. In this context structure, EIP_reg - * contains the return address to user code, and ESP_reg the stack - * pointer on return (with the return address and arguments already - * removed). - */ -static void BuildCallFrom32Regs(void) -{ - static const int STACK_SPACE = 128 + 0x2cc /* sizeof(CONTEXT86) */; - - /* Function header */ - - function_header( "__wine_call_from_32_regs" ); - - /* Allocate some buffer space on the stack */ - - output( "\tpushl %%ebp\n" ); - output( "\tmovl %%esp,%%ebp\n "); - output( "\tleal -%d(%%esp),%%esp\n", STACK_SPACE ); - - /* Build the context structure */ - - output( "\tmovl %%eax,0xb0(%%esp)\n" ); /* Eax */ - output( "\tpushfl\n" ); - output( "\tpopl %%eax\n" ); - output( "\tmovl %%eax,0xc0(%%esp)\n"); /* EFlags */ - output( "\tmovl 0(%%ebp),%%eax\n" ); - output( "\tmovl %%eax,0xb4(%%esp)\n"); /* Ebp */ - output( "\tmovl %%ebx,0xa4(%%esp)\n"); /* Ebx */ - output( "\tmovl %%ecx,0xac(%%esp)\n"); /* Ecx */ - output( "\tmovl %%edx,0xa8(%%esp)\n"); /* Edx */ - output( "\tmovl %%esi,0xa0(%%esp)\n"); /* Esi */ - output( "\tmovl %%edi,0x9c(%%esp)\n"); /* Edi */ - - output( "\txorl %%eax,%%eax\n" ); - output( "\tmovw %%cs,%%ax\n" ); - output( "\tmovl %%eax,0xbc(%%esp)\n"); /* SegCs */ - output( "\tmovw %%es,%%ax\n" ); - output( "\tmovl %%eax,0x94(%%esp)\n"); /* SegEs */ - output( "\tmovw %%fs,%%ax\n" ); - output( "\tmovl %%eax,0x90(%%esp)\n"); /* SegFs */ - output( "\tmovw %%gs,%%ax\n" ); - output( "\tmovl %%eax,0x8c(%%esp)\n"); /* SegGs */ - output( "\tmovw %%ss,%%ax\n" ); - output( "\tmovl %%eax,0xc8(%%esp)\n"); /* SegSs */ - output( "\tmovw %%ds,%%ax\n" ); - output( "\tmovl %%eax,0x98(%%esp)\n"); /* SegDs */ - output( "\tmovw %%ax,%%es\n" ); /* set %es equal to %ds just in case */ - - output( "\tmovl $0x10007,0(%%esp)\n"); /* ContextFlags */ - - output( "\tmovl 16(%%ebp),%%eax\n" ); /* Get %eip at time of call */ - output( "\tmovl %%eax,0xb8(%%esp)\n"); /* Eip */ - - /* Transfer the arguments */ - - output( "\tmovl 8(%%ebp),%%ecx\n" ); /* fetch number of args to copy */ - output( "\tleal 4(,%%ecx,4),%%edx\n" ); /* add 4 for context arg */ - output( "\tsubl %%edx,%%esp\n" ); - output( "\tandl $~15,%%esp\n" ); - output( "\tleal 20(%%ebp),%%esi\n" ); /* get %esp at time of call */ - output( "\tmovl %%esp,%%edi\n" ); - output( "\ttest %%ecx,%%ecx\n" ); - output( "\tjz 1f\n" ); - output( "\tcld\n" ); - output( "\trep\n\tmovsl\n" ); /* copy args */ - output( "1:\tleal %d(%%ebp),%%eax\n", -STACK_SPACE ); /* get addr of context struct */ - output( "\tmovl %%eax,(%%edi)\n" ); /* and pass it as extra arg */ - output( "\tmovl %%esi,%d(%%ebp)\n", 0xc4 /* Esp */ - STACK_SPACE ); - - /* Call the entry point */ - - output( "\tmovl 4(%%ebp),%%eax\n" ); /* get relay code addr */ - output( "\taddl 12(%%ebp),%%eax\n" ); - output( "\tcall *%%eax\n" ); - output( "\tleal -%d(%%ebp),%%ecx\n", STACK_SPACE ); - - /* Restore the context structure */ - - output( "2:\tpushl 0x94(%%ecx)\n"); /* SegEs */ - output( "\tpopl %%es\n" ); - output( "\tpushl 0x90(%%ecx)\n"); /* SegFs */ - output( "\tpopl %%fs\n" ); - output( "\tpushl 0x8c(%%ecx)\n"); /* SegGs */ - output( "\tpopl %%gs\n" ); - - output( "\tmovl 0x9c(%%ecx),%%edi\n"); /* Edi */ - output( "\tmovl 0xa0(%%ecx),%%esi\n"); /* Esi */ - output( "\tmovl 0xa8(%%ecx),%%edx\n"); /* Edx */ - output( "\tmovl 0xa4(%%ecx),%%ebx\n"); /* Ebx */ - output( "\tmovl 0xb0(%%ecx),%%eax\n"); /* Eax */ - output( "\tmovl 0xb4(%%ecx),%%ebp\n"); /* Ebp */ - - output( "\tpushl 0xc8(%%ecx)\n"); /* SegSs */ - output( "\tpopl %%ss\n" ); - output( "\tmovl 0xc4(%%ecx),%%esp\n"); /* Esp */ - - output( "\tpushl 0xc0(%%ecx)\n"); /* EFlags */ - output( "\tpushl 0xbc(%%ecx)\n"); /* SegCs */ - output( "\tpushl 0xb8(%%ecx)\n"); /* Eip */ - output( "\tpushl 0x98(%%ecx)\n"); /* SegDs */ - output( "\tmovl 0xac(%%ecx),%%ecx\n"); /* Ecx */ - - output( "\tpopl %%ds\n" ); - output( "\tiret\n" ); - output_function_size( "__wine_call_from_32_regs" ); - - function_header( "__wine_call_from_32_restore_regs" ); - output( "\tmovl 4(%%esp),%%ecx\n" ); - output( "\tjmp 2b\n" ); - output_function_size( "__wine_call_from_32_restore_regs" ); -} - - -/******************************************************************* - * BuildPendingEventCheck - * - * Build a function that checks whether there are any - * pending DPMI events. - * - * Stack layout: - * - * (sp+12) long eflags - * (sp+6) long cs - * (sp+2) long ip - * (sp) word fs - * - * On entry to function, fs register points to a valid TEB. - * On exit from function, stack will be popped. - */ -static void BuildPendingEventCheck(void) -{ - /* Function header */ - - function_header( "DPMI_PendingEventCheck" ); - - /* Check for pending events. */ - - output( "\t.byte 0x64\n\ttestl $0xffffffff,(%d)\n", VM86_PENDING_OFFSET ); - output( "\tje %s\n", asm_name("DPMI_PendingEventCheck_Cleanup") ); - output( "\t.byte 0x64\n\ttestl $0xffffffff,(%d)\n", DPMI_VIF_OFFSET ); - output( "\tje %s\n", asm_name("DPMI_PendingEventCheck_Cleanup") ); - - /* Process pending events. */ - - output( "\tsti\n" ); - - /* Start cleanup. Restore fs register. */ - - output( "%s\n", asm_globl("DPMI_PendingEventCheck_Cleanup") ); - output( "\tpopw %%fs\n" ); - - /* Return from function. */ - - output( "%s\n", asm_globl("DPMI_PendingEventCheck_Return") ); - output( "\tiret\n" ); - - output_function_size( "DPMI_PendingEventCheck" ); -} - - -/******************************************************************* - * BuildRelays16 - * - * Build all the 16-bit relay callbacks - */ -void BuildRelays16(void) -{ - if (target_cpu != CPU_x86) - { - output( "/* File not used with this architecture. Do not edit! */\n\n" ); - return; - } - - /* File header */ - - output( "/* File generated automatically. Do not edit! */\n\n" ); - output( "\t.text\n" ); - - output( "%s:\n\n", asm_name("__wine_spec_thunk_text_16") ); - - output( "%s\n", asm_globl("__wine_call16_start") ); - - /* Standard CallFrom16 routine */ - BuildCallFrom16Core( 0, 0 ); - - /* Register CallFrom16 routine */ - BuildCallFrom16Core( 1, 0 ); - - /* C16ThkSL CallFrom16 routine */ - BuildCallFrom16Core( 0, 1 ); - - /* Standard CallTo16 routine */ - BuildCallTo16Core( 0 ); - - /* Register CallTo16 routine */ - BuildCallTo16Core( 1 ); - - /* Standard CallTo16 return stub */ - BuildRet16Func(); - - /* CBClientThunkSL routine */ - BuildCallTo32CBClient( 0 ); - - /* CBClientThunkSLEx routine */ - BuildCallTo32CBClient( 1 ); - - /* Pending DPMI events check stub */ - BuildPendingEventCheck(); - - output( "%s\n", asm_globl("__wine_call16_end") ); - output_function_size( "__wine_spec_thunk_text_16" ); - - /* Declare the return address and data selector variables */ - output( "\n\t.data\n\t.align %d\n", get_alignment(4) ); - output( "%s\n\t.long 0\n", asm_globl("CallTo16_DataSelector") ); - output( "%s\n\t.long 0\n", asm_globl("CallTo16_TebSelector") ); - if (UsePIC) output( "wine_ldt_copy_ptr:\t.long %s\n", asm_name("wine_ldt_copy") ); - - output( "\t.text\n" ); - output( "%s:\n\n", asm_name("__wine_spec_thunk_text_32") ); - BuildCallFrom32Regs(); - output_function_size( "__wine_spec_thunk_text_32" ); - - output_gnu_stack_note(); -} - - -/******************************************************************* - * build_call_from_regs_x86_64 - * - * Build the register saving code for a 'register' entry point. - * - * Stack layout: - * ... - * (rsp+16) first arg - * (rsp+8) ret addr to user code - * (rsp) ret addr to relay code - * (rsp-128) buffer area to allow stack frame manipulation - * - * Parameters: - * %rcx number of args - * %rdx entry point - */ -static void build_call_from_regs_x86_64(void) -{ - static const int STACK_SPACE = 128 + 0x4d0; /* size of x86_64 context */ - int i; - - /* Function header */ - - function_header( "__wine_call_from_regs" ); - - output( "\t.cfi_startproc\n" ); - output( "\tsubq $%u,%%rsp\n", STACK_SPACE ); - output( "\t.cfi_adjust_cfa_offset %u\n", STACK_SPACE ); - - /* save registers into the context */ - - output( "\tmovq %%rax,0x78(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%rax,0x78\n" ); - output( "\tmovq %u(%%rsp),%%rax\n", STACK_SPACE + 16 ); /* saved %rcx on stack */ - output( "\tmovq %%rax,0x80(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%rcx,0x80\n" ); - output( "\tmovq %u(%%rsp),%%rax\n", STACK_SPACE + 24 ); /* saved %rdx on stack */ - output( "\t.cfi_rel_offset %%rdx,0x88\n" ); - output( "\tmovq %%rax,0x88(%%rsp)\n" ); - output( "\tmovq %%rbx,0x90(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%rbx,0x90\n" ); - output( "\tleaq %u(%%rsp),%%rax\n", STACK_SPACE + 16 ); - output( "\tmovq %%rax,0x98(%%rsp)\n" ); - output( "\tmovq %%rbp,0xa0(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%rbp,0xa0\n" ); - output( "\tmovq %%rsi,0xa8(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%rsi,0xa8\n" ); - output( "\tmovq %%rdi,0xb0(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%rdi,0xb0\n" ); - output( "\tmovq %%r8,0xb8(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r8,0xb8\n" ); - output( "\tmovq %%r9,0xc0(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r9,0xc0\n" ); - output( "\tmovq %%r10,0xc8(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r10,0xc8\n" ); - output( "\tmovq %%r11,0xd0(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r11,0xd0\n" ); - output( "\tmovq %%r12,0xd8(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r12,0xd8\n" ); - output( "\tmovq %%r13,0xe0(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r13,0xe0\n" ); - output( "\tmovq %%r14,0xe8(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r14,0xe8\n" ); - output( "\tmovq %%r15,0xf0(%%rsp)\n" ); - output( "\t.cfi_rel_offset %%r15,0xf0\n" ); - output( "\tmovq %u(%%rsp),%%rax\n", STACK_SPACE + 8 ); - output( "\tmovq %%rax,0xf8(%%rsp)\n" ); - - output( "\tstmxcsr 0x34(%%rsp)\n" ); - output( "\tfxsave 0x100(%%rsp)\n" ); - for (i = 0; i < 16; i++) - { - output( "\tmovdqa %%xmm%u,0x%x(%%rsp)\n", i, 0x1a0 + 16 * i ); - output( "\t.cfi_rel_offset %%xmm%u,0x%x\n", i, 0x1a0 + 16 * i ); - } - - output( "\tmovw %%cs,0x38(%%rsp)\n" ); - output( "\tmovw %%ds,0x3a(%%rsp)\n" ); - output( "\tmovw %%es,0x3c(%%rsp)\n" ); - output( "\tmovw %%fs,0x3e(%%rsp)\n" ); - output( "\tmovw %%gs,0x40(%%rsp)\n" ); - output( "\tmovw %%ss,0x42(%%rsp)\n" ); - output( "\tpushfq\n" ); - output( "\tpopq %%rax\n" ); - output( "\tmovl %%eax,0x44(%%rsp)\n" ); - - output( "\tmovl $0x%x,0x30(%%rsp)\n", 0x0010000f ); - - /* transfer the arguments */ - - output( "\tmovq %%r8,%u(%%rsp)\n", STACK_SPACE + 32 ); - output( "\tmovq %%r9,%u(%%rsp)\n", STACK_SPACE + 40 ); - output( "\tmovq $4,%%rax\n" ); - output( "\tleaq %u(%%rsp),%%rsi\n", STACK_SPACE + 16 ); - output( "\tcmpq %%rax,%%rcx\n" ); - output( "\tcmovgq %%rcx,%%rax\n" ); - output( "\tmovq %%rsp,%%rbx\n" ); - output( "\t.cfi_def_cfa_register %%rbx\n" ); - output( "\tleaq 16(,%%rax,8),%%rax\n" ); /* add 8 for context arg and 8 for rounding */ - output( "\tandq $~15,%%rax\n" ); - output( "\tsubq %%rax,%%rsp\n" ); - output( "\tmovq %%rsp,%%rdi\n" ); - output( "\tjrcxz 1f\n" ); - output( "\tcld\n" ); - output( "\trep\n\tmovsq\n" ); - output( "1:\tmovq %%rbx,0(%%rdi)\n" ); /* context arg */ - - /* call the entry point */ - - output( "\tmovq %%rdx,%%rax\n" ); - output( "\tmovq 0(%%rsp),%%rcx\n" ); - output( "\tmovq 8(%%rsp),%%rdx\n" ); - output( "\tmovq 16(%%rsp),%%r8\n" ); - output( "\tmovq 24(%%rsp),%%r9\n" ); - output( "\tcallq *%%rax\n" ); - - /* restore the context structure */ - - output( "1:\tmovq 0x80(%%rbx),%%rcx\n" ); - output( "\t.cfi_same_value %%rcx\n" ); - output( "\tmovq 0x88(%%rbx),%%rdx\n" ); - output( "\t.cfi_same_value %%rdx\n" ); - output( "\tmovq 0xa0(%%rbx),%%rbp\n" ); - output( "\t.cfi_same_value %%rbp\n" ); - output( "\tmovq 0xa8(%%rbx),%%rsi\n" ); - output( "\t.cfi_same_value %%rsi\n" ); - output( "\tmovq 0xb0(%%rbx),%%rdi\n" ); - output( "\t.cfi_same_value %%rdi\n" ); - output( "\tmovq 0xb8(%%rbx),%%r8\n" ); - output( "\t.cfi_same_value %%r8\n" ); - output( "\tmovq 0xc0(%%rbx),%%r9\n" ); - output( "\t.cfi_same_value %%r9\n" ); - output( "\tmovq 0xc8(%%rbx),%%r10\n" ); - output( "\t.cfi_same_value %%r10\n" ); - output( "\tmovq 0xd0(%%rbx),%%r11\n" ); - output( "\t.cfi_same_value %%r11\n" ); - output( "\tmovq 0xd8(%%rbx),%%r12\n" ); - output( "\t.cfi_same_value %%r12\n" ); - output( "\tmovq 0xe0(%%rbx),%%r13\n" ); - output( "\t.cfi_same_value %%r13\n" ); - output( "\tmovq 0xe8(%%rbx),%%r14\n" ); - output( "\t.cfi_same_value %%r14\n" ); - output( "\tmovq 0xf0(%%rbx),%%r15\n" ); - output( "\t.cfi_same_value %%r15\n" ); - - for (i = 0; i < 16; i++) - { - output( "\tmovdqa 0x%x(%%rbx),%%xmm%u\n", 0x1a0 + 16 * i, i ); - output( "\t.cfi_same_value %%xmm%u\n", i ); - } - output( "\tfxrstor 0x100(%%rbx)\n" ); - output( "\tldmxcsr 0x34(%%rbx)\n" ); - - output( "\tmovq 0xf8(%%rbx),%%rax\n" ); /* rip */ - output( "\tmovq %%rax,0(%%rsp)\n" ); - output( "\tmovw 0x38(%%rbx),%%ax\n" ); /* cs */ - output( "\tmovq %%rax,0x8(%%rsp)\n" ); - output( "\tmovl 0x44(%%rbx),%%eax\n" ); /* flags */ - output( "\tmovq %%rax,0x10(%%rsp)\n" ); - output( "\tmovq 0x98(%%rbx),%%rax\n" ); /* rsp */ - output( "\tmovq %%rax,0x18(%%rsp)\n" ); - output( "\tmovw 0x42(%%rbx),%%ax\n" ); /* ss */ - output( "\tmovq %%rax,0x20(%%rsp)\n" ); - output( "\tmovq 0x78(%%rbx),%%rax\n" ); - output( "\tmovq 0x90(%%rbx),%%rbx\n" ); - output( "\tiretq\n" ); - output( "\t.cfi_endproc\n" ); - - output_function_size( "__wine_call_from_regs" ); - - function_header( "__wine_restore_regs" ); - output( "\t.cfi_startproc\n" ); - output( "\tmovq %%rcx,%%rbx\n" ); - output( "\tjmp 1b\n" ); - output( "\t.cfi_endproc\n" ); - output_function_size( "__wine_restore_regs" ); -} - - -/******************************************************************* - * BuildRelays32 - * - * Build all the 32-bit relay callbacks - */ -void BuildRelays32(void) -{ - switch (target_cpu) - { - case CPU_x86: - output( "/* File generated automatically. Do not edit! */\n\n" ); - output( "\t.text\n" ); - output( "%s:\n\n", asm_name("__wine_spec_thunk_text_32") ); - - /* 32-bit register entry point */ - BuildCallFrom32Regs(); - - output_function_size( "__wine_spec_thunk_text_32" ); - output_gnu_stack_note(); - break; - - case CPU_x86_64: - output( "/* File generated automatically. Do not edit! */\n\n" ); - output( "\t.text\n" ); - build_call_from_regs_x86_64(); - output_gnu_stack_note(); - break; - - default: - output( "/* File not used with this architecture. Do not edit! */\n\n" ); - return; - } -} diff --git a/reactos/tools/winebuild/res16.c b/reactos/tools/winebuild/res16.c deleted file mode 100644 index 4a6dddd24db..00000000000 --- a/reactos/tools/winebuild/res16.c +++ /dev/null @@ -1,334 +0,0 @@ -/* - * Builtin dlls resource support - * - * Copyright 2000 Alexandre Julliard - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#include - -#include "build.h" - -/* Unicode string or integer id */ -struct string_id -{ - char *str; /* ptr to string */ - unsigned short id; /* integer id if str is NULL */ -}; - -/* descriptor for a resource */ -struct resource -{ - struct string_id type; - struct string_id name; - const void *data; - unsigned int name_offset; - unsigned int data_size; - unsigned int memopt; -}; - -/* type level of the resource tree */ -struct res_type -{ - const struct string_id *type; /* type name */ - struct resource *res; /* first resource of this type */ - unsigned int name_offset; /* name offset if string */ - unsigned int nb_names; /* total number of names */ -}; - -/* top level of the resource tree */ -struct res_tree -{ - struct res_type *types; /* types array */ - unsigned int nb_types; /* total number of types */ -}; - - -static inline struct resource *add_resource( DLLSPEC *spec ) -{ - spec->resources = xrealloc( spec->resources, (spec->nb_resources + 1) * sizeof(*spec->resources) ); - return &spec->resources[spec->nb_resources++]; -} - -static struct res_type *add_type( struct res_tree *tree, struct resource *res ) -{ - struct res_type *type; - tree->types = xrealloc( tree->types, (tree->nb_types + 1) * sizeof(*tree->types) ); - type = &tree->types[tree->nb_types++]; - type->type = &res->type; - type->res = res; - type->nb_names = 0; - return type; -} - -/* get a string from the current resource file */ -static void get_string( struct string_id *str ) -{ - unsigned char c = get_byte(); - - if (c == 0xff) - { - str->str = NULL; - str->id = get_word(); - } - else - { - str->str = (char *)input_buffer + input_buffer_pos - 1; - str->id = 0; - while (get_byte()) /* nothing */; - } -} - -/* load the next resource from the current file */ -static void load_next_resource( DLLSPEC *spec ) -{ - struct resource *res = add_resource( spec ); - - get_string( &res->type ); - get_string( &res->name ); - res->memopt = get_word(); - res->data_size = get_dword(); - res->data = input_buffer + input_buffer_pos; - input_buffer_pos += res->data_size; - if (input_buffer_pos > input_buffer_size) - fatal_error( "%s is a truncated/corrupted file\n", input_buffer_filename ); -} - -/* load a Win16 .res file */ -void load_res16_file( const char *name, DLLSPEC *spec ) -{ - init_input_buffer( name ); - while (input_buffer_pos < input_buffer_size) load_next_resource( spec ); -} - -/* compare two strings/ids */ -static int cmp_string( const struct string_id *str1, const struct string_id *str2 ) -{ - if (!str1->str) - { - if (!str2->str) return str1->id - str2->id; - return 1; /* an id compares larger than a string */ - } - if (!str2->str) return -1; - return strcasecmp( str1->str, str2->str ); -} - -/* compare two resources for sorting the resource directory */ -/* resources are stored first by type, then by name */ -static int cmp_res( const void *ptr1, const void *ptr2 ) -{ - const struct resource *res1 = ptr1; - const struct resource *res2 = ptr2; - int ret; - - if ((ret = cmp_string( &res1->type, &res2->type ))) return ret; - return cmp_string( &res1->name, &res2->name ); -} - -/* build the 2-level (type,name) resource tree */ -static struct res_tree *build_resource_tree( DLLSPEC *spec ) -{ - unsigned int i, j, offset; - struct res_tree *tree; - struct res_type *type = NULL; - struct resource *res; - - qsort( spec->resources, spec->nb_resources, sizeof(*spec->resources), cmp_res ); - - offset = 2; /* alignment */ - tree = xmalloc( sizeof(*tree) ); - tree->types = NULL; - tree->nb_types = 0; - - for (i = 0; i < spec->nb_resources; i++) - { - if (!i || cmp_string( &spec->resources[i].type, &spec->resources[i-1].type )) /* new type */ - { - type = add_type( tree, &spec->resources[i] ); - offset += 8; - } - type->nb_names++; - offset += 12; - } - offset += 2; /* terminator */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - if (type->type->str) - { - type->name_offset = offset; - offset += strlen(type->type->str) + 1; - } - else type->name_offset = type->type->id | 0x8000; - - for (j = 0, res = type->res; j < type->nb_names; j++, res++) - { - if (res->name.str) - { - res->name_offset = offset; - offset += strlen(res->name.str) + 1; - } - else res->name_offset = res->name.id | 0x8000; - } - } - return tree; -} - -/* free the resource tree */ -static void free_resource_tree( struct res_tree *tree ) -{ - free( tree->types ); - free( tree ); -} - -/* output a string preceded by its length */ -static void output_string( const char *str ) -{ - unsigned int i, len = strlen(str); - output( "\t.byte 0x%02x", len ); - for (i = 0; i < len; i++) output( ",0x%02x", (unsigned char)str[i] ); - output( " /* %s */\n", str ); -} - -/* output a string preceded by its length in binary format*/ -static void output_bin_string( const char *str ) -{ - put_byte( strlen(str) ); - while (*str) put_byte( *str++ ); -} - -/* output the resource data */ -void output_res16_data( DLLSPEC *spec ) -{ - const struct resource *res; - unsigned int i; - - for (i = 0, res = spec->resources; i < spec->nb_resources; i++, res++) - { - output( ".L__wine_spec_resource_%u:\n", i ); - dump_bytes( res->data, res->data_size ); - } -} - -/* output the resource definitions */ -void output_res16_directory( DLLSPEC *spec ) -{ - unsigned int i, j; - struct res_tree *tree; - const struct res_type *type; - const struct resource *res; - - tree = build_resource_tree( spec ); - - output( "\n.L__wine_spec_ne_rsrctab:\n" ); - output( "\t%s 0\n", get_asm_short_keyword() ); /* alignment */ - - /* type and name structures */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - output( "\t%s 0x%04x,%u,0,0\n", get_asm_short_keyword(), type->name_offset, type->nb_names ); - - for (j = 0, res = type->res; j < type->nb_names; j++, res++) - { - output( "\t%s .L__wine_spec_resource_%lu-.L__wine_spec_dos_header,%u\n", - get_asm_short_keyword(), (unsigned long)(res - spec->resources), res->data_size ); - output( "\t%s 0x%04x,0x%04x,0,0\n", get_asm_short_keyword(), res->memopt, res->name_offset ); - } - } - output( "\t%s 0\n", get_asm_short_keyword() ); /* terminator */ - - /* name strings */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - if (type->type->str) output_string( type->type->str ); - for (j = 0, res = type->res; j < type->nb_names; j++, res++) - if (res->name.str) output_string( res->name.str ); - } - output( "\t.byte 0\n" ); /* names terminator */ - - free_resource_tree( tree ); -} - -/* output the resource data in binary format */ -void output_bin_res16_data( DLLSPEC *spec ) -{ - const struct resource *res; - unsigned int i; - - for (i = 0, res = spec->resources; i < spec->nb_resources; i++, res++) - put_data( res->data, res->data_size ); -} - -/* output the resource definitions in binary format */ -void output_bin_res16_directory( DLLSPEC *spec, unsigned int data_offset ) -{ - unsigned int i, j; - struct res_tree *tree; - const struct res_type *type; - const struct resource *res; - - tree = build_resource_tree( spec ); - - put_word( 0 ); /* alignment */ - - /* type and name structures */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - put_word( type->name_offset ); - put_word( type->nb_names ); - put_word( 0 ); - put_word( 0 ); - - for (j = 0, res = type->res; j < type->nb_names; j++, res++) - { - put_word( data_offset ); - put_word( res->data_size ); - put_word( res->memopt ); - put_word( res->name_offset ); - put_word( 0 ); - put_word( 0 ); - data_offset += res->data_size; - } - } - put_word( 0 ); /* terminator */ - - /* name strings */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - if (type->type->str) output_bin_string( type->type->str ); - for (j = 0, res = type->res; j < type->nb_names; j++, res++) - if (res->name.str) output_bin_string( res->name.str ); - } - put_byte( 0 ); /* names terminator */ - - free_resource_tree( tree ); -} diff --git a/reactos/tools/winebuild/res32.c b/reactos/tools/winebuild/res32.c deleted file mode 100644 index ecda0b874ea..00000000000 --- a/reactos/tools/winebuild/res32.c +++ /dev/null @@ -1,666 +0,0 @@ -/* - * Builtin dlls resource support - * - * Copyright 2000 Alexandre Julliard - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#include - -#include "build.h" - -typedef unsigned short WCHAR; -typedef unsigned short WORD; -typedef unsigned int DWORD; - -/* Unicode string or integer id */ -struct string_id -{ - WCHAR *str; /* ptr to Unicode string */ - WORD id; /* integer id if str is NULL */ -}; - -/* descriptor for a resource */ -struct resource -{ - struct string_id type; - struct string_id name; - const void *data; - unsigned int data_size; - unsigned int data_offset; - unsigned short mem_options; - unsigned short lang; -}; - -/* name level of the resource tree */ -struct res_name -{ - const struct string_id *name; /* name */ - struct resource *res; /* resource */ - int nb_languages; /* number of languages */ - unsigned int dir_offset; /* offset of directory in resource dir */ - unsigned int name_offset; /* offset of name in resource dir */ -}; - -/* type level of the resource tree */ -struct res_type -{ - const struct string_id *type; /* type name */ - struct res_name *names; /* names array */ - unsigned int nb_names; /* total number of names */ - unsigned int nb_id_names; /* number of names that have a numeric id */ - unsigned int dir_offset; /* offset of directory in resource dir */ - unsigned int name_offset; /* offset of type name in resource dir */ -}; - -/* top level of the resource tree */ -struct res_tree -{ - struct res_type *types; /* types array */ - unsigned int nb_types; /* total number of types */ -}; - -/* size of a resource directory with n entries */ -#define RESOURCE_DIR_SIZE (4 * sizeof(unsigned int)) -#define RESOURCE_DIR_ENTRY_SIZE (2 * sizeof(unsigned int)) -#define RESOURCE_DATA_ENTRY_SIZE (4 * sizeof(unsigned int)) -#define RESDIR_SIZE(n) (RESOURCE_DIR_SIZE + (n) * RESOURCE_DIR_ENTRY_SIZE) - - -static inline struct resource *add_resource( DLLSPEC *spec ) -{ - spec->resources = xrealloc( spec->resources, (spec->nb_resources + 1) * sizeof(spec->resources[0]) ); - return &spec->resources[spec->nb_resources++]; -} - -static inline unsigned int strlenW( const WCHAR *str ) -{ - const WCHAR *s = str; - while (*s) s++; - return s - str; -} - -static inline int strcmpW( const WCHAR *str1, const WCHAR *str2 ) -{ - while (*str1 && (*str1 == *str2)) { str1++; str2++; } - return *str1 - *str2; -} - -static struct res_name *add_name( struct res_type *type, struct resource *res ) -{ - struct res_name *name; - type->names = xrealloc( type->names, (type->nb_names + 1) * sizeof(*type->names) ); - name = &type->names[type->nb_names++]; - name->name = &res->name; - name->res = res; - name->nb_languages = 1; - if (!name->name->str) type->nb_id_names++; - return name; -} - -static struct res_type *add_type( struct res_tree *tree, struct resource *res ) -{ - struct res_type *type; - tree->types = xrealloc( tree->types, (tree->nb_types + 1) * sizeof(*tree->types) ); - type = &tree->types[tree->nb_types++]; - type->type = &res->type; - type->names = NULL; - type->nb_names = 0; - type->nb_id_names = 0; - return type; -} - -/* get a string from the current resource file */ -static void get_string( struct string_id *str ) -{ - WCHAR wc = get_word(); - - if (wc == 0xffff) - { - str->str = NULL; - str->id = get_word(); - } - else - { - WCHAR *p = xmalloc( (strlenW( (const WCHAR *)(input_buffer + input_buffer_pos) - 1) + 1) * sizeof(WCHAR) ); - str->str = p; - str->id = 0; - if ((*p++ = wc)) while ((*p++ = get_word())); - } -} - -/* put a string into the resource file */ -static void put_string( const struct string_id *str ) -{ - if (str->str) - { - const WCHAR *p = str->str; - while (*p) put_word( *p++ ); - put_word( 0 ); - } - else - { - put_word( 0xffff ); - put_word( str->id ); - } -} - -static void dump_res_data( const struct resource *res ) -{ - unsigned int i = 0; - unsigned int size = (res->data_size + 3) & ~3; - - if (!size) return; - - input_buffer = res->data; - input_buffer_pos = 0; - input_buffer_size = size; - - output( "\t.long " ); - while (size > 4) - { - if ((i++ % 16) == 15) output( "0x%08x\n\t.long ", get_dword() ); - else output( "0x%08x,", get_dword() ); - size -= 4; - } - output( "0x%08x\n", get_dword() ); - size -= 4; - assert( input_buffer_pos == input_buffer_size ); -} - -/* check the file header */ -/* all values must be zero except header size */ -static int check_header(void) -{ - DWORD size; - - if (get_dword()) return 0; /* data size */ - size = get_dword(); /* header size */ - if (size == 0x20000000) byte_swapped = 1; - else if (size != 0x20) return 0; - if (get_word() != 0xffff || get_word()) return 0; /* type, must be id 0 */ - if (get_word() != 0xffff || get_word()) return 0; /* name, must be id 0 */ - if (get_dword()) return 0; /* data version */ - if (get_word()) return 0; /* mem options */ - if (get_word()) return 0; /* language */ - if (get_dword()) return 0; /* version */ - if (get_dword()) return 0; /* characteristics */ - return 1; -} - -/* load the next resource from the current file */ -static void load_next_resource( DLLSPEC *spec ) -{ - DWORD hdr_size; - struct resource *res = add_resource( spec ); - - res->data_size = get_dword(); - hdr_size = get_dword(); - if (hdr_size & 3) fatal_error( "%s header size not aligned\n", input_buffer_filename ); - - res->data = input_buffer + input_buffer_pos - 2*sizeof(DWORD) + hdr_size; - get_string( &res->type ); - get_string( &res->name ); - if (input_buffer_pos & 2) get_word(); /* align to dword boundary */ - get_dword(); /* skip data version */ - res->mem_options = get_word(); - res->lang = get_word(); - get_dword(); /* skip version */ - get_dword(); /* skip characteristics */ - - input_buffer_pos = ((const unsigned char *)res->data - input_buffer) + ((res->data_size + 3) & ~3); - input_buffer_pos = (input_buffer_pos + 3) & ~3; - if (input_buffer_pos > input_buffer_size) - fatal_error( "%s is a truncated file\n", input_buffer_filename ); -} - -/* load a Win32 .res file */ -int load_res32_file( const char *name, DLLSPEC *spec ) -{ - int ret; - - init_input_buffer( name ); - - if ((ret = check_header())) - { - while (input_buffer_pos < input_buffer_size) load_next_resource( spec ); - } - return ret; -} - -/* compare two unicode strings/ids */ -static int cmp_string( const struct string_id *str1, const struct string_id *str2 ) -{ - if (!str1->str) - { - if (!str2->str) return str1->id - str2->id; - return 1; /* an id compares larger than a string */ - } - if (!str2->str) return -1; - return strcmpW( str1->str, str2->str ); -} - -/* compare two resources for sorting the resource directory */ -/* resources are stored first by type, then by name, then by language */ -static int cmp_res( const void *ptr1, const void *ptr2 ) -{ - const struct resource *res1 = ptr1; - const struct resource *res2 = ptr2; - int ret; - - if ((ret = cmp_string( &res1->type, &res2->type ))) return ret; - if ((ret = cmp_string( &res1->name, &res2->name ))) return ret; - return res1->lang - res2->lang; -} - -static char *format_res_string( const struct string_id *str ) -{ - int i, len = str->str ? strlenW(str->str) + 1 : 5; - char *ret = xmalloc( len ); - - if (!str->str) sprintf( ret, "%04x", str->id ); - else for (i = 0; i < len; i++) ret[i] = str->str[i]; /* dumb W->A conversion */ - return ret; -} - -/* build the 3-level (type,name,language) resource tree */ -static struct res_tree *build_resource_tree( DLLSPEC *spec, unsigned int *dir_size ) -{ - unsigned int i, k, n, offset, data_offset; - struct res_tree *tree; - struct res_type *type = NULL; - struct res_name *name = NULL; - struct resource *res; - - qsort( spec->resources, spec->nb_resources, sizeof(*spec->resources), cmp_res ); - - tree = xmalloc( sizeof(*tree) ); - tree->types = NULL; - tree->nb_types = 0; - - for (i = 0; i < spec->nb_resources; i++) - { - if (!i || cmp_string( &spec->resources[i].type, &spec->resources[i-1].type )) /* new type */ - { - type = add_type( tree, &spec->resources[i] ); - name = add_name( type, &spec->resources[i] ); - } - else if (cmp_string( &spec->resources[i].name, &spec->resources[i-1].name )) /* new name */ - { - name = add_name( type, &spec->resources[i] ); - } - else if (spec->resources[i].lang == spec->resources[i-1].lang) - { - char *type_str = format_res_string( &spec->resources[i].type ); - char *name_str = format_res_string( &spec->resources[i].name ); - error( "winebuild: duplicate resource type %s name %s language %04x\n", - type_str, name_str, spec->resources[i].lang ); - } - else name->nb_languages++; - } - - /* compute the offsets */ - - offset = RESDIR_SIZE( tree->nb_types ); - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - type->dir_offset = offset; - offset += RESDIR_SIZE( type->nb_names ); - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - { - name->dir_offset = offset; - offset += RESDIR_SIZE( name->nb_languages ); - } - } - data_offset = offset; - offset += spec->nb_resources * RESOURCE_DATA_ENTRY_SIZE; - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - if (type->type->str) - { - type->name_offset = offset | 0x80000000; - offset += (strlenW(type->type->str)+1) * sizeof(WCHAR); - } - else type->name_offset = type->type->id; - - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - { - if (name->name->str) - { - name->name_offset = offset | 0x80000000; - offset += (strlenW(name->name->str)+1) * sizeof(WCHAR); - } - else name->name_offset = name->name->id; - for (k = 0, res = name->res; k < name->nb_languages; k++, res++) - { - unsigned int entry_offset = (res - spec->resources) * RESOURCE_DATA_ENTRY_SIZE; - res->data_offset = data_offset + entry_offset; - } - } - } - if (dir_size) *dir_size = (offset + 3) & ~3; - return tree; -} - -/* free the resource tree */ -static void free_resource_tree( struct res_tree *tree ) -{ - unsigned int i; - - for (i = 0; i < tree->nb_types; i++) free( tree->types[i].names ); - free( tree->types ); - free( tree ); -} - -/* output a Unicode string */ -static void output_string( const WCHAR *name ) -{ - int i, len = strlenW(name); - output( "\t%s 0x%04x", get_asm_short_keyword(), len ); - for (i = 0; i < len; i++) output( ",0x%04x", name[i] ); - output( " /* " ); - for (i = 0; i < len; i++) output( "%c", isprint((char)name[i]) ? (char)name[i] : '?' ); - output( " */\n" ); -} - -/* output a resource directory */ -static inline void output_res_dir( unsigned int nb_names, unsigned int nb_ids ) -{ - output( "\t.long 0\n" ); /* Characteristics */ - output( "\t.long 0\n" ); /* TimeDateStamp */ - output( "\t%s 0,0\n", /* Major/MinorVersion */ - get_asm_short_keyword() ); - output( "\t%s %u,%u\n", /* NumberOfNamed/IdEntries */ - get_asm_short_keyword(), nb_names, nb_ids ); -} - -/* output the resource definitions */ -void output_resources( DLLSPEC *spec ) -{ - int k, nb_id_types; - unsigned int i, n; - struct res_tree *tree; - struct res_type *type; - struct res_name *name; - const struct resource *res; - - if (!spec->nb_resources) return; - - tree = build_resource_tree( spec, NULL ); - - /* output the resource directories */ - - output( "\n/* resources */\n\n" ); - output( "\t.data\n" ); - output( "\t.align %d\n", get_alignment(get_ptr_size()) ); - output( ".L__wine_spec_resources:\n" ); - - for (i = nb_id_types = 0, type = tree->types; i < tree->nb_types; i++, type++) - if (!type->type->str) nb_id_types++; - - output_res_dir( tree->nb_types - nb_id_types, nb_id_types ); - - /* dump the type directory */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - output( "\t.long 0x%08x,0x%08x\n", - type->name_offset, type->dir_offset | 0x80000000 ); - - /* dump the names and languages directories */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - output_res_dir( type->nb_names - type->nb_id_names, type->nb_id_names ); - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - output( "\t.long 0x%08x,0x%08x\n", - name->name_offset, name->dir_offset | 0x80000000 ); - - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - { - output_res_dir( 0, name->nb_languages ); - for (k = 0, res = name->res; k < name->nb_languages; k++, res++) - output( "\t.long 0x%08x,0x%08x\n", res->lang, res->data_offset ); - } - } - - /* dump the resource data entries */ - - for (i = 0, res = spec->resources; i < spec->nb_resources; i++, res++) - output( "\t.long .L__wine_spec_res_%d-.L__wine_spec_rva_base,%u,0,0\n", - i, (res->data_size + 3) & ~3 ); - - /* dump the name strings */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - if (type->type->str) output_string( type->type->str ); - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - if (name->name->str) output_string( name->name->str ); - } - - /* resource data */ - - for (i = 0, res = spec->resources; i < spec->nb_resources; i++, res++) - { - output( "\n\t.align %d\n", get_alignment(get_ptr_size()) ); - output( ".L__wine_spec_res_%d:\n", i ); - dump_res_data( res ); - } - output( ".L__wine_spec_resources_end:\n" ); - output( "\t.byte 0\n" ); - - free_resource_tree( tree ); -} - -/* output a Unicode string in binary format */ -static void output_bin_string( const WCHAR *name ) -{ - int i, len = strlenW(name); - put_word( len ); - for (i = 0; i < len; i++) put_word( name[i] ); -} - -/* output a resource directory in binary format */ -static inline void output_bin_res_dir( unsigned int nb_names, unsigned int nb_ids ) -{ - put_dword( 0 ); /* Characteristics */ - put_dword( 0 ); /* TimeDateStamp */ - put_word( 0 ); /* MajorVersion */ - put_word( 0 ); /* MinorVersion */ - put_word( nb_names ); /* NumberOfNamedEntries */ - put_word( nb_ids ); /* NumberOfIdEntries */ -} - -/* output the resource definitions in binary format */ -void output_bin_resources( DLLSPEC *spec, unsigned int start_rva ) -{ - int k, nb_id_types; - unsigned int i, n, data_offset; - struct res_tree *tree; - struct res_type *type; - struct res_name *name; - const struct resource *res; - - if (!spec->nb_resources) return; - - tree = build_resource_tree( spec, &data_offset ); - init_output_buffer(); - - /* output the resource directories */ - - for (i = nb_id_types = 0, type = tree->types; i < tree->nb_types; i++, type++) - if (!type->type->str) nb_id_types++; - - output_bin_res_dir( tree->nb_types - nb_id_types, nb_id_types ); - - /* dump the type directory */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - put_dword( type->name_offset ); - put_dword( type->dir_offset | 0x80000000 ); - } - - /* dump the names and languages directories */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - output_bin_res_dir( type->nb_names - type->nb_id_names, type->nb_id_names ); - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - { - put_dword( name->name_offset ); - put_dword( name->dir_offset | 0x80000000 ); - } - - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - { - output_bin_res_dir( 0, name->nb_languages ); - for (k = 0, res = name->res; k < name->nb_languages; k++, res++) - { - put_dword( res->lang ); - put_dword( res->data_offset ); - } - } - } - - /* dump the resource data entries */ - - for (i = 0, res = spec->resources; i < spec->nb_resources; i++, res++) - { - put_dword( data_offset + start_rva ); - put_dword( (res->data_size + 3) & ~3 ); - put_dword( 0 ); - put_dword( 0 ); - data_offset += (res->data_size + 3) & ~3; - } - - /* dump the name strings */ - - for (i = 0, type = tree->types; i < tree->nb_types; i++, type++) - { - if (type->type->str) output_bin_string( type->type->str ); - for (n = 0, name = type->names; n < type->nb_names; n++, name++) - if (name->name->str) output_bin_string( name->name->str ); - } - - /* resource data */ - - align_output( 4 ); - for (i = 0, res = spec->resources; i < spec->nb_resources; i++, res++) - { - put_data( res->data, res->data_size ); - align_output( 4 ); - } - - free_resource_tree( tree ); -} - -static unsigned int get_resource_header_size( const struct resource *res ) -{ - unsigned int size = 5 * sizeof(unsigned int) + 2 * sizeof(unsigned short); - - if (!res->type.str) size += 2 * sizeof(unsigned short); - else size += (strlenW(res->type.str) + 1) * sizeof(WCHAR); - - if (!res->name.str) size += 2 * sizeof(unsigned short); - else size += (strlenW(res->name.str) + 1) * sizeof(WCHAR); - - return size; -} - -/* output the resources into a .o file */ -void output_res_o_file( DLLSPEC *spec ) -{ - unsigned int i; - char *res_file = NULL; - int fd, err; - - if (!spec->nb_resources) fatal_error( "--resources mode needs at least one resource file as input\n" ); - if (!output_file_name) fatal_error( "No output file name specified\n" ); - - byte_swapped = 0; - init_output_buffer(); - - put_dword( 0 ); /* ResSize */ - put_dword( 32 ); /* HeaderSize */ - put_word( 0xffff ); /* ResType */ - put_word( 0x0000 ); - put_word( 0xffff ); /* ResName */ - put_word( 0x0000 ); - put_dword( 0 ); /* DataVersion */ - put_word( 0 ); /* Memory options */ - put_word( 0 ); /* Language */ - put_dword( 0 ); /* Version */ - put_dword( 0 ); /* Characteristics */ - - for (i = 0; i < spec->nb_resources; i++) - { - unsigned int header_size = get_resource_header_size( &spec->resources[i] ); - - put_dword( spec->resources[i].data_size ); - put_dword( (header_size + 3) & ~3 ); - put_string( &spec->resources[i].type ); - put_string( &spec->resources[i].name ); - align_output( 4 ); - put_dword( 0 ); - put_word( spec->resources[i].mem_options ); - put_word( spec->resources[i].lang ); - put_dword( 0 ); - put_dword( 0 ); - put_data( spec->resources[i].data, spec->resources[i].data_size ); - align_output( 4 ); - } - - /* if the output file name is a .res too, don't run the results through windres */ - if (strendswith( output_file_name, ".res")) - { - flush_output_buffer(); - return; - } - - res_file = get_temp_file_name( output_file_name, ".res" ); - if ((fd = open( res_file, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0600 )) == -1) - fatal_error( "Cannot create %s\n", res_file ); - if (write( fd, output_buffer, output_buffer_pos ) != output_buffer_pos) - fatal_error( "Error writing to %s\n", res_file ); - close( fd ); - free( output_buffer ); - - if (res_file) - { - const char *prog = get_windres_command(); - char *cmd = xmalloc( strlen(prog) + strlen(res_file) + strlen(output_file_name) + 9 ); - sprintf( cmd, "%s -i %s -o %s", prog, res_file, output_file_name ); - if (verbose) fprintf( stderr, "%s\n", cmd ); - err = system( cmd ); - if (err) fatal_error( "%s failed with status %d\n", prog, err ); - free( cmd ); - } - output_file_name = NULL; /* so we don't try to assemble it */ -} diff --git a/reactos/tools/winebuild/ros_diff.patch b/reactos/tools/winebuild/ros_diff.patch deleted file mode 100644 index 7247ac10299..00000000000 --- a/reactos/tools/winebuild/ros_diff.patch +++ /dev/null @@ -1,388 +0,0 @@ -Index: build.h -=================================================================== ---- build.h (Revision 4) -+++ build.h (Arbeitskopie) -@@ -38,6 +38,8 @@ - #define min(a,b) (((a) < (b)) ? (a) : (b)) - #endif - -+#define EXEEXT ".exe" -+ - typedef enum - { - TYPE_VARIABLE, /* variable */ -@@ -47,6 +49,7 @@ - TYPE_STDCALL, /* stdcall function (Win32) */ - TYPE_CDECL, /* cdecl function (Win32) */ - TYPE_VARARGS, /* varargs function (Win32) */ -+ TYPE_FASTCALL, /* fastcall function (Win32) */ - TYPE_EXTERN, /* external symbol (Win32) */ - TYPE_NBTYPES - } ORD_TYPE; -@@ -269,6 +272,7 @@ - extern void BuildSpec16File( DLLSPEC *spec ); - extern void BuildSpec32File( DLLSPEC *spec ); - extern void BuildDef32File( DLLSPEC *spec ); -+extern void BuildPedllFile( DLLSPEC *spec ); - - extern void add_16bit_exports( DLLSPEC *spec32, DLLSPEC *spec16 ); - extern int parse_spec_file( FILE *file, DLLSPEC *spec ); -Index: main.c -=================================================================== ---- main.c (Revision 4) -+++ main.c (Arbeitskopie) -@@ -48,9 +48,9 @@ - int link_ext_symbols = 0; - int force_pointer_size = 0; - --#ifdef __i386__ -+#if defined(TARGET_i386) - enum target_cpu target_cpu = CPU_x86; --#elif defined(__x86_64__) -+#elif defined(TARGET_amd64) - enum target_cpu target_cpu = CPU_x86_64; - #elif defined(__sparc__) - enum target_cpu target_cpu = CPU_SPARC; -@@ -58,7 +58,7 @@ - enum target_cpu target_cpu = CPU_ALPHA; - #elif defined(__powerpc__) - enum target_cpu target_cpu = CPU_POWERPC; --#elif defined(__arm__) -+#elif defined(TARGET_arm) - enum target_cpu target_cpu = CPU_ARM; - #else - #error Unsupported CPU -@@ -102,7 +102,8 @@ - MODE_DEF, - MODE_RELAY16, - MODE_RELAY32, -- MODE_RESOURCES -+ MODE_RESOURCES, -+ MODE_PEDLL - }; - - static enum exec_mode_values exec_mode = MODE_NONE; -@@ -253,6 +254,7 @@ - " --relay16 Build the 16-bit relay assembly routines\n" - " --relay32 Build the 32-bit relay assembly routines\n" - " --resources Build a .o file for the resource files\n\n" -+" --pedll Build a .c file for PE dll\n\n" - "The mode options are mutually exclusive; you must specify one and only one.\n\n"; - - enum long_options_values -@@ -272,7 +274,8 @@ - LONG_OPT_RESOURCES, - LONG_OPT_SAVE_TEMPS, - LONG_OPT_SUBSYSTEM, -- LONG_OPT_VERSION -+ LONG_OPT_VERSION, -+ LONG_OPT_PEDLL - }; - - static const char short_options[] = "C:D:E:F:H:I:K:L:M:N:b:d:e:f:hi:kl:m:o:r:u:vw"; -@@ -295,6 +298,7 @@ - { "save-temps", 0, 0, LONG_OPT_SAVE_TEMPS }, - { "subsystem", 1, 0, LONG_OPT_SUBSYSTEM }, - { "version", 0, 0, LONG_OPT_VERSION }, -+ { "pedll", 1, 0, LONG_OPT_PEDLL }, - /* aliases for short options */ - { "target", 1, 0, 'b' }, - { "delay-lib", 1, 0, 'd' }, -@@ -497,6 +501,11 @@ - case LONG_OPT_VERSION: - printf( "winebuild version " PACKAGE_VERSION "\n" ); - exit(0); -+ case LONG_OPT_PEDLL: -+ set_exec_mode( MODE_PEDLL ); -+ spec_file_name = xstrdup( optarg ); -+ set_dll_file_name( optarg, spec ); -+ break; - case '?': - usage(1); - break; -@@ -652,6 +661,11 @@ - if (argv[0]) fatal_error( "file argument '%s' not allowed in this mode\n", argv[0] ); - BuildRelays32(); - break; -+ case MODE_PEDLL: -+ if (argv[0]) fatal_error( "file argument '%s' not allowed in this mode\n", argv[0] ); -+ if (!parse_input_file( spec )) break; -+ BuildPedllFile( spec ); -+ break; - case MODE_RESOURCES: - load_resources( argv, spec ); - output_res_o_file( spec ); -Index: parser.c -=================================================================== ---- parser.c (Revision 4) -+++ parser.c (Arbeitskopie) -@@ -56,6 +56,7 @@ - "stdcall", /* TYPE_STDCALL */ - "cdecl", /* TYPE_CDECL */ - "varargs", /* TYPE_VARARGS */ -+ "fastcall", /* TYPE_FASTCALL */ - "extern" /* TYPE_EXTERN */ - }; - -@@ -521,6 +522,7 @@ - case TYPE_STDCALL: - case TYPE_VARARGS: - case TYPE_CDECL: -+ case TYPE_FASTCALL: - if (!parse_spec_export( odp, spec )) goto error; - break; - case TYPE_ABS: -Index: res32.c -=================================================================== ---- res32.c (Revision 4) -+++ res32.c (Arbeitskopie) -@@ -35,12 +35,14 @@ - #include "build.h" - - typedef unsigned short WCHAR; -+typedef unsigned short WORD; -+typedef unsigned int DWORD; - - /* Unicode string or integer id */ - struct string_id - { - WCHAR *str; /* ptr to Unicode string */ -- unsigned short id; /* integer id if str is NULL */ -+ WORD id; /* integer id if str is NULL */ - }; - - /* descriptor for a resource */ -@@ -195,7 +197,7 @@ - /* all values must be zero except header size */ - static int check_header(void) - { -- unsigned int size; -+ DWORD size; - - if (get_dword()) return 0; /* data size */ - size = get_dword(); /* header size */ -@@ -214,14 +216,14 @@ - /* load the next resource from the current file */ - static void load_next_resource( DLLSPEC *spec ) - { -- unsigned int hdr_size; -+ DWORD hdr_size; - struct resource *res = add_resource( spec ); - - res->data_size = get_dword(); - hdr_size = get_dword(); - if (hdr_size & 3) fatal_error( "%s header size not aligned\n", input_buffer_filename ); - -- res->data = input_buffer + input_buffer_pos - 2*sizeof(unsigned int) + hdr_size; -+ res->data = input_buffer + input_buffer_pos - 2*sizeof(DWORD) + hdr_size; - get_string( &res->type ); - get_string( &res->name ); - if (input_buffer_pos & 2) get_word(); /* align to dword boundary */ -Index: spec32.c -=================================================================== ---- spec32.c (Revision 4) -+++ spec32.c (Arbeitskopie) -@@ -74,6 +74,28 @@ - } - - /******************************************************************* -+ * make_internal_name -+ * -+ * Generate an internal name for an entry point. Used for stubs etc. -+ */ -+static const char *make_internal_name( const ORDDEF *odp, DLLSPEC *spec, const char *prefix ) -+{ -+ static char buffer[256]; -+ if (odp->name || odp->export_name) -+ { -+ char *p; -+ sprintf( buffer, "__wine_%s_%s_%s", prefix, spec->file_name, -+ odp->name ? odp->name : odp->export_name ); -+ /* make sure name is a legal C identifier */ -+ for (p = buffer; *p; p++) if (!isalnum(*p) && *p != '_') break; -+ if (!*p) return buffer; -+ } -+ sprintf( buffer, "__wine_%s_%s_%d", prefix, make_c_identifier(spec->file_name), odp->ordinal ); -+ return buffer; -+} -+ -+ -+/******************************************************************* - * output_relay_debug - * - * Output entry points for relay debugging -@@ -341,6 +363,44 @@ - - - /******************************************************************* -+ * output_stub_funcs -+ * -+ * Output the functions for stub entry points -+ */ -+static void output_stub_funcs( DLLSPEC *spec ) -+{ -+ int i; -+ -+#if 0 -+ for (i = 0; i < spec->nb_entry_points; i++) -+ { -+ ORDDEF *odp = &spec->entry_points[i]; -+ if (odp->type != TYPE_STUB) continue; -+ fprintf( outfile, "#ifdef __GNUC__\n" ); -+ fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func ) __attribute__((noreturn));\n" ); -+ fprintf( outfile, "#else\n" ); -+ fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func );\n" ); -+ fprintf( outfile, "#endif\n\n" ); -+ break; -+ } -+#endif -+ -+ for (i = 0; i < spec->nb_entry_points; i++) -+ { -+ const ORDDEF *odp = &spec->entry_points[i]; -+ if (odp->type != TYPE_STUB) continue; -+ output( "void %s(void) ", make_internal_name( odp, spec, "stub" ) ); -+ if (odp->name) -+ output( "{ __wine_spec_unimplemented_stub(__wine_spec_file_name, \"%s\"); }\n", odp->name ); -+ else if (odp->export_name) -+ output( "{ __wine_spec_unimplemented_stub(__wine_spec_file_name, \"%s\"); }\n", odp->export_name ); -+ else -+ output( "{ __wine_spec_unimplemented_stub(__wine_spec_file_name, \"%d\"); }\n", odp->ordinal ); -+ } -+} -+ -+ -+/******************************************************************* - * output_asm_constructor - * - * Output code for calling a dll constructor. -@@ -795,10 +855,6 @@ - - if (!(odp->flags & FLAG_PRIVATE)) total++; - -- if (odp->type == TYPE_STUB) continue; -- -- output( " %s", name ); -- - switch(odp->type) - { - case TYPE_EXTERN: -@@ -807,12 +863,14 @@ - case TYPE_VARARGS: - case TYPE_CDECL: - /* try to reduce output */ -+ output( " %s", name ); - if(strcmp(name, odp->link_name) || (odp->flags & FLAG_FORWARD)) - output( "=%s", odp->link_name ); - break; - case TYPE_STDCALL: - { - int at_param = strlen(odp->u.func.arg_types) * get_ptr_size(); -+ output( " %s", name ); - if (!kill_at && target_cpu == CPU_x86) output( "@%d", at_param ); - if (odp->flags & FLAG_FORWARD) - { -@@ -825,6 +883,50 @@ - } - break; - } -+ case TYPE_FASTCALL: -+ { -+ int at_param = strlen(odp->u.func.arg_types) * get_ptr_size(); -+ output( " " ); -+ if (!kill_at) output( "@" ); -+ output( "%s", name ); -+ if (!kill_at) output( "@%d", at_param ); -+ if (odp->flags & FLAG_FORWARD) -+ { -+ output( "=" ); -+ output( "%s", odp->link_name ); -+ } -+ else if (strcmp(name, odp->link_name)) /* try to reduce output */ -+ { -+ output( "=" ); -+ if (!kill_at) output( "@" ); -+ output( "%s", odp->link_name ); -+ if (!kill_at) output( "@%d", at_param ); -+ } -+ break; -+ } -+ case TYPE_STUB: -+ { -+ output( " %s", name ); -+ if (!kill_at) -+ { -+ const char *check = name + strlen(name); -+ while (name != check && -+ '0' <= check[-1] && check[-1] <= '9') -+ { -+ check--; -+ } -+ if (name != check && check != name + strlen(name) && -+ '@' == check[-1]) -+ { -+ output("%s", check - 1); -+ } -+ } -+ if (odp->name || odp->export_name) -+ { -+ output("=%s", make_internal_name( odp, spec, "stub" )); -+ } -+ break; -+ } - default: - assert(0); - } -@@ -836,3 +939,52 @@ - } - if (!total) warning( "%s: Import library doesn't export anything\n", spec->file_name ); - } -+ -+ -+/******************************************************************* -+ * BuildPedllFile -+ * -+ * Build a PE DLL C file from a spec file. -+ */ -+void BuildPedllFile( DLLSPEC *spec ) -+{ -+ int i, has_stubs = 0; -+ -+ output_standard_file_header(); -+ -+ for (i = 0; i < spec->nb_entry_points; i++) -+ { -+ const ORDDEF *odp = &spec->entry_points[i]; -+ if (odp->type == TYPE_STUB) -+ { -+ has_stubs = 1; -+ break; -+ } -+ } -+ -+ if (!has_stubs) -+ { -+ output( "/* This file is intentionally left blank */\n"); -+ return; -+ } -+ -+ output( "#include \n"); -+ output( "#include \"windef.h\"\n"); -+ output( "#include \"winbase.h\"\n"); -+ output( "#include \"wine/config.h\"\n"); -+ output( "#include \"wine/exception.h\"\n\n"); -+ -+ output( "void __wine_spec_unimplemented_stub( const char *module, const char *function )\n"); -+ output( "{\n"); -+ output( " ULONG_PTR args[2];\n"); -+ output( "\n"); -+ output( " args[0] = (ULONG_PTR)module;\n"); -+ output( " args[1] = (ULONG_PTR)function;\n"); -+ output( " RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args );\n"); -+ output( "}\n\n"); -+ -+ output( "static const char __wine_spec_file_name[] = \"%s\";\n\n", spec->file_name ); -+ -+ /* Output the stub functions */ -+ output_stub_funcs( spec ); -+} diff --git a/reactos/tools/winebuild/spec16.c b/reactos/tools/winebuild/spec16.c deleted file mode 100644 index a0a962f7251..00000000000 --- a/reactos/tools/winebuild/spec16.c +++ /dev/null @@ -1,1047 +0,0 @@ -/* - * 16-bit spec files - * - * Copyright 1993 Robert J. Amstadt - * Copyright 1995 Martin von Loewis - * Copyright 1995, 1996, 1997 Alexandre Julliard - * Copyright 1997 Eric Youngdale - * Copyright 1999 Ulrich Weigand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include - -#include "build.h" - -#define NE_FFLAGS_SINGLEDATA 0x0001 -#define NE_FFLAGS_LIBMODULE 0x8000 - -/* argument type flags for relay debugging */ -enum arg_types -{ - ARG_NONE = 0, /* indicates end of arg list */ - ARG_WORD, /* unsigned word */ - ARG_SWORD, /* signed word */ - ARG_LONG, /* long or segmented pointer */ - ARG_PTR, /* linear pointer */ - ARG_STR, /* linear pointer to null-terminated string */ - ARG_SEGSTR, /* segmented pointer to null-terminated string */ - ARG_VARARG /* start of varargs */ -}; - -/* sequences of nops to fill a certain number of words */ -static const char * const nop_sequence[4] = -{ - ".byte 0x89,0xf6", /* mov %esi,%esi */ - ".byte 0x8d,0x74,0x26,0x00", /* lea 0x00(%esi),%esi */ - ".byte 0x8d,0xb6,0x00,0x00,0x00,0x00", /* lea 0x00000000(%esi),%esi */ - ".byte 0x8d,0x74,0x26,0x00,0x8d,0x74,0x26,0x00" /* lea 0x00(%esi),%esi; lea 0x00(%esi),%esi */ -}; - -static inline int is_function( const ORDDEF *odp ) -{ - return (odp->type == TYPE_CDECL || - odp->type == TYPE_PASCAL || - odp->type == TYPE_VARARGS || - odp->type == TYPE_STUB); -} - -static void init_dll_name( DLLSPEC *spec ) -{ - if (!spec->file_name) - { - char *p; - spec->file_name = xstrdup( output_file_name ); - if ((p = strrchr( spec->file_name, '.' ))) *p = 0; - } - if (!spec->dll_name) /* set default name from file name */ - { - char *p; - spec->dll_name = xstrdup( spec->file_name ); - if ((p = strrchr( spec->dll_name, '.' ))) *p = 0; - } -} - -/******************************************************************* - * output_entries - * - * Output entries for individual symbols in the entry table. - */ -static void output_entries( DLLSPEC *spec, int first, int count ) -{ - int i; - - for (i = 0; i < count; i++) - { - ORDDEF *odp = spec->ordinals[first + i]; - output( "\t.byte 0x03\n" ); /* flags: exported & public data */ - switch (odp->type) - { - case TYPE_CDECL: - case TYPE_PASCAL: - case TYPE_VARARGS: - case TYPE_STUB: - output( "\t%s .L__wine_%s_%u-.L__wine_spec_code_segment\n", - get_asm_short_keyword(), - make_c_identifier(spec->dll_name), first + i ); - break; - case TYPE_VARIABLE: - output( "\t%s .L__wine_%s_%u-.L__wine_spec_data_segment\n", - get_asm_short_keyword(), - make_c_identifier(spec->dll_name), first + i ); - break; - case TYPE_ABS: - output( "\t%s 0x%04x /* %s */\n", - get_asm_short_keyword(), odp->u.abs.value, odp->name ); - break; - default: - assert(0); - } - } -} - - -/******************************************************************* - * output_entry_table - */ -static void output_entry_table( DLLSPEC *spec ) -{ - int i, prev = 0, prev_sel = -1, bundle_count = 0; - - for (i = 1; i <= spec->limit; i++) - { - int selector = 0; - ORDDEF *odp = spec->ordinals[i]; - if (!odp) continue; - - switch (odp->type) - { - case TYPE_CDECL: - case TYPE_PASCAL: - case TYPE_VARARGS: - case TYPE_STUB: - selector = 1; /* Code selector */ - break; - case TYPE_VARIABLE: - selector = 2; /* Data selector */ - break; - case TYPE_ABS: - selector = 0xfe; /* Constant selector */ - break; - default: - continue; - } - - if (prev + 1 != i || prev_sel != selector || bundle_count == 255) - { - /* need to start a new bundle */ - - /* flush previous bundle */ - if (bundle_count) - { - output( "\t/* %s.%d - %s.%d */\n", - spec->dll_name, prev - bundle_count + 1, spec->dll_name, prev ); - output( "\t.byte 0x%02x,0x%02x\n", bundle_count, prev_sel ); - output_entries( spec, prev - bundle_count + 1, bundle_count ); - } - - if (prev + 1 != i) - { - int skip = i - (prev + 1); - while (skip > 255) - { - output( "\t.byte 0xff,0x00\n" ); - skip -= 255; - } - output( "\t.byte 0x%02x,0x00\n", skip ); - } - - bundle_count = 0; - prev_sel = selector; - } - bundle_count++; - prev = i; - } - - /* flush last bundle */ - if (bundle_count) - { - output( "\t.byte 0x%02x,0x%02x\n", bundle_count, prev_sel ); - output_entries( spec, prev - bundle_count + 1, bundle_count ); - } - output( "\t.byte 0x00\n" ); -} - - -/******************************************************************* - * output_resident_name - */ -static void output_resident_name( const char *string, int ordinal ) -{ - unsigned int i, len = strlen(string); - - output( "\t.byte 0x%02x", len ); - for (i = 0; i < len; i++) output( ",0x%02x", (unsigned char)toupper(string[i]) ); - output( " /* %s */\n", string ); - output( "\t%s %u\n", get_asm_short_keyword(), ordinal ); -} - - -/******************************************************************* - * get_callfrom16_name - */ -static const char *get_callfrom16_name( const ORDDEF *odp ) -{ - static char buffer[80]; - - sprintf( buffer, "%s_%s_%s", - (odp->type == TYPE_PASCAL) ? "p" : - (odp->type == TYPE_VARARGS) ? "v" : "c", - (odp->flags & FLAG_REGISTER) ? "regs" : - (odp->flags & FLAG_RET16) ? "word" : "long", - odp->u.func.arg_types ); - return buffer; -} - - -/******************************************************************* - * get_relay_name - */ -static const char *get_relay_name( const ORDDEF *odp ) -{ - static char buffer[80]; - char *p; - - switch(odp->type) - { - case TYPE_PASCAL: - strcpy( buffer, "p_" ); - break; - case TYPE_VARARGS: - strcpy( buffer, "v_" ); - break; - case TYPE_CDECL: - case TYPE_STUB: - strcpy( buffer, "c_" ); - break; - default: - assert(0); - } - strcat( buffer, odp->u.func.arg_types ); - for (p = buffer + 2; *p; p++) - { - /* map string types to the corresponding plain pointer type */ - if (*p == 't') *p = 'p'; - else if (*p == 'T') *p = 'l'; - } - if (odp->flags & FLAG_REGISTER) strcat( buffer, "_regs" ); - return buffer; -} - - -/******************************************************************* - * get_function_argsize - */ -static int get_function_argsize( const ORDDEF *odp ) -{ - const char *args; - int argsize = 0; - - for (args = odp->u.func.arg_types; *args; args++) - { - switch (*args) - { - case 'w': /* word */ - case 's': /* s_word */ - argsize += 2; - break; - case 'l': /* long or segmented pointer */ - case 'T': /* segmented pointer to null-terminated string */ - case 'p': /* linear pointer */ - case 't': /* linear pointer to null-terminated string */ - argsize += 4; - break; - default: - assert(0); - } - } - return argsize; -} - - -/******************************************************************* - * output_call16_function - * - * Build a 16-bit-to-Wine callback glue function. - * - * The generated routines are intended to be used as argument conversion - * routines to be called by the CallFrom16... core. Thus, the prototypes of - * the generated routines are (see also CallFrom16): - * - * extern WORD WINAPI __wine_spec_call16_C_xxx( FARPROC func, LPBYTE args ); - * extern LONG WINAPI __wine_spec_call16_C_xxx( FARPROC func, LPBYTE args ); - * extern void WINAPI __wine_spec_call16_C_xxx_regs( FARPROC func, LPBYTE args, CONTEXT86 *context ); - * - * where 'C' is the calling convention ('p' for pascal or 'c' for cdecl), - * and each 'x' is an argument ('w'=word, 's'=signed word, 'l'=long, - * 'p'=linear pointer, 't'=linear pointer to null-terminated string, - * 'T'=segmented pointer to null-terminated string). - * - * The generated routines fetch the arguments from the 16-bit stack (pointed - * to by 'args'); the offsets of the single argument values are computed - * according to the calling convention and the argument types. Then, the - * 32-bit entry point is called with these arguments. - * - * For register functions, the arguments (if present) are converted just - * the same as for normal functions, but in addition the CONTEXT86 pointer - * filled with the current register values is passed to the 32-bit routine. - */ -static void output_call16_function( ORDDEF *odp ) -{ - char name[256]; - int i, pos, stack_words; - const char *args = odp->u.func.arg_types; - int argsize = get_function_argsize( odp ); - int needs_ldt = strchr( args, 'p' ) || strchr( args, 't' ); - - sprintf( name, ".L__wine_spec_call16_%s", get_relay_name(odp) ); - - output( "\t.align %d\n", get_alignment(4) ); - output( "\t%s\n", func_declaration(name) ); - output( "%s:\n", name ); - output( "\tpushl %%ebp\n" ); - output( "\tmovl %%esp,%%ebp\n" ); - stack_words = 2; - if (needs_ldt) - { - output( "\tpushl %%esi\n" ); - stack_words++; - if (UsePIC) - { - output( "\tcall %s\n", asm_name("__wine_spec_get_pc_thunk_eax") ); - output( "1:\tmovl wine_ldt_copy_ptr-1b(%%eax),%%esi\n" ); - } - else - output( "\tmovl $%s,%%esi\n", asm_name("wine_ldt_copy") ); - } - - /* preserve 16-byte stack alignment */ - stack_words += strlen(args); - if ((odp->flags & FLAG_REGISTER) || (odp->type == TYPE_VARARGS)) stack_words++; - if (stack_words % 4) output( "\tsubl $%d,%%esp\n", 16 - 4 * (stack_words % 4) ); - - if (args[0] || odp->type == TYPE_VARARGS) - output( "\tmovl 12(%%ebp),%%ecx\n" ); /* args */ - - if (odp->flags & FLAG_REGISTER) - { - output( "\tpushl 16(%%ebp)\n" ); /* context */ - } - else if (odp->type == TYPE_VARARGS) - { - output( "\tleal %d(%%ecx),%%eax\n", argsize ); - output( "\tpushl %%eax\n" ); /* va_list16 */ - } - - pos = (odp->type == TYPE_PASCAL) ? 0 : argsize; - for (i = strlen(args) - 1; i >= 0; i--) - { - switch (args[i]) - { - case 'w': /* word */ - if (odp->type != TYPE_PASCAL) pos -= 2; - output( "\tmovzwl %d(%%ecx),%%eax\n", pos ); - output( "\tpushl %%eax\n" ); - if (odp->type == TYPE_PASCAL) pos += 2; - break; - - case 's': /* s_word */ - if (odp->type != TYPE_PASCAL) pos -= 2; - output( "\tmovswl %d(%%ecx),%%eax\n", pos ); - output( "\tpushl %%eax\n" ); - if (odp->type == TYPE_PASCAL) pos += 2; - break; - - case 'l': /* long or segmented pointer */ - case 'T': /* segmented pointer to null-terminated string */ - if (odp->type != TYPE_PASCAL) pos -= 4; - output( "\tpushl %d(%%ecx)\n", pos ); - if (odp->type == TYPE_PASCAL) pos += 4; - break; - - case 'p': /* linear pointer */ - case 't': /* linear pointer to null-terminated string */ - if (odp->type != TYPE_PASCAL) pos -= 4; - output( "\tmovzwl %d(%%ecx),%%edx\n", pos + 2 ); /* sel */ - output( "\tshr $3,%%edx\n" ); - output( "\tmovzwl %d(%%ecx),%%eax\n", pos ); /* offset */ - output( "\taddl (%%esi,%%edx,4),%%eax\n" ); - output( "\tpushl %%eax\n" ); - if (odp->type == TYPE_PASCAL) pos += 4; - break; - - default: - assert(0); - } - } - - output( "\tcall *8(%%ebp)\n" ); - - if (needs_ldt) output( "\tmovl -4(%%ebp),%%esi\n" ); - - output( "\tleave\n" ); - output( "\tret\n" ); - output_function_size( name ); -} - - -/******************************************************************* - * callfrom16_type_compare - * - * Compare two callfrom16 sequences. - */ -static int callfrom16_type_compare( const void *e1, const void *e2 ) -{ - const ORDDEF *odp1 = *(const ORDDEF * const *)e1; - const ORDDEF *odp2 = *(const ORDDEF * const *)e2; - int retval; - int type1 = odp1->type; - int type2 = odp2->type; - - if (type1 == TYPE_STUB) type1 = TYPE_CDECL; - if (type2 == TYPE_STUB) type2 = TYPE_CDECL; - - if ((retval = type1 - type2) != 0) return retval; - - type1 = odp1->flags & (FLAG_RET16|FLAG_REGISTER); - type2 = odp2->flags & (FLAG_RET16|FLAG_REGISTER); - - if ((retval = type1 - type2) != 0) return retval; - - return strcmp( odp1->u.func.arg_types, odp2->u.func.arg_types ); -} - - -/******************************************************************* - * relay_type_compare - * - * Same as callfrom16_type_compare but ignores differences that don't affect the resulting relay function. - */ -static int relay_type_compare( const void *e1, const void *e2 ) -{ - const ORDDEF *odp1 = *(const ORDDEF * const *)e1; - const ORDDEF *odp2 = *(const ORDDEF * const *)e2; - char name1[80]; - - strcpy( name1, get_relay_name(odp1) ); - return strcmp( name1, get_relay_name(odp2) ); -} - - -/******************************************************************* - * sort_func_list - * - * Sort a list of functions, removing duplicates. - */ -static int sort_func_list( ORDDEF **list, int count, - int (*compare)(const void *, const void *) ) -{ - int i, j; - - if (!count) return 0; - qsort( list, count, sizeof(*list), compare ); - - for (i = j = 0; i < count; i++) - { - if (compare( &list[j], &list[i] )) list[++j] = list[i]; - } - return j + 1; -} - - -/******************************************************************* - * output_init_code - * - * Output the dll initialization code. - */ -static void output_init_code( const DLLSPEC *spec ) -{ - char name[80]; - - sprintf( name, ".L__wine_spec_%s_init", make_c_identifier(spec->dll_name) ); - - output( "\n/* dll initialization code */\n\n" ); - output( "\t.text\n" ); - output( "\t.align 4\n" ); - output( "\t%s\n", func_declaration(name) ); - output( "%s:\n", name ); - output( "\tsubl $4,%%esp\n" ); - if (UsePIC) - { - output( "\tcall %s\n", asm_name("__wine_spec_get_pc_thunk_eax") ); - output( "1:\tleal .L__wine_spec_file_name-1b(%%eax),%%ecx\n" ); - output( "\tpushl %%ecx\n" ); - output( "\tleal .L__wine_spec_dos_header-1b(%%eax),%%ecx\n" ); - output( "\tpushl %%ecx\n" ); - } - else - { - output( "\tpushl $.L__wine_spec_file_name\n" ); - output( "\tpushl $.L__wine_spec_dos_header\n" ); - } - output( "\tcall %s\n", asm_name("__wine_dll_register_16") ); - output( "\taddl $12,%%esp\n" ); - output( "\tret\n" ); - output_function_size( name ); - - sprintf( name, ".L__wine_spec_%s_fini", make_c_identifier(spec->dll_name) ); - - output( "\t.align 4\n" ); - output( "\t%s\n", func_declaration(name) ); - output( "%s:\n", name ); - output( "\tsubl $8,%%esp\n" ); - if (UsePIC) - { - output( "\tcall %s\n", asm_name("__wine_spec_get_pc_thunk_eax") ); - output( "1:\tleal .L__wine_spec_dos_header-1b(%%eax),%%ecx\n" ); - output( "\tpushl %%ecx\n" ); - } - else - { - output( "\tpushl $.L__wine_spec_dos_header\n" ); - } - output( "\tcall %s\n", asm_name("__wine_dll_unregister_16") ); - output( "\taddl $12,%%esp\n" ); - output( "\tret\n" ); - output_function_size( name ); - - if (target_platform == PLATFORM_APPLE) - { - output( "\t.mod_init_func\n" ); - output( "\t.align %d\n", get_alignment(4) ); - output( "\t.long .L__wine_spec_%s_init\n", make_c_identifier(spec->dll_name) ); - output( "\t.mod_term_func\n" ); - output( "\t.align %d\n", get_alignment(4) ); - output( "\t.long .L__wine_spec_%s_fini\n", make_c_identifier(spec->dll_name) ); - } - else - { - output( "\t.section \".init\",\"ax\"\n" ); - output( "\tcall .L__wine_spec_%s_init\n", make_c_identifier(spec->dll_name) ); - output( "\t.section \".fini\",\"ax\"\n" ); - output( "\tcall .L__wine_spec_%s_fini\n", make_c_identifier(spec->dll_name) ); - } -} - - -/******************************************************************* - * output_module16 - * - * Output code for a 16-bit module. - */ -static void output_module16( DLLSPEC *spec ) -{ - ORDDEF **typelist; - ORDDEF *entry_point = NULL; - int i, j, nb_funcs; - - /* store the main entry point as ordinal 0 */ - - if (!spec->ordinals) - { - assert(spec->limit == 0); - spec->ordinals = xmalloc( sizeof(spec->ordinals[0]) ); - spec->ordinals[0] = NULL; - } - if (spec->init_func && !(spec->characteristics & IMAGE_FILE_DLL)) - { - entry_point = xmalloc( sizeof(*entry_point) ); - entry_point->type = TYPE_PASCAL; - entry_point->ordinal = 0; - entry_point->lineno = 0; - entry_point->flags = FLAG_REGISTER; - entry_point->name = NULL; - entry_point->link_name = xstrdup( spec->init_func ); - entry_point->export_name = NULL; - entry_point->u.func.arg_types[0] = 0; - assert( !spec->ordinals[0] ); - spec->ordinals[0] = entry_point; - } - - /* Build sorted list of all argument types, without duplicates */ - - typelist = xmalloc( (spec->limit + 1) * sizeof(*typelist) ); - - for (i = nb_funcs = 0; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (!odp) continue; - if (is_function( odp )) typelist[nb_funcs++] = odp; - } - - nb_funcs = sort_func_list( typelist, nb_funcs, callfrom16_type_compare ); - - /* Output the module structure */ - - output( "\n/* module data */\n\n" ); - output( "\t.data\n" ); - output( "\t.align %d\n", get_alignment(4) ); - output( ".L__wine_spec_dos_header:\n" ); - output( "\t%s 0x5a4d\n", get_asm_short_keyword() ); /* e_magic */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_cblp */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_cp */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_crlc */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_cparhdr */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_minalloc */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_maxalloc */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_ss */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_sp */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_csum */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_ip */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_cs */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_lfarlc */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_ovno */ - output( "\t%s 0,0,0,0\n", get_asm_short_keyword() ); /* e_res */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_oemid */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* e_oeminfo */ - output( "\t%s 0,0,0,0,0,0,0,0,0,0\n", get_asm_short_keyword() ); /* e_res2 */ - output( "\t.long .L__wine_spec_ne_header-.L__wine_spec_dos_header\n" );/* e_lfanew */ - - output( ".L__wine_spec_ne_header:\n" ); - output( "\t%s 0x454e\n", get_asm_short_keyword() ); /* ne_magic */ - output( "\t.byte 0\n" ); /* ne_ver */ - output( "\t.byte 0\n" ); /* ne_rev */ - output( "\t%s .L__wine_spec_ne_enttab-.L__wine_spec_ne_header\n", /* ne_enttab */ - get_asm_short_keyword() ); - output( "\t%s .L__wine_spec_ne_enttab_end-.L__wine_spec_ne_enttab\n", /* ne_cbenttab */ - get_asm_short_keyword() ); - output( "\t.long 0\n" ); /* ne_crc */ - output( "\t%s 0x%04x\n", get_asm_short_keyword(), /* ne_flags */ - NE_FFLAGS_SINGLEDATA | - ((spec->characteristics & IMAGE_FILE_DLL) ? NE_FFLAGS_LIBMODULE : 0) ); - output( "\t%s 2\n", get_asm_short_keyword() ); /* ne_autodata */ - output( "\t%s %u\n", get_asm_short_keyword(), spec->heap_size ); /* ne_heap */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_stack */ - if (!entry_point) output( "\t.long 0\n" ); /* ne_csip */ - else output( "\t%s .L__wine_%s_0-.L__wine_spec_code_segment,1\n", - get_asm_short_keyword(), make_c_identifier(spec->dll_name) ); - output( "\t%s 0,2\n", get_asm_short_keyword() ); /* ne_sssp */ - output( "\t%s 2\n", get_asm_short_keyword() ); /* ne_cseg */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_cmod */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_cbnrestab */ - output( "\t%s .L__wine_spec_ne_segtab-.L__wine_spec_ne_header\n", /* ne_segtab */ - get_asm_short_keyword() ); - output( "\t%s .L__wine_spec_ne_rsrctab-.L__wine_spec_ne_header\n", /* ne_rsrctab */ - get_asm_short_keyword() ); - output( "\t%s .L__wine_spec_ne_restab-.L__wine_spec_ne_header\n", /* ne_restab */ - get_asm_short_keyword() ); - output( "\t%s .L__wine_spec_ne_modtab-.L__wine_spec_ne_header\n", /* ne_modtab */ - get_asm_short_keyword() ); - output( "\t%s .L__wine_spec_ne_imptab-.L__wine_spec_ne_header\n", /* ne_imptab */ - get_asm_short_keyword() ); - output( "\t.long 0\n" ); /* ne_nrestab */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_cmovent */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_align */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_cres */ - output( "\t.byte 0x02\n" ); /* ne_exetyp = NE_OSFLAGS_WINDOWS */ - output( "\t.byte 0x08\n" ); /* ne_flagsothers = NE_AFLAGS_FASTLOAD */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_pretthunks */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_psegrefbytes */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_swaparea */ - output( "\t%s 0\n", get_asm_short_keyword() ); /* ne_expver */ - - /* segment table */ - - output( "\n.L__wine_spec_ne_segtab:\n" ); - - /* code segment entry */ - - output( "\t%s .L__wine_spec_code_segment-.L__wine_spec_dos_header\n", /* filepos */ - get_asm_short_keyword() ); - output( "\t%s .L__wine_spec_code_segment_end-.L__wine_spec_code_segment\n", /* size */ - get_asm_short_keyword() ); - output( "\t%s 0x2000\n", get_asm_short_keyword() ); /* flags = NE_SEGFLAGS_32BIT */ - output( "\t%s .L__wine_spec_code_segment_end-.L__wine_spec_code_segment\n", /* minsize */ - get_asm_short_keyword() ); - - /* data segment entry */ - - output( "\t%s .L__wine_spec_data_segment-.L__wine_spec_dos_header\n", /* filepos */ - get_asm_short_keyword() ); - output( "\t%s .L__wine_spec_data_segment_end-.L__wine_spec_data_segment\n", /* size */ - get_asm_short_keyword() ); - output( "\t%s 0x0001\n", get_asm_short_keyword() ); /* flags = NE_SEGFLAGS_DATA */ - output( "\t%s .L__wine_spec_data_segment_end-.L__wine_spec_data_segment\n", /* minsize */ - get_asm_short_keyword() ); - - /* resource directory */ - - output_res16_directory( spec ); - - /* resident names table */ - - output( "\n\t.align %d\n", get_alignment(2) ); - output( ".L__wine_spec_ne_restab:\n" ); - output_resident_name( spec->dll_name, 0 ); - for (i = 1; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (!odp || !odp->name[0]) continue; - output_resident_name( odp->name, i ); - } - output( "\t.byte 0\n" ); - - /* imported names table */ - - output( "\n\t.align %d\n", get_alignment(2) ); - output( ".L__wine_spec_ne_modtab:\n" ); - output( ".L__wine_spec_ne_imptab:\n" ); - output( "\t.byte 0,0\n" ); - - /* entry table */ - - output( "\n.L__wine_spec_ne_enttab:\n" ); - output_entry_table( spec ); - output( ".L__wine_spec_ne_enttab_end:\n" ); - - /* code segment */ - - output( "\n\t.align %d\n", get_alignment(2) ); - output( ".L__wine_spec_code_segment:\n" ); - - for ( i = 0; i < nb_funcs; i++ ) - { - unsigned int arg_types[2]; - int nop_words, argsize = 0; - - if ( typelist[i]->type == TYPE_PASCAL ) - argsize = get_function_argsize( typelist[i] ); - - /* build the arg types bit fields */ - arg_types[0] = arg_types[1] = 0; - for (j = 0; typelist[i]->u.func.arg_types[j]; j++) - { - int type = 0; - switch(typelist[i]->u.func.arg_types[j]) - { - case 'w': type = ARG_WORD; break; - case 's': type = ARG_SWORD; break; - case 'l': type = ARG_LONG; break; - case 'p': type = ARG_PTR; break; - case 't': type = ARG_STR; break; - case 'T': type = ARG_SEGSTR; break; - } - arg_types[j / 10] |= type << (3 * (j % 10)); - } - if (typelist[i]->type == TYPE_VARARGS) arg_types[j / 10] |= ARG_VARARG << (3 * (j % 10)); - - output( ".L__wine_spec_callfrom16_%s:\n", get_callfrom16_name(typelist[i]) ); - output( "\tpushl $.L__wine_spec_call16_%s\n", get_relay_name(typelist[i]) ); - output( "\tlcall $0,$0\n" ); - - if (typelist[i]->flags & FLAG_REGISTER) - { - nop_words = 4; - } - else if (typelist[i]->flags & FLAG_RET16) - { - output( "\torw %%ax,%%ax\n" ); - output( "\tnop\n" ); /* so that the lretw is aligned */ - nop_words = 2; - } - else - { - output( "\tshld $16,%%eax,%%edx\n" ); - output( "\torl %%eax,%%eax\n" ); - nop_words = 1; - } - - if (argsize) - { - output( "\tlretw $%u\n", argsize ); - nop_words--; - } - else output( "\tlretw\n" ); - - if (nop_words) output( "\t%s\n", nop_sequence[nop_words-1] ); - - /* the movl is here so that the code contains only valid instructions, */ - /* it's never actually executed, we only care about the arg_types[] values */ - output( "\t%s 0x86c7\n", get_asm_short_keyword() ); - output( "\t.long 0x%08x,0x%08x\n", arg_types[0], arg_types[1] ); - } - - for (i = 0; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (!odp || !is_function( odp )) continue; - output( ".L__wine_%s_%u:\n", make_c_identifier(spec->dll_name), i ); - output( "\tpushw %%bp\n" ); - output( "\tpushl $%s\n", - asm_name( odp->type == TYPE_STUB ? get_stub_name( odp, spec ) : odp->link_name )); - output( "\tcallw .L__wine_spec_callfrom16_%s\n", get_callfrom16_name( odp ) ); - } - output( ".L__wine_spec_code_segment_end:\n" ); - - /* data segment */ - - output( "\n.L__wine_spec_data_segment:\n" ); - output( "\t.byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n" ); /* instance data */ - for (i = 0; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (!odp || odp->type != TYPE_VARIABLE) continue; - output( ".L__wine_%s_%u:\n", make_c_identifier(spec->dll_name), i ); - output( "\t.long " ); - for (j = 0; j < odp->u.var.n_values-1; j++) - output( "0x%08x,", odp->u.var.values[j] ); - output( "0x%08x\n", odp->u.var.values[j] ); - } - output( ".L__wine_spec_data_segment_end:\n" ); - - /* resource data */ - - if (spec->nb_resources) - { - output( "\n.L__wine_spec_resource_data:\n" ); - output_res16_data( spec ); - } - - output( "\t.byte 0\n" ); /* make sure the last symbol points to something */ - - /* relay functions */ - - nb_funcs = sort_func_list( typelist, nb_funcs, relay_type_compare ); - if (nb_funcs) - { - output( "\n/* relay functions */\n\n" ); - output( "\t.text\n" ); - for ( i = 0; i < nb_funcs; i++ ) output_call16_function( typelist[i] ); - output( "\t.data\n" ); - output( "wine_ldt_copy_ptr:\n" ); - output( "\t.long %s\n", asm_name("wine_ldt_copy") ); - } - - free( typelist ); -} - - -/******************************************************************* - * BuildSpec16File - * - * Build a Win16 assembly file from a spec file. - */ -void BuildSpec16File( DLLSPEC *spec ) -{ - init_dll_name( spec ); - output_standard_file_header(); - output_module16( spec ); - output_init_code( spec ); - - output( "\n\t%s\n", get_asm_string_section() ); - output( ".L__wine_spec_file_name:\n" ); - output( "\t%s \"%s\"\n", get_asm_string_keyword(), spec->file_name ); - - output_stubs( spec ); - output_get_pc_thunk(); - output_gnu_stack_note(); -} - - -/******************************************************************* - * output_spec16_file - * - * Output the complete data for a spec 16-bit file. - */ -void output_spec16_file( DLLSPEC *spec16 ) -{ - DLLSPEC *spec32 = alloc_dll_spec(); - - init_dll_name( spec16 ); - spec32->file_name = xstrdup( spec16->file_name ); - - if (spec16->characteristics & IMAGE_FILE_DLL) - { - spec32->characteristics = IMAGE_FILE_DLL; - spec32->init_func = xstrdup( "__wine_spec_dll_entry" ); - } - - resolve_imports( spec16 ); - add_16bit_exports( spec32, spec16 ); - - output_standard_file_header(); - output_module( spec32 ); - output_module16( spec16 ); - output_stubs( spec16 ); - output_exports( spec32 ); - output_imports( spec16 ); - if (spec16->main_module) - { - output( "\n\t%s\n", get_asm_string_section() ); - output( ".L__wine_spec_main_module:\n" ); - output( "\t%s \"%s\"\n", get_asm_string_keyword(), spec16->main_module ); - } - output_gnu_stack_note(); - free_dll_spec( spec32 ); -} - -/******************************************************************* - * output_fake_module16 - * - * Create a fake 16-bit binary module. - */ -void output_fake_module16( DLLSPEC *spec ) -{ - static const unsigned char code_segment[] = { 0x90, 0xc3 }; - static const unsigned char data_segment[16] = { 0 }; - static const char fakedll_signature[] = "Wine placeholder DLL"; - const unsigned int cseg = 2; - const unsigned int lfanew = (0x40 + sizeof(fakedll_signature) + 15) & ~15; - const unsigned int segtab = lfanew + 0x40; - - unsigned int i, rsrctab, restab, namelen, modtab, imptab, enttab, cbenttab, codeseg, dataseg, rsrcdata; - - init_dll_name( spec ); - init_output_buffer(); - - rsrctab = lfanew; - restab = segtab + 8 * cseg; - if (spec->nb_resources) - { - output_bin_res16_directory( spec, 0 ); - align_output( 2 ); - rsrctab = restab; - restab += output_buffer_pos; - free( output_buffer ); - init_output_buffer(); - } - - namelen = strlen( spec->dll_name ); - modtab = restab + ((namelen + 3) & ~1); - imptab = modtab; - enttab = modtab + 2; - cbenttab = 1; - codeseg = (enttab + cbenttab + 1) & ~1; - dataseg = codeseg + sizeof(code_segment); - rsrcdata = dataseg + sizeof(data_segment); - - init_output_buffer(); - - put_word( 0x5a4d ); /* e_magic */ - put_word( 0x40 ); /* e_cblp */ - put_word( 0x01 ); /* e_cp */ - put_word( 0 ); /* e_crlc */ - put_word( lfanew / 16 ); /* e_cparhdr */ - put_word( 0x0000 ); /* e_minalloc */ - put_word( 0xffff ); /* e_maxalloc */ - put_word( 0x0000 ); /* e_ss */ - put_word( 0x00b8 ); /* e_sp */ - put_word( 0 ); /* e_csum */ - put_word( 0 ); /* e_ip */ - put_word( 0 ); /* e_cs */ - put_word( lfanew ); /* e_lfarlc */ - put_word( 0 ); /* e_ovno */ - put_dword( 0 ); /* e_res */ - put_dword( 0 ); - put_word( 0 ); /* e_oemid */ - put_word( 0 ); /* e_oeminfo */ - put_dword( 0 ); /* e_res2 */ - put_dword( 0 ); - put_dword( 0 ); - put_dword( 0 ); - put_dword( 0 ); - put_dword( lfanew ); - - put_data( fakedll_signature, sizeof(fakedll_signature) ); - align_output( 16 ); - - put_word( 0x454e ); /* ne_magic */ - put_byte( 0 ); /* ne_ver */ - put_byte( 0 ); /* ne_rev */ - put_word( enttab - lfanew ); /* ne_enttab */ - put_word( cbenttab ); /* ne_cbenttab */ - put_dword( 0 ); /* ne_crc */ - put_word( NE_FFLAGS_SINGLEDATA | /* ne_flags */ - ((spec->characteristics & IMAGE_FILE_DLL) ? NE_FFLAGS_LIBMODULE : 0) ); - put_word( 2 ); /* ne_autodata */ - put_word( spec->heap_size ); /* ne_heap */ - put_word( 0 ); /* ne_stack */ - put_word( 0 ); put_word( 0 ); /* ne_csip */ - put_word( 0 ); put_word( 2 ); /* ne_sssp */ - put_word( cseg ); /* ne_cseg */ - put_word( 0 ); /* ne_cmod */ - put_word( 0 ); /* ne_cbnrestab */ - put_word( segtab - lfanew ); /* ne_segtab */ - put_word( rsrctab - lfanew ); /* ne_rsrctab */ - put_word( restab - lfanew ); /* ne_restab */ - put_word( modtab - lfanew ); /* ne_modtab */ - put_word( imptab - lfanew ); /* ne_imptab */ - put_dword( 0 ); /* ne_nrestab */ - put_word( 0 ); /* ne_cmovent */ - put_word( 0 ); /* ne_align */ - put_word( 0 ); /* ne_cres */ - put_byte( 2 /*NE_OSFLAGS_WINDOWS*/ ); /* ne_exetyp */ - put_byte( 8 /*NE_AFLAGS_FASTLOAD*/ ); /* ne_flagsothers */ - put_word( 0 ); /* ne_pretthunks */ - put_word( 0 ); /* ne_psegrefbytes */ - put_word( 0 ); /* ne_swaparea */ - put_word( 0 ); /* ne_expver */ - - /* segment table */ - put_word( codeseg ); - put_word( sizeof(code_segment) ); - put_word( 0x2000 /* NE_SEGFLAGS_32BIT */ ); - put_word( sizeof(code_segment) ); - put_word( dataseg ); - put_word( sizeof(data_segment) ); - put_word( 0x0001 /* NE_SEGFLAGS_DATA */ ); - put_word( sizeof(data_segment) ); - - /* resource directory */ - if (spec->nb_resources) - { - output_bin_res16_directory( spec, rsrcdata ); - align_output( 2 ); - } - - /* resident names table */ - put_byte( namelen ); - for (i = 0; i < namelen; i++) put_byte( toupper(spec->dll_name[i]) ); - put_byte( 0 ); - align_output( 2 ); - - /* imported names table */ - put_word( 0 ); - - /* entry table */ - put_byte( 0 ); - align_output( 2 ); - - /* code segment */ - put_data( code_segment, sizeof(code_segment) ); - - /* data segment */ - put_data( data_segment, sizeof(data_segment) ); - - /* resource data */ - output_bin_res16_data( spec ); - - flush_output_buffer(); -} diff --git a/reactos/tools/winebuild/spec32.c b/reactos/tools/winebuild/spec32.c deleted file mode 100644 index f00ad120937..00000000000 --- a/reactos/tools/winebuild/spec32.c +++ /dev/null @@ -1,989 +0,0 @@ -/* - * 32-bit spec files - * - * Copyright 1993 Robert J. Amstadt - * Copyright 1995 Martin von Loewis - * Copyright 1995, 1996, 1997 Alexandre Julliard - * Copyright 1997 Eric Youngdale - * Copyright 1999 Ulrich Weigand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include - -#include "build.h" - -#define IMAGE_FILE_MACHINE_UNKNOWN 0 -#define IMAGE_FILE_MACHINE_I386 0x014c -#define IMAGE_FILE_MACHINE_ALPHA 0x0184 -#define IMAGE_FILE_MACHINE_POWERPC 0x01f0 -#define IMAGE_FILE_MACHINE_AMD64 0x8664 -#define IMAGE_FILE_MACHINE_ARM 0x01C0 - -#define IMAGE_SIZEOF_NT_OPTIONAL32_HEADER 224 -#define IMAGE_SIZEOF_NT_OPTIONAL64_HEADER 240 - -#define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b -#define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b -#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107 - -/* check if entry point needs a relay thunk */ -static inline int needs_relay( const ORDDEF *odp ) -{ - /* skip nonexistent entry points */ - if (!odp) return 0; - /* skip non-functions */ - if ((odp->type != TYPE_STDCALL) && (odp->type != TYPE_CDECL)) return 0; - /* skip norelay and forward entry points */ - if (odp->flags & (FLAG_NORELAY|FLAG_FORWARD)) return 0; - return 1; -} - -/* check if dll will output relay thunks */ -int has_relays( DLLSPEC *spec ) -{ - int i; - - if (target_cpu != CPU_x86 && target_cpu != CPU_x86_64) return 0; - - for (i = spec->base; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (needs_relay( odp )) return 1; - } - return 0; -} - -/******************************************************************* - * make_internal_name - * - * Generate an internal name for an entry point. Used for stubs etc. - */ -static const char *make_internal_name( const ORDDEF *odp, DLLSPEC *spec, const char *prefix ) -{ - static char buffer[256]; - if (odp->name || odp->export_name) - { - char *p; - sprintf( buffer, "__wine_%s_%s_%s", prefix, spec->file_name, - odp->name ? odp->name : odp->export_name ); - /* make sure name is a legal C identifier */ - for (p = buffer; *p; p++) if (!isalnum(*p) && *p != '_') break; - if (!*p) return buffer; - } - sprintf( buffer, "__wine_%s_%s_%d", prefix, make_c_identifier(spec->file_name), odp->ordinal ); - return buffer; -} - - -/******************************************************************* - * output_relay_debug - * - * Output entry points for relay debugging - */ -static void output_relay_debug( DLLSPEC *spec ) -{ - int i; - unsigned int j, args, flags; - - /* first the table of entry point offsets */ - - output( "\t%s\n", get_asm_rodata_section() ); - output( "\t.align %d\n", get_alignment(4) ); - output( ".L__wine_spec_relay_entry_point_offsets:\n" ); - - for (i = spec->base; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - - if (needs_relay( odp )) - output( "\t.long .L__wine_spec_relay_entry_point_%d-__wine_spec_relay_entry_points\n", i ); - else - output( "\t.long 0\n" ); - } - - /* then the table of argument types */ - - output( "\t.align %d\n", get_alignment(4) ); - output( ".L__wine_spec_relay_arg_types:\n" ); - - for (i = spec->base; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - unsigned int mask = 0; - - if (needs_relay( odp )) - { - for (j = 0; j < 16 && odp->u.func.arg_types[j]; j++) - { - if (odp->u.func.arg_types[j] == 't') mask |= 1<< (j*2); - if (odp->u.func.arg_types[j] == 'W') mask |= 2<< (j*2); - } - } - output( "\t.long 0x%08x\n", mask ); - } - - /* then the relay thunks */ - - output( "\t.text\n" ); - output( "__wine_spec_relay_entry_points:\n" ); - output( "\tnop\n" ); /* to avoid 0 offset */ - - for (i = spec->base; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - - if (!needs_relay( odp )) continue; - - output( "\t.align %d\n", get_alignment(4) ); - output( ".L__wine_spec_relay_entry_point_%d:\n", i ); - - args = strlen(odp->u.func.arg_types); - flags = 0; - - switch (target_cpu) - { - case CPU_x86: - if (odp->flags & FLAG_REGISTER) - output( "\tpushl %%eax\n" ); - else - output( "\tpushl %%esp\n" ); - - if (odp->flags & FLAG_RET64) flags |= 1; - output( "\tpushl $%u\n", (flags << 24) | (args << 16) | (i - spec->base) ); - - if (UsePIC) - { - output( "\tcall %s\n", asm_name("__wine_spec_get_pc_thunk_eax") ); - output( "1:\tleal .L__wine_spec_relay_descr-1b(%%eax),%%eax\n" ); - } - else output( "\tmovl $.L__wine_spec_relay_descr,%%eax\n" ); - output( "\tpushl %%eax\n" ); - - if (odp->flags & FLAG_REGISTER) - { - output( "\tcall *8(%%eax)\n" ); - } - else - { - output( "\tcall *4(%%eax)\n" ); - if (odp->type == TYPE_STDCALL) - output( "\tret $%u\n", args * get_ptr_size() ); - else - output( "\tret\n" ); - } - break; - - case CPU_x86_64: - output( "\t.cfi_startproc\n" ); - output( "\tsubq $40,%%rsp\n" ); - output( "\t.cfi_adjust_cfa_offset 40\n" ); - output( "\tmovq %%rcx,48(%%rsp)\n" ); - output( "\tmovq %%rdx,56(%%rsp)\n" ); - output( "\tmovq %%r8,64(%%rsp)\n" ); - output( "\tmovq %%r9,72(%%rsp)\n" ); - output( "\tleaq 40(%%rsp),%%r8\n" ); - output( "\tmovq $%u,%%rdx\n", (flags << 24) | (args << 16) | (i - spec->base) ); - output( "\tleaq .L__wine_spec_relay_descr(%%rip),%%rcx\n" ); - output( "\tcallq *%u(%%rcx)\n", (odp->flags & FLAG_REGISTER) ? 16 : 8 ); - output( "\taddq $40,%%rsp\n" ); - output( "\t.cfi_adjust_cfa_offset -40\n" ); - output( "\tret\n" ); - output( "\t.cfi_endproc\n" ); - break; - - default: - assert(0); - } - } -} - -/******************************************************************* - * output_exports - * - * Output the export table for a Win32 module. - */ -void output_exports( DLLSPEC *spec ) -{ - int i, fwd_size = 0; - int nr_exports = spec->base <= spec->limit ? spec->limit - spec->base + 1 : 0; - - if (!nr_exports) return; - - output( "\n/* export table */\n\n" ); - output( "\t.data\n" ); - output( "\t.align %d\n", get_alignment(4) ); - output( ".L__wine_spec_exports:\n" ); - - /* export directory header */ - - output( "\t.long 0\n" ); /* Characteristics */ - output( "\t.long 0\n" ); /* TimeDateStamp */ - output( "\t.long 0\n" ); /* MajorVersion/MinorVersion */ - output( "\t.long .L__wine_spec_exp_names-.L__wine_spec_rva_base\n" ); /* Name */ - output( "\t.long %u\n", spec->base ); /* Base */ - output( "\t.long %u\n", nr_exports ); /* NumberOfFunctions */ - output( "\t.long %u\n", spec->nb_names ); /* NumberOfNames */ - output( "\t.long .L__wine_spec_exports_funcs-.L__wine_spec_rva_base\n" ); /* AddressOfFunctions */ - if (spec->nb_names) - { - output( "\t.long .L__wine_spec_exp_name_ptrs-.L__wine_spec_rva_base\n" ); /* AddressOfNames */ - output( "\t.long .L__wine_spec_exp_ordinals-.L__wine_spec_rva_base\n" ); /* AddressOfNameOrdinals */ - } - else - { - output( "\t.long 0\n" ); /* AddressOfNames */ - output( "\t.long 0\n" ); /* AddressOfNameOrdinals */ - } - - /* output the function pointers */ - - output( "\n.L__wine_spec_exports_funcs:\n" ); - for (i = spec->base; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (!odp) output( "\t%s 0\n", get_asm_ptr_keyword() ); - else switch(odp->type) - { - case TYPE_EXTERN: - case TYPE_STDCALL: - case TYPE_VARARGS: - case TYPE_CDECL: - if (odp->flags & FLAG_FORWARD) - { - output( "\t%s .L__wine_spec_forwards+%u\n", get_asm_ptr_keyword(), fwd_size ); - fwd_size += strlen(odp->link_name) + 1; - } - else if (odp->flags & FLAG_EXT_LINK) - { - output( "\t%s %s_%s\n", - get_asm_ptr_keyword(), asm_name("__wine_spec_ext_link"), odp->link_name ); - } - else - { - output( "\t%s %s\n", get_asm_ptr_keyword(), asm_name(odp->link_name) ); - } - break; - case TYPE_STUB: - output( "\t%s %s\n", get_asm_ptr_keyword(), - asm_name( get_stub_name( odp, spec )) ); - break; - default: - assert(0); - } - } - - if (spec->nb_names) - { - /* output the function name pointers */ - - int namepos = strlen(spec->file_name) + 1; - - output( "\n.L__wine_spec_exp_name_ptrs:\n" ); - for (i = 0; i < spec->nb_names; i++) - { - output( "\t.long .L__wine_spec_exp_names+%u-.L__wine_spec_rva_base\n", namepos ); - namepos += strlen(spec->names[i]->name) + 1; - } - - /* output the function ordinals */ - - output( "\n.L__wine_spec_exp_ordinals:\n" ); - for (i = 0; i < spec->nb_names; i++) - { - output( "\t%s %d\n", - get_asm_short_keyword(), spec->names[i]->ordinal - spec->base ); - } - if (spec->nb_names % 2) - { - output( "\t%s 0\n", get_asm_short_keyword() ); - } - } - - /* output the export name strings */ - - output( "\n.L__wine_spec_exp_names:\n" ); - output( "\t%s \"%s\"\n", get_asm_string_keyword(), spec->file_name ); - for (i = 0; i < spec->nb_names; i++) - output( "\t%s \"%s\"\n", - get_asm_string_keyword(), spec->names[i]->name ); - - /* output forward strings */ - - if (fwd_size) - { - output( "\n.L__wine_spec_forwards:\n" ); - for (i = spec->base; i <= spec->limit; i++) - { - ORDDEF *odp = spec->ordinals[i]; - if (odp && (odp->flags & FLAG_FORWARD)) - output( "\t%s \"%s\"\n", get_asm_string_keyword(), odp->link_name ); - } - } - output( "\t.align %d\n", get_alignment(get_ptr_size()) ); - output( ".L__wine_spec_exports_end:\n" ); - - /* output relays */ - - if (!has_relays( spec )) - { - output( "\t%s 0\n", get_asm_ptr_keyword() ); - return; - } - - output( ".L__wine_spec_relay_descr:\n" ); - output( "\t%s 0xdeb90001\n", get_asm_ptr_keyword() ); /* magic */ - output( "\t%s 0,0\n", get_asm_ptr_keyword() ); /* relay funcs */ - output( "\t%s 0\n", get_asm_ptr_keyword() ); /* private data */ - output( "\t%s __wine_spec_relay_entry_points\n", get_asm_ptr_keyword() ); - output( "\t%s .L__wine_spec_relay_entry_point_offsets\n", get_asm_ptr_keyword() ); - output( "\t%s .L__wine_spec_relay_arg_types\n", get_asm_ptr_keyword() ); - - output_relay_debug( spec ); -} - - -/******************************************************************* - * output_stub_funcs - * - * Output the functions for stub entry points - */ -static void output_stub_funcs( DLLSPEC *spec ) -{ - int i; - -#if 0 - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - if (odp->type != TYPE_STUB) continue; - fprintf( outfile, "#ifdef __GNUC__\n" ); - fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func ) __attribute__((noreturn));\n" ); - fprintf( outfile, "#else\n" ); - fprintf( outfile, "extern void __wine_spec_unimplemented_stub( const char *module, const char *func );\n" ); - fprintf( outfile, "#endif\n\n" ); - break; - } -#endif - - for (i = 0; i < spec->nb_entry_points; i++) - { - const ORDDEF *odp = &spec->entry_points[i]; - if (odp->type != TYPE_STUB) continue; - output( "void %s(void) ", make_internal_name( odp, spec, "stub" ) ); - if (odp->name) - output( "{ __wine_spec_unimplemented_stub(__wine_spec_file_name, \"%s\"); }\n", odp->name ); - else if (odp->export_name) - output( "{ __wine_spec_unimplemented_stub(__wine_spec_file_name, \"%s\"); }\n", odp->export_name ); - else - output( "{ __wine_spec_unimplemented_stub(__wine_spec_file_name, \"%d\"); }\n", odp->ordinal ); - } -} - - -/******************************************************************* - * output_asm_constructor - * - * Output code for calling a dll constructor. - */ -static void output_asm_constructor( const char *constructor ) -{ - if (target_platform == PLATFORM_APPLE) - { - /* Mach-O doesn't have an init section */ - output( "\n\t.mod_init_func\n" ); - output( "\t.align %d\n", get_alignment(4) ); - output( "\t.long %s\n", asm_name(constructor) ); - } - else - { - output( "\n\t.section \".init\",\"ax\"\n" ); - switch(target_cpu) - { - case CPU_x86: - case CPU_x86_64: - output( "\tcall %s\n", asm_name(constructor) ); - break; - case CPU_SPARC: - output( "\tcall %s\n", asm_name(constructor) ); - output( "\tnop\n" ); - break; - case CPU_ALPHA: - output( "\tjsr $26,%s\n", asm_name(constructor) ); - break; - case CPU_ARM: - output( "\tblx %s\n", asm_name(constructor) ); - break; - case CPU_POWERPC: - output( "\tbl %s\n", asm_name(constructor) ); - break; - } - } -} - - -/******************************************************************* - * output_module - * - * Output the module data. - */ -void output_module( DLLSPEC *spec ) -{ - int machine = 0; - unsigned int page_size = get_page_size(); - - /* Reserve some space for the PE header */ - - switch (target_platform) - { - case PLATFORM_APPLE: - output( "\t.text\n" ); - output( "\t.align %d\n", get_alignment(page_size) ); - output( "__wine_spec_pe_header:\n" ); - output( "\t.space 65536\n" ); - break; - case PLATFORM_SOLARIS: - output( "\n\t.section \".text\",\"ax\"\n" ); - output( "__wine_spec_pe_header:\n" ); - output( "\t.skip %u\n", 65536 + page_size ); - break; - default: - output( "\n\t.section \".init\",\"ax\"\n" ); - switch(target_cpu) - { - case CPU_x86: - case CPU_x86_64: - case CPU_ALPHA: - case CPU_SPARC: - output( "\tjmp 1f\n" ); - break; - case CPU_ARM: - case CPU_POWERPC: - output( "\tb 1f\n" ); - break; - } - output( "__wine_spec_pe_header:\n" ); - output( "\t.skip %u\n", 65536 + page_size ); - output( "1:\n" ); - break; - } - - /* Output the NT header */ - - output( "\n\t.data\n" ); - output( "\t.align %d\n", get_alignment(get_ptr_size()) ); - output( "%s\n", asm_globl("__wine_spec_nt_header") ); - output( ".L__wine_spec_rva_base:\n" ); - - output( "\t.long 0x4550\n" ); /* Signature */ - switch(target_cpu) - { - case CPU_x86: machine = IMAGE_FILE_MACHINE_I386; break; - case CPU_x86_64: machine = IMAGE_FILE_MACHINE_AMD64; break; - case CPU_ARM: machine = IMAGE_FILE_MACHINE_ARM; break; - case CPU_POWERPC: machine = IMAGE_FILE_MACHINE_POWERPC; break; - case CPU_ALPHA: machine = IMAGE_FILE_MACHINE_ALPHA; break; - case CPU_SPARC: machine = IMAGE_FILE_MACHINE_UNKNOWN; break; - } - output( "\t%s 0x%04x\n", /* Machine */ - get_asm_short_keyword(), machine ); - output( "\t%s 0\n", /* NumberOfSections */ - get_asm_short_keyword() ); - output( "\t.long 0\n" ); /* TimeDateStamp */ - output( "\t.long 0\n" ); /* PointerToSymbolTable */ - output( "\t.long 0\n" ); /* NumberOfSymbols */ - output( "\t%s %d\n", /* SizeOfOptionalHeader */ - get_asm_short_keyword(), - get_ptr_size() == 8 ? IMAGE_SIZEOF_NT_OPTIONAL64_HEADER : IMAGE_SIZEOF_NT_OPTIONAL32_HEADER ); - output( "\t%s 0x%04x\n", /* Characteristics */ - get_asm_short_keyword(), spec->characteristics ); - output( "\t%s 0x%04x\n", /* Magic */ - get_asm_short_keyword(), - get_ptr_size() == 8 ? IMAGE_NT_OPTIONAL_HDR64_MAGIC : IMAGE_NT_OPTIONAL_HDR32_MAGIC ); - output( "\t.byte 0\n" ); /* MajorLinkerVersion */ - output( "\t.byte 0\n" ); /* MinorLinkerVersion */ - output( "\t.long 0\n" ); /* SizeOfCode */ - output( "\t.long 0\n" ); /* SizeOfInitializedData */ - output( "\t.long 0\n" ); /* SizeOfUninitializedData */ - /* note: we expand the AddressOfEntryPoint field on 64-bit by overwriting the BaseOfCode field */ - output( "\t%s %s\n", /* AddressOfEntryPoint */ - get_asm_ptr_keyword(), spec->init_func ? asm_name(spec->init_func) : "0" ); - if (get_ptr_size() == 4) - { - output( "\t.long 0\n" ); /* BaseOfCode */ - output( "\t.long 0\n" ); /* BaseOfData */ - } - output( "\t%s __wine_spec_pe_header\n", /* ImageBase */ - get_asm_ptr_keyword() ); - output( "\t.long %u\n", page_size ); /* SectionAlignment */ - output( "\t.long %u\n", page_size ); /* FileAlignment */ - output( "\t%s 1,0\n", /* Major/MinorOperatingSystemVersion */ - get_asm_short_keyword() ); - output( "\t%s 0,0\n", /* Major/MinorImageVersion */ - get_asm_short_keyword() ); - output( "\t%s %u,%u\n", /* Major/MinorSubsystemVersion */ - get_asm_short_keyword(), spec->subsystem_major, spec->subsystem_minor ); - output( "\t.long 0\n" ); /* Win32VersionValue */ - output( "\t.long %s-.L__wine_spec_rva_base\n", /* SizeOfImage */ - asm_name("_end") ); - output( "\t.long %u\n", page_size ); /* SizeOfHeaders */ - output( "\t.long 0\n" ); /* CheckSum */ - output( "\t%s 0x%04x\n", /* Subsystem */ - get_asm_short_keyword(), spec->subsystem ); - output( "\t%s 0x%04x\n", /* DllCharacteristics */ - get_asm_short_keyword(), spec->dll_characteristics ); - output( "\t%s %u,%u\n", /* SizeOfStackReserve/Commit */ - get_asm_ptr_keyword(), (spec->stack_size ? spec->stack_size : 1024) * 1024, page_size ); - output( "\t%s %u,%u\n", /* SizeOfHeapReserve/Commit */ - get_asm_ptr_keyword(), (spec->heap_size ? spec->heap_size : 1024) * 1024, page_size ); - output( "\t.long 0\n" ); /* LoaderFlags */ - output( "\t.long 16\n" ); /* NumberOfRvaAndSizes */ - - if (spec->base <= spec->limit) /* DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT] */ - output( "\t.long .L__wine_spec_exports-.L__wine_spec_rva_base," - ".L__wine_spec_exports_end-.L__wine_spec_exports\n" ); - else - output( "\t.long 0,0\n" ); - - if (has_imports()) /* DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT] */ - output( "\t.long .L__wine_spec_imports-.L__wine_spec_rva_base," - ".L__wine_spec_imports_end-.L__wine_spec_imports\n" ); - else - output( "\t.long 0,0\n" ); - - if (spec->nb_resources) /* DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE] */ - output( "\t.long .L__wine_spec_resources-.L__wine_spec_rva_base," - ".L__wine_spec_resources_end-.L__wine_spec_resources\n" ); - else - output( "\t.long 0,0\n" ); - - output( "\t.long 0,0\n" ); /* DataDirectory[3] */ - output( "\t.long 0,0\n" ); /* DataDirectory[4] */ - output( "\t.long 0,0\n" ); /* DataDirectory[5] */ - output( "\t.long 0,0\n" ); /* DataDirectory[6] */ - output( "\t.long 0,0\n" ); /* DataDirectory[7] */ - output( "\t.long 0,0\n" ); /* DataDirectory[8] */ - output( "\t.long 0,0\n" ); /* DataDirectory[9] */ - output( "\t.long 0,0\n" ); /* DataDirectory[10] */ - output( "\t.long 0,0\n" ); /* DataDirectory[11] */ - output( "\t.long 0,0\n" ); /* DataDirectory[12] */ - output( "\t.long 0,0\n" ); /* DataDirectory[13] */ - output( "\t.long 0,0\n" ); /* DataDirectory[14] */ - output( "\t.long 0,0\n" ); /* DataDirectory[15] */ - - output( "\n\t%s\n", get_asm_string_section() ); - output( "%s\n", asm_globl("__wine_spec_file_name") ); - output( ".L__wine_spec_file_name:\n" ); - output( "\t%s \"%s\"\n", get_asm_string_keyword(), spec->file_name ); - if (target_platform == PLATFORM_APPLE) - output( "\t.lcomm %s,4\n", asm_name("_end") ); - - output_asm_constructor( "__wine_spec_init_ctor" ); -} - - -/******************************************************************* - * BuildSpec32File - * - * Build a Win32 C file from a spec file. - */ -void BuildSpec32File( DLLSPEC *spec ) -{ - resolve_imports( spec ); - output_standard_file_header(); - output_module( spec ); - output_stubs( spec ); - output_exports( spec ); - output_imports( spec ); - output_resources( spec ); - output_gnu_stack_note(); -} - - -/******************************************************************* - * output_fake_module - * - * Build a fake binary module from a spec file. - */ -void output_fake_module( DLLSPEC *spec ) -{ - static const unsigned char dll_code_section[] = { 0x31, 0xc0, /* xor %eax,%eax */ - 0xc2, 0x0c, 0x00 }; /* ret $12 */ - - static const unsigned char exe_code_section[] = { 0xb8, 0x01, 0x00, 0x00, 0x00, /* movl $1,%eax */ - 0xc2, 0x04, 0x00 }; /* ret $4 */ - - static const char fakedll_signature[] = "Wine placeholder DLL"; - const unsigned int page_size = get_page_size(); - const unsigned int section_align = page_size; - const unsigned int file_align = 0x200; - const unsigned int reloc_size = 8; - const unsigned int lfanew = (0x40 + sizeof(fakedll_signature) + 15) & ~15; - const unsigned int nb_sections = 2 + (spec->nb_resources != 0); - const unsigned int text_size = (spec->characteristics & IMAGE_FILE_DLL) ? - sizeof(dll_code_section) : sizeof(exe_code_section); - unsigned char *resources; - unsigned int resources_size; - unsigned int image_size = 3 * section_align; - - resolve_imports( spec ); - output_bin_resources( spec, 3 * section_align ); - resources = output_buffer; - resources_size = output_buffer_pos; - if (resources_size) image_size += (resources_size + section_align - 1) & ~(section_align - 1); - - init_output_buffer(); - - put_word( 0x5a4d ); /* e_magic */ - put_word( 0x40 ); /* e_cblp */ - put_word( 0x01 ); /* e_cp */ - put_word( 0 ); /* e_crlc */ - put_word( lfanew / 16 ); /* e_cparhdr */ - put_word( 0x0000 ); /* e_minalloc */ - put_word( 0xffff ); /* e_maxalloc */ - put_word( 0x0000 ); /* e_ss */ - put_word( 0x00b8 ); /* e_sp */ - put_word( 0 ); /* e_csum */ - put_word( 0 ); /* e_ip */ - put_word( 0 ); /* e_cs */ - put_word( lfanew ); /* e_lfarlc */ - put_word( 0 ); /* e_ovno */ - put_dword( 0 ); /* e_res */ - put_dword( 0 ); - put_word( 0 ); /* e_oemid */ - put_word( 0 ); /* e_oeminfo */ - put_dword( 0 ); /* e_res2 */ - put_dword( 0 ); - put_dword( 0 ); - put_dword( 0 ); - put_dword( 0 ); - put_dword( lfanew ); - - put_data( fakedll_signature, sizeof(fakedll_signature) ); - align_output( 16 ); - - put_dword( 0x4550 ); /* Signature */ - switch(target_cpu) - { - case CPU_x86: put_word( IMAGE_FILE_MACHINE_I386 ); break; - case CPU_x86_64: put_word( IMAGE_FILE_MACHINE_AMD64 ); break; - case CPU_POWERPC: put_word( IMAGE_FILE_MACHINE_POWERPC ); break; - case CPU_ALPHA: put_word( IMAGE_FILE_MACHINE_ALPHA ); break; - case CPU_SPARC: put_word( IMAGE_FILE_MACHINE_UNKNOWN ); break; - case CPU_ARM: put_word( IMAGE_FILE_MACHINE_ARM ); break; - } - put_word( nb_sections ); /* NumberOfSections */ - put_dword( 0 ); /* TimeDateStamp */ - put_dword( 0 ); /* PointerToSymbolTable */ - put_dword( 0 ); /* NumberOfSymbols */ - put_word( get_ptr_size() == 8 ? - IMAGE_SIZEOF_NT_OPTIONAL64_HEADER : - IMAGE_SIZEOF_NT_OPTIONAL32_HEADER ); /* SizeOfOptionalHeader */ - put_word( spec->characteristics ); /* Characteristics */ - put_word( get_ptr_size() == 8 ? - IMAGE_NT_OPTIONAL_HDR64_MAGIC : - IMAGE_NT_OPTIONAL_HDR32_MAGIC ); /* Magic */ - put_byte( 0 ); /* MajorLinkerVersion */ - put_byte( 0 ); /* MinorLinkerVersion */ - put_dword( text_size ); /* SizeOfCode */ - put_dword( 0 ); /* SizeOfInitializedData */ - put_dword( 0 ); /* SizeOfUninitializedData */ - put_dword( section_align ); /* AddressOfEntryPoint */ - put_dword( section_align ); /* BaseOfCode */ - if (get_ptr_size() == 4) put_dword( 0 ); /* BaseOfData */ - put_pword( 0x10000000 ); /* ImageBase */ - put_dword( section_align ); /* SectionAlignment */ - put_dword( file_align ); /* FileAlignment */ - put_word( 1 ); /* MajorOperatingSystemVersion */ - put_word( 0 ); /* MinorOperatingSystemVersion */ - put_word( 0 ); /* MajorImageVersion */ - put_word( 0 ); /* MinorImageVersion */ - put_word( spec->subsystem_major ); /* MajorSubsystemVersion */ - put_word( spec->subsystem_minor ); /* MinorSubsystemVersion */ - put_dword( 0 ); /* Win32VersionValue */ - put_dword( image_size ); /* SizeOfImage */ - put_dword( file_align ); /* SizeOfHeaders */ - put_dword( 0 ); /* CheckSum */ - put_word( spec->subsystem ); /* Subsystem */ - put_word( spec->dll_characteristics ); /* DllCharacteristics */ - put_pword( (spec->stack_size ? spec->stack_size : 1024) * 1024 ); /* SizeOfStackReserve */ - put_pword( page_size ); /* SizeOfStackCommit */ - put_pword( (spec->heap_size ? spec->heap_size : 1024) * 1024 ); /* SizeOfHeapReserve */ - put_pword( page_size ); /* SizeOfHeapCommit */ - put_dword( 0 ); /* LoaderFlags */ - put_dword( 16 ); /* NumberOfRvaAndSizes */ - - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT] */ - if (resources_size) /* DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE] */ - { - put_dword( 3 * section_align ); - put_dword( resources_size ); - } - else - { - put_dword( 0 ); - put_dword( 0 ); - } - - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_EXCEPTION] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY] */ - put_dword( 2 * section_align ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_BASERELOC] */ - put_dword( reloc_size ); - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_DEBUG] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_COPYRIGHT] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_GLOBALPTR] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_TLS] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_IAT] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR] */ - put_dword( 0 ); put_dword( 0 ); /* DataDirectory[15] */ - - /* .text section */ - put_data( ".text\0\0", 8 ); /* Name */ - put_dword( section_align ); /* VirtualSize */ - put_dword( section_align ); /* VirtualAddress */ - put_dword( text_size ); /* SizeOfRawData */ - put_dword( file_align ); /* PointerToRawData */ - put_dword( 0 ); /* PointerToRelocations */ - put_dword( 0 ); /* PointerToLinenumbers */ - put_word( 0 ); /* NumberOfRelocations */ - put_word( 0 ); /* NumberOfLinenumbers */ - put_dword( 0x60000020 /* CNT_CODE|MEM_EXECUTE|MEM_READ */ ); /* Characteristics */ - - /* .reloc section */ - put_data( ".reloc\0", 8 ); /* Name */ - put_dword( section_align ); /* VirtualSize */ - put_dword( 2 * section_align );/* VirtualAddress */ - put_dword( reloc_size ); /* SizeOfRawData */ - put_dword( 2 * file_align ); /* PointerToRawData */ - put_dword( 0 ); /* PointerToRelocations */ - put_dword( 0 ); /* PointerToLinenumbers */ - put_word( 0 ); /* NumberOfRelocations */ - put_word( 0 ); /* NumberOfLinenumbers */ - put_dword( 0x42000040 /* CNT_INITIALIZED_DATA|MEM_DISCARDABLE|MEM_READ */ ); /* Characteristics */ - - /* .rsrc section */ - if (resources_size) - { - put_data( ".rsrc\0\0", 8 ); /* Name */ - put_dword( (resources_size + section_align - 1) & ~(section_align - 1) ); /* VirtualSize */ - put_dword( 3 * section_align );/* VirtualAddress */ - put_dword( resources_size ); /* SizeOfRawData */ - put_dword( 3 * file_align ); /* PointerToRawData */ - put_dword( 0 ); /* PointerToRelocations */ - put_dword( 0 ); /* PointerToLinenumbers */ - put_word( 0 ); /* NumberOfRelocations */ - put_word( 0 ); /* NumberOfLinenumbers */ - put_dword( 0x40000040 /* CNT_INITIALIZED_DATA|MEM_READ */ ); /* Characteristics */ - } - - /* .text contents */ - align_output( file_align ); - if (spec->characteristics & IMAGE_FILE_DLL) - put_data( dll_code_section, sizeof(dll_code_section) ); - else - put_data( exe_code_section, sizeof(exe_code_section) ); - - /* .reloc contents */ - align_output( file_align ); - put_dword( 0 ); /* VirtualAddress */ - put_dword( 0 ); /* SizeOfBlock */ - - /* .rsrc contents */ - if (resources_size) - { - align_output( file_align ); - put_data( resources, resources_size ); - } - flush_output_buffer(); -} - - -/******************************************************************* - * BuildDef32File - * - * Build a Win32 def file from a spec file. - */ -void BuildDef32File( DLLSPEC *spec ) -{ - const char *name; - int i, total; - - if (spec_file_name) - output( "; File generated automatically from %s; do not edit!\n\n", - spec_file_name ); - else - output( "; File generated automatically; do not edit!\n\n" ); - - output( "LIBRARY %s\n\n", spec->file_name); - output( "EXPORTS\n"); - - /* Output the exports and relay entry points */ - - for (i = total = 0; i < spec->nb_entry_points; i++) - { - const ORDDEF *odp = &spec->entry_points[i]; - int is_data = 0; - - if (!odp) continue; - - if (odp->name) name = odp->name; - else if (odp->export_name) name = odp->export_name; - else continue; - - if (!(odp->flags & FLAG_PRIVATE)) total++; - - switch(odp->type) - { - case TYPE_EXTERN: - is_data = 1; - /* fall through */ - case TYPE_VARARGS: - case TYPE_CDECL: - /* try to reduce output */ - output( " %s", name ); - if(strcmp(name, odp->link_name) || (odp->flags & FLAG_FORWARD)) - output( "=%s", odp->link_name ); - break; - case TYPE_STDCALL: - { - int at_param = strlen(odp->u.func.arg_types) * get_ptr_size(); - output( " %s", name ); - if (!kill_at && target_cpu == CPU_x86) output( "@%d", at_param ); - if (odp->flags & FLAG_FORWARD) - { - output( "=%s", odp->link_name ); - } - else if (strcmp(name, odp->link_name)) /* try to reduce output */ - { - output( "=%s", odp->link_name ); - if (!kill_at && target_cpu == CPU_x86) output( "@%d", at_param ); - } - break; - } - case TYPE_FASTCALL: - { - int at_param = strlen(odp->u.func.arg_types) * get_ptr_size(); - output( " " ); - if (!kill_at) output( "@" ); - output( "%s", name ); - if (!kill_at) output( "@%d", at_param ); - if (odp->flags & FLAG_FORWARD) - { - output( "=" ); - output( "%s", odp->link_name ); - } - else if (strcmp(name, odp->link_name)) /* try to reduce output */ - { - output( "=" ); - if (!kill_at) output( "@" ); - output( "%s", odp->link_name ); - if (!kill_at) output( "@%d", at_param ); - } - break; - } - case TYPE_STUB: - { - output( " %s", name ); - if (!kill_at) - { - const char *check = name + strlen(name); - while (name != check && - '0' <= check[-1] && check[-1] <= '9') - { - check--; - } - if (name != check && check != name + strlen(name) && - '@' == check[-1]) - { - output("%s", check - 1); - } - } - if (odp->name || odp->export_name) - { - output("=%s", make_internal_name( odp, spec, "stub" )); - } - break; - } - default: - assert(0); - } - output( " @%d", odp->ordinal ); - if (!odp->name || (odp->flags & FLAG_ORDINAL)) output( " NONAME" ); - if (is_data) output( " DATA" ); - if (odp->flags & FLAG_PRIVATE) output( " PRIVATE" ); - output( "\n" ); - } - if (!total) warning( "%s: Import library doesn't export anything\n", spec->file_name ); -} - - -/******************************************************************* - * BuildPedllFile - * - * Build a PE DLL C file from a spec file. - */ -void BuildPedllFile( DLLSPEC *spec ) -{ - int i, has_stubs = 0; - - output_standard_file_header(); - - for (i = 0; i < spec->nb_entry_points; i++) - { - const ORDDEF *odp = &spec->entry_points[i]; - if (odp->type == TYPE_STUB) - { - has_stubs = 1; - break; - } - } - - if (!has_stubs) - { - output( "/* This file is intentionally left blank */\n"); - return; - } - - output( "#include \n"); - output( "#include \"windef.h\"\n"); - output( "#include \"winbase.h\"\n"); - output( "#include \"wine/config.h\"\n"); - output( "#include \"wine/exception.h\"\n\n"); - - output( "void __wine_spec_unimplemented_stub( const char *module, const char *function )\n"); - output( "{\n"); - output( " ULONG_PTR args[2];\n"); - output( "\n"); - output( " args[0] = (ULONG_PTR)module;\n"); - output( " args[1] = (ULONG_PTR)function;\n"); - output( " RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args );\n"); - output( "}\n\n"); - - output( "static const char __wine_spec_file_name[] = \"%s\";\n\n", spec->file_name ); - - /* Output the stub functions */ - output_stub_funcs( spec ); -} diff --git a/reactos/tools/winebuild/utils.c b/reactos/tools/winebuild/utils.c deleted file mode 100644 index c0b93710e6c..00000000000 --- a/reactos/tools/winebuild/utils.c +++ /dev/null @@ -1,995 +0,0 @@ -/* - * Small utility functions for winebuild - * - * Copyright 2000 Alexandre Julliard - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include -#ifdef HAVE_UNISTD_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef HAVE_SYS_MMAN_H -#include -#endif - -#include "build.h" - -#define MAX_TMP_FILES 8 -static const char *tmp_files[MAX_TMP_FILES]; -static unsigned int nb_tmp_files; - -static const struct -{ - const char *name; - enum target_cpu cpu; -} cpu_names[] = -{ - { "i386", CPU_x86 }, - { "i486", CPU_x86 }, - { "i586", CPU_x86 }, - { "i686", CPU_x86 }, - { "i786", CPU_x86 }, - { "x86_64", CPU_x86_64 }, - { "sparc", CPU_SPARC }, - { "alpha", CPU_ALPHA }, - { "powerpc", CPU_POWERPC }, - { "arm", CPU_ARM } -}; - -/* atexit handler to clean tmp files */ -static void cleanup_tmp_files(void) -{ - unsigned int i; - for (i = 0; i < MAX_TMP_FILES; i++) if (tmp_files[i]) unlink( tmp_files[i] ); -} - - -void *xmalloc (size_t size) -{ - void *res; - - res = malloc (size ? size : 1); - if (res == NULL) - { - fprintf (stderr, "Virtual memory exhausted.\n"); - exit (1); - } - return res; -} - -void *xrealloc (void *ptr, size_t size) -{ - void *res = realloc (ptr, size); - if (size && res == NULL) - { - fprintf (stderr, "Virtual memory exhausted.\n"); - exit (1); - } - return res; -} - -char *xstrdup( const char *str ) -{ - char *res = strdup( str ); - if (!res) - { - fprintf (stderr, "Virtual memory exhausted.\n"); - exit (1); - } - return res; -} - -char *strupper(char *s) -{ - char *p; - for (p = s; *p; p++) *p = toupper(*p); - return s; -} - -int strendswith(const char* str, const char* end) -{ - int l = strlen(str); - int m = strlen(end); - return l >= m && strcmp(str + l - m, end) == 0; -} - -void fatal_error( const char *msg, ... ) -{ - va_list valist; - va_start( valist, msg ); - if (input_file_name) - { - fprintf( stderr, "%s:", input_file_name ); - if (current_line) - fprintf( stderr, "%d:", current_line ); - fputc( ' ', stderr ); - } - else fprintf( stderr, "winebuild: " ); - vfprintf( stderr, msg, valist ); - va_end( valist ); - exit(1); -} - -void fatal_perror( const char *msg, ... ) -{ - va_list valist; - va_start( valist, msg ); - if (input_file_name) - { - fprintf( stderr, "%s:", input_file_name ); - if (current_line) - fprintf( stderr, "%d:", current_line ); - fputc( ' ', stderr ); - } - vfprintf( stderr, msg, valist ); - perror( " " ); - va_end( valist ); - exit(1); -} - -void error( const char *msg, ... ) -{ - va_list valist; - va_start( valist, msg ); - if (input_file_name) - { - fprintf( stderr, "%s:", input_file_name ); - if (current_line) - fprintf( stderr, "%d:", current_line ); - fputc( ' ', stderr ); - } - vfprintf( stderr, msg, valist ); - va_end( valist ); - nb_errors++; -} - -void warning( const char *msg, ... ) -{ - va_list valist; - - if (!display_warnings) return; - va_start( valist, msg ); - if (input_file_name) - { - fprintf( stderr, "%s:", input_file_name ); - if (current_line) - fprintf( stderr, "%d:", current_line ); - fputc( ' ', stderr ); - } - fprintf( stderr, "warning: " ); - vfprintf( stderr, msg, valist ); - va_end( valist ); -} - -int output( const char *format, ... ) -{ - int ret; - va_list valist; - - va_start( valist, format ); - ret = vfprintf( output_file, format, valist ); - va_end( valist ); - if (ret < 0) fatal_perror( "Output error" ); - return ret; -} - -/* find a build tool in the path, trying the various names */ -static char *find_tool( const char * const *names ) -{ - static char **dirs; - static unsigned int count, maxlen; - - char *p, *file; - unsigned int i, len; - struct stat st; - - if (!dirs) - { - char *path; - - /* split the path in directories */ - - if (!getenv( "PATH" )) return NULL; - path = xstrdup( getenv( "PATH" )); - for (p = path, count = 2; *p; p++) if (*p == ':') count++; - dirs = xmalloc( count * sizeof(*dirs) ); - count = 0; - dirs[count++] = p = path; - while (*p) - { - while (*p && *p != ':') p++; - if (!*p) break; - *p++ = 0; - dirs[count++] = p; - } - for (i = 0; i < count; i++) maxlen = max( maxlen, strlen(dirs[i])+2 ); - } - - while (*names) - { - len = strlen(*names) + sizeof(EXEEXT) + 1; - file = xmalloc( maxlen + len ); - - for (i = 0; i < count; i++) - { - strcpy( file, dirs[i] ); - p = file + strlen(file); - if (p == file) *p++ = '.'; - if (p[-1] != '/') *p++ = '/'; - strcpy( p, *names ); - strcat( p, EXEEXT ); - - if (!stat( file, &st ) && S_ISREG(st.st_mode) && (st.st_mode & 0111)) return file; - } - free( file ); - names++; - } - return NULL; -} - -const char *get_as_command(void) -{ - if (!as_command) - { - if (target_alias) - { - as_command = xmalloc( strlen(target_alias) + sizeof("-as") ); - strcpy( as_command, target_alias ); - strcat( as_command, "-as" ); - } - else - { - static const char * const commands[] = { "gas", "as", NULL }; - if (!(as_command = find_tool( commands ))) as_command = xstrdup("as"); - } - - if (force_pointer_size) - { - const char *args = (target_platform == PLATFORM_APPLE) ? - ((force_pointer_size == 8) ? " -arch x86_64" : " -arch i386") : - ((force_pointer_size == 8) ? " --64" : " --32"); - as_command = xrealloc( as_command, strlen(as_command) + strlen(args) + 1 ); - strcat( as_command, args ); - } - } - return as_command; -} - -const char *get_ld_command(void) -{ - if (!ld_command) - { - if (target_alias) - { - ld_command = xmalloc( strlen(target_alias) + sizeof("-ld") ); - strcpy( ld_command, target_alias ); - strcat( ld_command, "-ld" ); - } - else - { - static const char * const commands[] = { "ld", "gld", NULL }; - if (!(ld_command = find_tool( commands ))) ld_command = xstrdup("ld"); - } - - if (force_pointer_size) - { - const char *args; - - switch (target_platform) - { - case PLATFORM_APPLE: - args = (force_pointer_size == 8) ? " -arch x86_64" : " -arch i386"; - break; - case PLATFORM_FREEBSD: - args = (force_pointer_size == 8) ? " -m elf_x86_64" : " -m elf_i386_fbsd"; - break; - default: - args = (force_pointer_size == 8) ? " -m elf_x86_64" : " -m elf_i386"; - break; - } - ld_command = xrealloc( ld_command, strlen(ld_command) + strlen(args) + 1 ); - strcat( ld_command, args ); - } - } - return ld_command; -} - -const char *get_nm_command(void) -{ - if (!nm_command) - { - if (target_alias) - { - nm_command = xmalloc( strlen(target_alias) + sizeof("-nm") ); - strcpy( nm_command, target_alias ); - strcat( nm_command, "-nm" ); - } - else - { - static const char * const commands[] = { "nm", "gnm", NULL }; - if (!(nm_command = find_tool( commands ))) nm_command = xstrdup("nm"); - } - } - return nm_command; -} - -const char *get_windres_command(void) -{ - static char *windres_command; - - if (!windres_command) - { - if (target_alias) - { - windres_command = xmalloc( strlen(target_alias) + sizeof("-windres") ); - strcpy( windres_command, target_alias ); - strcat( windres_command, "-windres" ); - } - else - { - static const char * const commands[] = { "windres", NULL }; - if (!(windres_command = find_tool( commands ))) windres_command = xstrdup("windres"); - } - } - return windres_command; -} - -/* get a name for a temp file, automatically cleaned up on exit */ -char *get_temp_file_name( const char *prefix, const char *suffix ) -{ - char *name; - const char *ext; - int fd; - - assert( nb_tmp_files < MAX_TMP_FILES ); - if (!nb_tmp_files && !save_temps) atexit( cleanup_tmp_files ); - - if (!prefix || !prefix[0]) prefix = "winebuild"; - if (!suffix) suffix = ""; - if (!(ext = strchr( prefix, '.' ))) ext = prefix + strlen(prefix); - name = xmalloc( sizeof("/tmp/") + (ext - prefix) + sizeof(".XXXXXX") + strlen(suffix) ); - strcpy( name, "/tmp/" ); - memcpy( name + 5, prefix, ext - prefix ); - strcpy( name + 5 + (ext - prefix), ".XXXXXX" ); - strcat( name, suffix ); - - /* first try without the /tmp/ prefix */ - if ((fd = mkstemps( name + 5, strlen(suffix) )) != -1) - name += 5; - else if ((fd = mkstemps( name, strlen(suffix) )) == -1) - fatal_error( "could not generate a temp file\n" ); - - close( fd ); - tmp_files[nb_tmp_files++] = name; - return name; -} - -/******************************************************************* - * buffer management - * - * Function for reading from/writing to a memory buffer. - */ - -int byte_swapped = 0; -const char *input_buffer_filename; -const unsigned char *input_buffer; -size_t input_buffer_pos; -size_t input_buffer_size; -unsigned char *output_buffer; -size_t output_buffer_pos; -size_t output_buffer_size; - -static void check_output_buffer_space( size_t size ) -{ - if (output_buffer_pos + size >= output_buffer_size) - { - output_buffer_size = max( output_buffer_size * 2, output_buffer_pos + size ); - output_buffer = xrealloc( output_buffer, output_buffer_size ); - } -} - -void init_input_buffer( const char *file ) -{ - int fd; - struct stat st; - - if ((fd = open( file, O_RDONLY | O_BINARY )) == -1) fatal_perror( "Cannot open %s", file ); - if ((fstat( fd, &st ) == -1)) fatal_perror( "Cannot stat %s", file ); - if (!st.st_size) fatal_error( "%s is an empty file\n", file ); -#ifdef HAVE_MMAP - if ((input_buffer = mmap( NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0 )) == (void*)-1) -#endif - { - unsigned char *buffer = xmalloc( st.st_size ); - if (read( fd, buffer, st.st_size ) != st.st_size) fatal_error( "Cannot read %s\n", file ); - input_buffer = buffer; - } - close( fd ); - input_buffer_filename = xstrdup( file ); - input_buffer_size = st.st_size; - input_buffer_pos = 0; - byte_swapped = 0; -} - -void init_output_buffer(void) -{ - output_buffer_size = 1024; - output_buffer_pos = 0; - output_buffer = xmalloc( output_buffer_size ); -} - -void flush_output_buffer(void) -{ - if (fwrite( output_buffer, 1, output_buffer_pos, output_file ) != output_buffer_pos) - fatal_error( "Error writing to %s\n", output_file_name ); - free( output_buffer ); -} - -unsigned char get_byte(void) -{ - if (input_buffer_pos >= input_buffer_size) - fatal_error( "%s is a truncated file\n", input_buffer_filename ); - return input_buffer[input_buffer_pos++]; -} - -unsigned short get_word(void) -{ - unsigned short ret; - - if (input_buffer_pos + sizeof(ret) > input_buffer_size) - fatal_error( "%s is a truncated file\n", input_buffer_filename ); - memcpy( &ret, input_buffer + input_buffer_pos, sizeof(ret) ); - if (byte_swapped) ret = (ret << 8) | (ret >> 8); - input_buffer_pos += sizeof(ret); - return ret; -} - -unsigned int get_dword(void) -{ - unsigned int ret; - - if (input_buffer_pos + sizeof(ret) > input_buffer_size) - fatal_error( "%s is a truncated file\n", input_buffer_filename ); - memcpy( &ret, input_buffer + input_buffer_pos, sizeof(ret) ); - if (byte_swapped) - ret = ((ret << 24) | ((ret << 8) & 0x00ff0000) | ((ret >> 8) & 0x0000ff00) | (ret >> 24)); - input_buffer_pos += sizeof(ret); - return ret; -} - -void put_data( const void *data, size_t size ) -{ - check_output_buffer_space( size ); - memcpy( output_buffer + output_buffer_pos, data, size ); - output_buffer_pos += size; -} - -void put_byte( unsigned char val ) -{ - check_output_buffer_space( 1 ); - output_buffer[output_buffer_pos++] = val; -} - -void put_word( unsigned short val ) -{ - if (byte_swapped) val = (val << 8) | (val >> 8); - put_data( &val, sizeof(val) ); -} - -void put_dword( unsigned int val ) -{ - if (byte_swapped) - val = ((val << 24) | ((val << 8) & 0x00ff0000) | ((val >> 8) & 0x0000ff00) | (val >> 24)); - put_data( &val, sizeof(val) ); -} - -void put_qword( unsigned int val ) -{ - if (byte_swapped) - { - put_dword( 0 ); - put_dword( val ); - } - else - { - put_dword( val ); - put_dword( 0 ); - } -} - -/* pointer-sized word */ -void put_pword( unsigned int val ) -{ - if (get_ptr_size() == 8) put_qword( val ); - else put_dword( val ); -} - -void align_output( unsigned int align ) -{ - size_t size = align - (output_buffer_pos % align); - - if (size == align) return; - check_output_buffer_space( size ); - memset( output_buffer + output_buffer_pos, 0, size ); - output_buffer_pos += size; -} - -/* output a standard header for generated files */ -void output_standard_file_header(void) -{ - if (spec_file_name) - output( "/* File generated automatically from %s; do not edit! */\n", spec_file_name ); - else - output( "/* File generated automatically; do not edit! */\n" ); - output( "/* This file can be copied, modified and distributed without restriction. */\n\n" ); -} - -/* dump a byte stream into the assembly code */ -void dump_bytes( const void *buffer, unsigned int size ) -{ - unsigned int i; - const unsigned char *ptr = buffer; - - if (!size) return; - output( "\t.byte " ); - for (i = 0; i < size - 1; i++, ptr++) - { - if ((i % 16) == 15) output( "0x%02x\n\t.byte ", *ptr ); - else output( "0x%02x,", *ptr ); - } - output( "0x%02x\n", *ptr ); -} - - -/******************************************************************* - * open_input_file - * - * Open a file in the given srcdir and set the input_file_name global variable. - */ -FILE *open_input_file( const char *srcdir, const char *name ) -{ - char *fullname; - FILE *file = fopen( name, "r" ); - - if (!file && srcdir) - { - fullname = xmalloc( strlen(srcdir) + strlen(name) + 2 ); - strcpy( fullname, srcdir ); - strcat( fullname, "/" ); - strcat( fullname, name ); - file = fopen( fullname, "r" ); - } - else fullname = xstrdup( name ); - - if (!file) fatal_error( "Cannot open file '%s'\n", fullname ); - input_file_name = fullname; - current_line = 1; - return file; -} - - -/******************************************************************* - * close_input_file - * - * Close the current input file (must have been opened with open_input_file). - */ -void close_input_file( FILE *file ) -{ - fclose( file ); - free( input_file_name ); - input_file_name = NULL; - current_line = 0; -} - - -/******************************************************************* - * remove_stdcall_decoration - * - * Remove a possible @xx suffix from a function name. - * Return the numerical value of the suffix, or -1 if none. - */ -int remove_stdcall_decoration( char *name ) -{ - char *p, *end = strrchr( name, '@' ); - if (!end || !end[1] || end == name) return -1; - /* make sure all the rest is digits */ - for (p = end + 1; *p; p++) if (!isdigit(*p)) return -1; - *end = 0; - return atoi( end + 1 ); -} - - -/******************************************************************* - * assemble_file - * - * Run a file through the assembler. - */ -void assemble_file( const char *src_file, const char *obj_file ) -{ - const char *prog = get_as_command(); - char *cmd; - int err; - - cmd = xmalloc( strlen(prog) + strlen(obj_file) + strlen(src_file) + 6 ); - sprintf( cmd, "%s -o %s %s", prog, obj_file, src_file ); - if (verbose) fprintf( stderr, "%s\n", cmd ); - err = system( cmd ); - if (err) fatal_error( "%s failed with status %d\n", prog, err ); - free( cmd ); -} - - -/******************************************************************* - * alloc_dll_spec - * - * Create a new dll spec file descriptor - */ -DLLSPEC *alloc_dll_spec(void) -{ - DLLSPEC *spec; - - spec = xmalloc( sizeof(*spec) ); - spec->file_name = NULL; - spec->dll_name = NULL; - spec->init_func = NULL; - spec->main_module = NULL; - spec->type = SPEC_WIN32; - spec->base = MAX_ORDINALS; - spec->limit = 0; - spec->stack_size = 0; - spec->heap_size = 0; - spec->nb_entry_points = 0; - spec->alloc_entry_points = 0; - spec->nb_names = 0; - spec->nb_resources = 0; - spec->characteristics = IMAGE_FILE_EXECUTABLE_IMAGE; - if (get_ptr_size() > 4) - spec->characteristics |= IMAGE_FILE_LARGE_ADDRESS_AWARE; - else - spec->characteristics |= IMAGE_FILE_32BIT_MACHINE; - spec->dll_characteristics = IMAGE_DLLCHARACTERISTICS_NX_COMPAT; - spec->subsystem = 0; - spec->subsystem_major = 4; - spec->subsystem_minor = 0; - spec->entry_points = NULL; - spec->names = NULL; - spec->ordinals = NULL; - spec->resources = NULL; - return spec; -} - - -/******************************************************************* - * free_dll_spec - * - * Free dll spec file descriptor - */ -void free_dll_spec( DLLSPEC *spec ) -{ - int i; - - for (i = 0; i < spec->nb_entry_points; i++) - { - ORDDEF *odp = &spec->entry_points[i]; - free( odp->name ); - free( odp->export_name ); - free( odp->link_name ); - } - free( spec->file_name ); - free( spec->dll_name ); - free( spec->init_func ); - free( spec->entry_points ); - free( spec->names ); - free( spec->ordinals ); - free( spec->resources ); - free( spec ); -} - - -/******************************************************************* - * make_c_identifier - * - * Map a string to a valid C identifier. - */ -const char *make_c_identifier( const char *str ) -{ - static char buffer[256]; - char *p; - - for (p = buffer; *str && p < buffer+sizeof(buffer)-1; p++, str++) - { - if (isalnum(*str)) *p = *str; - else *p = '_'; - } - *p = 0; - return buffer; -} - - -/******************************************************************* - * get_stub_name - * - * Generate an internal name for a stub entry point. - */ -const char *get_stub_name( const ORDDEF *odp, const DLLSPEC *spec ) -{ - static char buffer[256]; - if (odp->name || odp->export_name) - { - char *p; - sprintf( buffer, "__wine_stub_%s", odp->name ? odp->name : odp->export_name ); - /* make sure name is a legal C identifier */ - for (p = buffer; *p; p++) if (!isalnum(*p) && *p != '_') break; - if (!*p) return buffer; - } - sprintf( buffer, "__wine_stub_%s_%d", make_c_identifier(spec->file_name), odp->ordinal ); - return buffer; -} - -/* parse a cpu name and return the corresponding value */ -enum target_cpu get_cpu_from_name( const char *name ) -{ - unsigned int i; - - for (i = 0; i < sizeof(cpu_names)/sizeof(cpu_names[0]); i++) - if (!strcmp( cpu_names[i].name, name )) return cpu_names[i].cpu; - return -1; -} - -/***************************************************************** - * Function: get_alignment - * - * Description: - * According to the info page for gas, the .align directive behaves - * differently on different systems. On some architectures, the - * argument of a .align directive is the number of bytes to pad to, so - * to align on an 8-byte boundary you'd say - * .align 8 - * On other systems, the argument is "the number of low-order zero bits - * that the location counter must have after advancement." So to - * align on an 8-byte boundary you'd say - * .align 3 - * - * The reason gas is written this way is that it's trying to mimick - * native assemblers for the various architectures it runs on. gas - * provides other directives that work consistently across - * architectures, but of course we want to work on all arches with or - * without gas. Hence this function. - * - * - * Parameters: - * align -- the number of bytes to align to. Must be a power of 2. - */ -unsigned int get_alignment(unsigned int align) -{ - unsigned int n; - - assert( !(align & (align - 1)) ); - - switch(target_cpu) - { - case CPU_x86: - case CPU_x86_64: - case CPU_SPARC: - case CPU_ARM: - if (target_platform != PLATFORM_APPLE) return align; - /* fall through */ - case CPU_POWERPC: - case CPU_ALPHA: - n = 0; - while ((1u << n) != align) n++; - return n; - } - /* unreached */ - assert(0); - return 0; -} - -/* return the page size for the target CPU */ -unsigned int get_page_size(void) -{ - switch(target_cpu) - { - case CPU_x86: return 4096; - case CPU_x86_64: return 4096; - case CPU_POWERPC: return 4096; - case CPU_ARM: return 4096; - case CPU_SPARC: return 8192; - case CPU_ALPHA: return 8192; - } - /* unreached */ - assert(0); - return 0; -} - -/* return the size of a pointer on the target CPU */ -unsigned int get_ptr_size(void) -{ - switch(target_cpu) - { - case CPU_x86: - case CPU_POWERPC: - case CPU_SPARC: - case CPU_ALPHA: - case CPU_ARM: - return 4; - case CPU_x86_64: - return 8; - } - /* unreached */ - assert(0); - return 0; -} - -/* return the assembly name for a C symbol */ -const char *asm_name( const char *sym ) -{ - static char buffer[256]; - - switch (target_platform) - { - case PLATFORM_APPLE: - case PLATFORM_WINDOWS: - if (sym[0] == '.' && sym[1] == 'L') return sym; - buffer[0] = '_'; - strcpy( buffer + 1, sym ); - return buffer; - default: - return sym; - } -} - -/* return an assembly function declaration for a C function name */ -const char *func_declaration( const char *func ) -{ - static char buffer[256]; - - switch (target_platform) - { - case PLATFORM_APPLE: - return ""; - case PLATFORM_WINDOWS: - sprintf( buffer, ".def _%s; .scl 2; .type 32; .endef", func ); - break; - default: - switch(target_cpu) - { - case CPU_ARM: - sprintf( buffer, ".type %s,%%function", func ); - break; - default: - sprintf( buffer, ".type %s,@function", func ); - break; - } - break; - } - return buffer; -} - -/* output a size declaration for an assembly function */ -void output_function_size( const char *name ) -{ - switch (target_platform) - { - case PLATFORM_APPLE: - case PLATFORM_WINDOWS: - break; - default: - output( "\t.size %s, .-%s\n", name, name ); - break; - } -} - -/* output the GNU note for non-exec stack */ -void output_gnu_stack_note(void) -{ - switch (target_platform) - { - case PLATFORM_WINDOWS: - case PLATFORM_APPLE: - break; - default: - switch(target_cpu) - { - case CPU_ARM: - output( "\t.section .note.GNU-stack,\"\",%%progbits\n" ); - break; - default: - output( "\t.section .note.GNU-stack,\"\",@progbits\n" ); - break; - } - break; - } -} - -/* return a global symbol declaration for an assembly symbol */ -const char *asm_globl( const char *func ) -{ - static char buffer[256]; - - switch (target_platform) - { - case PLATFORM_APPLE: - sprintf( buffer, "\t.globl _%s\n\t.private_extern _%s\n_%s:", func, func, func ); - return buffer; - case PLATFORM_WINDOWS: - sprintf( buffer, "\t.globl _%s\n_%s:", func, func ); - return buffer; - default: - sprintf( buffer, "\t.globl %s\n\t.hidden %s\n%s:", func, func, func ); - return buffer; - } -} - -const char *get_asm_ptr_keyword(void) -{ - switch(get_ptr_size()) - { - case 4: return ".long"; - case 8: return ".quad"; - } - assert(0); - return NULL; -} - -const char *get_asm_string_keyword(void) -{ - switch (target_platform) - { - case PLATFORM_APPLE: - return ".asciz"; - default: - return ".string"; - } -} - -const char *get_asm_short_keyword(void) -{ - switch (target_platform) - { - default: return ".short"; - } -} - -const char *get_asm_rodata_section(void) -{ - switch (target_platform) - { - case PLATFORM_APPLE: return ".const"; - default: return ".section .rodata"; - } -} - -const char *get_asm_string_section(void) -{ - switch (target_platform) - { - case PLATFORM_APPLE: return ".cstring"; - default: return ".section .rodata"; - } -} diff --git a/reactos/tools/winebuild/winebuild.man.in b/reactos/tools/winebuild/winebuild.man.in deleted file mode 100644 index d41fae7a8c9..00000000000 --- a/reactos/tools/winebuild/winebuild.man.in +++ /dev/null @@ -1,491 +0,0 @@ -.\" -*- nroff -*- -.TH WINEBUILD 1 "October 2005" "@PACKAGE_STRING@" "Wine Developers Manual" -.SH NAME -winebuild \- Wine dll builder -.SH SYNOPSIS -.BI winebuild\ [options]\ [input\ files] -.SH DESCRIPTION -.B winebuild -generates the assembly files that are necessary to build a Wine dll, -which is basically a Win32 dll encapsulated inside a Unix library. -.PP -.B winebuild -has different modes, depending on what kind of file it is asked to -generate. The mode is specified by one of the mode options specified -below. In addition to the mode option, various other command-line -option can be specified, as described in the \fBOPTIONS\fR section. -.SH "MODE OPTIONS" -You have to specify exactly one of the following options, depending on -what you want winebuild to generate. -.TP -.BI \--dll -Build an assembly file from a .spec file (see \fBSPEC FILE SYNTAX\fR -for details), or from a standard Windows .def file. The .spec/.def -file is specified via the -E option. The resulting file must be -assembled and linked to the other object files to build a working Wine -dll. In this mode, the -.I input files -should be the list of all object files that will be linked into the -final dll, to allow -.B winebuild -to get the list of all undefined symbols that need to be imported from -other dlls. -.TP -.BI \--exe -Build an assembly file for an executable. This is basically the same as -the --dll mode except that it doesn't require a .spec/.def file as input, -since an executable need not export functions. Some executables however -do export functions, and for those a .spec/.def file can be specified via -the -E option. The executable is named from the .spec/.def file name if -present, or explicitly through the -F option. The resulting file must be -assembled and linked to the other object files to build a working Wine -executable, and all the other object files must be listed as -.I input files. -.TP -.BI \--def -Build a .def file from a spec file. The .spec file is specified via the --E option. This is used when building dlls with a PE (Win32) compiler. -.TP -.B \--relay16 -Generate the assembly code for the 16-bit relay routines. This is for -Wine internal usage only, you should never need to use this option. -.TP -.B \--relay32 -Generate the assembly code for the 32-bit relay routines. This is for -Wine internal usage only, you should never need to use this option. -.TP -.B \--resources -Generate a .o file containing all the input resources. This is useful -when building with a PE compiler, since the PE binutils cannot handle -multiple resource files as input. For a standard Unix build, the -resource files are automatically included when building the spec file, -so there's no need for an intermediate .o file. -.SH OPTIONS -.TP -.BI \--as-cmd= as-command -Specify the command to use to compile assembly files; the default is -\fBas\fR. -.TP -.BI \-b,\ --target= cpu-manufacturer[-kernel]-os -Specify the target CPU and platform on which the generated code will -be built. The target specification is in the standard autoconf format -as returned by config.sub. -.TP -.BI \-d,\ --delay-lib= name -Set the delayed import mode for the specified library, which must be -one of the libraries imported with the \fB-l\fR option. Delayed mode -means that the library won't be loaded until a function imported from -it is actually called. -.TP -.BI \-D\ symbol -Ignored for compatibility with the C compiler. -.TP -.BI \-e,\ --entry= function -Specify the module entry point function; if not specified, the default -is -.B DllMain -for dlls, and -.B main -for executables (if the standard C -.B main -is not defined, -.B WinMain -is used instead). This is only valid for Win32 modules. -.TP -.BI \-E,\ --export= filename -Specify a .spec file (see \fBSPEC FILE SYNTAX\fR for details), -or a standard Windows .def file that defines the exports -of the DLL or executable that is being built. -.TP -.B \--external-symbols -Allow linking to external symbols directly from the spec -file. Normally symbols exported by a dll have to be defined in the dll -itself; this option makes it possible to use symbols defined in -another Unix library (for symbols defined in another dll, a -.I forward -specification must be used instead). -.TP -.BI \-f\ flags -Ignored for compatibility with the C compiler. -.TP -.B \--fake-module -Create a fake PE module for a dll or exe, instead of the normal -assembly or object file. The PE module contains the resources for the -module, but no executable code. -.TP -.BI \-F,\ --filename= filename -Set the file name of the module. The default is to use the base name -of the spec file (without any extension). -.TP -.B \-h, --help -Display a usage message and exit. -.TP -.BI \-H,\ --heap= size -Specify the size of the module local heap in bytes (only valid for -Win16 modules); default is no local heap. -.TP -.BI \-i,\ --ignore= [-]symbol[,[-]symbol] -Specify a list of symbols that should be ignored when resolving -undefined symbols against the imported libraries. This forces these -symbols to be resolved from the Unix C library (or from another Unix -library linked with the application). If a symbol is prefixed by '-' -it is removed from the list instead of being added; a stand-alone '-' -clears the whole list. -.TP -.BI \-I\ directory -Ignored for compatibility with the C compiler. -.TP -.B \-k, --kill-at -Remove the stdcall decorations from the symbol names in the -generated .def file. Only meaningful in \fB--def\fR mode. -.TP -.BI \-K\ flags -Ignored for compatibility with the C compiler. -.TP -.BI \--large-address-aware -Set a flag in the executable to notify the loader that this -application supports address spaces larger than 2 gigabytes. -.TP -.BI \--ld-cmd= ld-command -Specify the command to use to link the object files; the default is -\fBld\fR. -.TP -.BI \-L,\ --library-path= directory -Append the specified directory to the list of directories that are -searched for import libraries. -.TP -.BI \-l,\ --library= name -Import the specified library, looking for a corresponding -\fIlibname.def\fR file in the directories specified with the \fB-L\fR -option. -.TP -.B \-m32, -m64 -Generate 32-bit, respectively 64-bit code. -.TP -.BI \-M,\ --main-module= module -Specify that we are building a 16-bit dll, that will ultimately be -linked together with the 32-bit dll specified in \fImodule\fR. Only -meaningful in \fB--dll\fR mode. -.TP -.BI \-N,\ --dll-name= dllname -Set the internal name of the module. It is only used in Win16 -modules. The default is to use the base name of the spec file (without -any extension). This is used for KERNEL, since it lives in -KRNL386.EXE. It shouldn't be needed otherwise. -.TP -.BI \--nm-cmd= nm-command -Specify the command to use to get the list of undefined symbols; the -default is \fBnm\fR. -.TP -.BI --nxcompat= yes|no -Specify whether the module is compatible with no-exec support. The -default is yes. -.TP -.BI \-o,\ --output= file -Set the name of the output file (default is standard output). If the -output file name end in \fB.o\fR, the text output is sent to a -temporary file that is then assembled to produce the specified .o -file. -.TP -.BI \-r,\ --res= rsrc.res -Load resources from the specified binary resource file. The -\fIrsrc.res\fR file can be produced from a source resource file with -.BR wrc(1) -(or with a Windows resource compiler). -.br -This option is only necessary for Win16 resource files, the Win32 ones -can simply listed as -.I input files -and will automatically be handled correctly (though the -.B \-r -option will also work for Win32 files). -.TP -.B --save-temps -Do not delete the various temporary files that \fBwinebuild\fR generates. -.TP -.BI --subsystem= subsystem[:major[.minor]] -Set the subsystem of the executable, which can be one of the following: -.br -.B console -for a command line executable, -.br -.B windows -for a graphical executable, -.br -.B native -for a native-mode dll, -.br -.B win16 -for a 16-bit module. -.br -The entry point of a command line executable is a normal C \fBmain\fR -function. A \fBwmain\fR function can be used instead if you need the -argument array to use Unicode strings. A graphical executable has a -\fBWinMain\fR entry point. -.br -Optionally a major and minor subsystem version can also be specified; -the default subsystem version is 4.0. -.TP -.BI \-u,\ --undefined= symbol -Add \fIsymbol\fR to the list of undefined symbols when invoking the -linker. This makes it possible to force a specific module of a static -library to be included when resolving imports. -.TP -.B \-v, --verbose -Display the various subcommands being invoked by -.B winebuild. -.TP -.B \--version -Display the program version and exit. -.TP -.B \-w, --warnings -Turn on warnings. -.SH "SPEC FILE SYNTAX" -.SS "General syntax" -A spec file should contain a list of ordinal declarations. The general -syntax is the following: -.PP -.I ordinal functype -.RI [ flags ]\ exportname \ \fB(\fR\ [ args... ] \ \fB) \ [ handler ] -.br -.IB ordinal\ variable -.RI [ flags ]\ exportname \ \fB(\fR\ [ data... ] \ \fB) -.br -.IB ordinal\ extern -.RI [ flags ]\ exportname \ [ symbolname ] -.br -.IB ordinal\ stub -.RI [ flags ]\ exportname -.br -.IB ordinal\ equate -.RI [ flags ]\ exportname\ data -.br -.BI #\ comments -.PP -Declarations must fit on a single line, except if the end of line is -escaped using a backslash character. The -.B # -character anywhere in a line causes the rest of the line to be ignored -as a comment. -.PP -.I ordinal -specifies the ordinal number corresponding to the entry point, or '@' -for automatic ordinal allocation (Win32 only). -.PP -.I flags -is a series of optional flags, preceded by a '-' character. The -supported flags are: -.RS -.TP -.B -norelay -The entry point is not displayed in relay debugging traces (Win32 -only). -.TP -.B -noname -The entry point will be exported by ordinal instead of by name. The -name is still available for importing. -.TP -.B -ret16 -The function returns a 16-bit value (Win16 only). -.TP -.B -ret64 -The function returns a 64-bit value (Win32 only). -.TP -.B -register -The function uses CPU register to pass arguments. -.TP -.B -private -The function cannot be imported from other dlls, it can only be -accessed through GetProcAddress. -.TP -.B -ordinal -The entry point will be imported by ordinal instead of by name. The -name is still exported. -.TP -.BI -arch= cpu[,cpu] -The entry point is only available on the specified CPU architecture(s). -.SS "Function ordinals" -Syntax: -.br -.I ordinal functype -.RI [ flags ]\ exportname \ \fB(\fR\ [ args... ] \ \fB) \ [ handler ] -.br - -This declaration defines a function entry point. The prototype defined by -.IR exportname \ \fB(\fR\ [ args... ] \ \fB) -specifies the name available for dynamic linking and the format of the -arguments. '@' can be used instead of -.I exportname -for ordinal-only exports. -.PP -.I functype -should be one of: -.RS -.TP -.B stdcall -for a normal Win32 function -.TP -.B pascal -for a normal Win16 function -.TP -.B cdecl -for a Win16 or Win32 function using the C calling convention -.TP -.B varargs -for a Win16 or Win32 function using the C calling convention with a -variable number of arguments -.RE -.PP -.I args -should be one or several of: -.RS -.TP -.B word -(16-bit unsigned value) -.TP -.B s_word -(16-bit signed word) -.TP -.B long -(32-bit value) -.TP -.B double -(64-bit value) -.TP -.B ptr -(linear pointer) -.TP -.B str -(linear pointer to a null-terminated ASCII string) -.TP -.B wstr -(linear pointer to a null-terminated Unicode string) -.TP -.B segptr -(segmented pointer) -.TP -.B segstr -(segmented pointer to a null-terminated ASCII string). -.HP -.RB Only\ ptr ,\ str ,\ wstr ,\ long\ and\ double -are valid for Win32 functions. -.RE -.PP -.I handler -is the name of the actual C function that will implement that entry -point in 32-bit mode. The handler can also be specified as -.IB dllname . function -to define a forwarded function (one whose implementation is in another -dll). If -.I handler -is not specified, it is assumed to be identical to -.I exportname. -.PP -This first example defines an entry point for the 32-bit GetFocus() -call: -.IP -@ stdcall GetFocus() GetFocus -.PP -This second example defines an entry point for the 16-bit -CreateWindow() call (the ordinal 100 is just an example); it also -shows how long lines can be split using a backslash: -.IP -100 pascal CreateWindow(ptr ptr long s_word s_word s_word \\ - s_word word word word ptr) WIN_CreateWindow -.PP -To declare a function using a variable number of arguments, specify -the function as -.B varargs -and declare it in the C file with a '...' parameter for a Win32 -function, or with an extra VA_LIST16 argument for a Win16 function. -See the wsprintf* functions in user.exe.spec and user32.spec for an -example. -.SS "Variable ordinals" -Syntax: -.br -.IB ordinal\ variable -.RI [ flags ]\ exportname \ \fB(\fR\ [ data... ] \ \fB) -.PP -This declaration defines data storage as 32-bit words at the ordinal -specified. -.I exportname -will be the name available for dynamic -linking. -.I data -can be a decimal number or a hex number preceded by "0x". The -following example defines the variable VariableA at ordinal 2 and -containing 4 ints: -.IP -2 variable VariableA(-1 0xff 0 0) -.PP -This declaration only works in Win16 spec files. In Win32 you should -use -.B extern -instead (see below). -.SS "Extern ordinals" -Syntax: -.br -.IB ordinal\ extern -.RI [ flags ]\ exportname \ [ symbolname ] -.PP -This declaration defines an entry that simply maps to a C symbol -(variable or function). It only works in Win32 spec files. -.I exportname -will point to the symbol -.I symbolname -that must be defined in the C code. Alternatively, it can be of the -form -.IB dllname . symbolname -to define a forwarded symbol (one whose implementation is in another -dll). If -.I symbolname -is not specified, it is assumed to be identical to -.I exportname. -.SS "Stub ordinals" -Syntax: -.br -.IB ordinal\ stub -.RI [ flags ]\ exportname -.PP -This declaration defines a stub function. It makes the name and -ordinal available for dynamic linking, but will terminate execution -with an error message if the function is ever called. -.SS "Equate ordinals" -Syntax: -.br -.IB ordinal\ equate -.RI [ flags ]\ exportname\ data -.PP -This declaration defines an ordinal as an absolute value. -.I exportname -will be the name available for dynamic linking. -.I data -can be a decimal number or a hex number preceded by "0x". -.SH AUTHORS -.B winebuild -has been worked on by many people over the years. The main authors are -Robert J. Amstadt, Alexandre Julliard, Martin von Loewis, Ulrich -Weigand and Eric Youngdale. Many other Wine developers have -contributed, please check the file Changelog in the Wine distribution -for the complete details. -.SH BUGS -It is not yet possible to use a PE-format dll in an import -specification; only Wine dlls can be imported. -.PP -If you find a bug, please submit a bug report at -.UR http://bugs.winehq.org -.B http://bugs.winehq.org. -.UE -.SH AVAILABILITY -.B winebuild -is part of the wine distribution, which is available through WineHQ, -the -.B wine -development headquarters, at -.UR http://www.winehq.org/ -.B http://www.winehq.org/. -.UE -.SH "SEE ALSO" -.BR wine (1), -.BR winegcc (1), -.BR wrc (1). diff --git a/reactos/tools/winebuild/winebuild.rbuild b/reactos/tools/winebuild/winebuild.rbuild deleted file mode 100644 index a8862149e29..00000000000 --- a/reactos/tools/winebuild/winebuild.rbuild +++ /dev/null @@ -1,14 +0,0 @@ - - - - import.c - main.c - parser.c - relay.c - res16.c - res32.c - spec16.c - spec32.c - utils.c - mkstemps.c - diff --git a/reactos/tools/wmc/CHANGES b/reactos/tools/wmc/CHANGES deleted file mode 100644 index bec49ca4521..00000000000 --- a/reactos/tools/wmc/CHANGES +++ /dev/null @@ -1,5 +0,0 @@ ---------------------------------------------------------------------------- -Version 1.0.0 (12-Jun-2000) - -Bertho Stultiens -- Initial release diff --git a/reactos/tools/wmc/CMakeLists.txt b/reactos/tools/wmc/CMakeLists.txt deleted file mode 100644 index 565a275b71e..00000000000 --- a/reactos/tools/wmc/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ - -list(APPEND SOURCE - lang.c - mcl.c - utils.c - wmc.c - write.c - mcy.tab.c) - -add_executable(wmc ${SOURCE}) - -target_link_libraries(wmc unicode) diff --git a/reactos/tools/wmc/lang.c b/reactos/tools/wmc/lang.c deleted file mode 100644 index b045612bb65..00000000000 --- a/reactos/tools/wmc/lang.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Wine Message Compiler language and codepage support - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ -#include -#include -#include -#include - -#include "wmc.h" -#include "lang.h" - - -/* - * Languages supported - * - * MUST be sorting ascending on language ID - */ -static const language_t languages[] = { - - {0x0000, 437, 1252, "Neutral", NULL}, - {0x0002, 866, 1251, "Bulgarian", NULL}, - {0x0003, 850, 1252, "Catalan", NULL}, - {0x0005, 852, 1250, "Czech", NULL}, - {0x0006, 850, 1252, "Danish", NULL}, - {0x0007, 850, 1252, "German", NULL}, - {0x0008, 737, 1253, "Greek", NULL}, - {0x0009, 437, 1252, "English", NULL}, - {0x000A, 850, 1252, "Spanish - Traditional Sort", NULL}, - {0x000B, 850, 1252, "Finnish", NULL}, - {0x000C, 850, 1252, "French", NULL}, - {0x000E, 852, 1250, "Hungarian", NULL}, - {0x000F, 850, 1252, "Icelandic", NULL}, - {0x0010, 850, 1252, "Italian", NULL}, - {0x0011, 932, 932, "Japanese", NULL}, - {0x0012, 949, 949, "Korean", NULL}, - {0x0013, 850, 1252, "Dutch", NULL}, - {0x0014, 850, 1252, "Norwegian (Bokmål)", NULL}, - {0x0015, 852, 1250, "Polish", NULL}, - {0x0016, 850, 1252, "Portuguese", NULL}, - {0x0018, 852, 1250, "Romanian", NULL}, - {0x0019, 866, 1251, "Russian", NULL}, - {0x001A, 852, 1250, "Serbian", NULL}, - {0x001B, 852, 1250, "Slovak", NULL}, - {0x001C, 852, 1250, "Albanian", NULL}, - {0x001D, 850, 1252, "Swedish", NULL}, - {0x001F, 857, 1254, "Turkish", NULL}, - {0x0021, 850, 1252, "Indonesian", NULL}, - {0x0022, 866, 1251, "Ukrainian", NULL}, - {0x0023, 866, 1251, "Belarusian", NULL}, - {0x0024, 852, 1250, "Slovene", NULL}, - {0x0025, 775, 1257, "Estonian", NULL}, - {0x0026, 775, 1257, "Latvian", NULL}, - {0x0027, 775, 1257, "Lithuanian", NULL}, - {0x002A,1258, 1258, "Vietnamese", NULL}, - {0x002D, 850, 1252, "Basque", NULL}, - {0x002F, 866, 1251, "Macedonian", NULL}, - {0x0036, 850, 1252, "Afrikaans", NULL}, - {0x0038, 852, 1252, "Faroese", NULL}, - {0x003C, 437, 1252, "Irish", NULL}, - {0x003E, 850, 1252, "Malay", NULL}, - {0x0402, 866, 1251, "Bulgarian", "Bulgaria"}, - {0x0403, 850, 1252, "Catalan", "Spain"}, - {0x0405, 852, 1250, "Czech", "Czech Republic"}, - {0x0406, 850, 1252, "Danish", "Denmark"}, - {0x0407, 850, 1252, "German", "Germany"}, - {0x0408, 737, 1253, "Greek", "Greece"}, - {0x0409, 437, 1252, "English", "United States"}, - {0x040A, 850, 1252, "Spanish - Traditional Sort", "Spain"}, - {0x040B, 850, 1252, "Finnish", "Finland"}, - {0x040C, 850, 1252, "French", "France"}, - {0x040E, 852, 1250, "Hungarian", "Hungary"}, - {0x040F, 850, 1252, "Icelandic", "Iceland"}, - {0x0410, 850, 1252, "Italian", "Italy"}, - {0x0411, 932, 932, "Japanese", "Japan"}, - {0x0412, 949, 949, "Korean", "Korea (south)"}, - {0x0413, 850, 1252, "Dutch", "Netherlands"}, - {0x0414, 850, 1252, "Norwegian (Bokmål)", "Norway"}, - {0x0415, 852, 1250, "Polish", "Poland"}, - {0x0416, 850, 1252, "Portuguese", "Brazil"}, - {0x0418, 852, 1250, "Romanian", "Romania"}, - {0x0419, 866, 1251, "Russian", "Russia"}, - {0x041A, 852, 1250, "Croatian", "Croatia"}, - {0x041B, 852, 1250, "Slovak", "Slovakia"}, - {0x041C, 852, 1250, "Albanian", "Albania"}, - {0x041D, 850, 1252, "Swedish", "Sweden"}, - {0x041F, 857, 1254, "Turkish", "Turkey"}, - {0x0421, 850, 1252, "Indonesian", "Indonesia"}, - {0x0422, 866, 1251, "Ukrainian", "Ukraine"}, - {0x0423, 866, 1251, "Belarusian", "Belarus"}, - {0x0424, 852, 1250, "Slovene", "Slovenia"}, - {0x0425, 775, 1257, "Estonian", "Estonia"}, - {0x0426, 775, 1257, "Latvian", "Latvia"}, - {0x0427, 775, 1257, "Lithuanian", "Lithuania"}, - {0x042A,1258, 1258, "Vietnamese", "Vietnam"}, - {0x042D, 850, 1252, "Basque", "Spain"}, - {0x042F, 866, 1251, "Macedonian", "Former Yugoslav Republic of Macedonia"}, - {0x0436, 850, 1252, "Afrikaans", "South Africa"}, - {0x0438, 852, 1252, "Faroese", "Faroe Islands"}, - {0x043C, 437, 1252, "Irish", "Ireland"}, - {0x043E, 850, 1252, "Malay", "Malaysia"}, -/* {0x048F, ?, ?, "Esperanto", ""},*/ - {0x0804, 936, 936, "Chinese (People's republic of China)", "People's republic of China"}, - {0x0807, 850, 1252, "German", "Switzerland"}, - {0x0809, 850, 1252, "English", "United Kingdom"}, - {0x080A, 850, 1252, "Spanish", "Mexico"}, - {0x080C, 850, 1252, "French", "Belgium"}, - {0x0810, 850, 1252, "Italian", "Switzerland"}, - {0x0813, 850, 1252, "Dutch", "Belgium"}, - {0x0814, 850, 1252, "Norwegian (Nynorsk)", "Norway"}, - {0x0816, 850, 1252, "Portuguese", "Portugal"}, - {0x081A, 852, 1250, "Serbian (latin)", "Yugoslavia"}, - {0x081D, 850, 1252, "Swedish (Finland)", "Finland"}, - {0x0C07, 850, 1252, "German", "Austria"}, - {0x0C09, 850, 1252, "English", "Australia"}, - {0x0C0A, 850, 1252, "Spanish - International Sort", "Spain"}, - {0x0C0C, 850, 1252, "French", "Canada"}, - {0x0C1A, 855, 1251, "Serbian (Cyrillic)", "Serbia"}, - {0x1007, 850, 1252, "German", "Luxembourg"}, - {0x1009, 850, 1252, "English", "Canada"}, - {0x100A, 850, 1252, "Spanish", "Guatemala"}, - {0x100C, 850, 1252, "French", "Switzerland"}, - {0x1407, 850, 1252, "German", "Liechtenstein"}, - {0x1409, 850, 1252, "English", "New Zealand"}, - {0x140A, 850, 1252, "Spanish", "Costa Rica"}, - {0x140C, 850, 1252, "French", "Luxembourg"}, - {0x1809, 850, 1252, "English", "Ireland"}, - {0x180A, 850, 1252, "Spanish", "Panama"}, - {0x1C09, 437, 1252, "English", "South Africa"}, - {0x1C0A, 850, 1252, "Spanish", "Dominican Republic"}, - {0x2009, 850, 1252, "English", "Jamaica"}, - {0x200A, 850, 1252, "Spanish", "Venezuela"}, - {0x2409, 850, 1252, "English", "Caribbean"}, - {0x240A, 850, 1252, "Spanish", "Colombia"}, - {0x2809, 850, 1252, "English", "Belize"}, - {0x280A, 850, 1252, "Spanish", "Peru"}, - {0x2C09, 437, 1252, "English", "Trinidad & Tobago"}, - {0x2C0A, 850, 1252, "Spanish", "Argentina"}, - {0x300A, 850, 1252, "Spanish", "Ecuador"}, - {0x340A, 850, 1252, "Spanish", "Chile"}, - {0x380A, 850, 1252, "Spanish", "Uruguay"}, - {0x3C0A, 850, 1252, "Spanish", "Paraguay"}, - {0x400A, 850, 1252, "Spanish", "Bolivia"}, - {0x440A, 850, 1252, "Spanish", "El Salvador"}, - {0x480A, 850, 1252, "Spanish", "Honduras"}, - {0x4C0A, 850, 1252, "Spanish", "Nicaragua"}, - {0x500A, 850, 1252, "Spanish", "Puerto Rico"} -}; - -#define NLAN (sizeof(languages)/sizeof(languages[0])) - -void show_languages(void) -{ - unsigned int i; - printf(" Code | DOS-cp | WIN-cp | Language | Country\n"); - printf("-------+--------+--------+--------------+---------\n"); - for(i = 0; i < NLAN; i++) - printf("0x%04x | %5d | %5d | %-12s | %s\n", - languages[i].id, - languages[i].doscp, - languages[i].wincp, - languages[i].name, - languages[i].country ? languages[i].country : "Neutral"); -} - -static int langcmp(const void *p1, const void *p2) -{ - return *(const unsigned *)p1 - ((const language_t *)p2)->id; -} - -const language_t *find_language(unsigned id) -{ - return (const language_t *)bsearch(&id, languages, NLAN, sizeof(languages[0]), langcmp); -} - -void show_codepages(void) -{ - unsigned i; - const union cptable *cpp; - printf("Codepages:\n"); - for(i = 0; (cpp = wine_cp_enum_table(i)); i++) - { - printf("%-5d %s\n", cpp->info.codepage, cpp->info.name); - } -} - -const union cptable *find_codepage(int id) -{ - return wine_cp_get_table(id); -} diff --git a/reactos/tools/wmc/lang.h b/reactos/tools/wmc/lang.h deleted file mode 100644 index 5a11c5ba580..00000000000 --- a/reactos/tools/wmc/lang.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Wine Message Compiler language and codepage support - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WMC_LANG_H -#define __WMC_LANG_H - -#include "wine/unicode.h" - -typedef struct language { - unsigned id; - unsigned doscp; - unsigned wincp; - const char *name; - const char *country; -} language_t; - -void show_languages(void); -const language_t *find_language(unsigned id); -void show_codepages(void); -const union cptable *find_codepage(int id); - -#endif diff --git a/reactos/tools/wmc/mcl.c b/reactos/tools/wmc/mcl.c deleted file mode 100644 index be016914c77..00000000000 --- a/reactos/tools/wmc/mcl.c +++ /dev/null @@ -1,747 +0,0 @@ -/* - * Wine Message Compiler lexical scanner - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" - -#include -#include -#include -#include -#include - -#include "utils.h" -#include "wmc.h" -#include "lang.h" - -#include "mcy.tab.h" - -/* - * Keywords are case insensitive. All normal input is treated as - * being in codepage iso-8859-1 for ascii input files (unicode - * page 0) and as equivalent unicode if unicode input is selected. - * All normal input, which is not part of a message text, is - * enforced to be unicode page 0. Otherwise an error will be - * generated. The normal file data should only be ASCII because - * that is the basic definition of the grammar. - * - * Byteorder or unicode input is determined automatically by - * reading the first 8 bytes and checking them against unicode - * page 0 byteorder (hibyte must be 0). - * -- FIXME -- - * Alternatively, the input is checked against a special byte - * sequence to identify the file. - * -- FIXME -- - * - * - * Keywords: - * Codepages - * Facility - * FacilityNames - * LanguageNames - * MessageId - * MessageIdTypedef - * Severity - * SeverityNames - * SymbolicName - * - * Default added identifiers for classes: - * SeverityNames: - * Success = 0x0 - * Informational = 0x1 - * Warning = 0x2 - * Error = 0x3 - * FacilityNames: - * System = 0x0FF - * Application = 0xFFF - * - * The 'Codepages' keyword is a wmc extension. - */ - -static const WCHAR ustr_application[] = { 'A', 'p', 'p', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 0 }; -static const WCHAR ustr_codepages[] = { 'C', 'o', 'd', 'e', 'p', 'a', 'g', 'e', 's', 0 }; -static const WCHAR ustr_english[] = { 'E', 'n', 'g', 'l', 'i', 's', 'h', 0 }; -static const WCHAR ustr_error[] = { 'E', 'r', 'r', 'o', 'r', 0 }; -static const WCHAR ustr_facility[] = { 'F', 'a', 'c', 'i', 'l', 'i', 't', 'y', 0 }; -static const WCHAR ustr_facilitynames[] = { 'F', 'a', 'c', 'i', 'l', 'i', 't', 'y', 'N', 'a', 'm', 'e', 's', 0 }; -static const WCHAR ustr_informational[] = { 'I', 'n', 'f', 'o', 'r', 'm', 'a', 't', 'i', 'o', 'n', 'a', 'l', 0 }; -static const WCHAR ustr_language[] = { 'L', 'a', 'n', 'g', 'u', 'a', 'g', 'e', 0}; -static const WCHAR ustr_languagenames[] = { 'L', 'a', 'n', 'g', 'u', 'a', 'g', 'e', 'N', 'a', 'm', 'e', 's', 0}; -static const WCHAR ustr_messageid[] = { 'M', 'e', 's', 's', 'a', 'g', 'e', 'I', 'd', 0 }; -static const WCHAR ustr_messageidtypedef[] = { 'M', 'e', 's', 's', 'a', 'g', 'e', 'I', 'd', 'T', 'y', 'p', 'e', 'd', 'e', 'f', 0 }; -static const WCHAR ustr_outputbase[] = { 'O', 'u', 't', 'p', 'u', 't', 'B', 'a', 's', 'e', 0 }; -static const WCHAR ustr_severity[] = { 'S', 'e', 'v', 'e', 'r', 'i', 't', 'y', 0 }; -static const WCHAR ustr_severitynames[] = { 'S', 'e', 'v', 'e', 'r', 'i', 't', 'y', 'N', 'a', 'm', 'e', 's', 0 }; -static const WCHAR ustr_success[] = { 'S', 'u', 'c', 'c', 'e', 's', 's', 0 }; -static const WCHAR ustr_symbolicname[] = { 'S', 'y', 'm', 'b', 'o', 'l', 'i', 'c', 'N', 'a', 'm', 'e', 0 }; -static const WCHAR ustr_system[] = { 'S', 'y', 's', 't', 'e', 'm', 0 }; -static const WCHAR ustr_warning[] = { 'W', 'a', 'r', 'n', 'i', 'n', 'g', 0 }; -static const WCHAR ustr_msg00001[] = { 'm', 's', 'g', '0', '0', '0', '0', '1', 0 }; -/* - * This table is to beat any form of "expression building" to check for - * correct filename characters. It is also used for ident checks. - * FIXME: use it more consistently. - */ - -#define CH_SHORTNAME 0x01 -#define CH_LONGNAME 0x02 -#define CH_IDENT 0x04 -#define CH_NUMBER 0x08 -/*#define CH_WILDCARD 0x10*/ -/*#define CH_DOT 0x20*/ -#define CH_PUNCT 0x40 -#define CH_INVALID 0x80 - -static const char char_table[256] = { - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, /* 0x00 - 0x07 */ - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, /* 0x08 - 0x0F */ - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, /* 0x10 - 0x17 */ - 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, /* 0x18 - 0x1F */ - 0x80, 0x03, 0x80, 0x03, 0x03, 0x03, 0x03, 0x03, /* 0x20 - 0x27 " !"#$%&'" */ - 0x43, 0x43, 0x10, 0x80, 0x03, 0x03, 0x22, 0x80, /* 0x28 - 0x2F "()*+,-./" */ - 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, /* 0x30 - 0x37 "01234567" */ - 0x0b, 0x0b, 0xc0, 0x80, 0x80, 0x80, 0x80, 0x10, /* 0x38 - 0x3F "89:;<=>?" */ - 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x40 - 0x47 "@ABCDEFG" */ - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x48 - 0x4F "HIJKLMNO" */ - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x50 - 0x57 "PQRSTUVW" */ - 0x07, 0x07, 0x07, 0x80, 0x80, 0x80, 0x80, 0x07, /* 0x58 - 0x5F "XYZ[\]^_" */ - 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x60 - 0x67 "`abcdefg" */ - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x68 - 0x6F "hijklmno" */ - 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, /* 0x70 - 0x77 "pqrstuvw" */ - 0x07, 0x07, 0x07, 0x03, 0x80, 0x03, 0x03, 0x80, /* 0x78 - 0x7F "xyz{|}~ " */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0x80 - 0x87 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0x88 - 0x8F */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0x90 - 0x97 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0x98 - 0x9F */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xA0 - 0xA7 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xA8 - 0xAF */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xB0 - 0xB7 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xB8 - 0xBF */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xC0 - 0xC7 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xC8 - 0xCF */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xD0 - 0xD7 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xD8 - 0xDF */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xE0 - 0xE7 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xE8 - 0xEF */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, /* 0xF0 - 0xF7 */ - 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x80, /* 0xF8 - 0xFF */ -}; - -static int isisochar(int ch) -{ - return !(ch & (~0xff)); -} - -static int codepage; -static const union cptable *codepage_def; - -void set_codepage(int cp) -{ - codepage = cp; - codepage_def = find_codepage(codepage); - if(!codepage_def) - xyyerror("Codepage %d not found; cannot process\n", codepage); -} - -/* - * Input functions - */ -static int nungetstack = 0; -static int allocungetstack = 0; -static char *ungetstack = NULL; -static int ninputbuffer = 0; -static WCHAR *inputbuffer = NULL; -static char *xlatebuffer = NULL; - -#define INPUTBUFFER_SIZE 2048 /* Must be larger than 4 and approx. large enough to hold a line */ - -/* - * Fill the input buffer with *one* line of input. - * The line is '\n' terminated so that scanning - * messages with translation works as expected - * (otherwise we cannot pre-translate because the - * language is first known one line before the - * actual message). - */ -static int fill_inputbuffer(void) -{ - int n; - static const char err_fatalread[] = "Fatal: reading input failed"; - static int endian = -1; - - if(!inputbuffer) - { - inputbuffer = xmalloc(INPUTBUFFER_SIZE*sizeof(WCHAR)); - xlatebuffer = xmalloc(INPUTBUFFER_SIZE); - } - -try_again: - if(!unicodein) - { - char *cptr; - cptr = fgets(xlatebuffer, INPUTBUFFER_SIZE, yyin); - if(!cptr && ferror(yyin)) - xyyerror(err_fatalread); - else if(!cptr) - return 0; - assert(codepage_def != NULL); - n = wine_cp_mbstowcs(codepage_def, 0, xlatebuffer, strlen(xlatebuffer)+1, inputbuffer, INPUTBUFFER_SIZE); - if(n < 0) - internal_error(__FILE__, __LINE__, "Could not translate to unicode (%d)\n", n); - if(n <= 1) - goto try_again; /* Should not happen */ - n--; /* Strip added conversion '\0' from input length */ - /* - * FIXME: - * Detect UTF-8 in the first time we read some bytes by - * checking the special sequence "FE..." or something like - * that. I need to check www.unicode.org for details. - */ - } - else - { - if(endian == -1) - { - n = fread(inputbuffer, 1, 8, yyin); - if(n != 8) - { - if(!n && ferror(yyin)) - xyyerror(err_fatalread); - else - xyyerror("Fatal: file to short to determine byteorder (should never happen)\n"); - } - if(isisochar(inputbuffer[0]) && - isisochar(inputbuffer[1]) && - isisochar(inputbuffer[2]) && - isisochar(inputbuffer[3])) - { -#ifdef WORDS_BIGENDIAN - endian = WMC_BO_BIG; -#else - endian = WMC_BO_LITTLE; -#endif - } - else if(isisochar(BYTESWAP_WORD(inputbuffer[0])) && - isisochar(BYTESWAP_WORD(inputbuffer[1])) && - isisochar(BYTESWAP_WORD(inputbuffer[2])) && - isisochar(BYTESWAP_WORD(inputbuffer[3]))) - { -#ifdef WORDS_BIGENDIAN - endian = WMC_BO_LITTLE; -#else - endian = WMC_BO_BIG; -#endif - } - else - xyyerror("Fatal: cannot determine file's byteorder\n"); - /* FIXME: - * Determine the file-endian with the leader-bytes - * "FF FE..."; can't remember the exact sequence. - */ - n /= 2; -#ifdef WORDS_BIGENDIAN - if(endian == WMC_BO_LITTLE) -#else - if(endian == WMC_BO_BIG) -#endif - { - inputbuffer[0] = BYTESWAP_WORD(inputbuffer[0]); - inputbuffer[1] = BYTESWAP_WORD(inputbuffer[1]); - inputbuffer[2] = BYTESWAP_WORD(inputbuffer[2]); - inputbuffer[3] = BYTESWAP_WORD(inputbuffer[3]); - } - - } - else - { - int i; - n = 0; - for(i = 0; i < INPUTBUFFER_SIZE; i++) - { - int t; - t = fread(&inputbuffer[i], 2, 1, yyin); - if(!t && ferror(yyin)) - xyyerror(err_fatalread); - else if(!t && n) - break; - n++; -#ifdef WORDS_BIGENDIAN - if(endian == WMC_BO_LITTLE) -#else - if(endian == WMC_BO_BIG) -#endif - { - if((inputbuffer[i] = BYTESWAP_WORD(inputbuffer[i])) == '\n') - break; - } - else - { - if(inputbuffer[i] == '\n') - break; - } - } - } - - } - - if(!n) - { - mcy_warning("Re-read line (input was or converted to zilch)\n"); - goto try_again; /* Should not happen, but could be due to stdin reading and a signal */ - } - - ninputbuffer += n; - return 1; -} - -static int get_unichar(void) -{ - static WCHAR *b = NULL; - char_number++; - - if(nungetstack) - return ungetstack[--nungetstack]; - - if(!ninputbuffer) - { - if(!fill_inputbuffer()) - return EOF; - b = inputbuffer; - } - - ninputbuffer--; - return (int)(*b++ & 0xffff); -} - -static void unget_unichar(int ch) -{ - if(ch == EOF) - return; - - char_number--; - - if(nungetstack == allocungetstack) - { - allocungetstack += 32; - ungetstack = xrealloc(ungetstack, allocungetstack * sizeof(*ungetstack)); - } - - ungetstack[nungetstack++] = (WCHAR)ch; -} - - -/* - * Normal character stack. - * Used for number scanning. - */ -static int ncharstack = 0; -static int alloccharstack = 0; -static char *charstack = NULL; - -static void empty_char_stack(void) -{ - ncharstack = 0; -} - -static void push_char(int ch) -{ - if(ncharstack == alloccharstack) - { - alloccharstack += 32; - charstack = xrealloc(charstack, alloccharstack * sizeof(*charstack)); - } - charstack[ncharstack++] = (char)ch; -} - -static int tos_char_stack(void) -{ - if(!ncharstack) - return 0; - else - return (int)(charstack[ncharstack-1] & 0xff); -} - -static char *get_char_stack(void) -{ - return charstack; -} - -/* - * Unicode character stack. - * Used for general scanner. - */ -static int nunicharstack = 0; -static int allocunicharstack = 0; -static WCHAR *unicharstack = NULL; - -static void empty_unichar_stack(void) -{ - nunicharstack = 0; -} - -static void push_unichar(int ch) -{ - if(nunicharstack == allocunicharstack) - { - allocunicharstack += 128; - unicharstack = xrealloc(unicharstack, allocunicharstack * sizeof(*unicharstack)); - } - unicharstack[nunicharstack++] = (WCHAR)ch; -} - -#if 0 -static int tos_unichar_stack(void) -{ - if(!nunicharstack) - return 0; - else - return (int)(unicharstack[nunicharstack-1] & 0xffff); -} -#endif - -static WCHAR *get_unichar_stack(void) -{ - return unicharstack; -} - -/* - * Number scanner - * - * state | ch | next state - * ------+-----------------+-------------------------- - * 0 | [0] | 1 - * 0 | [1-9] | 4 - * 0 | . | error (should never occur) - * 1 | [xX] | 2 - * 1 | [0-7] | 3 - * 1 | [89a-wyzA-WYZ_] | error invalid digit - * 1 | . | return 0 - * 2 | [0-9a-fA-F] | 2 - * 2 | [g-zG-Z_] | error invalid hex digit - * 2 | . | return (hex-number) if TOS != [xX] else error - * 3 | [0-7] | 3 - * 3 | [89a-zA-Z_] | error invalid octal digit - * 3 | . | return (octal-number) - * 4 | [0-9] | 4 - * 4 | [a-zA-Z_] | error invalid decimal digit - * 4 | . | return (decimal-number) - * - * All non-identifier characters [^a-zA-Z_0-9] terminate the scan - * and return the value. This is not entirely correct, but close - * enough (should check punctuators as trailing context, but the - * char_table is not adapted to that and it is questionable whether - * it is worth the trouble). - * All non-iso-8859-1 characters are an error. - */ -static int scan_number(int ch) -{ - int state = 0; - int base = 10; - empty_char_stack(); - - while(1) - { - if(!isisochar(ch)) - xyyerror("Invalid digit\n"); - - switch(state) - { - case 0: - if(isdigit(ch)) - { - push_char(ch); - if(ch == '0') - state = 1; - else - state = 4; - } - else - internal_error(__FILE__, __LINE__, "Non-digit in first number-scanner state\n"); - break; - case 1: - if(ch == 'x' || ch == 'X') - { - push_char(ch); - state = 2; - } - else if(ch >= '0' && ch <= '7') - { - push_char(ch); - state = 3; - } - else if(isalpha(ch) || ch == '_') - xyyerror("Invalid number digit\n"); - else - { - unget_unichar(ch); - mcy_lval.num = 0; - return tNUMBER; - } - break; - case 2: - if(isxdigit(ch)) - push_char(ch); - else if(isalpha(ch) || ch == '_' || !isxdigit(tos_char_stack())) - xyyerror("Invalid hex digit\n"); - else - { - base = 16; - goto finish; - } - break; - case 3: - if(ch >= '0' && ch <= '7') - push_char(ch); - else if(isalnum(ch) || ch == '_') - xyyerror("Invalid octal digit\n"); - else - { - base = 8; - goto finish; - } - break; - case 4: - if(isdigit(ch)) - push_char(ch); - else if(isalnum(ch) || ch == '_') - xyyerror("Invalid decimal digit\n"); - else - { - base = 10; - goto finish; - } - break; - default: - internal_error(__FILE__, __LINE__, "Invalid state in number-scanner\n"); - } - ch = get_unichar(); - } -finish: - unget_unichar(ch); - push_char(0); - mcy_lval.num = strtoul(get_char_stack(), NULL, base); - return tNUMBER; -} - -static void newline(void) -{ - line_number++; - char_number = 1; -} - -static int unisort(const void *p1, const void *p2) -{ - return unistricmp(((const token_t *)p1)->name, ((const token_t *)p2)->name); -} - -static token_t *tokentable = NULL; -static int ntokentable = 0; - -token_t *lookup_token(const WCHAR *s) -{ - token_t tok; - - tok.name = s; - return (token_t *)bsearch(&tok, tokentable, ntokentable, sizeof(*tokentable), unisort); -} - -void add_token(tok_e type, const WCHAR *name, int tok, int cp, const WCHAR *alias, int fix) -{ - ntokentable++; - tokentable = xrealloc(tokentable, ntokentable * sizeof(*tokentable)); - tokentable[ntokentable-1].type = type; - tokentable[ntokentable-1].name = name; - tokentable[ntokentable-1].token = tok; - tokentable[ntokentable-1].codepage = cp; - tokentable[ntokentable-1].alias = alias; - tokentable[ntokentable-1].fixed = fix; - qsort(tokentable, ntokentable, sizeof(*tokentable), unisort); -} - -void get_tokentable(token_t **tab, int *len) -{ - assert(tab != NULL); - assert(len != NULL); - *tab = tokentable; - *len = ntokentable; -} - -/* - * The scanner - * - */ -int mcy_lex(void) -{ - static const WCHAR ustr_dot1[] = { '.', '\n', 0 }; - static const WCHAR ustr_dot2[] = { '.', '\r', '\n', 0 }; - static int isinit = 0; - int ch; - - if(!isinit) - { - isinit++; - set_codepage(WMC_DEFAULT_CODEPAGE); - add_token(tok_keyword, ustr_codepages, tCODEPAGE, 0, NULL, 0); - add_token(tok_keyword, ustr_facility, tFACILITY, 0, NULL, 1); - add_token(tok_keyword, ustr_facilitynames, tFACNAMES, 0, NULL, 1); - add_token(tok_keyword, ustr_language, tLANGUAGE, 0, NULL, 1); - add_token(tok_keyword, ustr_languagenames, tLANNAMES, 0, NULL, 1); - add_token(tok_keyword, ustr_messageid, tMSGID, 0, NULL, 1); - add_token(tok_keyword, ustr_messageidtypedef, tTYPEDEF, 0, NULL, 1); - add_token(tok_keyword, ustr_outputbase, tBASE, 0, NULL, 1); - add_token(tok_keyword, ustr_severity, tSEVERITY, 0, NULL, 1); - add_token(tok_keyword, ustr_severitynames, tSEVNAMES, 0, NULL, 1); - add_token(tok_keyword, ustr_symbolicname, tSYMNAME, 0, NULL, 1); - add_token(tok_severity, ustr_error, 0x03, 0, NULL, 0); - add_token(tok_severity, ustr_warning, 0x02, 0, NULL, 0); - add_token(tok_severity, ustr_informational, 0x01, 0, NULL, 0); - add_token(tok_severity, ustr_success, 0x00, 0, NULL, 0); - add_token(tok_facility, ustr_application, 0xFFF, 0, NULL, 0); - add_token(tok_facility, ustr_system, 0x0FF, 0, NULL, 0); - add_token(tok_language, ustr_english, 0x409, 437, ustr_msg00001, 0); - } - - empty_unichar_stack(); - - while(1) - { - if(want_line) - { - while((ch = get_unichar()) != '\n') - { - if(ch == EOF) - xyyerror("Unexpected EOF\n"); - push_unichar(ch); - } - newline(); - push_unichar(ch); - push_unichar(0); - if(!unistrcmp(ustr_dot1, get_unichar_stack()) || !unistrcmp(ustr_dot2, get_unichar_stack())) - { - want_line = 0; - /* Reset the codepage to our default after each message */ - set_codepage(WMC_DEFAULT_CODEPAGE); - return tMSGEND; - } - mcy_lval.str = xunistrdup(get_unichar_stack()); - return tLINE; - } - - ch = get_unichar(); - - if(ch == EOF) - return EOF; - - if(ch == '\n') - { - newline(); - if(want_nl) - { - want_nl = 0; - return tNL; - } - continue; - } - - if(isisochar(ch)) - { - if(want_file) - { - int n = 0; - while(n < 8 && isisochar(ch)) - { - int t = char_table[ch]; - if((t & CH_PUNCT) || !(t & CH_SHORTNAME)) - break; - - push_unichar(ch); - n++; - ch = get_unichar(); - } - unget_unichar(ch); - push_unichar(0); - want_file = 0; - mcy_lval.str = xunistrdup(get_unichar_stack()); - return tFILE; - } - - if(char_table[ch] & CH_IDENT) - { - token_t *tok; - while(isisochar(ch) && (char_table[ch] & (CH_IDENT|CH_NUMBER))) - { - push_unichar(ch); - ch = get_unichar(); - } - unget_unichar(ch); - push_unichar(0); - if(!(tok = lookup_token(get_unichar_stack()))) - { - mcy_lval.str = xunistrdup(get_unichar_stack()); - return tIDENT; - } - switch(tok->type) - { - case tok_keyword: - return tok->token; - - case tok_language: - codepage = tok->codepage; - /* Fall through */ - case tok_severity: - case tok_facility: - mcy_lval.tok = tok; - return tTOKEN; - - default: - internal_error(__FILE__, __LINE__, "Invalid token type encountered\n"); - } - } - - if(isspace(ch)) /* Ignore space */ - continue; - - if(isdigit(ch)) - return scan_number(ch); - } - - switch(ch) - { - case ':': - case '=': - case '+': - case '(': - case ')': - return ch; - case ';': - while(ch != '\n' && ch != EOF) - { - push_unichar(ch); - ch = get_unichar(); - } - newline(); - push_unichar(ch); /* Include the newline */ - push_unichar(0); - mcy_lval.str = xunistrdup(get_unichar_stack()); - return tCOMMENT; - default: - xyyerror("Invalid character '%c' (0x%04x)\n", isisochar(ch) && isprint(ch) ? ch : '.', ch); - } - } -} diff --git a/reactos/tools/wmc/mcy.tab.c b/reactos/tools/wmc/mcy.tab.c deleted file mode 100644 index 30ec1a57284..00000000000 --- a/reactos/tools/wmc/mcy.tab.c +++ /dev/null @@ -1,2435 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.1. */ - -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* Written by Richard Stallman by simplifying the original so called - ``semantic'' parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "2.1" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Using locations. */ -#define YYLSP_NEEDED 0 - -/* Substitute the variable and function names. */ -#define yyparse mcy_parse -#define yylex mcy_lex -#define yyerror mcy_error -#define yylval mcy_lval -#define yychar mcy_char -#define yydebug mcy_debug -#define yynerrs mcy_nerrs - - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - tSEVNAMES = 258, - tFACNAMES = 259, - tLANNAMES = 260, - tBASE = 261, - tCODEPAGE = 262, - tTYPEDEF = 263, - tNL = 264, - tSYMNAME = 265, - tMSGEND = 266, - tSEVERITY = 267, - tFACILITY = 268, - tLANGUAGE = 269, - tMSGID = 270, - tIDENT = 271, - tLINE = 272, - tFILE = 273, - tCOMMENT = 274, - tNUMBER = 275, - tTOKEN = 276 - }; -#endif -/* Tokens. */ -#define tSEVNAMES 258 -#define tFACNAMES 259 -#define tLANNAMES 260 -#define tBASE 261 -#define tCODEPAGE 262 -#define tTYPEDEF 263 -#define tNL 264 -#define tSYMNAME 265 -#define tMSGEND 266 -#define tSEVERITY 267 -#define tFACILITY 268 -#define tLANGUAGE 269 -#define tMSGID 270 -#define tIDENT 271 -#define tLINE 272 -#define tFILE 273 -#define tCOMMENT 274 -#define tNUMBER 275 -#define tTOKEN 276 - - - - -/* Copy the first part of user declarations. */ -#line 39 "tools/wmc/mcy.y" - - -#include "config.h" - -#include -#include -#include -#include -#include "utils.h" -#include "wmc.h" -#include "lang.h" - -static const char err_syntax[] = "Syntax error"; -static const char err_number[] = "Number expected"; -static const char err_ident[] = "Identifier expected"; -static const char err_assign[] = "'=' expected"; -static const char err_popen[] = "'(' expected"; -static const char err_pclose[] = "')' expected"; -static const char err_colon[] = "':' expected"; -static const char err_msg[] = "Message expected"; - -/* Scanner switches */ -int want_nl = 0; /* Request next newlinw */ -int want_line = 0; /* Request next complete line */ -int want_file = 0; /* Request next ident as filename */ - -node_t *nodehead = NULL; /* The list of all parsed elements */ -static node_t *nodetail = NULL; -lan_blk_t *lanblockhead; /* List of parsed elements transposed */ - -static int base = 16; /* Current printout base to use (8, 10 or 16) */ -static WCHAR *cast = NULL; /* Current typecast to use */ - -static int last_id = 0; /* The last message ID parsed */ -static int last_sev = 0; /* Last severity code parsed */ -static int last_fac = 0; /* Last facility code parsed */ -static WCHAR *last_sym = NULL;/* Last alias symbol parsed */ -static int have_sev; /* Set if severity parsed for current message */ -static int have_fac; /* Set if facility parsed for current message */ -static int have_sym; /* Set is symbol parsed for current message */ - -static cp_xlat_t *cpxlattab = NULL; /* Codepage translation table */ -static int ncpxlattab = 0; - -/* Prototypes */ -static WCHAR *merge(WCHAR *s1, WCHAR *s2); -static lanmsg_t *new_lanmsg(lan_cp_t *lcp, WCHAR *msg); -static msg_t *add_lanmsg(msg_t *msg, lanmsg_t *lanmsg); -static msg_t *complete_msg(msg_t *msg, int id); -static void add_node(node_e type, void *p); -static void do_add_token(tok_e type, token_t *tok, const char *code); -static void test_id(int id); -static int check_languages(node_t *head); -static lan_blk_t *block_messages(node_t *head); -static void add_cpxlat(int lan, int cpin, int cpout); -static cp_xlat_t *find_cpxlat(int lan); - - - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 98 "tools/wmc/mcy.y" -typedef union YYSTYPE { - WCHAR *str; - unsigned num; - token_t *tok; - lanmsg_t *lmp; - msg_t *msg; - lan_cp_t lcp; -} YYSTYPE; -/* Line 196 of yacc.c. */ -#line 203 "mcy.tab.c" -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - - - -/* Copy the second part of user declarations. */ - - -/* Line 219 of yacc.c. */ -#line 215 "mcy.tab.c" - -#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) -# define YYSIZE_T __SIZE_TYPE__ -#endif -#if ! defined (YYSIZE_T) && defined (size_t) -# define YYSIZE_T size_t -#endif -#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus)) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -#endif -#if ! defined (YYSIZE_T) -# define YYSIZE_T unsigned int -#endif - -#ifndef YY_ -# if YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -#if ! defined (yyoverflow) || YYERROR_VERBOSE - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# else -# define YYSTACK_ALLOC alloca -# if defined (__STDC__) || defined (__cplusplus) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYINCLUDED_STDLIB_H -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1) -# endif -# ifdef __cplusplus -extern "C" { -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \ - && (defined (__STDC__) || defined (__cplusplus))) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \ - && (defined (__STDC__) || defined (__cplusplus))) -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifdef __cplusplus -} -# endif -# endif -#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ - - -#if (! defined (yyoverflow) \ - && (! defined (__cplusplus) \ - || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - short int yyss; - YYSTYPE yyvs; - }; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (short int) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined (__GNUC__) && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (0) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack, Stack, yysize); \ - Stack = &yyptr->Stack; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (0) - -#endif - -#if defined (__STDC__) || defined (__cplusplus) - typedef signed char yysigned_char; -#else - typedef short int yysigned_char; -#endif - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 30 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 165 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 27 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 32 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 104 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 155 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 276 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const unsigned char yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 23, 24, 2, 26, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 25, 2, - 2, 22, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21 -}; - -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const unsigned short int yyprhs[] = -{ - 0, 0, 3, 5, 7, 10, 12, 14, 16, 18, - 24, 30, 34, 37, 43, 49, 53, 56, 62, 68, - 72, 75, 81, 87, 91, 94, 98, 102, 105, 109, - 113, 116, 118, 121, 123, 128, 132, 135, 137, 140, - 142, 147, 151, 154, 155, 158, 161, 163, 166, 168, - 176, 183, 188, 192, 195, 196, 199, 202, 204, 207, - 209, 215, 221, 226, 230, 233, 235, 237, 238, 243, - 247, 250, 251, 253, 256, 259, 260, 263, 266, 269, - 273, 277, 280, 284, 288, 291, 295, 299, 302, 304, - 307, 309, 314, 320, 326, 331, 334, 336, 339, 341, - 344, 346, 348, 349, 350 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yysigned_char yyrhs[] = -{ - 28, 0, -1, 29, -1, 30, -1, 29, 30, -1, - 31, -1, 43, -1, 19, -1, 1, -1, 3, 22, - 23, 32, 24, -1, 3, 22, 23, 32, 1, -1, - 3, 22, 1, -1, 3, 1, -1, 4, 22, 23, - 34, 24, -1, 4, 22, 23, 34, 1, -1, 4, - 22, 1, -1, 4, 1, -1, 5, 22, 23, 37, - 24, -1, 5, 22, 23, 37, 1, -1, 5, 22, - 1, -1, 5, 1, -1, 7, 22, 23, 40, 24, - -1, 7, 22, 23, 40, 1, -1, 7, 22, 1, - -1, 7, 1, -1, 8, 22, 16, -1, 8, 22, - 1, -1, 8, 1, -1, 6, 22, 20, -1, 6, - 22, 1, -1, 6, 1, -1, 33, -1, 32, 33, - -1, 1, -1, 55, 22, 20, 36, -1, 55, 22, - 1, -1, 55, 1, -1, 35, -1, 34, 35, -1, - 1, -1, 55, 22, 20, 36, -1, 55, 22, 1, - -1, 55, 1, -1, -1, 25, 16, -1, 25, 1, - -1, 38, -1, 37, 38, -1, 1, -1, 55, 22, - 20, 58, 25, 18, 39, -1, 55, 22, 20, 58, - 25, 1, -1, 55, 22, 20, 1, -1, 55, 22, - 1, -1, 55, 1, -1, -1, 25, 20, -1, 25, - 1, -1, 41, -1, 40, 41, -1, 1, -1, 42, - 22, 20, 25, 20, -1, 42, 22, 20, 25, 1, - -1, 42, 22, 20, 1, -1, 42, 22, 1, -1, - 42, 1, -1, 20, -1, 21, -1, -1, 45, 47, - 44, 51, -1, 15, 22, 46, -1, 15, 1, -1, - -1, 20, -1, 26, 20, -1, 26, 1, -1, -1, - 47, 49, -1, 47, 50, -1, 47, 48, -1, 10, - 22, 16, -1, 10, 22, 1, -1, 10, 1, -1, - 12, 22, 55, -1, 12, 22, 1, -1, 12, 1, - -1, 13, 22, 55, -1, 13, 22, 1, -1, 13, - 1, -1, 52, -1, 51, 52, -1, 1, -1, 53, - 57, 54, 11, -1, 14, 56, 22, 55, 9, -1, - 14, 56, 22, 55, 1, -1, 14, 56, 22, 1, - -1, 14, 1, -1, 17, -1, 54, 17, -1, 1, - -1, 54, 1, -1, 16, -1, 21, -1, -1, -1, - -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const unsigned short int yyrline[] = -{ - 0, 123, 123, 130, 131, 134, 135, 136, 137, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, - 151, 152, 153, 154, 155, 156, 157, 158, 159, 171, - 172, 178, 179, 180, 183, 190, 191, 197, 198, 199, - 202, 209, 210, 213, 214, 215, 221, 222, 223, 226, - 234, 235, 236, 237, 240, 241, 242, 248, 249, 250, - 253, 263, 264, 265, 266, 269, 270, 280, 280, 283, - 288, 291, 292, 293, 294, 297, 298, 299, 300, 303, - 304, 305, 308, 316, 317, 320, 328, 329, 335, 336, - 337, 340, 348, 377, 378, 379, 382, 383, 384, 385, - 391, 392, 395, 398, 401 -}; -#endif - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "tSEVNAMES", "tFACNAMES", "tLANNAMES", - "tBASE", "tCODEPAGE", "tTYPEDEF", "tNL", "tSYMNAME", "tMSGEND", - "tSEVERITY", "tFACILITY", "tLANGUAGE", "tMSGID", "tIDENT", "tLINE", - "tFILE", "tCOMMENT", "tNUMBER", "tTOKEN", "'='", "'('", "')'", "':'", - "'+'", "$accept", "file", "items", "decl", "global", "smaps", "smap", - "fmaps", "fmap", "alias", "lmaps", "lmap", "optcp", "cmaps", "cmap", - "clan", "msg", "@1", "msgid", "id", "sevfacsym", "sym", "sev", "fac", - "bodies", "body", "lang", "lines", "token", "setnl", "setline", - "setfile", 0 -}; -#endif - -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const unsigned short int yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 61, 40, 41, 58, 43 -}; -# endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const unsigned char yyr1[] = -{ - 0, 27, 28, 29, 29, 30, 30, 30, 30, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, - 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, - 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, - 38, 38, 38, 38, 39, 39, 39, 40, 40, 40, - 41, 41, 41, 41, 41, 42, 42, 44, 43, 45, - 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, - 48, 48, 49, 49, 49, 50, 50, 50, 51, 51, - 51, 52, 53, 53, 53, 53, 54, 54, 54, 54, - 55, 55, 56, 57, 58 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const unsigned char yyr2[] = -{ - 0, 2, 1, 1, 2, 1, 1, 1, 1, 5, - 5, 3, 2, 5, 5, 3, 2, 5, 5, 3, - 2, 5, 5, 3, 2, 3, 3, 2, 3, 3, - 2, 1, 2, 1, 4, 3, 2, 1, 2, 1, - 4, 3, 2, 0, 2, 2, 1, 2, 1, 7, - 6, 4, 3, 2, 0, 2, 2, 1, 2, 1, - 5, 5, 4, 3, 2, 1, 1, 0, 4, 3, - 2, 0, 1, 2, 2, 0, 2, 2, 2, 3, - 3, 2, 3, 3, 2, 3, 3, 2, 1, 2, - 1, 4, 5, 5, 4, 2, 1, 2, 1, 2, - 1, 1, 0, 0, 0 -}; - -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const unsigned char yydefact[] = -{ - 0, 8, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 0, 3, 5, 6, 75, 12, 0, 16, 0, - 20, 0, 30, 0, 24, 0, 27, 0, 70, 71, - 1, 4, 67, 11, 0, 15, 0, 19, 0, 29, - 28, 23, 0, 26, 25, 72, 0, 69, 0, 0, - 0, 0, 78, 76, 77, 33, 100, 101, 0, 31, - 0, 39, 0, 37, 0, 48, 0, 46, 0, 59, - 65, 66, 0, 57, 0, 74, 73, 81, 0, 84, - 0, 87, 0, 90, 0, 68, 88, 103, 10, 9, - 32, 36, 0, 14, 13, 38, 42, 0, 18, 17, - 47, 53, 0, 22, 21, 58, 64, 0, 80, 79, - 83, 82, 86, 85, 95, 0, 89, 0, 35, 43, - 41, 43, 52, 0, 63, 0, 0, 98, 96, 0, - 0, 34, 40, 51, 0, 62, 0, 94, 0, 99, - 91, 97, 45, 44, 0, 61, 60, 93, 92, 50, - 54, 0, 49, 56, 55 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const short int yydefgoto[] = -{ - -1, 10, 11, 12, 13, 58, 59, 62, 63, 131, - 66, 67, 152, 72, 73, 74, 14, 51, 15, 47, - 32, 52, 53, 54, 85, 86, 87, 129, 60, 115, - 117, 134 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -37 -static const short int yypact[] = -{ - 132, -37, 18, 44, 46, 47, 48, 49, 50, -37, - 10, 113, -37, -37, -37, -37, -37, 11, -37, 14, - -37, 19, -37, 85, -37, 20, -37, 147, -37, -13, - -37, -37, 87, -37, 66, -37, 80, -37, 82, -37, - -37, -37, 64, -37, -37, -37, 107, -37, 51, 52, - 53, 3, -37, -37, -37, -37, -37, -37, 7, -37, - 54, -37, 8, -37, 55, -37, 17, -37, 56, -37, - -37, -37, 15, -37, 57, -37, -37, -37, 148, -37, - 88, -37, 90, -37, 58, -3, -37, -37, -37, -37, - -37, -37, 109, -37, -37, -37, -37, 114, -37, -37, - -37, -37, 121, -37, -37, -37, -37, 122, -37, -37, - -37, -37, -37, -37, -37, 38, -37, 129, -37, 36, - -37, 36, -37, 0, -37, 2, 91, -37, -37, 144, - 149, -37, -37, -37, 37, -37, 123, -37, 5, -37, - -37, -37, -37, -37, 4, -37, -37, -37, -37, -37, - 39, 124, -37, -37, -37 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const yysigned_char yypgoto[] = -{ - -37, -37, -37, 77, -37, -37, 35, -37, 1, -27, - -37, 29, -37, -37, 30, -37, -37, -37, -37, -37, - -37, -37, -37, -37, -37, 41, -37, -37, -36, -37, - -37, -37 -}; - -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -105 -static const short int yytable[] = -{ - 64, 133, 68, 135, 83, 149, 147, 45, 88, 93, - 30, 84, 33, 46, 148, 35, 103, 84, 98, 16, - 37, 41, 150, 56, 56, -104, 64, 136, 57, 57, - 68, 89, 94, 56, 34, 70, 71, 36, 57, 104, - 17, 99, 38, 42, 111, 18, 113, 20, 22, 24, - 26, 28, 77, 79, 81, 91, 96, 101, 106, 114, - 126, 130, 144, 95, 151, 69, 19, 55, 21, 23, - 25, 27, 29, 78, 80, 82, 92, 97, 102, 107, - -102, 61, 56, 65, 70, 71, 39, 57, 31, 110, - 138, 112, 137, 90, 132, 100, 56, 48, 56, 49, - 50, 57, 105, 57, 56, 40, 56, 56, 75, 57, - 118, 57, 57, -2, 1, 120, 2, 3, 4, 5, - 6, 7, 122, 124, 145, 153, 116, 76, 8, 119, - 127, 0, 9, 1, 121, 2, 3, 4, 5, 6, - 7, 123, 125, 146, 154, 139, 128, 8, 43, 108, - 142, 9, 0, 0, 0, 140, 0, 0, 0, 0, - 0, 141, 0, 44, 109, 143 -}; - -static const yysigned_char yycheck[] = -{ - 36, 1, 38, 1, 1, 1, 1, 20, 1, 1, - 0, 14, 1, 26, 9, 1, 1, 14, 1, 1, - 1, 1, 18, 16, 16, 25, 62, 25, 21, 21, - 66, 24, 24, 16, 23, 20, 21, 23, 21, 24, - 22, 24, 23, 23, 80, 1, 82, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 22, 25, 25, 62, 25, 1, 22, 1, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 1, 16, 1, 20, 21, 1, 21, 11, 1, - 126, 1, 1, 58, 121, 66, 16, 10, 16, 12, - 13, 21, 72, 21, 16, 20, 16, 16, 1, 21, - 1, 21, 21, 0, 1, 1, 3, 4, 5, 6, - 7, 8, 1, 1, 1, 1, 85, 20, 15, 20, - 1, -1, 19, 1, 20, 3, 4, 5, 6, 7, - 8, 20, 20, 20, 20, 1, 17, 15, 1, 1, - 1, 19, -1, -1, -1, 11, -1, -1, -1, -1, - -1, 17, -1, 16, 16, 16 -}; - -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const unsigned char yystos[] = -{ - 0, 1, 3, 4, 5, 6, 7, 8, 15, 19, - 28, 29, 30, 31, 43, 45, 1, 22, 1, 22, - 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, - 0, 30, 47, 1, 23, 1, 23, 1, 23, 1, - 20, 1, 23, 1, 16, 20, 26, 46, 10, 12, - 13, 44, 48, 49, 50, 1, 16, 21, 32, 33, - 55, 1, 34, 35, 55, 1, 37, 38, 55, 1, - 20, 21, 40, 41, 42, 1, 20, 1, 22, 1, - 22, 1, 22, 1, 14, 51, 52, 53, 1, 24, - 33, 1, 22, 1, 24, 35, 1, 22, 1, 24, - 38, 1, 22, 1, 24, 41, 1, 22, 1, 16, - 1, 55, 1, 55, 1, 56, 52, 57, 1, 20, - 1, 20, 1, 20, 1, 20, 22, 1, 17, 54, - 25, 36, 36, 1, 58, 1, 25, 1, 55, 1, - 11, 17, 1, 16, 25, 1, 20, 1, 9, 1, - 18, 25, 39, 1, 20 -}; - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ - -#define YYFAIL goto yyerrlab - -#define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) - - -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (N) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (0) -#endif - - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (0) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yysymprint (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (0) - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_stack_print (short int *bottom, short int *top) -#else -static void -yy_stack_print (bottom, top) - short int *bottom; - short int *top; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (/* Nothing. */; bottom <= top; ++bottom) - YYFPRINTF (stderr, " %d", *bottom); - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (0) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yy_reduce_print (int yyrule) -#else -static void -yy_reduce_print (yyrule) - int yyrule; -#endif -{ - int yyi; - unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ", - yyrule - 1, yylno); - /* Print the symbols being reduced, and their result. */ - for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) - YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]); - YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]); -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (Rule); \ -} while (0) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined (__GLIBC__) && defined (_STRING_H) -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -static YYSIZE_T -# if defined (__STDC__) || defined (__cplusplus) -yystrlen (const char *yystr) -# else -yystrlen (yystr) - const char *yystr; -# endif -{ - const char *yys = yystr; - - while (*yys++ != '\0') - continue; - - return yys - yystr - 1; -} -# endif -# endif - -# ifndef yystpcpy -# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -# if defined (__STDC__) || defined (__cplusplus) -yystpcpy (char *yydest, const char *yysrc) -# else -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -# endif -{ - char *yyd = yydest; - const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - size_t yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -#endif /* YYERROR_VERBOSE */ - - - -#if YYDEBUG -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) -#else -static void -yysymprint (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif - switch (yytype) - { - default: - break; - } - YYFPRINTF (yyoutput, ")"); -} - -#endif /* ! YYDEBUG */ -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -#if defined (__STDC__) || defined (__cplusplus) -static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - /* Pacify ``unused variable'' warnings. */ - (void) yyvaluep; - - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } -} - - -/* Prevent warnings from -Wmissing-prototypes. */ - -#ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM); -# else -int yyparse (); -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - - -/* The look-ahead symbol. */ -int yychar; - -/* The semantic value of the look-ahead symbol. */ -YYSTYPE yylval; - -/* Number of syntax errors so far. */ -int yynerrs; - - - -/*----------. -| yyparse. | -`----------*/ - -#ifdef YYPARSE_PARAM -# if defined (__STDC__) || defined (__cplusplus) -int yyparse (void *YYPARSE_PARAM) -# else -int yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -# endif -#else /* ! YYPARSE_PARAM */ -#if defined (__STDC__) || defined (__cplusplus) -int -yyparse (void) -#else -int -yyparse () - ; -#endif -#endif -{ - - int yystate; - int yyn; - int yyresult; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - /* Look-ahead token as an internal (translated) token number. */ - int yytoken = 0; - - /* Three stacks and their tools: - `yyss': related to states, - `yyvs': related to semantic values, - `yyls': related to locations. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - short int yyssa[YYINITDEPTH]; - short int *yyss = yyssa; - short int *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs = yyvsa; - YYSTYPE *yyvsp; - - - -#define YYPOPSTACK (yyvsp--, yyssp--) - - YYSIZE_T yystacksize = YYINITDEPTH; - - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - - - /* When reducing, the number of symbols on the RHS of the reduced - rule. */ - int yylen; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss; - yyvsp = yyvs; - - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. - */ - yyssp++; - - yysetstate: - *yyssp = yystate; - - if (yyss + yystacksize - 1 <= yyssp) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; - -#ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - short int *yyss1 = yyss; - - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - short int *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss); - YYSTACK_RELOCATE (yyvs); - -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif -#endif /* no yyoverflow */ - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); - - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - - goto yybackup; - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a look-ahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to look-ahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) - goto yydefault; - - /* Not known => get a look-ahead token if don't already have one. */ - - /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; - } - - if (yychar <= YYEOF) - { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) - goto yydefault; - yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the look-ahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; - - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - yystate = yyn; - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - - - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 2: -#line 123 "tools/wmc/mcy.y" - { - if(!check_languages(nodehead)) - xyyerror("No messages defined\n"); - lanblockhead = block_messages(nodehead); - ;} - break; - - case 6: -#line 135 "tools/wmc/mcy.y" - { add_node(nd_msg, (yyvsp[0].msg)); ;} - break; - - case 7: -#line 136 "tools/wmc/mcy.y" - { add_node(nd_comment, (yyvsp[0].str)); ;} - break; - - case 8: -#line 137 "tools/wmc/mcy.y" - { xyyerror(err_syntax); /* `Catch all' error */ ;} - break; - - case 10: -#line 141 "tools/wmc/mcy.y" - { xyyerror(err_pclose); ;} - break; - - case 11: -#line 142 "tools/wmc/mcy.y" - { xyyerror(err_popen); ;} - break; - - case 12: -#line 143 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 14: -#line 145 "tools/wmc/mcy.y" - { xyyerror(err_pclose); ;} - break; - - case 15: -#line 146 "tools/wmc/mcy.y" - { xyyerror(err_popen); ;} - break; - - case 16: -#line 147 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 18: -#line 149 "tools/wmc/mcy.y" - { xyyerror(err_pclose); ;} - break; - - case 19: -#line 150 "tools/wmc/mcy.y" - { xyyerror(err_popen); ;} - break; - - case 20: -#line 151 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 22: -#line 153 "tools/wmc/mcy.y" - { xyyerror(err_pclose); ;} - break; - - case 23: -#line 154 "tools/wmc/mcy.y" - { xyyerror(err_popen); ;} - break; - - case 24: -#line 155 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 25: -#line 156 "tools/wmc/mcy.y" - { cast = (yyvsp[0].str); ;} - break; - - case 26: -#line 157 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 27: -#line 158 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 28: -#line 159 "tools/wmc/mcy.y" - { - switch(base) - { - case 8: - case 10: - case 16: - base = (yyvsp[0].num); - break; - default: - xyyerror("Numberbase must be 8, 10 or 16\n"); - } - ;} - break; - - case 29: -#line 171 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 30: -#line 172 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 33: -#line 180 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 34: -#line 183 "tools/wmc/mcy.y" - { - (yyvsp[-3].tok)->token = (yyvsp[-1].num); - (yyvsp[-3].tok)->alias = (yyvsp[0].str); - if((yyvsp[-1].num) & (~0x3)) - xyyerror("Severity value out of range (0x%08x > 0x3)\n", (yyvsp[-1].num)); - do_add_token(tok_severity, (yyvsp[-3].tok), "severity"); - ;} - break; - - case 35: -#line 190 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 36: -#line 191 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 39: -#line 199 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 40: -#line 202 "tools/wmc/mcy.y" - { - (yyvsp[-3].tok)->token = (yyvsp[-1].num); - (yyvsp[-3].tok)->alias = (yyvsp[0].str); - if((yyvsp[-1].num) & (~0xfff)) - xyyerror("Facility value out of range (0x%08x > 0xfff)\n", (yyvsp[-1].num)); - do_add_token(tok_facility, (yyvsp[-3].tok), "facility"); - ;} - break; - - case 41: -#line 209 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 42: -#line 210 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 43: -#line 213 "tools/wmc/mcy.y" - { (yyval.str) = NULL; ;} - break; - - case 44: -#line 214 "tools/wmc/mcy.y" - { (yyval.str) = (yyvsp[0].str); ;} - break; - - case 45: -#line 215 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 48: -#line 223 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 49: -#line 226 "tools/wmc/mcy.y" - { - (yyvsp[-6].tok)->token = (yyvsp[-4].num); - (yyvsp[-6].tok)->alias = (yyvsp[-1].str); - (yyvsp[-6].tok)->codepage = (yyvsp[0].num); - do_add_token(tok_language, (yyvsp[-6].tok), "language"); - if(!find_language((yyvsp[-4].num)) && !find_cpxlat((yyvsp[-4].num))) - mcy_warning("Language 0x%x not built-in, using codepage %d; use explicit codepage to override\n", (yyvsp[-4].num), WMC_DEFAULT_CODEPAGE); - ;} - break; - - case 50: -#line 234 "tools/wmc/mcy.y" - { xyyerror("Filename expected\n"); ;} - break; - - case 51: -#line 235 "tools/wmc/mcy.y" - { xyyerror(err_colon); ;} - break; - - case 52: -#line 236 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 53: -#line 237 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 54: -#line 240 "tools/wmc/mcy.y" - { (yyval.num) = 0; ;} - break; - - case 55: -#line 241 "tools/wmc/mcy.y" - { (yyval.num) = (yyvsp[0].num); ;} - break; - - case 56: -#line 242 "tools/wmc/mcy.y" - { xyyerror("Codepage-number expected\n"); ;} - break; - - case 59: -#line 250 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 60: -#line 253 "tools/wmc/mcy.y" - { - static const char err_nocp[] = "Codepage %d not builtin; cannot convert"; - if(find_cpxlat((yyvsp[-4].num))) - xyyerror("Codepage translation already defined for language 0x%x\n", (yyvsp[-4].num)); - if((yyvsp[-2].num) && !find_codepage((yyvsp[-2].num))) - xyyerror(err_nocp, (yyvsp[-2].num)); - if((yyvsp[0].num) && !find_codepage((yyvsp[0].num))) - xyyerror(err_nocp, (yyvsp[0].num)); - add_cpxlat((yyvsp[-4].num), (yyvsp[-2].num), (yyvsp[0].num)); - ;} - break; - - case 61: -#line 263 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 62: -#line 264 "tools/wmc/mcy.y" - { xyyerror(err_colon); ;} - break; - - case 63: -#line 265 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 64: -#line 266 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 65: -#line 269 "tools/wmc/mcy.y" - { (yyval.num) = (yyvsp[0].num); ;} - break; - - case 66: -#line 270 "tools/wmc/mcy.y" - { - if((yyvsp[0].tok)->type != tok_language) - xyyerror("Language name or code expected\n"); - (yyval.num) = (yyvsp[0].tok)->token; - ;} - break; - - case 67: -#line 280 "tools/wmc/mcy.y" - { test_id((yyvsp[-1].num)); ;} - break; - - case 68: -#line 280 "tools/wmc/mcy.y" - { (yyval.msg) = complete_msg((yyvsp[0].msg), (yyvsp[-3].num)); ;} - break; - - case 69: -#line 283 "tools/wmc/mcy.y" - { - if((yyvsp[0].num) & (~0xffff)) - xyyerror("Message ID value out of range (0x%08x > 0xffff)\n", (yyvsp[0].num)); - (yyval.num) = (yyvsp[0].num); - ;} - break; - - case 70: -#line 288 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 71: -#line 291 "tools/wmc/mcy.y" - { (yyval.num) = ++last_id; ;} - break; - - case 72: -#line 292 "tools/wmc/mcy.y" - { (yyval.num) = last_id = (yyvsp[0].num); ;} - break; - - case 73: -#line 293 "tools/wmc/mcy.y" - { (yyval.num) = last_id += (yyvsp[0].num); ;} - break; - - case 74: -#line 294 "tools/wmc/mcy.y" - { xyyerror(err_number); ;} - break; - - case 75: -#line 297 "tools/wmc/mcy.y" - { have_sev = have_fac = have_sym = 0; ;} - break; - - case 76: -#line 298 "tools/wmc/mcy.y" - { if(have_sev) xyyerror("Severity already defined\n"); have_sev = 1; ;} - break; - - case 77: -#line 299 "tools/wmc/mcy.y" - { if(have_fac) xyyerror("Facility already defined\n"); have_fac = 1; ;} - break; - - case 78: -#line 300 "tools/wmc/mcy.y" - { if(have_sym) xyyerror("Symbolname already defined\n"); have_sym = 1; ;} - break; - - case 79: -#line 303 "tools/wmc/mcy.y" - { last_sym = (yyvsp[0].str); ;} - break; - - case 80: -#line 304 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 81: -#line 305 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 82: -#line 308 "tools/wmc/mcy.y" - { - token_t *tok = lookup_token((yyvsp[0].tok)->name); - if(!tok) - xyyerror("Undefined severityname\n"); - if(tok->type != tok_severity) - xyyerror("Identifier is not of class 'severity'\n"); - last_sev = tok->token; - ;} - break; - - case 83: -#line 316 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 84: -#line 317 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 85: -#line 320 "tools/wmc/mcy.y" - { - token_t *tok = lookup_token((yyvsp[0].tok)->name); - if(!tok) - xyyerror("Undefined facilityname\n"); - if(tok->type != tok_facility) - xyyerror("Identifier is not of class 'facility'\n"); - last_fac = tok->token; - ;} - break; - - case 86: -#line 328 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 87: -#line 329 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 88: -#line 335 "tools/wmc/mcy.y" - { (yyval.msg) = add_lanmsg(NULL, (yyvsp[0].lmp)); ;} - break; - - case 89: -#line 336 "tools/wmc/mcy.y" - { (yyval.msg) = add_lanmsg((yyvsp[-1].msg), (yyvsp[0].lmp)); ;} - break; - - case 90: -#line 337 "tools/wmc/mcy.y" - { xyyerror("'Language=...' (start of message text-definition) expected\n"); ;} - break; - - case 91: -#line 340 "tools/wmc/mcy.y" - { (yyval.lmp) = new_lanmsg(&(yyvsp[-3].lcp), (yyvsp[-1].str)); ;} - break; - - case 92: -#line 348 "tools/wmc/mcy.y" - { - token_t *tok = lookup_token((yyvsp[-1].tok)->name); - cp_xlat_t *cpx; - if(!tok) - xyyerror("Undefined language\n"); - if(tok->type != tok_language) - xyyerror("Identifier is not of class 'language'\n"); - if((cpx = find_cpxlat(tok->token))) - { - set_codepage((yyval.lcp).codepage = cpx->cpin); - } - else if(!tok->codepage) - { - const language_t *lan = find_language(tok->token); - if(!lan) - { - /* Just set default; warning was given while parsing languagenames */ - set_codepage((yyval.lcp).codepage = WMC_DEFAULT_CODEPAGE); - } - else - { - /* The default seems to be to use the DOS codepage... */ - set_codepage((yyval.lcp).codepage = lan->doscp); - } - } - else - set_codepage((yyval.lcp).codepage = tok->codepage); - (yyval.lcp).language = tok->token; - ;} - break; - - case 93: -#line 377 "tools/wmc/mcy.y" - { xyyerror("Missing newline\n"); ;} - break; - - case 94: -#line 378 "tools/wmc/mcy.y" - { xyyerror(err_ident); ;} - break; - - case 95: -#line 379 "tools/wmc/mcy.y" - { xyyerror(err_assign); ;} - break; - - case 96: -#line 382 "tools/wmc/mcy.y" - { (yyval.str) = (yyvsp[0].str); ;} - break; - - case 97: -#line 383 "tools/wmc/mcy.y" - { (yyval.str) = merge((yyvsp[-1].str), (yyvsp[0].str)); ;} - break; - - case 98: -#line 384 "tools/wmc/mcy.y" - { xyyerror(err_msg); ;} - break; - - case 99: -#line 385 "tools/wmc/mcy.y" - { xyyerror(err_msg); ;} - break; - - case 100: -#line 391 "tools/wmc/mcy.y" - { (yyval.tok) = xmalloc(sizeof(token_t)); memset((yyval.tok),0,sizeof(*(yyval.tok))); (yyval.tok)->name = (yyvsp[0].str); ;} - break; - - case 101: -#line 392 "tools/wmc/mcy.y" - { (yyval.tok) = (yyvsp[0].tok); ;} - break; - - case 102: -#line 395 "tools/wmc/mcy.y" - { want_nl = 1; ;} - break; - - case 103: -#line 398 "tools/wmc/mcy.y" - { want_line = 1; ;} - break; - - case 104: -#line 401 "tools/wmc/mcy.y" - { want_file = 1; ;} - break; - - - default: break; - } - -/* Line 1126 of yacc.c. */ -#line 1890 "mcy.tab.c" - - yyvsp -= yylen; - yyssp -= yylen; - - - YY_STACK_PRINT (yyss, yyssp); - - *++yyvsp = yyval; - - - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; - - goto yynewstate; - - -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; -#if YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (YYPACT_NINF < yyn && yyn < YYLAST) - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - char *yymsg = 0; -# define YYERROR_VERBOSE_ARGS_MAXIMUM 5 - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -#if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -#endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= yysize1 < yysize; - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= yysize1 < yysize; - yysize = yysize1; - - if (!yysize_overflow && yysize <= YYSTACK_ALLOC_MAXIMUM) - yymsg = (char *) YYSTACK_ALLOC (yysize); - if (yymsg) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yymsg; - int yyi = 0; - while ((*yyp = *yyf)) - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - yyerror (yymsg); - YYSTACK_FREE (yymsg); - } - else - { - yyerror (YY_("syntax error")); - goto yyexhaustedlab; - } - } - else -#endif /* YYERROR_VERBOSE */ - yyerror (YY_("syntax error")); - } - - - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse look-ahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } - else - { - yydestruct ("Error: discarding", yytoken, &yylval); - yychar = YYEMPTY; - } - } - - /* Else will try to reuse look-ahead token after shifting the error - token. */ - goto yyerrlab1; - - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (0) - goto yyerrorlab; - -yyvsp -= yylen; - yyssp -= yylen; - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - - yydestruct ("Error: popping", yystos[yystate], yyvsp); - YYPOPSTACK; - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); - } - - if (yyn == YYFINAL) - YYACCEPT; - - *++yyvsp = yylval; - - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#ifndef yyoverflow -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); - yyresult = 2; - /* Fall through. */ -#endif - -yyreturn: - if (yychar != YYEOF && yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK; - } -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif - return yyresult; -} - - -#line 404 "tools/wmc/mcy.y" - - -static WCHAR *merge(WCHAR *s1, WCHAR *s2) -{ - int l1 = unistrlen(s1); - int l2 = unistrlen(s2); - s1 = xrealloc(s1, (l1 + l2 + 1) * sizeof(*s1)); - unistrcpy(s1+l1, s2); - free(s2); - return s1; -} - -static void do_add_token(tok_e type, token_t *tok, const char *code) -{ - token_t *tp = lookup_token(tok->name); - if(tp) - { - if(tok->type != type) - mcy_warning("Type change in token\n"); - if(tp != tok) - xyyerror("Overlapping token not the same\n"); - /* else its already defined and changed */ - if(tok->fixed) - xyyerror("Redefinition of %s\n", code); - tok->fixed = 1; - } - else - { - add_token(type, tok->name, tok->token, tok->codepage, tok->alias, 1); - free(tok); - } -} - -static lanmsg_t *new_lanmsg(lan_cp_t *lcp, WCHAR *msg) -{ - lanmsg_t *lmp = xmalloc(sizeof(lanmsg_t)); - lmp->lan = lcp->language; - lmp->cp = lcp->codepage; - lmp->msg = msg; - lmp->len = unistrlen(msg) + 1; /* Include termination */ - if(lmp->len > 4096) - mcy_warning("Message exceptionally long; might be a missing termination\n"); - return lmp; -} - -static msg_t *add_lanmsg(msg_t *msg, lanmsg_t *lanmsg) -{ - int i; - if(!msg) - { - msg = xmalloc(sizeof(msg_t)); - memset( msg, 0, sizeof(*msg) ); - } - msg->msgs = xrealloc(msg->msgs, (msg->nmsgs+1) * sizeof(*(msg->msgs))); - msg->msgs[msg->nmsgs] = lanmsg; - msg->nmsgs++; - for(i = 0; i < msg->nmsgs-1; i++) - { - if(msg->msgs[i]->lan == lanmsg->lan) - xyyerror("Message for language 0x%x already defined\n", lanmsg->lan); - } - return msg; -} - -static int sort_lanmsg(const void *p1, const void *p2) -{ - return (*(const lanmsg_t * const *)p1)->lan - (*(const lanmsg_t * const*)p2)->lan; -} - -static msg_t *complete_msg(msg_t *mp, int id) -{ - assert(mp != NULL); - mp->id = id; - if(have_sym) - mp->sym = last_sym; - else - xyyerror("No symbolic name defined for message id %d\n", id); - mp->sev = last_sev; - mp->fac = last_fac; - qsort(mp->msgs, mp->nmsgs, sizeof(*(mp->msgs)), sort_lanmsg); - mp->realid = id | (last_sev << 30) | (last_fac << 16); - if(custombit) - mp->realid |= 1 << 29; - mp->base = base; - mp->cast = cast; - return mp; -} - -static void add_node(node_e type, void *p) -{ - node_t *ndp = xmalloc(sizeof(node_t)); - memset( ndp, 0, sizeof(*ndp) ); - ndp->type = type; - ndp->u.all = p; - - if(nodetail) - { - ndp->prev = nodetail; - nodetail->next = ndp; - nodetail = ndp; - } - else - { - nodehead = nodetail = ndp; - } -} - -static void test_id(int id) -{ - node_t *ndp; - for(ndp = nodehead; ndp; ndp = ndp->next) - { - if(ndp->type != nd_msg) - continue; - if(ndp->u.msg->id == id && ndp->u.msg->sev == last_sev && ndp->u.msg->fac == last_fac) - xyyerror("MessageId %d with facility 0x%x and severity 0x%x already defined\n", id, last_fac, last_sev); - } -} - -static int check_languages(node_t *head) -{ - static const char err_missing[] = "Missing definition for language 0x%x; MessageID %d, facility 0x%x, severity 0x%x"; - node_t *ndp; - int nm = 0; - msg_t *msg = NULL; - - for(ndp = head; ndp; ndp = ndp->next) - { - if(ndp->type != nd_msg) - continue; - if(!nm) - { - msg = ndp->u.msg; - } - else - { - int i; - msg_t *m1; - msg_t *m2; - if(ndp->u.msg->nmsgs > msg->nmsgs) - { - m1 = ndp->u.msg; - m2 = msg; - } - else - { - m1 = msg; - m2 = ndp->u.msg; - } - - for(i = 0; i < m1->nmsgs; i++) - { - if(i > m2->nmsgs) - error(err_missing, m1->msgs[i]->lan, m2->id, m2->fac, m2->sev); - else if(m1->msgs[i]->lan < m2->msgs[i]->lan) - error(err_missing, m1->msgs[i]->lan, m2->id, m2->fac, m2->sev); - else if(m1->msgs[i]->lan > m2->msgs[i]->lan) - error(err_missing, m2->msgs[i]->lan, m1->id, m1->fac, m1->sev); - } - } - nm++; - } - return nm; -} - -#define MSGRID(x) ((*(const msg_t * const*)(x))->realid) -static int sort_msg(const void *p1, const void *p2) -{ - return MSGRID(p1) > MSGRID(p2) ? 1 : (MSGRID(p1) == MSGRID(p2) ? 0 : -1); - /* return (*(msg_t **)p1)->realid - (*(msg_t **)p1)->realid; */ -} - -/* - * block_messages() basically transposes the messages - * from ID/language based list to a language/ID - * based list. - */ -static lan_blk_t *block_messages(node_t *head) -{ - lan_blk_t *lbp; - lan_blk_t *lblktail = NULL; - lan_blk_t *lblkhead = NULL; - msg_t **msgtab = NULL; - node_t *ndp; - int nmsg = 0; - int i; - int nl; - int factor = unicodeout ? 2 : 1; - - for(ndp = head; ndp; ndp = ndp->next) - { - if(ndp->type != nd_msg) - continue; - msgtab = xrealloc(msgtab, (nmsg+1) * sizeof(*msgtab)); - msgtab[nmsg++] = ndp->u.msg; - } - - assert(nmsg != 0); - qsort(msgtab, nmsg, sizeof(*msgtab), sort_msg); - - for(nl = 0; nl < msgtab[0]->nmsgs; nl++) /* This should be equal for all after check_languages() */ - { - lbp = xmalloc(sizeof(lan_blk_t)); - memset( lbp, 0, sizeof(*lbp) ); - if(!lblktail) - { - lblkhead = lblktail = lbp; - } - else - { - lblktail->next = lbp; - lbp->prev = lblktail; - lblktail = lbp; - } - lbp->nblk = 1; - lbp->blks = xmalloc(sizeof(*lbp->blks)); - lbp->blks[0].idlo = msgtab[0]->realid; - lbp->blks[0].idhi = msgtab[0]->realid; - /* The plus 4 is the entry header; (+3)&~3 is DWORD alignment */ - lbp->blks[0].size = ((factor * msgtab[0]->msgs[nl]->len + 3) & ~3) + 4; - lbp->blks[0].msgs = xmalloc(sizeof(*lbp->blks[0].msgs)); - lbp->blks[0].nmsg = 1; - lbp->blks[0].msgs[0] = msgtab[0]->msgs[nl]; - lbp->lan = msgtab[0]->msgs[nl]->lan; - - for(i = 1; i < nmsg; i++) - { - block_t *blk = &(lbp->blks[lbp->nblk-1]); - if(msgtab[i]->realid == blk->idhi+1) - { - blk->size += ((factor * msgtab[i]->msgs[nl]->len + 3) & ~3) + 4; - blk->idhi++; - blk->msgs = xrealloc(blk->msgs, (blk->nmsg+1) * sizeof(*blk->msgs)); - blk->msgs[blk->nmsg++] = msgtab[i]->msgs[nl]; - } - else - { - lbp->nblk++; - lbp->blks = xrealloc(lbp->blks, lbp->nblk * sizeof(*lbp->blks)); - blk = &(lbp->blks[lbp->nblk-1]); - blk->idlo = msgtab[i]->realid; - blk->idhi = msgtab[i]->realid; - blk->size = ((factor * msgtab[i]->msgs[nl]->len + 3) & ~3) + 4; - blk->msgs = xmalloc(sizeof(*blk->msgs)); - blk->nmsg = 1; - blk->msgs[0] = msgtab[i]->msgs[nl]; - } - } - } - free(msgtab); - return lblkhead; -} - -static int sc_xlat(const void *p1, const void *p2) -{ - return ((const cp_xlat_t *)p1)->lan - ((const cp_xlat_t *)p2)->lan; -} - -static void add_cpxlat(int lan, int cpin, int cpout) -{ - cpxlattab = xrealloc(cpxlattab, (ncpxlattab+1) * sizeof(*cpxlattab)); - cpxlattab[ncpxlattab].lan = lan; - cpxlattab[ncpxlattab].cpin = cpin; - cpxlattab[ncpxlattab].cpout = cpout; - ncpxlattab++; - qsort(cpxlattab, ncpxlattab, sizeof(*cpxlattab), sc_xlat); -} - -static cp_xlat_t *find_cpxlat(int lan) -{ - cp_xlat_t t; - - if(!cpxlattab) return NULL; - - t.lan = lan; - return (cp_xlat_t *)bsearch(&t, cpxlattab, ncpxlattab, sizeof(*cpxlattab), sc_xlat); -} - diff --git a/reactos/tools/wmc/mcy.tab.h b/reactos/tools/wmc/mcy.tab.h deleted file mode 100644 index 493093cb3de..00000000000 --- a/reactos/tools/wmc/mcy.tab.h +++ /dev/null @@ -1,97 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.1. */ - -/* Skeleton parser for Yacc-like parsing with Bison, - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - tSEVNAMES = 258, - tFACNAMES = 259, - tLANNAMES = 260, - tBASE = 261, - tCODEPAGE = 262, - tTYPEDEF = 263, - tNL = 264, - tSYMNAME = 265, - tMSGEND = 266, - tSEVERITY = 267, - tFACILITY = 268, - tLANGUAGE = 269, - tMSGID = 270, - tIDENT = 271, - tLINE = 272, - tFILE = 273, - tCOMMENT = 274, - tNUMBER = 275, - tTOKEN = 276 - }; -#endif -/* Tokens. */ -#define tSEVNAMES 258 -#define tFACNAMES 259 -#define tLANNAMES 260 -#define tBASE 261 -#define tCODEPAGE 262 -#define tTYPEDEF 263 -#define tNL 264 -#define tSYMNAME 265 -#define tMSGEND 266 -#define tSEVERITY 267 -#define tFACILITY 268 -#define tLANGUAGE 269 -#define tMSGID 270 -#define tIDENT 271 -#define tLINE 272 -#define tFILE 273 -#define tCOMMENT 274 -#define tNUMBER 275 -#define tTOKEN 276 - - - - -#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 98 "tools/wmc/mcy.y" -typedef union YYSTYPE { - WCHAR *str; - unsigned num; - token_t *tok; - lanmsg_t *lmp; - msg_t *msg; - lan_cp_t lcp; -} YYSTYPE; -/* Line 1447 of yacc.c. */ -#line 89 "tools/wmc/mcy.tab.h" -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -# define YYSTYPE_IS_TRIVIAL 1 -#endif - -extern YYSTYPE mcy_lval; - - - diff --git a/reactos/tools/wmc/mcy.y b/reactos/tools/wmc/mcy.y deleted file mode 100644 index 2887df56b6d..00000000000 --- a/reactos/tools/wmc/mcy.y +++ /dev/null @@ -1,680 +0,0 @@ -/* - * Wine Message Compiler parser - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - * NOTES: - * - * The basic grammar of the file is yet another example of, humpf, - * design. There is a mix of context-insensitive and -sensitive - * stuff, which makes it rather complicated. - * The header definitions are all context-insensitive because they have - * delimited arguments, whereas the message headers are (semi-) context- - * sensitive and the messages themselves are, well, RFC82[12] delimited. - * This mixture seems to originate from the time that ms and ibm were - * good friends and developing os/2 according to the "compatibility" - * switch and reading some comments here and there. - * - * I'll ignore most of the complications and concentrate on the concept - * which allows me to use yacc. Basically, everything is context- - * insensitive now, with the exception of the message-text itself and - * the preceding language declaration. - * - */ - -%{ - -#include "config.h" - -#include -#include -#include - -#include "utils.h" -#include "wmc.h" -#include "lang.h" - -static const char err_syntax[] = "Syntax error"; -static const char err_number[] = "Number expected"; -static const char err_ident[] = "Identifier expected"; -static const char err_assign[] = "'=' expected"; -static const char err_popen[] = "'(' expected"; -static const char err_pclose[] = "')' expected"; -static const char err_colon[] = "':' expected"; -static const char err_msg[] = "Message expected"; - -/* Scanner switches */ -int want_nl = 0; /* Request next newlinw */ -int want_line = 0; /* Request next complete line */ -int want_file = 0; /* Request next ident as filename */ - -node_t *nodehead = NULL; /* The list of all parsed elements */ -static node_t *nodetail = NULL; -lan_blk_t *lanblockhead; /* List of parsed elements transposed */ - -static int base = 16; /* Current printout base to use (8, 10 or 16) */ -static WCHAR *cast = NULL; /* Current typecast to use */ - -static int last_id = 0; /* The last message ID parsed */ -static int last_sev = 0; /* Last severity code parsed */ -static int last_fac = 0; /* Last facility code parsed */ -static WCHAR *last_sym = NULL;/* Last alias symbol parsed */ -static int have_sev; /* Set if severity parsed for current message */ -static int have_fac; /* Set if facility parsed for current message */ -static int have_sym; /* Set is symbol parsed for current message */ - -static cp_xlat_t *cpxlattab = NULL; /* Codepage translation table */ -static int ncpxlattab = 0; - -/* Prototypes */ -static WCHAR *merge(WCHAR *s1, WCHAR *s2); -static lanmsg_t *new_lanmsg(lan_cp_t *lcp, WCHAR *msg); -static msg_t *add_lanmsg(msg_t *msg, lanmsg_t *lanmsg); -static msg_t *complete_msg(msg_t *msg, int id); -static void add_node(node_e type, void *p); -static void do_add_token(tok_e type, token_t *tok, const char *code); -static void test_id(int id); -static int check_languages(node_t *head); -static lan_blk_t *block_messages(node_t *head); -static void add_cpxlat(int lan, int cpin, int cpout); -static cp_xlat_t *find_cpxlat(int lan); - -%} - -%union { - WCHAR *str; - unsigned num; - token_t *tok; - lanmsg_t *lmp; - msg_t *msg; - lan_cp_t lcp; -} - - -%token tSEVNAMES tFACNAMES tLANNAMES tBASE tCODEPAGE -%token tTYPEDEF tNL tSYMNAME tMSGEND -%token tSEVERITY tFACILITY tLANGUAGE tMSGID -%token tIDENT tLINE tFILE tCOMMENT -%token tNUMBER -%token tTOKEN - -%type alias lines -%type optcp id msgid clan -%type token -%type body -%type bodies msg -%type lang - -%% -file : items { - if(!check_languages(nodehead)) - xyyerror("No messages defined\n"); - lanblockhead = block_messages(nodehead); - } - ; - -items : decl - | items decl - ; - -decl : global - | msg { add_node(nd_msg, $1); } - | tCOMMENT { add_node(nd_comment, $1); } - | error { xyyerror(err_syntax); /* `Catch all' error */ } - ; - -global : tSEVNAMES '=' '(' smaps ')' - | tSEVNAMES '=' '(' smaps error { xyyerror(err_pclose); } - | tSEVNAMES '=' error { xyyerror(err_popen); } - | tSEVNAMES error { xyyerror(err_assign); } - | tFACNAMES '=' '(' fmaps ')' - | tFACNAMES '=' '(' fmaps error { xyyerror(err_pclose); } - | tFACNAMES '=' error { xyyerror(err_popen); } - | tFACNAMES error { xyyerror(err_assign); } - | tLANNAMES '=' '(' lmaps ')' - | tLANNAMES '=' '(' lmaps error { xyyerror(err_pclose); } - | tLANNAMES '=' error { xyyerror(err_popen); } - | tLANNAMES error { xyyerror(err_assign); } - | tCODEPAGE '=' '(' cmaps ')' - | tCODEPAGE '=' '(' cmaps error { xyyerror(err_pclose); } - | tCODEPAGE '=' error { xyyerror(err_popen); } - | tCODEPAGE error { xyyerror(err_assign); } - | tTYPEDEF '=' tIDENT { cast = $3; } - | tTYPEDEF '=' error { xyyerror(err_number); } - | tTYPEDEF error { xyyerror(err_assign); } - | tBASE '=' tNUMBER { - switch(base) - { - case 8: - case 10: - case 16: - base = $3; - break; - default: - xyyerror("Numberbase must be 8, 10 or 16\n"); - } - } - | tBASE '=' error { xyyerror(err_number); } - | tBASE error { xyyerror(err_assign); } - ; - -/*---------------------------------------------------------------------- - * SeverityNames mapping - */ -smaps : smap - | smaps smap - | error { xyyerror(err_ident); } - ; - -smap : token '=' tNUMBER alias { - $1->token = $3; - $1->alias = $4; - if($3 & (~0x3)) - xyyerror("Severity value out of range (0x%08x > 0x3)\n", $3); - do_add_token(tok_severity, $1, "severity"); - } - | token '=' error { xyyerror(err_number); } - | token error { xyyerror(err_assign); } - ; - -/*---------------------------------------------------------------------- - * FacilityNames mapping - */ -fmaps : fmap - | fmaps fmap - | error { xyyerror(err_ident); } - ; - -fmap : token '=' tNUMBER alias { - $1->token = $3; - $1->alias = $4; - if($3 & (~0xfff)) - xyyerror("Facility value out of range (0x%08x > 0xfff)\n", $3); - do_add_token(tok_facility, $1, "facility"); - } - | token '=' error { xyyerror(err_number); } - | token error { xyyerror(err_assign); } - ; - -alias : /* Empty */ { $$ = NULL; } - | ':' tIDENT { $$ = $2; } - | ':' error { xyyerror(err_ident); } - ; - -/*---------------------------------------------------------------------- - * LanguageNames mapping - */ -lmaps : lmap - | lmaps lmap - | error { xyyerror(err_ident); } - ; - -lmap : token '=' tNUMBER setfile ':' tFILE optcp { - $1->token = $3; - $1->alias = $6; - $1->codepage = $7; - do_add_token(tok_language, $1, "language"); - if(!find_language($3) && !find_cpxlat($3)) - mcy_warning("Language 0x%x not built-in, using codepage %d; use explicit codepage to override\n", $3, WMC_DEFAULT_CODEPAGE); - } - | token '=' tNUMBER setfile ':' error { xyyerror("Filename expected\n"); } - | token '=' tNUMBER error { xyyerror(err_colon); } - | token '=' error { xyyerror(err_number); } - | token error { xyyerror(err_assign); } - ; - -optcp : /* Empty */ { $$ = 0; } - | ':' tNUMBER { $$ = $2; } - | ':' error { xyyerror("Codepage-number expected\n"); } - ; - -/*---------------------------------------------------------------------- - * Codepages mapping - */ -cmaps : cmap - | cmaps cmap - | error { xyyerror(err_ident); } - ; - -cmap : clan '=' tNUMBER ':' tNUMBER { - static const char err_nocp[] = "Codepage %d not builtin; cannot convert"; - if(find_cpxlat($1)) - xyyerror("Codepage translation already defined for language 0x%x\n", $1); - if($3 && !find_codepage($3)) - xyyerror(err_nocp, $3); - if($5 && !find_codepage($5)) - xyyerror(err_nocp, $5); - add_cpxlat($1, $3, $5); - } - | clan '=' tNUMBER ':' error { xyyerror(err_number); } - | clan '=' tNUMBER error { xyyerror(err_colon); } - | clan '=' error { xyyerror(err_number); } - | clan error { xyyerror(err_assign); } - ; - -clan : tNUMBER { $$ = $1; } - | tTOKEN { - if($1->type != tok_language) - xyyerror("Language name or code expected\n"); - $$ = $1->token; - } - ; - -/*---------------------------------------------------------------------- - * Message-definition parsing - */ -msg : msgid sevfacsym { test_id($1); } bodies { $$ = complete_msg($4, $1); } - ; - -msgid : tMSGID '=' id { - if($3 & (~0xffff)) - xyyerror("Message ID value out of range (0x%08x > 0xffff)\n", $3); - $$ = $3; - } - | tMSGID error { xyyerror(err_assign); } - ; - -id : /* Empty */ { $$ = ++last_id; } - | tNUMBER { $$ = last_id = $1; } - | '+' tNUMBER { $$ = last_id += $2; } - | '+' error { xyyerror(err_number); } - ; - -sevfacsym: /* Empty */ { have_sev = have_fac = have_sym = 0; } - | sevfacsym sev { if(have_sev) xyyerror("Severity already defined\n"); have_sev = 1; } - | sevfacsym fac { if(have_fac) xyyerror("Facility already defined\n"); have_fac = 1; } - | sevfacsym sym { if(have_sym) xyyerror("Symbolname already defined\n"); have_sym = 1; } - ; - -sym : tSYMNAME '=' tIDENT { last_sym = $3; } - | tSYMNAME '=' error { xyyerror(err_ident); } - | tSYMNAME error { xyyerror(err_assign); } - ; - -sev : tSEVERITY '=' token { - token_t *tok = lookup_token($3->name); - if(!tok) - xyyerror("Undefined severityname\n"); - if(tok->type != tok_severity) - xyyerror("Identifier is not of class 'severity'\n"); - last_sev = tok->token; - } - | tSEVERITY '=' error { xyyerror(err_ident); } - | tSEVERITY error { xyyerror(err_assign); } - ; - -fac : tFACILITY '=' token { - token_t *tok = lookup_token($3->name); - if(!tok) - xyyerror("Undefined facilityname\n"); - if(tok->type != tok_facility) - xyyerror("Identifier is not of class 'facility'\n"); - last_fac = tok->token; - } - | tFACILITY '=' error { xyyerror(err_ident); } - | tFACILITY error { xyyerror(err_assign); } - ; - -/*---------------------------------------------------------------------- - * Message-text parsing - */ -bodies : body { $$ = add_lanmsg(NULL, $1); } - | bodies body { $$ = add_lanmsg($1, $2); } - | error { xyyerror("'Language=...' (start of message text-definition) expected\n"); } - ; - -body : lang setline lines tMSGEND { $$ = new_lanmsg(&$1, $3); } - ; - - /* - * The newline is to be able to set the codepage - * to the language based codepage for the next - * message to be parsed. - */ -lang : tLANGUAGE setnl '=' token tNL { - token_t *tok = lookup_token($4->name); - cp_xlat_t *cpx; - if(!tok) - xyyerror("Undefined language\n"); - if(tok->type != tok_language) - xyyerror("Identifier is not of class 'language'\n"); - if((cpx = find_cpxlat(tok->token))) - { - set_codepage($$.codepage = cpx->cpin); - } - else if(!tok->codepage) - { - const language_t *lan = find_language(tok->token); - if(!lan) - { - /* Just set default; warning was given while parsing languagenames */ - set_codepage($$.codepage = WMC_DEFAULT_CODEPAGE); - } - else - { - /* The default seems to be to use the DOS codepage... */ - set_codepage($$.codepage = lan->doscp); - } - } - else - set_codepage($$.codepage = tok->codepage); - $$.language = tok->token; - } - | tLANGUAGE setnl '=' token error { xyyerror("Missing newline\n"); } - | tLANGUAGE setnl '=' error { xyyerror(err_ident); } - | tLANGUAGE error { xyyerror(err_assign); } - ; - -lines : tLINE { $$ = $1; } - | lines tLINE { $$ = merge($1, $2); } - | error { xyyerror(err_msg); } - | lines error { xyyerror(err_msg); } - ; - -/*---------------------------------------------------------------------- - * Helper rules - */ -token : tIDENT { $$ = xmalloc(sizeof(token_t)); memset($$,0,sizeof(*$$)); $$->name = $1; } - | tTOKEN { $$ = $1; } - ; - -setnl : /* Empty */ { want_nl = 1; } - ; - -setline : /* Empty */ { want_line = 1; } - ; - -setfile : /* Empty */ { want_file = 1; } - ; - -%% - -static WCHAR *merge(WCHAR *s1, WCHAR *s2) -{ - int l1 = unistrlen(s1); - int l2 = unistrlen(s2); - s1 = xrealloc(s1, (l1 + l2 + 1) * sizeof(*s1)); - unistrcpy(s1+l1, s2); - free(s2); - return s1; -} - -static void do_add_token(tok_e type, token_t *tok, const char *code) -{ - token_t *tp = lookup_token(tok->name); - if(tp) - { - if(tok->type != type) - mcy_warning("Type change in token\n"); - if(tp != tok) - xyyerror("Overlapping token not the same\n"); - /* else its already defined and changed */ - if(tok->fixed) - xyyerror("Redefinition of %s\n", code); - tok->fixed = 1; - } - else - { - add_token(type, tok->name, tok->token, tok->codepage, tok->alias, 1); - free(tok); - } -} - -static lanmsg_t *new_lanmsg(lan_cp_t *lcp, WCHAR *msg) -{ - lanmsg_t *lmp = xmalloc(sizeof(lanmsg_t)); - lmp->lan = lcp->language; - lmp->cp = lcp->codepage; - lmp->msg = msg; - lmp->len = unistrlen(msg) + 1; /* Include termination */ - if(lmp->len > 4096) - mcy_warning("Message exceptionally long; might be a missing termination\n"); - return lmp; -} - -static msg_t *add_lanmsg(msg_t *msg, lanmsg_t *lanmsg) -{ - int i; - if(!msg) - { - msg = xmalloc(sizeof(msg_t)); - memset( msg, 0, sizeof(*msg) ); - } - msg->msgs = xrealloc(msg->msgs, (msg->nmsgs+1) * sizeof(*(msg->msgs))); - msg->msgs[msg->nmsgs] = lanmsg; - msg->nmsgs++; - for(i = 0; i < msg->nmsgs-1; i++) - { - if(msg->msgs[i]->lan == lanmsg->lan) - xyyerror("Message for language 0x%x already defined\n", lanmsg->lan); - } - return msg; -} - -static int sort_lanmsg(const void *p1, const void *p2) -{ - return (*(const lanmsg_t * const *)p1)->lan - (*(const lanmsg_t * const*)p2)->lan; -} - -static msg_t *complete_msg(msg_t *mp, int id) -{ - assert(mp != NULL); - mp->id = id; - if(have_sym) - mp->sym = last_sym; - else - xyyerror("No symbolic name defined for message id %d\n", id); - mp->sev = last_sev; - mp->fac = last_fac; - qsort(mp->msgs, mp->nmsgs, sizeof(*(mp->msgs)), sort_lanmsg); - mp->realid = id | (last_sev << 30) | (last_fac << 16); - if(custombit) - mp->realid |= 1 << 29; - mp->base = base; - mp->cast = cast; - return mp; -} - -static void add_node(node_e type, void *p) -{ - node_t *ndp = xmalloc(sizeof(node_t)); - memset( ndp, 0, sizeof(*ndp) ); - ndp->type = type; - ndp->u.all = p; - - if(nodetail) - { - ndp->prev = nodetail; - nodetail->next = ndp; - nodetail = ndp; - } - else - { - nodehead = nodetail = ndp; - } -} - -static void test_id(int id) -{ - node_t *ndp; - for(ndp = nodehead; ndp; ndp = ndp->next) - { - if(ndp->type != nd_msg) - continue; - if(ndp->u.msg->id == id && ndp->u.msg->sev == last_sev && ndp->u.msg->fac == last_fac) - xyyerror("MessageId %d with facility 0x%x and severity 0x%x already defined\n", id, last_fac, last_sev); - } -} - -static int check_languages(node_t *head) -{ - static const char err_missing[] = "Missing definition for language 0x%x; MessageID %d, facility 0x%x, severity 0x%x"; - node_t *ndp; - int nm = 0; - msg_t *msg = NULL; - - for(ndp = head; ndp; ndp = ndp->next) - { - if(ndp->type != nd_msg) - continue; - if(!nm) - { - msg = ndp->u.msg; - } - else - { - int i; - msg_t *m1; - msg_t *m2; - if(ndp->u.msg->nmsgs > msg->nmsgs) - { - m1 = ndp->u.msg; - m2 = msg; - } - else - { - m1 = msg; - m2 = ndp->u.msg; - } - - for(i = 0; i < m1->nmsgs; i++) - { - if(i > m2->nmsgs) - error(err_missing, m1->msgs[i]->lan, m2->id, m2->fac, m2->sev); - else if(m1->msgs[i]->lan < m2->msgs[i]->lan) - error(err_missing, m1->msgs[i]->lan, m2->id, m2->fac, m2->sev); - else if(m1->msgs[i]->lan > m2->msgs[i]->lan) - error(err_missing, m2->msgs[i]->lan, m1->id, m1->fac, m1->sev); - } - } - nm++; - } - return nm; -} - -#define MSGRID(x) ((*(const msg_t * const*)(x))->realid) -static int sort_msg(const void *p1, const void *p2) -{ - return MSGRID(p1) > MSGRID(p2) ? 1 : (MSGRID(p1) == MSGRID(p2) ? 0 : -1); - /* return (*(msg_t **)p1)->realid - (*(msg_t **)p1)->realid; */ -} - -/* - * block_messages() basically transposes the messages - * from ID/language based list to a language/ID - * based list. - */ -static lan_blk_t *block_messages(node_t *head) -{ - lan_blk_t *lbp; - lan_blk_t *lblktail = NULL; - lan_blk_t *lblkhead = NULL; - msg_t **msgtab = NULL; - node_t *ndp; - int nmsg = 0; - int i; - int nl; - int factor = unicodeout ? 2 : 1; - - for(ndp = head; ndp; ndp = ndp->next) - { - if(ndp->type != nd_msg) - continue; - msgtab = xrealloc(msgtab, (nmsg+1) * sizeof(*msgtab)); - msgtab[nmsg++] = ndp->u.msg; - } - - assert(nmsg != 0); - qsort(msgtab, nmsg, sizeof(*msgtab), sort_msg); - - for(nl = 0; nl < msgtab[0]->nmsgs; nl++) /* This should be equal for all after check_languages() */ - { - lbp = xmalloc(sizeof(lan_blk_t)); - memset( lbp, 0, sizeof(*lbp) ); - if(!lblktail) - { - lblkhead = lblktail = lbp; - } - else - { - lblktail->next = lbp; - lbp->prev = lblktail; - lblktail = lbp; - } - lbp->nblk = 1; - lbp->blks = xmalloc(sizeof(*lbp->blks)); - lbp->blks[0].idlo = msgtab[0]->realid; - lbp->blks[0].idhi = msgtab[0]->realid; - /* The plus 4 is the entry header; (+3)&~3 is DWORD alignment */ - lbp->blks[0].size = ((factor * msgtab[0]->msgs[nl]->len + 3) & ~3) + 4; - lbp->blks[0].msgs = xmalloc(sizeof(*lbp->blks[0].msgs)); - lbp->blks[0].nmsg = 1; - lbp->blks[0].msgs[0] = msgtab[0]->msgs[nl]; - lbp->lan = msgtab[0]->msgs[nl]->lan; - - for(i = 1; i < nmsg; i++) - { - block_t *blk = &(lbp->blks[lbp->nblk-1]); - if(msgtab[i]->realid == blk->idhi+1) - { - blk->size += ((factor * msgtab[i]->msgs[nl]->len + 3) & ~3) + 4; - blk->idhi++; - blk->msgs = xrealloc(blk->msgs, (blk->nmsg+1) * sizeof(*blk->msgs)); - blk->msgs[blk->nmsg++] = msgtab[i]->msgs[nl]; - } - else - { - lbp->nblk++; - lbp->blks = xrealloc(lbp->blks, lbp->nblk * sizeof(*lbp->blks)); - blk = &(lbp->blks[lbp->nblk-1]); - blk->idlo = msgtab[i]->realid; - blk->idhi = msgtab[i]->realid; - blk->size = ((factor * msgtab[i]->msgs[nl]->len + 3) & ~3) + 4; - blk->msgs = xmalloc(sizeof(*blk->msgs)); - blk->nmsg = 1; - blk->msgs[0] = msgtab[i]->msgs[nl]; - } - } - } - free(msgtab); - return lblkhead; -} - -static int sc_xlat(const void *p1, const void *p2) -{ - return ((const cp_xlat_t *)p1)->lan - ((const cp_xlat_t *)p2)->lan; -} - -static void add_cpxlat(int lan, int cpin, int cpout) -{ - cpxlattab = xrealloc(cpxlattab, (ncpxlattab+1) * sizeof(*cpxlattab)); - cpxlattab[ncpxlattab].lan = lan; - cpxlattab[ncpxlattab].cpin = cpin; - cpxlattab[ncpxlattab].cpout = cpout; - ncpxlattab++; - qsort(cpxlattab, ncpxlattab, sizeof(*cpxlattab), sc_xlat); -} - -static cp_xlat_t *find_cpxlat(int lan) -{ - cp_xlat_t t; - - if(!cpxlattab) return NULL; - - t.lan = lan; - return (cp_xlat_t *)bsearch(&t, cpxlattab, ncpxlattab, sizeof(*cpxlattab), sc_xlat); -} diff --git a/reactos/tools/wmc/utils.c b/reactos/tools/wmc/utils.c deleted file mode 100644 index 97fe3122630..00000000000 --- a/reactos/tools/wmc/utils.c +++ /dev/null @@ -1,259 +0,0 @@ -/* - * Utility routines - * - * Copyright 1998,2000 Bertho A. Stultiens - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include - -#include "wmctypes.h" -#include "utils.h" -#include "wmc.h" - -#define SUPPRESS_YACC_ERROR_MESSAGE - -static void generic_msg(const char *s, const char *t, va_list ap) -{ - fprintf(stderr, "%s:%d:%d: %s: ", input_name ? input_name : "stdin", line_number, char_number, t); - vfprintf(stderr, s, ap); -} - -/* - * The yyerror routine should not exit because we use the error-token - * to determine the syntactic error in the source. However, YACC - * uses the same routine to print an error just before the error - * token is reduced. - * The extra routine 'xyyerror' is used to exit after giving a real - * message. - */ -int mcy_error(const char *s, ...) -{ -#ifndef SUPPRESS_YACC_ERROR_MESSAGE - va_list ap; - va_start(ap, s); - generic_msg(s, "Yacc error", ap); - va_end(ap); -#endif - return 1; -} - -int xyyerror(const char *s, ...) -{ - va_list ap; - va_start(ap, s); - generic_msg(s, "Error", ap); - va_end(ap); - exit(1); - return 1; -} - -int mcy_warning(const char *s, ...) -{ - va_list ap; - va_start(ap, s); - generic_msg(s, "Warning", ap); - va_end(ap); - return 0; -} - -void internal_error(const char *file, int line, const char *s, ...) -{ - va_list ap; - va_start(ap, s); - fprintf(stderr, "Internal error (please report) %s %d: ", file, line); - vfprintf(stderr, s, ap); - va_end(ap); - exit(3); -} - -void error(const char *s, ...) -{ - va_list ap; - va_start(ap, s); - fprintf(stderr, "Error: "); - vfprintf(stderr, s, ap); - va_end(ap); - exit(2); -} - -void warning(const char *s, ...) -{ - va_list ap; - va_start(ap, s); - fprintf(stderr, "Warning: "); - vfprintf(stderr, s, ap); - va_end(ap); -} - -char *dup_basename(const char *name, const char *ext) -{ - int namelen; - int extlen = strlen(ext); - char *base; - char *slash; - - if(!name) - name = "wmc.tab"; - - slash = strrchr(name, '/'); - if (slash) - name = slash + 1; - - namelen = strlen(name); - - /* +4 for later extension and +1 for '\0' */ - base = xmalloc(namelen +4 +1); - strcpy(base, name); - if(!strcasecmp(name + namelen-extlen, ext)) - { - base[namelen - extlen] = '\0'; - } - return base; -} - -void get_rcbasedir(char *basedir, const char *name) -{ - char *slash; - slash = strrchr(name, '/'); - - if (!slash) - slash = strrchr(name, '\\'); - - basedir[0] = 0; - - strncpy(basedir, name, slash - name + 1); - basedir[slash-name + 1] = '\0'; -} - -void *xmalloc(size_t size) -{ - void *res; - - assert(size > 0); - assert(size < 102400); - res = malloc(size); - if(res == NULL) - { - error("Virtual memory exhausted.\n"); - } - memset(res, 0x55, size); - return res; -} - - -void *xrealloc(void *p, size_t size) -{ - void *res; - - assert(size > 0); - assert(size < 102400); - res = realloc(p, size); - if(res == NULL) - { - error("Virtual memory exhausted.\n"); - } - return res; -} - -char *xstrdup(const char *str) -{ - char *s; - - assert(str != NULL); - s = xmalloc(strlen(str)+1); - return strcpy(s, str); -} - -int unistrlen(const WCHAR *s) -{ - int n; - for(n = 0; *s; n++, s++) - ; - return n; -} - -WCHAR *unistrcpy(WCHAR *dst, const WCHAR *src) -{ - WCHAR *t = dst; - while(*src) - *t++ = *src++; - *t = 0; - return dst; -} - -WCHAR *xunistrdup(const WCHAR * str) -{ - WCHAR *s; - - assert(str != NULL); - s = xmalloc((unistrlen(str)+1) * sizeof(WCHAR)); - return unistrcpy(s, str); -} - -int unistricmp(const WCHAR *s1, const WCHAR *s2) -{ - int i; - int once = 0; - static const char warn[] = "Don't know the uppercase equivalent of non acsii characters;" - "comparison might yield wrong results"; - while(*s1 && *s2) - { - if((*s1 & 0xffff) > 0x7f || (*s2 & 0xffff) > 0x7f) - { - if(!once) - { - once++; - mcy_warning(warn); - } - i = *s1++ - *s2++; - } - else - i = toupper(*s1++) - toupper(*s2++); - if(i) - return i; - } - - if((*s1 & 0xffff) > 0x7f || (*s2 & 0xffff) > 0x7f) - { - if(!once) - mcy_warning(warn); - return *s1 - *s2; - } - else - return toupper(*s1) - toupper(*s2); -} - -int unistrcmp(const WCHAR *s1, const WCHAR *s2) -{ - int i; - while(*s1 && *s2) - { - i = *s1++ - *s2++; - if(i) - return i; - } - - return *s1 - *s2; -} diff --git a/reactos/tools/wmc/utils.h b/reactos/tools/wmc/utils.h deleted file mode 100644 index 5670b105a20..00000000000 --- a/reactos/tools/wmc/utils.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Utility routines' prototypes etc. - * - * Copyright 1998,2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WMC_UTILS_H -#define __WMC_UTILS_H - -#include /* size_t */ - -#include "wmctypes.h" - -void *xmalloc(size_t); -void *xrealloc(void *, size_t); -char *xstrdup(const char *str); - -#ifndef __GNUC__ -#define __attribute__(X) -#endif - -int mcy_error(const char *s, ...) __attribute__((format (printf, 1, 2))); -int xyyerror(const char *s, ...) __attribute__((format (printf, 1, 2))); -int mcy_warning(const char *s, ...) __attribute__((format (printf, 1, 2))); -void internal_error(const char *file, int line, const char *s, ...) __attribute__((format (printf, 3, 4))); -void error(const char *s, ...) __attribute__((format (printf, 1, 2))); -void warning(const char *s, ...) __attribute__((format (printf, 1, 2))); - -char *dup_basename(const char *name, const char *ext); -void get_rcbasedir(char *basedir, const char *name); - -WCHAR *xunistrdup(const WCHAR * str); -WCHAR *unistrcpy(WCHAR *dst, const WCHAR *src); -int unistrlen(const WCHAR *s); -int unistricmp(const WCHAR *s1, const WCHAR *s2); -int unistrcmp(const WCHAR *s1, const WCHAR *s2); - -#endif diff --git a/reactos/tools/wmc/wmc.c b/reactos/tools/wmc/wmc.c deleted file mode 100644 index 0f077da91e9..00000000000 --- a/reactos/tools/wmc/wmc.c +++ /dev/null @@ -1,305 +0,0 @@ -/* - * Wine Message Compiler main program - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include - -#include "wmc.h" -#include "utils.h" -#include "lang.h" -#include "write.h" - -static const char usage[] = - "Usage: wmc [options...] [inputfile.mc]\n" - " -B x Set output byte-order x={n[ative], l[ittle], b[ig]}\n" - " (default is n[ative] which equals " -#ifdef WORDS_BIGENDIAN - "big" -#else - "little" -#endif - "-endian)\n" - " -c Set 'custom-bit' in values\n" - " -d Use decimal values in output\n" - " -D Set debug flag\n" - " -h This message\n" - " -H file Write headerfile to file (default is inputfile.h)\n" - " -i Inline messagetable(s)\n" - " -o file Output to file (default is inputfile.rc)\n" - " -u Inputfile is in unicode\n" - " -U Output unicode messagetable(s)\n" - " -v Show supported codepages and languages\n" - " -V Print version end exit\n" - " -W Enable pedantic warnings\n" - "Input is taken from stdin if no inputfile is specified.\n" - "Byteorder of unicode input is based upon the first couple of\n" - "bytes read, which should be 0x0000..0x00ff.\n" - ; - -static const char version_string[] = - "Wine Message Compiler version " PACKAGE_VERSION "\n" - "Copyright 2000 Bertho A. Stultiens\n" - ; - -/* - * The output byte-order of resources (set with -B) - */ -int byteorder = WMC_BO_NATIVE; - -/* - * Custom bit (bit 29) in output values must be set (-c option) - */ -int custombit = 0; - -/* - * Output decimal values (-d option) - */ -int decimal = 0; - -/* - * Enable pedantic warnings; check arg references (-W option) - */ -int pedantic = 0; - -/* - * Unicode input (-u option) - */ -int unicodein = 0; - -/* - * Unicode output (-U option) - */ -int unicodeout = 0; - -/* - * Inline the messagetables (don't write *.bin files; -i option) - */ -int rcinline = 0; - -/* - * Debugging flag (-D option) - */ -int dodebug = 0; - -char *output_name = NULL; /* The name given by the -o option */ -char *input_name = NULL; /* The name given on the command-line */ -char *header_name = NULL; /* The name given by the -H option */ - -int line_number = 1; /* The current line */ -int char_number = 1; /* The current char pos within the line */ - -char *cmdline; /* The entire commandline */ -time_t now; /* The time of start of wmc */ - -int mcy_debug; - -int getopt (int argc, char *const *argv, const char *optstring); -static void segvhandler(int sig); - -static void cleanup_files(void) -{ - if (output_name) unlink( output_name ); - if (header_name) unlink( header_name ); -} - -static void exit_on_signal( int sig ) -{ - exit(1); /* this will call the atexit functions */ -} - -int main(int argc,char *argv[]) -{ - extern char* optarg; - extern int optind; - int optc; - int lose = 0; - int ret; - int i; - int cmdlen; - char rcbasedir[256]; - - atexit( cleanup_files ); - signal(SIGSEGV, segvhandler); - signal( SIGTERM, exit_on_signal ); - signal( SIGINT, exit_on_signal ); -#ifdef SIGHUP - signal( SIGHUP, exit_on_signal ); -#endif - - now = time(NULL); - - /* First rebuild the commandline to put in destination */ - /* Could be done through env[], but not all OS-es support it */ - cmdlen = 4; /* for "wmc " */ - for(i = 1; i < argc; i++) - cmdlen += strlen(argv[i]) + 1; - cmdline = (char *)xmalloc(cmdlen); - strcpy(cmdline, "wmc "); - for(i = 1; i < argc; i++) - { - strcat(cmdline, argv[i]); - if(i < argc-1) - strcat(cmdline, " "); - } - - while((optc = getopt(argc, argv, "B:cdDhH:io:p:uUvVW")) != EOF) - { - switch(optc) - { - case 'B': - switch(optarg[0]) - { - case 'n': - case 'N': - byteorder = WMC_BO_NATIVE; - break; - case 'l': - case 'L': - byteorder = WMC_BO_LITTLE; - break; - case 'b': - case 'B': - byteorder = WMC_BO_BIG; - break; - default: - fprintf(stderr, "Byteordering must be n[ative], l[ittle] or b[ig]\n"); - lose++; - } - break; - case 'c': - custombit = 1; - break; - case 'd': - decimal = 1; - break; - case 'D': - dodebug = 1; - break; - case 'h': - printf("%s", usage); - exit(0); - /* No return */ - case 'H': - header_name = xstrdup(optarg); - break; - case 'i': - rcinline = 1; - break; - case 'o': - output_name = xstrdup(optarg); - break; - case 'u': - unicodein = 1; - break; - case 'U': - unicodeout = 1; - break; - case 'v': - show_languages(); - show_codepages(); - exit(0); - /* No return */ - case 'V': - printf(version_string); - exit(0); - /* No return */ - case 'W': - pedantic = 1; - break; - default: - lose++; - break; - } - } - - if(lose) - { - fprintf(stderr, "%s", usage); - return 1; - } - - mcy_debug = dodebug; - if(dodebug) - { - setbuf(stdout, 0); - setbuf(stderr, 0); - } - - /* Check for input file on command-line */ - if(optind < argc) - { - input_name = argv[optind]; - } - - /* Generate appropriate outfile names */ - if(!output_name) - { - output_name = dup_basename(input_name, ".mc"); - strcat(output_name, ".rc"); - } - - if(!header_name) - { - header_name = dup_basename(input_name, ".mc"); - strcat(header_name, ".h"); - } - - get_rcbasedir(rcbasedir, output_name); - - if(input_name) - { - if(!(yyin = fopen(input_name, "rb"))) - error("Could not open %s for input\n", input_name); - } - else - yyin = stdin; - - ret = mcy_parse(); - - if(input_name) - fclose(yyin); - - if(ret) - { - /* Error during parse */ - exit(1); - } - - write_h_file(header_name); - write_rc_file(output_name); - if(!rcinline) - write_bin_files(rcbasedir); - output_name = NULL; - header_name = NULL; - return 0; -} - -static void segvhandler(int sig) -{ - fprintf(stderr, "\n%s:%d: Oops, segment violation\n", input_name, line_number); - fflush(stdout); - fflush(stderr); - abort(); -} diff --git a/reactos/tools/wmc/wmc.h b/reactos/tools/wmc/wmc.h deleted file mode 100644 index 86ccd6f17fb..00000000000 --- a/reactos/tools/wmc/wmc.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Main definitions and externals - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WMC_WMC_H -#define __WMC_WMC_H - -#include /* For time_t */ - -#include "wmctypes.h" - -/* - * The default codepage setting is only to - * read and convert input which is non-message - * text. It doesn't really matter that much because - * all codepages map 0x00-0x7f to 0x0000-0x007f from - * char to unicode and all non-message text should - * be plain ASCII. - * However, we do implement iso-8859-1 for 1-to-1 - * mapping for all other chars, so this is very close - * to what we really want. - */ -#define WMC_DEFAULT_CODEPAGE 28591 - -extern int pedantic; -extern int leave_case; -extern int byteorder; -extern int decimal; -extern int custombit; -extern int unicodein; -extern int unicodeout; -extern int rcinline; - -extern char *output_name; -extern char *input_name; -extern char *header_name; -extern char *cmdline; -extern time_t now; - -extern int line_number; -extern int char_number; - -int mcy_parse(void); -extern int mcy_debug; -extern int want_nl; -extern int want_line; -extern int want_file; -extern node_t *nodehead; -extern lan_blk_t *lanblockhead; - -int mcy_lex(void); -FILE *yyin; -void set_codepage(int cp); - -void add_token(tok_e type, const WCHAR *name, int tok, int cp, const WCHAR *alias, int fix); -token_t *lookup_token(const WCHAR *s); -void get_tokentable(token_t **tab, int *len); - -#endif diff --git a/reactos/tools/wmc/wmc.rbuild b/reactos/tools/wmc/wmc.rbuild deleted file mode 100644 index 9dd4eade4ec..00000000000 --- a/reactos/tools/wmc/wmc.rbuild +++ /dev/null @@ -1,11 +0,0 @@ - - - - unicode - lang.c - mcl.c - utils.c - wmc.c - write.c - mcy.tab.c - diff --git a/reactos/tools/wmc/wmctypes.h b/reactos/tools/wmc/wmctypes.h deleted file mode 100644 index 097a15ca4aa..00000000000 --- a/reactos/tools/wmc/wmctypes.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Main definitions and externals - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WMC_WMCTYPES_H -#define __WMC_WMCTYPES_H - -#include -#include -#include - -/* Byteordering defines */ -#define WMC_BO_NATIVE 0x00 -#define WMC_BO_LITTLE 0x01 -#define WMC_BO_BIG 0x02 - -#define WMC_LOBYTE(w) ((WORD)(w) & 0xff) -#define WMC_HIBYTE(w) (((WORD)(w) >> 8) & 0xff) -#define WMC_LOWORD(d) ((DWORD)(d) & 0xffff) -#define WMC_HIWORD(d) (((DWORD)(d) >> 16) & 0xffff) -#define BYTESWAP_WORD(w) ((WORD)(((WORD)WMC_LOBYTE(w) << 8) + (WORD)WMC_HIBYTE(w))) -#define BYTESWAP_DWORD(d) ((DWORD)(((DWORD)BYTESWAP_WORD(WMC_LOWORD(d)) << 16) + ((DWORD)BYTESWAP_WORD(WMC_HIWORD(d))))) - -/* - * Tokenizer types - */ -typedef enum tok_enum { - tok_null = 0, - tok_keyword, - tok_severity, - tok_facility, - tok_language -} tok_e; - -typedef struct token { - tok_e type; - const WCHAR *name; /* Parsed name of token */ - int token; /* Tokenvalue or language code */ - int codepage; - const WCHAR *alias; /* Alias or filename */ - int fixed; /* Cleared if token may change */ -} token_t; - -typedef struct lan_cp { - int language; - int codepage; -} lan_cp_t; - -typedef struct cp_xlat { - int lan; - int cpin; - int cpout; -} cp_xlat_t; - -typedef struct lanmsg { - int lan; /* Language code of message */ - int cp; /* Codepage of message */ - WCHAR *msg; /* Message text */ - int len; /* Message length including trailing '\0' */ -} lanmsg_t; - -typedef struct msg { - int id; /* Message ID */ - unsigned realid; /* Combined message ID */ - WCHAR *sym; /* Symbolic name */ - int sev; /* Severity code */ - int fac; /* Facility code */ - lanmsg_t **msgs; /* Array message texts */ - int nmsgs; /* Number of message texts in array */ - int base; /* Base of number to print */ - WCHAR *cast; /* Typecase to use */ -} msg_t; - -typedef enum { - nd_msg, - nd_comment -} node_e; - -typedef struct node { - struct node *next; - struct node *prev; - node_e type; - union { - void *all; - WCHAR *comment; - msg_t *msg; - } u; -} node_t; - -typedef struct block { - unsigned idlo; /* Lowest ID in this set */ - unsigned idhi; /* Highest ID in this set */ - int size; /* Size of this set */ - lanmsg_t **msgs; /* Array of messages in this set */ - int nmsg; /* Number of array entries */ -} block_t; - -typedef struct lan_blk { - struct lan_blk *next; /* Linkage for languages */ - struct lan_blk *prev; - int lan; /* The language of this block */ - block_t *blks; /* Array of blocks for this language */ - int nblk; /* Nr of blocks in array */ -} lan_blk_t; - -#endif diff --git a/reactos/tools/wmc/write.c b/reactos/tools/wmc/write.c deleted file mode 100644 index b5d7d4f708a..00000000000 --- a/reactos/tools/wmc/write.c +++ /dev/null @@ -1,617 +0,0 @@ -/* - * Wine Message Compiler output generation - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include - -#include "wmc.h" -#include "utils.h" -#include "lang.h" -#include "write.h" - -/* - * The binary resource layout is as follows: - * - * +===============+ - * Header | NBlocks | - * +===============+ - * Block 0 | Low ID | - * +---------------+ - * | High ID | - * +---------------+ - * | Offset |---+ - * +===============+ | - * Block 1 | Low ID | | - * +---------------+ | - * | High ID | | - * +---------------+ | - * | Offset |------+ - * +===============+ | | - * | | | | - * ... ... | | - * | | | | - * +===============+ <-+ | - * B0 LoID | Len | Flags | | - * +---+---+---+---+ | - * | b | l | a | b | | - * +---+---+---+---+ | - * | l | a | \0| \0| | - * +===============+ | - * | | | - * ... ... | - * | | | - * +===============+ | - * B0 HiID | Len | Flags | | - * +---+---+---+---+ | - * | M | o | r | e | | - * +---+---+---+---+ | - * | b | l | a | \0| | - * +===============+ <----+ - * B1 LoID | Len | Flags | - * +---+---+---+---+ - * | J | u | n | k | - * +---+---+---+---+ - * | \0| \0| \0| \0| - * +===============+ - * | | - * ... ... - * | | - * +===============+ - * - * All Fields are aligned on their natural boundaries. The length - * field (Len) covers both the length of the string and the header - * fields (Len and Flags). Strings are '\0' terminated. Flags is 0 - * for normal character strings and 1 for unicode strings. - */ - -static const char str_header[] = - "/* This file is generated with wmc version " PACKAGE_VERSION ". Do not edit! */\n" - "/* Source : %s */\n" - "/* Cmdline: %s */\n" - // "/* Date : %s */\n" - "\n" - ; - -static char *dup_u2c(int cp, const WCHAR *uc) -{ - int len; - char *cptr; - const union cptable *cpdef = find_codepage(cp); - if(!cpdef) - internal_error(__FILE__, __LINE__, "Codepage %d not found (vanished?)\n", cp); - len = wine_cp_wcstombs(cpdef, 0, uc, unistrlen(uc)+1, NULL, 0, NULL, NULL); - cptr = xmalloc(len); - if((len = wine_cp_wcstombs(cpdef, 0, uc, unistrlen(uc)+1, cptr, len, NULL, NULL)) < 0) - internal_error(__FILE__, __LINE__, "Buffer overflow? code %d\n", len); - return cptr; -} - -static void killnl(char *s, int ddd) -{ - char *tmp; - tmp = strstr(s, "\r\n"); - if(tmp) - { - if(ddd && tmp - s > 3) - { - tmp[0] = tmp[1] = tmp[2] = '.'; - tmp[3] = '\0'; - } - else - *tmp = '\0'; - } - tmp = strchr(s, '\n'); - if(tmp) - { - if(ddd && tmp - s > 3) - { - tmp[0] = tmp[1] = tmp[2] = '.'; - tmp[3] = '\0'; - } - else - *tmp = '\0'; - } -} - -static int killcomment(char *s) -{ - char *tmp = s; - int b = 0; - while((tmp = strstr(tmp, "/*"))) - { - tmp[1] = 'x'; - b++; - } - tmp = s; - while((tmp = strstr(tmp, "*/"))) - { - tmp[0] = 'x'; - b++; - } - return b; -} - -void write_h_file(const char *fname) -{ - node_t *ndp; - char *cptr; - char *cast; - FILE *fp; - token_t *ttab; - int ntab; - int i; - int once = 0; - int idx_en = 0; - - fp = fopen(fname, "w"); - if(!fp) - { - perror(fname); - exit(1); - } - cptr = ctime(&now); - killnl(cptr, 0); - fprintf(fp, str_header, input_name ? input_name : "", cmdline/*, cptr*/); - fprintf(fp, "#ifndef __WMCGENERATED_%08lx_H\n", (long)now); - fprintf(fp, "#define __WMCGENERATED_%08lx_H\n", (long)now); - fprintf(fp, "\n"); - - /* Write severity and facility aliases */ - get_tokentable(&ttab, &ntab); - fprintf(fp, "/* Severity codes */\n"); - for(i = 0; i < ntab; i++) - { - if(ttab[i].type == tok_severity && ttab[i].alias) - { - cptr = dup_u2c(WMC_DEFAULT_CODEPAGE, ttab[i].alias); - fprintf(fp, "#define %s\t0x%x\n", cptr, ttab[i].token); - free(cptr); - } - } - fprintf(fp, "\n"); - - fprintf(fp, "/* Facility codes */\n"); - for(i = 0; i < ntab; i++) - { - if(ttab[i].type == tok_facility && ttab[i].alias) - { - cptr = dup_u2c(WMC_DEFAULT_CODEPAGE, ttab[i].alias); - fprintf(fp, "#define %s\t0x%x\n", cptr, ttab[i].token); - free(cptr); - } - } - fprintf(fp, "\n"); - - /* Write the message codes */ - fprintf(fp, "/* Message definitions */\n"); - for(ndp = nodehead; ndp; ndp = ndp->next) - { - switch(ndp->type) - { - case nd_comment: - cptr = dup_u2c(WMC_DEFAULT_CODEPAGE, ndp->u.comment+1); - killnl(cptr, 0); - killcomment(cptr); - if(*cptr) - fprintf(fp, "/* %s */\n", cptr); - else - fprintf(fp, "\n"); - free(cptr); - break; - case nd_msg: - if(!once) - { - /* - * Search for an english text. - * If not found, then use the first in the list - */ - once++; - for(i = 0; i < ndp->u.msg->nmsgs; i++) - { - if(ndp->u.msg->msgs[i]->lan == 0x409) - { - idx_en = i; - break; - } - } - fprintf(fp, "\n"); - } - fprintf(fp, "/* MessageId : 0x%08x */\n", ndp->u.msg->realid); - cptr = dup_u2c(ndp->u.msg->msgs[idx_en]->cp, ndp->u.msg->msgs[idx_en]->msg); - killnl(cptr, 0); - killcomment(cptr); - fprintf(fp, "/* Approximate msg: %s */\n", cptr); - free(cptr); - cptr = dup_u2c(WMC_DEFAULT_CODEPAGE, ndp->u.msg->sym); - if(ndp->u.msg->cast) - cast = dup_u2c(WMC_DEFAULT_CODEPAGE, ndp->u.msg->cast); - else - cast = NULL; - switch(ndp->u.msg->base) - { - case 8: - if(cast) - fprintf(fp, "#define %s\t((%s)0%oL)\n\n", cptr, cast, ndp->u.msg->realid); - else - fprintf(fp, "#define %s\t0%oL\n\n", cptr, ndp->u.msg->realid); - break; - case 10: - if(cast) - fprintf(fp, "#define %s\t((%s)%dL)\n\n", cptr, cast, ndp->u.msg->realid); - else - fprintf(fp, "#define %s\t%dL\n\n", cptr, ndp->u.msg->realid); - break; - case 16: - if(cast) - fprintf(fp, "#define %s\t((%s)0x%08xL)\n\n", cptr, cast, ndp->u.msg->realid); - else - fprintf(fp, "#define %s\t0x%08xL\n\n", cptr, ndp->u.msg->realid); - break; - default: - internal_error(__FILE__, __LINE__, "Invalid base for number print\n"); - } - free(cptr); - free(cast); - break; - default: - internal_error(__FILE__, __LINE__, "Invalid node type %d\n", ndp->type); - } - } - fprintf(fp, "\n#endif\n"); - fclose(fp); -} - -static void write_rcbin(FILE *fp) -{ - lan_blk_t *lbp; - token_t *ttab; - int ntab; - int i; - - get_tokentable(&ttab, &ntab); - - for(lbp = lanblockhead; lbp; lbp = lbp->next) - { - char *cptr = NULL; - fprintf(fp, "LANGUAGE 0x%x, 0x%x\n", lbp->lan & 0x3ff, lbp->lan >> 10); - for(i = 0; i < ntab; i++) - { - if(ttab[i].type == tok_language && ttab[i].token == lbp->lan) - { - if(ttab[i].alias) - cptr = dup_u2c(WMC_DEFAULT_CODEPAGE, ttab[i].alias); - break; - } - } - if(!cptr) - internal_error(__FILE__, __LINE__, "Filename vanished for language 0x%0x\n", lbp->lan); - fprintf(fp, "1 MESSAGETABLE \"%s.bin\"\n", cptr); - free(cptr); - } -} - -static char *make_string(WCHAR *uc, int len, int codepage) -{ - char *str = xmalloc(7*len + 1); - char *cptr = str; - int i; - int b; - - if(!codepage) - { - *cptr++ = ' '; - *cptr++ = 'L'; - *cptr++ = '"'; - for(i = b = 0; i < len; i++, uc++) - { - switch(*uc) - { - case '\a': *cptr++ = '\\'; *cptr++ = 'a'; b += 2; break; - case '\b': *cptr++ = '\\'; *cptr++ = 'b'; b += 2; break; - case '\f': *cptr++ = '\\'; *cptr++ = 'f'; b += 2; break; - case '\n': *cptr++ = '\\'; *cptr++ = 'n'; b += 2; break; - case '\r': *cptr++ = '\\'; *cptr++ = 'r'; b += 2; break; - case '\t': *cptr++ = '\\'; *cptr++ = 't'; b += 2; break; - case '\v': *cptr++ = '\\'; *cptr++ = 'v'; b += 2; break; - case '\\': *cptr++ = '\\'; *cptr++ = '\\'; b += 2; break; - case '"': *cptr++ = '\\'; *cptr++ = '"'; b += 2; break; - default: - if (*uc < 0x100 && isprint(*uc)) - { - *cptr++ = *uc; - b++; - } - else - { - int n = sprintf(cptr, "\\x%04x", *uc & 0xffff); - cptr += n; - b += n; - } - break; - } - if(i < len-1 && b >= 72) - { - *cptr++ = '"'; - *cptr++ = ','; - *cptr++ = '\n'; - *cptr++ = ' '; - *cptr++ = 'L'; - *cptr++ = '"'; - b = 0; - } - } - if (unicodeout) - len = (len + 1) & ~1; - else - len = (len + 3) & ~3; - for(; i < len; i++) - { - *cptr++ = '\\'; - *cptr++ = 'x'; - *cptr++ = '0'; - *cptr++ = '0'; - *cptr++ = '0'; - *cptr++ = '0'; - } - *cptr++ = '"'; - *cptr = '\0'; - } - else - { - char *tmp, *cc; - int mlen; - const union cptable *cpdef = find_codepage(codepage); - - assert(cpdef != NULL); - mlen = wine_cp_wcstombs(cpdef, 0, uc, unistrlen(uc)+1, NULL, 0, NULL, NULL); - cc = tmp = xmalloc(mlen); - if((i = wine_cp_wcstombs(cpdef, 0, uc, unistrlen(uc)+1, tmp, mlen, NULL, NULL)) < 0) - internal_error(__FILE__, __LINE__, "Buffer overflow? code %d\n", i); - *cptr++ = ' '; - *cptr++ = '"'; - for(i = b = 0; i < len; i++, cc++) - { - switch(*cc) - { - case '\a': *cptr++ = '\\'; *cptr++ = 'a'; b += 2; break; - case '\b': *cptr++ = '\\'; *cptr++ = 'b'; b += 2; break; - case '\f': *cptr++ = '\\'; *cptr++ = 'f'; b += 2; break; - case '\n': *cptr++ = '\\'; *cptr++ = 'n'; b += 2; break; - case '\r': *cptr++ = '\\'; *cptr++ = 'r'; b += 2; break; - case '\t': *cptr++ = '\\'; *cptr++ = 't'; b += 2; break; - case '\v': *cptr++ = '\\'; *cptr++ = 'v'; b += 2; break; - case '\\': *cptr++ = '\\'; *cptr++ = '\\'; b += 2; break; - case '"': *cptr++ = '\\'; *cptr++ = '"'; b += 2; break; - default: - if(isprint(*cc)) - { - *cptr++ = *cc; - b++; - } - else - { - int n = sprintf(cptr, "\\x%02x", *cc & 0xff); - cptr += n; - b += n; - } - break; - } - if(i < len-1 && b >= 72) - { - *cptr++ = '"'; - *cptr++ = ','; - *cptr++ = '\n'; - *cptr++ = ' '; - *cptr++ = '"'; - b = 0; - } - } - len = (len + 3) & ~3; - for(; i < len; i++) - { - *cptr++ = '\\'; - *cptr++ = 'x'; - *cptr++ = '0'; - *cptr++ = '0'; - } - *cptr++ = '"'; - *cptr = '\0'; - free(tmp); - } - return str; -} - -static void write_rcinline(FILE *fp) -{ - lan_blk_t *lbp; - int i; - int j; - - for(lbp = lanblockhead; lbp; lbp = lbp->next) - { - unsigned offs = 4 * (lbp->nblk * 3 + 1); - fprintf(fp, "\n1 MESSAGETABLE\n"); - fprintf(fp, "LANGUAGE 0x%x, 0x%x\n", lbp->lan & 0x3ff, lbp->lan >> 10); - fprintf(fp, "{\n"); - fprintf(fp, " /* NBlocks */ 0x%08xL,\n", lbp->nblk); - for(i = 0; i < lbp->nblk; i++) - { - fprintf(fp, " /* Lo,Hi,Offs */ 0x%08xL, 0x%08xL, 0x%08xL,\n", - lbp->blks[i].idlo, - lbp->blks[i].idhi, - offs); - offs += lbp->blks[i].size; - } - for(i = 0; i < lbp->nblk; i++) - { - block_t *blk = &lbp->blks[i]; - for(j = 0; j < blk->nmsg; j++) - { - char *cptr; - int l = blk->msgs[j]->len; - const char *comma = j == blk->nmsg-1 && i == lbp->nblk-1 ? "" : ","; - cptr = make_string(blk->msgs[j]->msg, l, unicodeout ? 0 : blk->msgs[j]->cp); - fprintf(fp, "\n /* Msg 0x%08x */ 0x%04x, 0x000%c,\n", - blk->idlo + j, - (unicodeout ? (l*2+3)&~3 : (l+3)&~3) + 4, - unicodeout ? '1' : '0'); - fprintf(fp, "%s%s\n", cptr, comma); - free(cptr); - } - } - fprintf(fp, "}\n"); - } -} - -void write_rc_file(const char *fname) -{ - FILE *fp; - char *cptr; - - fp = fopen(fname, "w"); - if(!fp) - { - perror(fname); - exit(1); - } - cptr = ctime(&now); - killnl(cptr, 0); - fprintf(fp, str_header, input_name ? input_name : "", cmdline/*, cptr*/); - - if(rcinline) - write_rcinline(fp); - else - write_rcbin(fp); - fclose(fp); -} - -static void write_bin_file(const char *fname, lan_blk_t *lbp) -{ - FILE *fp; - unsigned int offs; - unsigned short buf; - int i, j, k; - - fp = fopen(fname, "wb"); - - fwrite(&lbp->nblk, sizeof(int), 1, fp); - - offs = 4 * (lbp->nblk * 3 + 1); - for(i = 0; i < lbp->nblk; i++) - { - fwrite(&lbp->blks[i].idlo, sizeof(unsigned), 2, fp); - fwrite(&offs, sizeof(int), 1, fp); - - offs += lbp->blks[i].size; - } - - for(i = 0; i < lbp->nblk; i++) - { - block_t *blk = &lbp->blks[i]; - for(j = 0; j < blk->nmsg; j++) - { - char *cptr; - int len = blk->msgs[j]->len; - short aligned_size = (unicodeout ? (len*2+3)&~3 : (len+3)&~3) + 4; - - fwrite(&aligned_size, sizeof(short), 1, fp); - - buf = unicodeout ? 1 : 0; - fwrite(&buf, sizeof(buf), 1, fp); - - // no need to count these 4 bytes when calculating alignment - aligned_size -= 4; - - if (unicodeout) - { - fwrite(blk->msgs[j]->msg, sizeof(WCHAR), len, fp); - - // fill with nulls so it matches aligned_len - for (k=0; k<(aligned_size-(len*sizeof(WCHAR))); k++) - fputc(0, fp); - } - else - { - WCHAR *uc; - char *tmp; - int mlen, len; - const union cptable *cpdef = find_codepage(blk->msgs[j]->cp); - uc = blk->msgs[j]->msg; - - assert(cpdef != NULL); - mlen = wine_cp_wcstombs(cpdef, 0, uc, unistrlen(uc)+1, NULL, 0, NULL, NULL); - tmp = xmalloc(mlen); - if((i = wine_cp_wcstombs(cpdef, 0, uc, unistrlen(uc)+1, tmp, mlen, NULL, NULL)) < 0) - internal_error(__FILE__, __LINE__, "Buffer overflow? code %d\n", i); - - len = strlen(tmp); - fwrite(tmp, sizeof(char), len, fp); - - // fill with nulls so it matches aligned_len - for (k=0; k<(aligned_size-len); k++) - fputc(0, fp); - - free(tmp); - } - - free(cptr); - } - } - - fclose(fp); -} - -void write_bin_files(const char *basedir) -{ - lan_blk_t *lbp; - token_t *ttab; - char fname[256]; - int ntab; - int i; - - get_tokentable(&ttab, &ntab); - - for(lbp = lanblockhead; lbp; lbp = lbp->next) - { - char *cptr = NULL; - for(i = 0; i < ntab; i++) - { - if(ttab[i].type == tok_language && ttab[i].token == lbp->lan) - { - if(ttab[i].alias) - cptr = dup_u2c(WMC_DEFAULT_CODEPAGE, ttab[i].alias); - break; - } - } - if(!cptr) - internal_error(__FILE__, __LINE__, "Filename vanished for language 0x%0x\n", lbp->lan); - - sprintf(fname, "%s%s.bin", basedir, cptr); - write_bin_file(fname, lbp); - - free(cptr); - } -} diff --git a/reactos/tools/wmc/write.h b/reactos/tools/wmc/write.h deleted file mode 100644 index d53267e02f4..00000000000 --- a/reactos/tools/wmc/write.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Wine Message Compiler outpur generation - * - * Copyright 2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ -#ifndef __WMC_WRITE_H -#define __WMC_WRITE_H - -void write_h_file(const char *fname); -void write_rc_file(const char *fname); -void write_bin_files(const char *basedir); - -#endif diff --git a/reactos/tools/wpp/wpp.rbuild b/reactos/tools/wpp/wpp.rbuild deleted file mode 100644 index 360aae86b7b..00000000000 --- a/reactos/tools/wpp/wpp.rbuild +++ /dev/null @@ -1,8 +0,0 @@ - - - - lex.yy.c - preproc.c - wpp.c - ppy.tab.c - diff --git a/reactos/tools/wrc/CHANGES b/reactos/tools/wrc/CHANGES deleted file mode 100644 index 766ecdab691..00000000000 --- a/reactos/tools/wrc/CHANGES +++ /dev/null @@ -1,336 +0,0 @@ ---------------------------------------------------------------------------- -Version 1.1.9 (31-Dec-2000) - -Ulrich Weigand -- Fixed a byteorder conversion problem with message tables. -- Carefully read and write (possibly) misaligned data elements - to avoid crashes on architectures where this is not allowed. - ---------------------------------------------------------------------------- -Version 1.1.8 (24-Aug-2000) - -Bertho Stultiens -- Fixed a LALR(2) problem while scanning usertype resources which - had identifiers for both name and type. - ---------------------------------------------------------------------------- -Version 1.1.7 (24-Jul-2000) - -Bertho Stultiens -- Implemented a bug-work-arround for Berkeley yacc (byacc) which - does not generate proper default transition rules for non-terminals. - See comments in parser.y how the fix works. -- Changed the error-line/char position to make emacs happy parsing - the position of the error. -- Added comments in the documentation in which order the line-numer - and character-position of the error is written. - ---------------------------------------------------------------------------- -Version 1.1.6 (05-Jun-2000) - -Bertho Stultiens -- Bugfix: Macro expansion of strings would assert an internal error - or a segfault due to a lacking '\0' in the expansion. -- Bugfix: Prevent buffer overflow in reallocation of macro expansion - buffers. -- Bugfix: Wrc's version information was not passed as numerical to the - preprocessor due to an error in the definition of the macro. -- Relaxed the newline constraint in global LANGUAGE statements, which - was introduced in version 1.1.3, so that some fancy preprocessor - constructs can work. -- Removed the gcc-style #line handling from the resource-parser to the - resource-scanner so that it is possible to include files at any stage - of the source, independent of the parser-state. -- Bugfix: Stringtables were not correctly searched for duplicates - because the language comparison disregarded the sublanguage. -- Eliminated a repetitive warning when writing stringtables with zero - length string entries. These are perfectly valid (but make no sense:-). - Warning are now only generated during parse in pedantic mode. - ---------------------------------------------------------------------------- -Version 1.1.5 (12-Jun-2000) - -Bertho Stultiens -- Bugfix: Corrected "off by one" error in the linenumber while parsing - resource. -- Bugfix: A segfault would occur if messagetables were parsed without - memory options attached. Also added buffer-overflow safeguard while - converting between byteorders. -- Finished remapping usertype resources onto standars types by tricking - the parser into accepting a different token. The remapping can be - disabled with a new commandline option '-m'. -- Resolved some warning about chars used as index on SGI O2 machine - (the ctype isXXX() routines are macros there). - ---------------------------------------------------------------------------- -Version 1.1.4 (07-Jun-2000) - -Bertho Stultiens -- Implemented MESSAGETABLE resource type. -- Usertype resources that cause a type-clash with defined resources - are now detected and a warning is generated. Some types should be - rerouted through other code so that they will be (re-)interpreted. -- Bugfix: Line-continuation in strings in resources include a newline. - This `feature' got deleted with the builtin preprocessor, but has been - put back into place (see last changes comment from version 1.1.0). -- Bugfix: The preprocessor now correctly will see "\\\r\n" as a line- - continuation. -- Bugfix: Assemblers on some platforms do not use 16bit quantities - for `.word'. This directive is now changed into `.short'. -- All types that accept inline data definitions (a la RCDATA) now - also accept a file specification. This unifies the structure a bit. - ---------------------------------------------------------------------------- -Version 1.1.3 (21-May-2000) - -Bertho Stultiens -- Implemented animated cursors and icons resource types. -- Added partial support for font resources (user supplied fontdir is - required). -- All resources with inline data (a la RCDATA) now support language, - version and characteristics data. -- Implemented resource name duplicate checks. It is now an error if - two resources of the same type have the same name. -- Bugfix: Language propagation was not correct when .res files were - generated. -- Bugfix: VERSIONINFO now handles memory options. -- Bugfix: resource names and the resource type may be equal (e.g. MENU - MENU {...}). This support was mistakingly deleted in the upgrade to - the builtin preprocessor. - The standalone LANGUAGE setting became context sensitive as a consequence - of this. Now it *must* end with a newline *after* both expressions and - no newlines are allowed within the line (the statement must fit on one - line). This is no practical problem though. - -Patrik Stridvall -- Fixed byte order on Solaris and FreeBSD. - ---------------------------------------------------------------------------- -Version 1.1.2 (08-May-2000) - -Bertho Stultiens -- Bugfix: Corrected a SEGV in the rawdata handling. Mistakingly took the - address of a pointer instead of its value. This probably slipped in - during the merge of my tree into the winetree. - Lesson learned: always double check. -- Verified most resources so that win16 compile also generates correct - output for reversed endian. - ---------------------------------------------------------------------------- -Version 1.1.1 (07-May-2000) - -Bertho Stultiens -- Implemented byte-ordering for resources. All resources can be forced - to be little-, big- or native endian with command-line option -B. -- Reading resources from .res-files are only accepted in native byte- - ordering so that no additional semantic analysis is required. -- Resource directory is still written in native-only format, including - the strings. -- Wrc is now installed through the makefile with 'make install' and also - uninstalled with 'make uninstall'. -- Wrote a man-page for better reference. The manpage also gets installed - and uninstalled. -- Cleaned up the namespace a bit by more agressive use of static. - ---------------------------------------------------------------------------- -Version 1.1.0 (01-May-2000) - -Bertho Stultiens -- Implemented a new preprocessor that is (nearly) ANSI-C compliant. The - old parser has been stripped from the old preprocessor-code which - cleaned up both resource-scanner and -parser. -- Standard defines have been introduced (see README.wrc) -- Both preprocessor- and resource-scanner have been optimized slightly - so that no backing up is required (one char lookahead is enough). -- Filename-scanning has been cleaned up, though not perfect yet. -- User-type resources are compatible now. -- Line-continuation in strings is corrected so that it does not - introduce a newline in the output. - ---------------------------------------------------------------------------- -Version 1.0.18 (28-Dec-1999) - -Bertho Stultiens -- Bugfix: The named resources were not named correctly for indirectly - addressable resources, which resulted in an undefined variable. The - previous fix was incomplete (I was probably sleeping while I made it). - ---------------------------------------------------------------------------- -Version 1.0.17 (20-Dec-1999) - -Bertho Stultiens -- Bugfix: Named resources of different types generated the same assembly- - label twice, resulting in a compile failure. - ---------------------------------------------------------------------------- -Version 1.0.16 (6-Nov-1999) - -Juergen.Schmied@debitel.net -- Bugfix: Styles were evaluated as expressions. The NOT in combination - with style flags was not overwriting the default styles like WS_VISIBLE. - Solved by introducing own rules for parsing styles. - ---------------------------------------------------------------------------- -Version 1.0.15 (13-Aug-1999) - -Bertho Stultiens -- Bugfix: IDs were not checked which resulted in numbers > 2^16-1 being - accepted as IDs. This resulted in duplicate IDs and all other sort of - trouble. - ---------------------------------------------------------------------------- -Version 1.0.14 (08-Aug-1999) - -Bertho Stultiens -- Deeply ashamed that I thought that flex had a bug. Of course my own fault - not recognizing unmatched text in start condition yyrcd and pp_strip[ps]. - There is a catch all rule now in the flexer with a warning to mark the - condition and promptly revealed errors in the wine-headers. - ---------------------------------------------------------------------------- -Version 1.0.13 (08-Aug-1999) - -Bertho Stultiens -- Fixed uppercase conversion of titles in dialog controls which was - introduced with the icon changes. -- Fixed strings longer than 1024 bytes/shorts by autosizing the array. A - warning is issued whenever more than 64k is allocated. -- Made a workarround for a flex bug where an ECHO put '\\' and '\n' - characters on the screen. - ---------------------------------------------------------------------------- -Version 1.0.12 (18-Jul-1999) - -Bertho Stultiens -- Generalized the distinction between 2 and 4 byte integers slightly through - a new parser state. The is now a warning when a 2 byte integer is larger - than 16 bit (and is truncated). -- Fixed a couple of cosmetic things in the DLGINIT stuff so that dumping of - this type will work as expected. -- Added generalized language/version/characteristics support to the DLGINIT - resource type. - -Ulrich Czekalla -- Added support for DLGINIT resource-type. -- Added string continuation and embedded quoting. -- Added numeric IDs for icons in controls. - -Eric Pouech -- Bugfix: Distinguish between 2 and 4 byte integers in RCDATA. - ---------------------------------------------------------------------------- -Version 1.0.11 (22-Apr-1999) - -Bertho Stultiens -- Fixed a counting bug in the win32 count and sort routine. -- Fixed sort order of resources (must be name before ordinal). -- Shuffled a couple of global variables so that built-in dlls now can - load resources through the proper PE interface. - ---------------------------------------------------------------------------- -Version 1.0.10 (18-Feb-1999) - -Alexandre Julliard -- Fixed the TIME_LONG ugliness. - -David Luyer -- Added string.h include in newstruc.c for compilation on 64bit platforms. -- Added TIME_LONG to support time_t==int in printf formats on alpha - platforms. - -Bertho Stultiens -- Added some more use of TIME_LONG in implicit format used in header-file - generation. -- Removed the windows.h include and replaced it with wintypes.h in - wrctypes.h and added winuser.h in two other sources. This cuts compilation - time by a factor of 2 and final executable size with debug by a factor 2.5. - ---------------------------------------------------------------------------- -Version 1.0.9 (01-Feb-1999) - -Albert den Haan : -- Fixed wrong order of res_ico and res_bmp which must be in RT_xxx order. - ---------------------------------------------------------------------------- -Version 1.0.8 (10-Jan-1999) - -Albert den Haan : -- Added TOOLBAR support. -- Buffer overflow fix in strncpyWtoA. -- Open embedded files in resource definitions through the include path from - the commandline. -- Support named icons in dialogs with unquoted names - -Bertho Stultiens -- Fixed a major bug in the language propagation in the parser. The parser - did not copy the current language while binding it to a resource structure - causing wrong sorting if multiple global languages were in use and was a - potential segfault because the pointer might not be valid. -- Added language/version/characteristics support for toolbar. -- Moved some defines from wrc.h to wrctypes.h to support in toolbars. -- Removed function stricmp from source and replaced with native function - strcasecmp. -- Allocate cursor and icon ordinals according to the language of the item to - decrease the amount of ordinals in use. This reduces the resource - directory size by reducing the tree size. -- Versions 1.0.5 through 1.0.7 were never committed to cvs but were available - for download from an alternate site for elf-dll test generation. - ---------------------------------------------------------------------------- -Version 1.0.7 (19-Dec-1998) -- Changed a couple of labels that are used by dllglue. Also reversed a patch - that made wrc's generated code dependent on dllglue's code. - ---------------------------------------------------------------------------- -Version 1.0.6 (12-Dec-1998) -- Fixed the _PEResTab table where incorrect RVA's were put in the table. - The dllglue should now be merged into wrc for correct labels and the least - number of loadtime fixups. - ---------------------------------------------------------------------------- -Version 1.0.5 (12-Dec-1998) -- Fixed an omited .globl statement for dllglue linking. - ---------------------------------------------------------------------------- -Version 1.0.4 (10-Dec-1998) -- Added a global label for elf-dll linking and a long with the resource - size and a long with the directory size. -- Killed an annoying warning since version 1.0.0 in parser.y about a - var being used before init. - ---------------------------------------------------------------------------- -Version 1.0.3 (02-Nov-1998) -- Bugfix in write_name_str() [writeres.c] where the length byte/word was - wrongly counted in the length of the string. - Thanks to Ulrich Weigand - ---------------------------------------------------------------------------- -Version 1.0.2 (20-Jun-1998) -- Started this file -- Fixed a bug in filename scanning when they are double quoted. The code now - is compatible with MS' rc and Borland's brc. There is a compromise in the - filenames because of case-sensitivity under *nix. -- Backslashes in a filepath are now converted to forward slashes and double -- Fixed a bug in printing the filename if loading of a file should fail. - backslashes are converted to single forward slash. -- Added -L option to prevent conversion to lower case for embedded filenames - in resource statements. -- Added language posibilities to icons and cursors so that the current - language is put into the .res ans .s file. -- Added character position indication of an error. -- Fixed CLASS statement so that it accepts double quoted strings as class - argument. This seems to be the correct behaviour (see SDK). The unquoted - class-name is still supported because it seems a reasonable option. -- Fixed accelerators with CONTROL option set so that they generate correct - code instead of generating an error. -- Added testing for flex version 2.5 or better because wrc needs the - yy_scan* functions to do preprocessing. - ---------------------------------------------------------------------------- -Version 1.0.1 (08-Jun-1998) -- Added -A commandline option to generate autoregister code for the winelib - programs. - ---------------------------------------------------------------------------- -Version 1.0.0 (28-May-1998) -- Initial release diff --git a/reactos/tools/wrc/CMakeLists.txt b/reactos/tools/wrc/CMakeLists.txt deleted file mode 100644 index 1cc368dc4bd..00000000000 --- a/reactos/tools/wrc/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ - -list(APPEND SOURCE - dumpres.c - genres.c - newstruc.c - po.c - readres.c - translation.c - utils.c - wrc.c - writeres.c - parser.tab.c - lex.yy.c - port/mkstemps.c) - -add_executable(wrc ${SOURCE}) - -target_link_libraries(wrc wpp unicode) diff --git a/reactos/tools/wrc/dumpres.c b/reactos/tools/wrc/dumpres.c deleted file mode 100644 index f2efe30d658..00000000000 --- a/reactos/tools/wrc/dumpres.c +++ /dev/null @@ -1,924 +0,0 @@ -/* - * Copyright 1998 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" - -#include -#include -#include - -#include "wrc.h" -#include "dumpres.h" - -/* - ***************************************************************************** - * Function : get_typename - * Syntax : char *get_typename(resource_t* r) - * Input : - * r - Resource description - * Output : A pointer to a string representing the resource type - * Description : - * Remarks : - ***************************************************************************** -*/ -const char *get_typename(const resource_t* r) -{ - switch(r->type){ - case res_acc: return "ACCELERATOR"; - case res_bmp: return "BITMAP"; - case res_cur: return "CURSOR"; - case res_curg: return "GROUP_CURSOR"; - case res_dlg: return "DIALOG"; - case res_fnt: return "FONT"; - case res_ico: return "ICON"; - case res_icog: return "GROUP_ICON"; - case res_men: return "MENU"; - case res_rdt: return "RCDATA"; - case res_stt: return "STRINGTABLE"; - case res_usr: return "UserResource"; - case res_msg: return "MESSAGETABLE"; - case res_ver: return "VERSIONINFO"; - case res_dlginit: return "DLGINIT"; - case res_toolbar: return "TOOLBAR"; - case res_anicur: return "CURSOR (animated)"; - case res_aniico: return "ICON (animated)"; - default: return "Unknown"; - } -} - -/* - ***************************************************************************** - * Function : strncpyWtoA - * Syntax : char *strncpyWtoA(char *cs, short *ws, int maxlen) - * Input : - * cs - Pointer to buffer to receive result - * ws - Source wide-string - * maxlen - Max chars to copy - * Output : 'cs' - * Description : Copy a unicode string to ascii. Copying stops after the - * first occurring '\0' or when maxlen-1 chars are copied. The - * String is always nul terminated. - * Remarks : No codepage translation is done. - ***************************************************************************** -*/ -static char *strncpyWtoA(char *cs, const WCHAR *ws, int maxlen) -{ - char *cptr = cs; - const WCHAR *wsMax = ws + maxlen - 1; - while(*ws && ws < wsMax) - { - if(*ws > 255) - fprintf(stderr, "***Warning: Unicode string contains non-printable chars***\n"); - *cptr++ = (char)*ws++; - } - *cptr = '\0'; - return cs; -} - -/* - ***************************************************************************** - * Function : print_string - * Syntax : void print_string(string_t *str) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void print_string(const string_t *str) -{ - char buffer[512]; - if(!str) - printf(""); - else if(str->type == str_char) - printf("\"%s\"", str->str.cstr); - else - { - strncpyWtoA(buffer, str->str.wstr, sizeof(buffer)); - printf("L\"%s\"", buffer); - } -} - -/* - ***************************************************************************** - * Function : get_nameid_str - * Syntax : const char *get_nameid_str(const name_id_t *n) - * Input : - * n - nameid to convert to text - * Output : A pointer to the name. - * Description : - * Remarks : Not reentrant because of static buffer - ***************************************************************************** -*/ -const char *get_nameid_str(const name_id_t *n) -{ - static char buffer[256]; - - if(!n) - return ""; - - if(n->type == name_ord) - { - sprintf(buffer, "%d", n->name.i_name); - return buffer; - } - else if(n->type == name_str) - { - if(n->name.s_name->type == str_char) - return n->name.s_name->str.cstr; - else - { - strncpyWtoA(buffer, n->name.s_name->str.wstr, sizeof(buffer)); - return buffer; - } - } - else - return "Hoooo, report this: wrong type in nameid"; -} - -/* - ***************************************************************************** - * Function : dump_memopt - * Syntax : void dump_memopt(DWORD memopt) - * Input : - * memopt - flag bits of the options set - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_memopt(DWORD memopt) -{ - printf("Memory/load options: "); - if(memopt & 0x0040) - printf("PRELOAD "); - else - printf("LOADONCALL "); - if(memopt & 0x0010) - printf("MOVEABLE "); - else - printf("FIXED "); - if(memopt & 0x0020) - printf("PURE "); - else - printf("IMPURE "); - if(memopt & 0x1000) - printf("DISCARDABLE"); - printf("\n"); -} - -/* - ***************************************************************************** - * Function : dump_lvc - * Syntax : void dump_lvc(const lvc_t *l) - * Input : - * l - pointer to lvc structure - * Output : - * Description : Dump language, version and characteristics - * Remarks : - ***************************************************************************** -*/ -static void dump_lvc(const lvc_t *l) -{ - if(l->language) - printf("LANGUAGE %04x, %04x\n", l->language->id, l->language->sub); - else - printf("LANGUAGE \n"); - - if(l->version) - printf("VERSION %08x\n", *(l->version)); - else - printf("VERSION \n"); - - if(l->characts) - printf("CHARACTERISTICS %08x\n", *(l->characts)); - else - printf("CHARACTERISTICS \n"); -} - -/* - ***************************************************************************** - * Function : dump_raw_data - * Syntax : void dump_raw_data(const raw_data_t *d) - * Input : - * d - Raw data descriptor - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_raw_data(const raw_data_t *d) -{ - unsigned int n; - int i; - int j; - - if(!d) - { - printf(""); - return; - } - printf("Rawdata size: %d\n", d->size); - if(debuglevel < 2) - return; - - for(n = 0; n < d->size; n++) - { - if((n % 16) == 0) - { - if(n) - { - printf("- "); - for(i = 0; i < 16; i++) - printf("%c", isprint(d->data[n-16+i] & 0xff) ? d->data[n-16+i] : '.'); - printf("\n%08x: ", n); - } - else - printf("%08x: ", n); - } - printf("%02x ", d->data[n] & 0xff); - } - printf("- "); - j = d->size % 16; - if(!j) - j = 16; - for(i = 0; i < j; i++) - printf("%c", isprint(d->data[n-j+i] & 0xff) ? d->data[n-j+i] : '.'); - printf("\n"); -} - -/* - ***************************************************************************** - * Function : dump_accelerator - * Syntax : void dump_accelerator(const accelerator_t *acc) - * Input : - * acc - Accelerator resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_accelerator(const accelerator_t *acc) -{ - event_t *ev = acc->events; - - dump_memopt(acc->memopt); - dump_lvc(&(acc->lvc)); - - printf("Events: %s\n", ev ? "" : ""); - while(ev) - { - printf("Key="); - if(isprint(ev->key)) - printf("\"%c\"", ev->key); - else if(iscntrl(ev->key)) - printf("\"^%c\"", ev->key +'@'); - else - printf("\\x%02x", ev->key & 0xff); - - printf(" Id=%d flags=%04x\n", ev->id, ev->flags); - ev = ev->next; - } -} - -/* - ***************************************************************************** - * Function : dump_cursor - * Syntax : void dump_cursor(const cursor_t *cur) - * Input : - * cur - Cursor resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_cursor(const cursor_t *cur) -{ - printf("Id: %d\n", cur->id); - printf("Width: %d\n", cur->width); - printf("Height: %d\n", cur->height); - printf("X Hotspot: %d\n", cur->xhot); - printf("Y Hotspot: %d\n", cur->yhot); - dump_raw_data(cur->data); -} - -/* - ***************************************************************************** - * Function : dump_cursor_group - * Syntax : void dump_cursor_group(const cursor_group_t *cur) - * Input : - * cur - Cursor group resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_cursor_group(const cursor_group_t *curg) -{ - dump_memopt(curg->memopt); - printf("There are %d cursors in this group\n", curg->ncursor); -} - -/* - ***************************************************************************** - * Function : dump_icon - * Syntax : void dump_icon(const icon_t *ico) - * Input : - * ico - Icon resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_icon(const icon_t *ico) -{ - printf("Id: %d\n", ico->id); - printf("Width: %d\n", ico->width); - printf("Height: %d\n", ico->height); - printf("NColor: %d\n", ico->nclr); - printf("NPlanes: %d\n", ico->planes); - printf("NBits: %d\n", ico->bits); - dump_raw_data(ico->data); -} - -/* - ***************************************************************************** - * Function : dump_icon_group - * Syntax : void dump_icon_group(const icon_group_t *ico) - * Input : - * ico - Icon group resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_icon_group(const icon_group_t *icog) -{ - dump_memopt(icog->memopt); - printf("There are %d icons in this group\n", icog->nicon); -} - -/* - ***************************************************************************** - * Function : dump_ani_curico - * Syntax : void dump_ani_curico(const ani_curico_t *ani) - * Input : - * ani - Animated object resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_ani_curico(const ani_curico_t *ani) -{ - dump_memopt(ani->memopt); - dump_lvc(&ani->data->lvc); - dump_raw_data(ani->data); -} - -/* - ***************************************************************************** - * Function : dump_font - * Syntax : void dump_font(const font_t *fnt) - * Input : - * fnt - Font resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_font(const font_t *fnt) -{ - dump_memopt(fnt->memopt); - dump_lvc(&(fnt->data->lvc)); - dump_raw_data(fnt->data); -} - -/* - ***************************************************************************** - * Function : dump_bitmap - * Syntax : void dump_bitmap(const bitmap_t *bmp) - * Input : - * bmp - Bitmap resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_bitmap(const bitmap_t *bmp) -{ - dump_memopt(bmp->memopt); - dump_lvc(&(bmp->data->lvc)); - dump_raw_data(bmp->data); -} - -/* - ***************************************************************************** - * Function : dump_rcdata - * Syntax : void dump_rcdata(const rcdata_t *rdt) - * Input : - * rdt - RCData resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_rcdata(const rcdata_t *rdt) -{ - dump_memopt(rdt->memopt); - dump_lvc(&(rdt->data->lvc)); - dump_raw_data(rdt->data); -} - -/* - ***************************************************************************** - * Function : dump_user - * Syntax : void dump_user(const user_t *usr) - * Input : - * usr - User resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_user(const user_t *usr) -{ - dump_memopt(usr->memopt); - dump_lvc(&(usr->data->lvc)); - printf("Class %s\n", get_nameid_str(usr->type)); - dump_raw_data(usr->data); -} - -/* - ***************************************************************************** - * Function : dump_messagetable - * Syntax : void dump_messagetable(const messagetable_t *msg) - * Input : - * msg - Messagetable resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_messagetable(const messagetable_t *msg) -{ - dump_memopt(msg->memopt); - dump_lvc(&(msg->data->lvc)); - dump_raw_data(msg->data); -} - -/* - ***************************************************************************** - * Function : dump_stringtable - * Syntax : void dump_stringtable(const stringtable_t *stt) - * Input : - * stt - Stringtable resource descriptor - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_stringtable(const stringtable_t *stt) -{ - int i; - for(; stt; stt = stt->next) - { - printf("{\n"); - dump_memopt(stt->memopt); - dump_lvc(&(stt->lvc)); - for(i = 0; i < stt->nentries; i++) - { - printf("Id=%-5d (%d) ", stt->idbase+i, stt->entries[i].id); - if(stt->entries[i].str) - print_string(stt->entries[i].str); - else - printf(""); - printf("\n"); - } - printf("}\n"); - } -} - -/* - ***************************************************************************** - * Function : dump_control - * Syntax : void dump_control(const control_t *ctrl) - * Input : - * ctrl - Control resource descriptor - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_control(const control_t *ctrl) -{ - printf("Control {\n\tClass: %s\n", get_nameid_str(ctrl->ctlclass)); - printf("\tText: "); get_nameid_str(ctrl->title); printf("\n"); - printf("\tId: %d\n", ctrl->id); - printf("\tx, y, w, h: %d, %d, %d, %d\n", ctrl->x, ctrl->y, ctrl->width, ctrl->height); - if(ctrl->gotstyle) - { - assert(ctrl->style != NULL); - assert(ctrl->style->and_mask == 0); - printf("\tStyle: %08x\n", ctrl->style->or_mask); - } - if(ctrl->gotexstyle) - { - assert(ctrl->exstyle != NULL); - assert(ctrl->exstyle->and_mask == 0); - printf("\tExStyle: %08x\n", ctrl->exstyle->or_mask); - } - if(ctrl->gothelpid) - printf("\tHelpid: %d\n", ctrl->helpid); - if(ctrl->extra) - { - printf("\t"); - dump_raw_data(ctrl->extra); - } - printf("}\n"); -} - -/* - ***************************************************************************** - * Function : dump_dialog - * Syntax : void dump_dialog(const dialog_t *dlg) - * Input : - * dlg - Dialog resource descriptor - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_dialog(const dialog_t *dlg) -{ - control_t *c = dlg->controls; - - dump_memopt(dlg->memopt); - dump_lvc(&(dlg->lvc)); - printf("x, y, w, h: %d, %d, %d, %d\n", dlg->x, dlg->y, dlg->width, dlg->height); - if(dlg->gotstyle) - { - assert(dlg->style != NULL); - assert(dlg->style->and_mask == 0); - printf("Style: %08x\n", dlg->style->or_mask); - - } - if(dlg->gotexstyle) - { - assert(dlg->exstyle != NULL); - assert(dlg->exstyle->and_mask == 0); - printf("ExStyle: %08x\n", dlg->exstyle->or_mask); - } - printf("Menu: %s\n", get_nameid_str(dlg->menu)); - printf("Class: %s\n", get_nameid_str(dlg->dlgclass)); - printf("Title: "); print_string(dlg->title); printf("\n"); - printf("Font: "); - if(!dlg->font) - printf("\n"); - else - { - printf("%d, ", dlg->font->size); - print_string(dlg->font->name); - printf("\n"); - } - while(c) - { - dump_control(c); - c = c->next; - } -} - -/* - ***************************************************************************** - * Function : dump_menu_item - * Syntax : void dump_menu_item(const menuex_item_t *item) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_menu_item(const menu_item_t *item) -{ - while(item) - { - if(item->popup) - { - printf("POPUP "); - print_string(item->name); - if(item->gotid) - printf(", Id=%d", item->id); - if(item->gottype) - printf(", Type=%d", item->type); - if(item->gotstate) - printf(", State=%08x", item->state); - if(item->gothelpid) - printf(", HelpId=%d", item->helpid); - printf("\n"); - dump_menu_item(item->popup); - } - else - { - printf("MENUITEM "); - if(item->name) - { - print_string(item->name); - if(item->gotid) - printf(", Id=%d", item->id); - if(item->gottype) - printf(", Type=%d", item->type); - if(item->gotstate) - printf(", State=%08x", item->state); - if(item->gothelpid) - printf(", HelpId=%d", item->helpid); - } - else - printf("SEPARATOR"); - printf("\n"); - } - item = item->next; - } -} - -/* - ***************************************************************************** - * Function : dump_menu - * Syntax : void dump_menu(const menu_t *men) - * Input : - * men - Menu resource descriptor - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_menu(const menu_t *men) -{ - dump_memopt(men->memopt); - dump_lvc(&(men->lvc)); - dump_menu_item(men->items); -} - -/* - ***************************************************************************** - * Function : dump_ver_value - * Syntax : void dump_ver_value(const ver_value_t *val) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_ver_block(const ver_block_t *); /* Forward ref */ - -static void dump_ver_value(const ver_value_t *val) -{ - if(val->type == val_str) - { - printf("VALUE "); - print_string(val->key); - printf(" "); - print_string(val->value.str); - printf("\n"); - } - else if(val->type == val_words) - { - int i; - printf("VALUE"); - print_string(val->key); - for(i = 0; i < val->value.words->nwords; i++) - printf(" %04x", val->value.words->words[i]); - printf("\n"); - } - else if(val->type == val_block) - { - dump_ver_block(val->value.block); - } -} - -/* - ***************************************************************************** - * Function : dump_ver_block - * Syntax : void dump_ver_block(const ver_block_t *blk) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_ver_block(const ver_block_t *blk) -{ - const ver_value_t *val = blk->values; - printf("BLOCK "); - print_string(blk->name); - printf("\n{\n"); - while(val) - { - dump_ver_value(val); - val = val->next; - } - printf("}\n"); -} - -/* - ***************************************************************************** - * Function : dump_versioninfo - * Syntax : void dump_versioninfo(const versioninfo_t *ver) - * Input : - * ver - Versioninfo resource descriptor - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_versioninfo(const versioninfo_t *ver) -{ - const ver_block_t *blk = ver->blocks; - - dump_lvc(&(ver->lvc)); - - if(ver->gotit.fv) - printf("FILEVERSION %04x, %04x, %04x, %04x\n", - ver->filever_maj1, - ver->filever_maj2, - ver->filever_min1, - ver->filever_min2); - if(ver->gotit.pv) - printf("PRODUCTVERSION %04x, %04x, %04x, %04x\n", - ver->prodver_maj1, - ver->prodver_maj2, - ver->prodver_min1, - ver->prodver_min2); - if(ver->gotit.fo) - printf("FILEOS %08x\n", ver->fileos); - if(ver->gotit.ff) - printf("FILEFLAGS %08x\n", ver->fileflags); - if(ver->gotit.ffm) - printf("FILEFLAGSMASK %08x\n", ver->fileflagsmask); - if(ver->gotit.ft) - printf("FILETYPE %08x\n", ver->filetype); - if(ver->gotit.fst) - printf("FILESUBTYPE %08x\n", ver->filesubtype); - while(blk) - { - dump_ver_block(blk); - blk = blk->next; - } -} - -/* - ***************************************************************************** - * Function : dump_toolbar_item - * Syntax : void dump_toolbar_item(const toolbar_item_t *item) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_toolbar_items(const toolbar_item_t *items) -{ - while(items) - { - if(items->id) - printf(" BUTTON %d", items->id ); - else - printf(" SEPARATOR"); - - printf("\n"); - - items = items->next; - } -} - -/* - ***************************************************************************** - * Function : dump_toolbar - * Syntax : void dump_toolbar(const toolbar_t *toolbar) - * Input : - * toolbar - Toolbar resource descriptor - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_toolbar(const toolbar_t *toolbar) -{ - dump_memopt(toolbar->memopt); - dump_lvc(&(toolbar->lvc)); - dump_toolbar_items(toolbar->items); -} - -/* - ***************************************************************************** - * Function : dump_dlginit - * Syntax : void dump_dlginit(const dlginit_t *dit) - * Input : - * dit - DlgInit resource descriptor - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void dump_dlginit(const dlginit_t *dit) -{ - dump_memopt(dit->memopt); - dump_lvc(&(dit->data->lvc)); - dump_raw_data(dit->data); -} - -/* - ***************************************************************************** - * Function : dump_resources - * Syntax : void dump_resources(const resource_t *top) - * Input : - * top - Top of the resource tree - * Output : - * nop - * Description : Dump the parsed resource-tree to stdout - * Remarks : - ***************************************************************************** -*/ -void dump_resources(const resource_t *top) -{ - printf("Internal resource-tree dump:\n"); - while(top) - { - printf("Resource: %s\nId: %s\n", - get_typename(top), - get_nameid_str(top->name)); - switch(top->type) - { - case res_acc: - dump_accelerator(top->res.acc); - break; - case res_bmp: - dump_bitmap(top->res.bmp); - break; - case res_cur: - dump_cursor(top->res.cur); - break; - case res_curg: - dump_cursor_group(top->res.curg); - break; - case res_dlg: - dump_dialog(top->res.dlg); - break; - case res_fnt: - dump_font(top->res.fnt); - break; - case res_icog: - dump_icon_group(top->res.icog); - break; - case res_ico: - dump_icon(top->res.ico); - break; - case res_men: - dump_menu(top->res.men); - break; - case res_rdt: - dump_rcdata(top->res.rdt); - break; - case res_stt: - dump_stringtable(top->res.stt); - break; - case res_usr: - dump_user(top->res.usr); - break; - case res_msg: - dump_messagetable(top->res.msg); - break; - case res_ver: - dump_versioninfo(top->res.ver); - break; - case res_dlginit: - dump_dlginit(top->res.dlgi); - break; - case res_toolbar: - dump_toolbar(top->res.tbt); - break; - case res_anicur: - case res_aniico: - dump_ani_curico(top->res.ani); - break; - default: - printf("Report this: Unknown resource type parsed %08x\n", top->type); - } - printf("\n"); - top = top->next; - } -} diff --git a/reactos/tools/wrc/dumpres.h b/reactos/tools/wrc/dumpres.h deleted file mode 100644 index a6c3dac3800..00000000000 --- a/reactos/tools/wrc/dumpres.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Dump resource prototypes - * - * Copyright 1998 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WRC_DUMPRES_H -#define __WRC_DUMPRES_H - -#include "wrctypes.h" - -const char *get_typename(const resource_t* r); -void dump_resources(const resource_t *top); -const char *get_nameid_str(const name_id_t *n); - -#endif diff --git a/reactos/tools/wrc/genres.c b/reactos/tools/wrc/genres.c deleted file mode 100644 index 709a83e5d94..00000000000 --- a/reactos/tools/wrc/genres.c +++ /dev/null @@ -1,1888 +0,0 @@ -/* - * Generate .res format from a resource-tree - * - * Copyright 1998 Bertho A. Stultiens - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - * History: - * 05-May-2000 BS - Added code to support endian conversions. The - * extra functions also aid unaligned access, but - * this is not yet implemented. - * 25-May-1998 BS - Added simple unicode -> char conversion for resource - * names in .s and .h files. - */ - -#include "config.h" - -#include -#include -#include -#include -#include -#include -#include "wrc.h" -#include "genres.h" -#include "utils.h" - -#include "wine/unicode.h" - -#define SetResSize(res, tag) set_dword((res), (tag), (res)->size - get_dword((res), (tag))) - -res_t *new_res(void) -{ - res_t *r; - r = xmalloc(sizeof(res_t)); - r->allocsize = RES_BLOCKSIZE; - r->size = 0; - r->dataidx = 0; - r->data = xmalloc(RES_BLOCKSIZE); - return r; -} - -res_t *grow_res(res_t *r, unsigned int add) -{ - r->allocsize += add; - r->data = xrealloc(r->data, r->allocsize); - return r; -} - -/* - ***************************************************************************** - * Function : put_byte - * put_word - * put_dword - * Syntax : void put_byte(res_t *res, unsigned c) - * void put_word(res_t *res, unsigned w) - * void put_dword(res_t *res, unsigned d) - * Input : - * res - Binary resource to put the data in - * c, w, d - Data to put - * Output : nop - * Description : Put primitives that put an item in the binary resource. - * The data array grows automatically. - * Remarks : - ***************************************************************************** -*/ -void put_byte(res_t *res, unsigned c) -{ - if(res->allocsize - res->size < sizeof(char)) - grow_res(res, RES_BLOCKSIZE); - res->data[res->size] = (char)c; - res->size += sizeof(char); -} - -void put_word(res_t *res, unsigned w) -{ - if(res->allocsize - res->size < sizeof(WORD)) - grow_res(res, RES_BLOCKSIZE); - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - res->data[res->size+0] = HIBYTE(w); - res->data[res->size+1] = LOBYTE(w); - break; - -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - res->data[res->size+1] = HIBYTE(w); - res->data[res->size+0] = LOBYTE(w); - break; - } - res->size += sizeof(WORD); -} - -void put_dword(res_t *res, unsigned d) -{ - if(res->allocsize - res->size < sizeof(DWORD)) - grow_res(res, RES_BLOCKSIZE); - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - res->data[res->size+0] = HIBYTE(HIWORD(d)); - res->data[res->size+1] = LOBYTE(HIWORD(d)); - res->data[res->size+2] = HIBYTE(LOWORD(d)); - res->data[res->size+3] = LOBYTE(LOWORD(d)); - break; - -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - res->data[res->size+3] = HIBYTE(HIWORD(d)); - res->data[res->size+2] = LOBYTE(HIWORD(d)); - res->data[res->size+1] = HIBYTE(LOWORD(d)); - res->data[res->size+0] = LOBYTE(LOWORD(d)); - break; - } - res->size += sizeof(DWORD); -} - -static void put_pad(res_t *res) -{ - while(res->size & 0x3) - put_byte(res, 0); -} - -/* - ***************************************************************************** - * Function : set_word - * set_dword - * Syntax : void set_word(res_t *res, int ofs, unsigned w) - * void set_dword(res_t *res, int ofs, unsigned d) - * Input : - * res - Binary resource to put the data in - * ofs - Byte offset in data-array - * w, d - Data to put - * Output : nop - * Description : Set the value of a binary resource data array to a - * specific value. - * Remarks : - ***************************************************************************** -*/ -static void set_word(res_t *res, int ofs, unsigned w) -{ - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - res->data[ofs+0] = HIBYTE(w); - res->data[ofs+1] = LOBYTE(w); - break; - -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - res->data[ofs+1] = HIBYTE(w); - res->data[ofs+0] = LOBYTE(w); - break; - } -} - -static void set_dword(res_t *res, int ofs, unsigned d) -{ - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - res->data[ofs+0] = HIBYTE(HIWORD(d)); - res->data[ofs+1] = LOBYTE(HIWORD(d)); - res->data[ofs+2] = HIBYTE(LOWORD(d)); - res->data[ofs+3] = LOBYTE(LOWORD(d)); - break; - -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - res->data[ofs+3] = HIBYTE(HIWORD(d)); - res->data[ofs+2] = LOBYTE(HIWORD(d)); - res->data[ofs+1] = HIBYTE(LOWORD(d)); - res->data[ofs+0] = LOBYTE(LOWORD(d)); - break; - } -} - -/* - ***************************************************************************** - * Function : get_dword - * Input : - * res - Binary resource to put the data in - * ofs - Byte offset in data-array - * Output : The data in native endian - * Description : Get the value of a binary resource data array in native - * endian. - * Remarks : - ***************************************************************************** -*/ -static DWORD get_dword(res_t *res, int ofs) -{ - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - return (res->data[ofs+0] << 24) - | (res->data[ofs+1] << 16) - | (res->data[ofs+2] << 8) - | res->data[ofs+3]; - -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - return (res->data[ofs+3] << 24) - | (res->data[ofs+2] << 16) - | (res->data[ofs+1] << 8) - | res->data[ofs+0]; - } -} - -/* - ***************************************************************************** - * Function : string_to_upper - * Syntax : void string_to_upper(string_t *str) - * Input : - * Output : - * Description : - * Remarks : FIXME: codepages... - ***************************************************************************** -*/ -static void string_to_upper(string_t *str) -{ - int i; - - if(str->type == str_char) - { - for (i = 0; i < str->size; i++) str->str.cstr[i] = toupper((unsigned char)str->str.cstr[i]); - } - else if(str->type == str_unicode) - { - for (i = 0; i < str->size; i++) str->str.wstr[i] = toupperW(str->str.wstr[i]); - } - else - { - internal_error(__FILE__, __LINE__, "Invalid string type %d\n", str->type); - } -} - -/* - ***************************************************************************** - * Function : put_string - * Syntax : void put_string(res_t *res, string_t *str, enum str_e type, - * int isterm, const language_t *lang) - * Input : - * res - Binary resource to put the data in - * str - String to put - * type - Data has to be written in either str_char or str_unicode - * isterm - The string is '\0' terminated (disregard the string's - * size member) - * Output : nop - * Description : - * Remarks : - ***************************************************************************** -*/ -static void put_string(res_t *res, const string_t *str, enum str_e type, int isterm, - const language_t *lang) -{ - int cnt, codepage; - string_t *newstr; - - assert(res != NULL); - assert(str != NULL); - - if (lang) codepage = get_language_codepage( lang->id, lang->sub ); - else codepage = get_language_codepage( 0, 0 ); - - assert( codepage != -1 ); - - newstr = convert_string(str, type, codepage); - if (type == str_unicode) - { - if (str->type == str_char) - { - if (!check_unicode_conversion( str, newstr, codepage )) - { - print_location( &str->loc ); - error( "String %s does not convert identically to Unicode and back in codepage %d. " - "Try using a Unicode string instead\n", str->str.cstr, codepage ); - } - if (check_valid_utf8( str, codepage )) - { - print_location( &str->loc ); - warning( "string \"%s\" seems to be UTF-8 but codepage %u is in use.\n", - str->str.cstr, codepage ); - } - } - if (!isterm) put_word(res, newstr->size); - for(cnt = 0; cnt < newstr->size; cnt++) - { - WCHAR c = newstr->str.wstr[cnt]; - if (isterm && !c) break; - put_word(res, c); - } - if (isterm) put_word(res, 0); - } - else /* str_char */ - { - if (!isterm) put_byte(res, newstr->size); - for(cnt = 0; cnt < newstr->size; cnt++) - { - char c = newstr->str.cstr[cnt]; - if (isterm && !c) break; - put_byte(res, c); - } - if (isterm) put_byte(res, 0); - } - free_string(newstr); -} - -/* - ***************************************************************************** - * Function : put_name_id - * Syntax : void put_name_id(res_t *res, name_id_t *nid, int upcase, const language_t *lang) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void put_name_id(res_t *res, name_id_t *nid, int upcase, const language_t *lang) -{ - if(nid->type == name_ord) - { - if(win32) - put_word(res, 0xffff); - else - put_byte(res, 0xff); - put_word(res, (WORD)nid->name.i_name); - } - else if(nid->type == name_str) - { - if(upcase) - string_to_upper(nid->name.s_name); - put_string(res, nid->name.s_name, win32 ? str_unicode : str_char, TRUE, lang); - } - else - { - internal_error(__FILE__, __LINE__, "Invalid name_id type %d\n", nid->type); - } -} - -/* - ***************************************************************************** - * Function : put_lvc - * Syntax : void put_lvc(res_t *res, lvc_t *lvc) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void put_lvc(res_t *res, lvc_t *lvc) -{ - if(lvc && lvc->language) - put_word(res, MAKELANGID(lvc->language->id, lvc->language->sub)); - else - put_word(res, 0); /* Neutral */ - if(lvc && lvc->version) - put_dword(res, *(lvc->version)); - else - put_dword(res, 0); - if(lvc && lvc->characts) - put_dword(res, *(lvc->characts)); - else - put_dword(res, 0); -} - -/* - ***************************************************************************** - * Function : put_raw_data - * Syntax : void put_raw_data(res_t *res, raw_data_t *raw, int offset) - * Input : - * Output : - * Description : - * Remarks : - ***************************************************************************** -*/ -static void put_raw_data(res_t *res, raw_data_t *raw, int offset) -{ - unsigned int wsize = raw->size - offset; - if(res->allocsize - res->size < wsize) - grow_res(res, wsize); - memcpy(&(res->data[res->size]), raw->data + offset, wsize); - res->size += wsize; -} - -/* - ***************************************************************************** - * Function : put_res_header - * Syntax : input_res_header(res_t *res, int type, name_id_t *ntype, - * name_id_t *name, DWORD memopt, lvc_t *lvc) - * - * Input : - * res - Binary resource descriptor to write to - * type - Resource identifier (if ntype == NULL) - * ntype - Name id of type - * name - Resource's name - * memopt - Resource's memory options to write - * lvc - Language, version and characteristics (win32 only) - * Output : An index to the resource size field. The resource size field - * contains the header size upon exit. - * Description : - * Remarks : - ***************************************************************************** -*/ -static int put_res_header(res_t *res, int type, name_id_t *ntype, name_id_t *name, - DWORD memopt, lvc_t *lvc) -{ - if(win32) - { - put_dword(res, 0); /* We will overwrite these later */ - put_dword(res, 0); - if(!ntype) - { - put_word(res, 0xffff); /* ResType */ - put_word(res, type); - } - else - put_name_id(res, ntype, TRUE, lvc->language); - put_name_id(res, name, TRUE, lvc->language); /* ResName */ - put_pad(res); - put_dword(res, 0); /* DataVersion */ - put_word(res, memopt); /* Memory options */ - put_lvc(res, lvc); /* Language, version and characts */ - set_dword(res, 0*sizeof(DWORD), res->size); /* Set preliminary resource */ - set_dword(res, 1*sizeof(DWORD), res->size); /* Set HeaderSize */ - res->dataidx = res->size; - return 0; - } - else /* win16 */ - { - int tag; - if(!ntype) - { - put_byte(res, 0xff); /* ResType */ - put_word(res, type); - } - else - put_name_id(res, ntype, TRUE, NULL); - put_name_id(res, name, TRUE, NULL); /* ResName */ - put_word(res, memopt); /* Memory options */ - tag = res->size; - put_dword(res, 0); /* ResSize overwritten later*/ - set_dword(res, tag, res->size); - res->dataidx = res->size; - return tag; - } -} - -/* - ***************************************************************************** - * Function : accelerator2res - * Syntax : res_t *accelerator2res(name_id_t *name, accelerator_t *acc) - * Input : - * name - Name/ordinal of the resource - * acc - The accelerator descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *accelerator2res(name_id_t *name, accelerator_t *acc) -{ - int restag; - res_t *res; - event_t *ev; - assert(name != NULL); - assert(acc != NULL); - - ev = acc->events; - res = new_res(); - if(win32) - { - restag = put_res_header(res, WRC_RT_ACCELERATOR, NULL, name, acc->memopt, &(acc->lvc)); - while(ev) - { - put_word(res, ev->flags | (ev->next ? 0 : 0x80)); - put_word(res, ev->key); - put_word(res, ev->id); - put_word(res, 0); /* Padding */ - ev = ev->next; - } - put_pad(res); - } - else /* win16 */ - { - restag = put_res_header(res, WRC_RT_ACCELERATOR, NULL, name, acc->memopt, NULL); - while(ev) - { - put_byte(res, ev->flags | (ev->next ? 0 : 0x80)); - put_word(res, ev->key); - put_word(res, ev->id); - ev = ev->next; - } - } - /* Set ResourceSize */ - SetResSize(res, restag); - return res; -} - -/* - ***************************************************************************** - * Function : dialog2res - * Syntax : res_t *dialog2res(name_id_t *name, dialog_t *dlg) - * Input : - * name - Name/ordinal of the resource - * dlg - The dialog descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *dialog2res(name_id_t *name, dialog_t *dlg) -{ - int restag; - res_t *res; - control_t *ctrl; - int tag_nctrl; - int nctrl = 0; - assert(name != NULL); - assert(dlg != NULL); - - ctrl = dlg->controls; - res = new_res(); - if(win32) - { - restag = put_res_header(res, WRC_RT_DIALOG, NULL, name, dlg->memopt, &(dlg->lvc)); - - if (dlg->is_ex) - { - /* FIXME: MS doc says that the first word must contain 0xffff - * and the second 0x0001 to signal a DLGTEMPLATEEX. Borland's - * compiler reverses the two words. - * I don't know which one to choose, but I write it as Mr. B - * writes it. - */ - put_word(res, 1); /* Signature */ - put_word(res, 0xffff); /* DlgVer */ - put_dword(res, dlg->gothelpid ? dlg->helpid : 0); - put_dword(res, dlg->gotexstyle ? dlg->exstyle->or_mask : 0); - put_dword(res, dlg->gotstyle ? dlg->style->or_mask : WS_POPUPWINDOW); - } - else - { - put_dword(res, dlg->style->or_mask); - put_dword(res, dlg->gotexstyle ? dlg->exstyle->or_mask : 0); - } - tag_nctrl = res->size; - put_word(res, 0); /* Number of controls */ - put_word(res, dlg->x); - put_word(res, dlg->y); - put_word(res, dlg->width); - put_word(res, dlg->height); - if(dlg->menu) - put_name_id(res, dlg->menu, TRUE, dlg->lvc.language); - else - put_word(res, 0); - if(dlg->dlgclass) - put_name_id(res, dlg->dlgclass, TRUE, dlg->lvc.language); - else - put_word(res, 0); - if(dlg->title) - put_string(res, dlg->title, str_unicode, TRUE, dlg->lvc.language); - else - put_word(res, 0); - if(dlg->font) - { - put_word(res, dlg->font->size); - if (dlg->is_ex) - { - put_word(res, dlg->font->weight); - /* FIXME: ? TRUE should be sufficient to say that it's - * italic, but Borland's compiler says it's 0x0101. - * I just copy it here, and hope for the best. - */ - put_word(res, dlg->font->italic ? 0x0101 : 0); - } - put_string(res, dlg->font->name, str_unicode, TRUE, dlg->lvc.language); - } - - put_pad(res); - while(ctrl) - { - if (dlg->is_ex) - { - put_dword(res, ctrl->gothelpid ? ctrl->helpid : 0); - put_dword(res, ctrl->gotexstyle ? ctrl->exstyle->or_mask : 0); - /* FIXME: what is default control style? */ - put_dword(res, ctrl->gotstyle ? ctrl->style->or_mask : WS_CHILD | WS_VISIBLE); - } - else - { - /* FIXME: what is default control style? */ - put_dword(res, ctrl->gotstyle ? ctrl->style->or_mask: WS_CHILD); - put_dword(res, ctrl->gotexstyle ? ctrl->exstyle->or_mask : 0); - } - put_word(res, ctrl->x); - put_word(res, ctrl->y); - put_word(res, ctrl->width); - put_word(res, ctrl->height); - if (dlg->is_ex) - put_dword(res, ctrl->id); - else - put_word(res, ctrl->id); - if(ctrl->ctlclass) - put_name_id(res, ctrl->ctlclass, TRUE, dlg->lvc.language); - else - internal_error(__FILE__, __LINE__, "Control has no control-class\n"); - if(ctrl->title) - put_name_id(res, ctrl->title, FALSE, dlg->lvc.language); - else - put_word(res, 0); - if(ctrl->extra) - { - put_word(res, ctrl->extra->size+2); - put_pad(res); - put_raw_data(res, ctrl->extra, 0); - } - else - put_word(res, 0); - - if(ctrl->next) - put_pad(res); - nctrl++; - ctrl = ctrl->next; - } - /* Set number of controls */ - set_word(res, tag_nctrl, (WORD)nctrl); - } - else /* win16 */ - { - restag = put_res_header(res, WRC_RT_DIALOG, NULL, name, dlg->memopt, NULL); - - put_dword(res, dlg->gotstyle ? dlg->style->or_mask : WS_POPUPWINDOW); - tag_nctrl = res->size; - put_byte(res, 0); /* Number of controls */ - put_word(res, dlg->x); - put_word(res, dlg->y); - put_word(res, dlg->width); - put_word(res, dlg->height); - if(dlg->menu) - put_name_id(res, dlg->menu, TRUE, NULL); - else - put_byte(res, 0); - if(dlg->dlgclass) - put_name_id(res, dlg->dlgclass, TRUE, NULL); - else - put_byte(res, 0); - if(dlg->title) - put_string(res, dlg->title, str_char, TRUE, NULL); - else - put_byte(res, 0); - if(dlg->font) - { - put_word(res, dlg->font->size); - put_string(res, dlg->font->name, str_char, TRUE, NULL); - } - - while(ctrl) - { - put_word(res, ctrl->x); - put_word(res, ctrl->y); - put_word(res, ctrl->width); - put_word(res, ctrl->height); - put_word(res, ctrl->id); - put_dword(res, ctrl->gotstyle ? ctrl->style->or_mask: WS_CHILD); - if(ctrl->ctlclass) - { - if(ctrl->ctlclass->type == name_ord - && ctrl->ctlclass->name.i_name >= 0x80 - && ctrl->ctlclass->name.i_name <= 0x85) - put_byte(res, ctrl->ctlclass->name.i_name); - else if(ctrl->ctlclass->type == name_str) - put_name_id(res, ctrl->ctlclass, FALSE, NULL); - else - error("Unknown control-class %04x\n", ctrl->ctlclass->name.i_name); - } - else - internal_error(__FILE__, __LINE__, "Control has no control-class\n"); - if(ctrl->title) - put_name_id(res, ctrl->title, FALSE, NULL); - else - put_byte(res, 0); - - /* FIXME: What is this extra byte doing here? */ - put_byte(res, 0); - - nctrl++; - ctrl = ctrl->next; - } - /* Set number of controls */ - ((char *)res->data)[tag_nctrl] = (char)nctrl; - } - /* Set ResourceSize */ - SetResSize(res, restag); - return res; -} - -/* - ***************************************************************************** - * Function : menuitem2res - * Syntax : void menuitem2res(res_t *res, menu_item_t *item) - * Input : - * Output : - * Description : - * Remarks : Self recursive - ***************************************************************************** -*/ -static void menuitem2res(res_t *res, menu_item_t *menitem, const language_t *lang) -{ - menu_item_t *itm = menitem; - if(win32) - { - while(itm) - { - put_word(res, itm->state | (itm->popup ? MF_POPUP : 0) | (!itm->next ? MF_END : 0)); - if(!itm->popup) - put_word(res, itm->id); - if(itm->name) - put_string(res, itm->name, str_unicode, TRUE, lang); - else - put_word(res, 0); - if(itm->popup) - menuitem2res(res, itm->popup, lang); - itm = itm->next; - } - } - else /* win16 */ - { - while(itm) - { - put_word(res, itm->state | (itm->popup ? MF_POPUP : 0) | (!itm->next ? MF_END : 0)); - if(!itm->popup) - put_word(res, itm->id); - if(itm->name) - put_string(res, itm->name, str_char, TRUE, lang); - else - put_byte(res, 0); - if(itm->popup) - menuitem2res(res, itm->popup, lang); - itm = itm->next; - } - } - -} - -/* - ***************************************************************************** - * Function : menuexitem2res - * Syntax : void menuexitem2res(res_t *res, menuex_item_t *item) - * Input : - * Output : nop - * Description : - * Remarks : Self recursive - ***************************************************************************** -*/ -static void menuexitem2res(res_t *res, menu_item_t *menitem, const language_t *lang) -{ - menu_item_t *itm = menitem; - assert(win32 != 0); - while(itm) - { - put_dword(res, itm->gottype ? itm->type : 0); - put_dword(res, itm->gotstate ? itm->state : 0); - put_dword(res, itm->gotid ? itm->id : 0); /* FIXME: Docu. says word */ - put_word(res, (itm->popup ? 0x01 : 0) | (!itm->next ? MF_END : 0)); - if(itm->name) - put_string(res, itm->name, str_unicode, TRUE, lang); - else - put_word(res, 0); - put_pad(res); - if(itm->popup) - { - put_dword(res, itm->gothelpid ? itm->helpid : 0); - menuexitem2res(res, itm->popup, lang); - } - itm = itm->next; - } - -} - -/* - ***************************************************************************** - * Function : menu2res - * Syntax : res_t *menu2res(name_id_t *name, menu_t *men) - * Input : - * name - Name/ordinal of the resource - * menex - The menuex descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *menu2res(name_id_t *name, menu_t *men) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(men != NULL); - - res = new_res(); - if(win32) - { - restag = put_res_header(res, WRC_RT_MENU, NULL, name, men->memopt, &(men->lvc)); - - if (men->is_ex) - { - put_word(res, 1); /* Menuheader: Version */ - put_word(res, 4); /* Offset */ - put_dword(res, 0); /* HelpId */ - put_pad(res); - menuexitem2res(res, men->items, men->lvc.language); - } - else - { - put_dword(res, 0); /* Menuheader: Version and HeaderSize */ - menuitem2res(res, men->items, men->lvc.language); - } - /* Set ResourceSize */ - SetResSize(res, restag); - put_pad(res); - } - else /* win16 */ - { - restag = put_res_header(res, WRC_RT_MENU, NULL, name, men->memopt, NULL); - - put_dword(res, 0); /* Menuheader: Version and HeaderSize */ - menuitem2res(res, men->items, NULL); - /* Set ResourceSize */ - SetResSize(res, restag); - } - return res; -} - -/* - ***************************************************************************** - * Function : cursorgroup2res - * Syntax : res_t *cursorgroup2res(name_id_t *name, cursor_group_t *curg) - * Input : - * name - Name/ordinal of the resource - * curg - The cursor descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *cursorgroup2res(name_id_t *name, cursor_group_t *curg) -{ - int restag; - res_t *res; - cursor_t *cur; - assert(name != NULL); - assert(curg != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_GROUP_CURSOR, NULL, name, curg->memopt, &(curg->lvc)); - if(win32) - { - put_word(res, 0); /* Reserved */ - /* FIXME: The ResType in the NEWHEADER structure should - * contain 14 according to the MS win32 doc. This is - * not the case with the BRC compiler and I really doubt - * the latter. Putting one here is compliant to win16 spec, - * but who knows the true value? - */ - put_word(res, 2); /* ResType */ - put_word(res, curg->ncursor); -#if 0 - for(cur = curg->cursorlist; cur; cur = cur->next) -#else - cur = curg->cursorlist; - while(cur->next) - cur = cur->next; - for(; cur; cur = cur->prev) -#endif - { - put_word(res, cur->width); - /* FIXME: The height of a cursor is half the size of - * the bitmap's height. BRC puts the height from the - * BITMAPINFOHEADER here instead of the cursorfile's - * height. MS doesn't seem to care... - */ - put_word(res, cur->height); - /* FIXME: The next two are reversed in BRC and I don't - * know why. Probably a bug. But, we can safely ignore - * it because win16 does not support color cursors. - * A warning should have been generated by the parser. - */ - put_word(res, cur->planes); - put_word(res, cur->bits); - /* FIXME: The +4 is the hotspot in the cursor resource. - * However, I could not find this in the documentation. - * The hotspot bytes must either be included or MS - * doesn't care. - */ - put_dword(res, cur->data->size +4); - put_word(res, cur->id); - } - } - else /* win16 */ - { - put_word(res, 0); /* Reserved */ - put_word(res, 2); /* ResType */ - put_word(res, curg->ncursor); -#if 0 - for(cur = curg->cursorlist; cur; cur = cur->next) -#else - cur = curg->cursorlist; - while(cur->next) - cur = cur->next; - for(; cur; cur = cur->prev) -#endif - { - put_word(res, cur->width); - /* FIXME: The height of a cursor is half the size of - * the bitmap's height. BRC puts the height from the - * BITMAPINFOHEADER here instead of the cursorfile's - * height. MS doesn't seem to care... - */ - put_word(res, cur->height); - /* FIXME: The next two are reversed in BRC and I don't - * know why. Probably a bug. But, we can safely ignore - * it because win16 does not support color cursors. - * A warning should have been generated by the parser. - */ - put_word(res, cur->planes); - put_word(res, cur->bits); - /* FIXME: The +4 is the hotspot in the cursor resource. - * However, I could not find this in the documentation. - * The hotspot bytes must either be included or MS - * doesn't care. - */ - put_dword(res, cur->data->size +4); - put_word(res, cur->id); - } - } - SetResSize(res, restag); /* Set ResourceSize */ - if(win32) - put_pad(res); - - return res; -} - -/* - ***************************************************************************** - * Function : cursor2res - * Syntax : res_t *cursor2res(cursor_t *cur) - * Input : - * cur - The cursor descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *cursor2res(cursor_t *cur) -{ - int restag; - res_t *res; - name_id_t name; - - assert(cur != NULL); - - res = new_res(); - name.type = name_ord; - name.name.i_name = cur->id; - restag = put_res_header(res, WRC_RT_CURSOR, NULL, &name, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, &(cur->lvc)); - put_word(res, cur->xhot); - put_word(res, cur->yhot); - put_raw_data(res, cur->data, 0); - - SetResSize(res, restag); /* Set ResourceSize */ - if(win32) - put_pad(res); - - return res; -} - -/* - ***************************************************************************** - * Function : icongroup2res - * Syntax : res_t *icongroup2res(name_id_t *name, icon_group_t *icog) - * Input : - * name - Name/ordinal of the resource - * icog - The icon group descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *icongroup2res(name_id_t *name, icon_group_t *icog) -{ - int restag; - res_t *res; - icon_t *ico; - assert(name != NULL); - assert(icog != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_GROUP_ICON, NULL, name, icog->memopt, &(icog->lvc)); - if(win32) - { - put_word(res, 0); /* Reserved */ - /* FIXME: The ResType in the NEWHEADER structure should - * contain 14 according to the MS win32 doc. This is - * not the case with the BRC compiler and I really doubt - * the latter. Putting one here is compliant to win16 spec, - * but who knows the true value? - */ - put_word(res, 1); /* ResType */ - put_word(res, icog->nicon); - for(ico = icog->iconlist; ico; ico = ico->next) - { - put_byte(res, ico->width); - put_byte(res, ico->height); - put_byte(res, ico->nclr); - put_byte(res, 0); /* Reserved */ - put_word(res, ico->planes); - put_word(res, ico->bits); - put_dword(res, ico->data->size); - put_word(res, ico->id); - } - } - else /* win16 */ - { - put_word(res, 0); /* Reserved */ - put_word(res, 1); /* ResType */ - put_word(res, icog->nicon); - for(ico = icog->iconlist; ico; ico = ico->next) - { - put_byte(res, ico->width); - put_byte(res, ico->height); - put_byte(res, ico->nclr); - put_byte(res, 0); /* Reserved */ - put_word(res, ico->planes); - put_word(res, ico->bits); - put_dword(res, ico->data->size); - put_word(res, ico->id); - } - } - SetResSize(res, restag); /* Set ResourceSize */ - if(win32) - put_pad(res); - - return res; -} - -/* - ***************************************************************************** - * Function : icon2res - * Syntax : res_t *icon2res(icon_t *ico) - * Input : - * ico - The icon descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *icon2res(icon_t *ico) -{ - int restag; - res_t *res; - name_id_t name; - - assert(ico != NULL); - - res = new_res(); - name.type = name_ord; - name.name.i_name = ico->id; - restag = put_res_header(res, WRC_RT_ICON, NULL, &name, WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, &(ico->lvc)); - put_raw_data(res, ico->data, 0); - - SetResSize(res, restag); /* Set ResourceSize */ - if(win32) - put_pad(res); - - return res; -} - -/* - ***************************************************************************** - * Function : anicurico2res - * Syntax : res_t *anicurico2res(name_id_t *name, ani_curico_t *ani) - * Input : - * name - Name/ordinal of the resource - * ani - The animated object descriptor - * Output : New .res format structure - * Description : - * Remarks : The endian of the object's structures have been converted - * by the loader. - * There are rumors that win311 could handle animated stuff. - * That is why they are generated for both win16 and win32 - * compile. - ***************************************************************************** -*/ -static res_t *anicurico2res(name_id_t *name, ani_curico_t *ani, enum res_e type) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(ani != NULL); - - res = new_res(); - restag = put_res_header(res, type == res_anicur ? WRC_RT_ANICURSOR : WRC_RT_ANIICON, - NULL, name, ani->memopt, NULL); - put_raw_data(res, ani->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : bitmap2res - * Syntax : res_t *bitmap2res(name_id_t *name, bitmap_t *bmp) - * Input : - * name - Name/ordinal of the resource - * bmp - The bitmap descriptor - * Output : New .res format structure - * Description : - * Remarks : The endian of the bitmap structures have been converted - * by the loader. - ***************************************************************************** -*/ -static res_t *bitmap2res(name_id_t *name, bitmap_t *bmp) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(bmp != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_BITMAP, NULL, name, bmp->memopt, &(bmp->data->lvc)); - if(bmp->data->data[0] == 'B' - && bmp->data->data[1] == 'M' - && ((BITMAPFILEHEADER *)bmp->data->data)->bfSize == bmp->data->size - && bmp->data->size >= sizeof(BITMAPFILEHEADER)) - { - /* The File header is still attached, don't write it */ - put_raw_data(res, bmp->data, sizeof(BITMAPFILEHEADER)); - } - else - { - put_raw_data(res, bmp->data, 0); - } - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : font2res - * Syntax : res_t *font2res(name_id_t *name, font_t *fnt) - * Input : - * name - Name/ordinal of the resource - * fnt - The font descriptor - * Output : New .res format structure - * Description : - * Remarks : The data has been prepared just after parsing. - ***************************************************************************** -*/ -static res_t *font2res(name_id_t *name, font_t *fnt) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(fnt != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_FONT, NULL, name, fnt->memopt, &(fnt->data->lvc)); - put_raw_data(res, fnt->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : fontdir2res - * Syntax : res_t *fontdir2res(name_id_t *name, fontdir_t *fnd) - * Input : - * name - Name/ordinal of the resource - * fntdir - The fontdir descriptor - * Output : New .res format structure - * Description : - * Remarks : The data has been prepared just after parsing. - ***************************************************************************** -*/ -static res_t *fontdir2res(name_id_t *name, fontdir_t *fnd) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(fnd != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_FONTDIR, NULL, name, fnd->memopt, &(fnd->data->lvc)); - put_raw_data(res, fnd->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : html2res - * Syntax : res_t *html2res(name_id_t *name, html_t *html) - * Input : - * name - Name/ordinal of the resource - * rdt - The html descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *html2res(name_id_t *name, html_t *html) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(html != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_HTML, NULL, name, html->memopt, &(html->data->lvc)); - put_raw_data(res, html->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : rcdata2res - * Syntax : res_t *rcdata2res(name_id_t *name, rcdata_t *rdt) - * Input : - * name - Name/ordinal of the resource - * rdt - The rcdata descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *rcdata2res(name_id_t *name, rcdata_t *rdt) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(rdt != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_RCDATA, NULL, name, rdt->memopt, &(rdt->data->lvc)); - put_raw_data(res, rdt->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : messagetable2res - * Syntax : res_t *messagetable2res(name_id_t *name, messagetable_t *msg) - * Input : - * name - Name/ordinal of the resource - * msg - The messagetable descriptor - * Output : New .res format structure - * Description : - * Remarks : The data has been converted to the appropriate endian - * after it was parsed. - ***************************************************************************** -*/ -static res_t *messagetable2res(name_id_t *name, messagetable_t *msg) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(msg != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_MESSAGETABLE, NULL, name, msg->memopt, &(msg->data->lvc)); - put_raw_data(res, msg->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : stringtable2res - * Syntax : res_t *stringtable2res(stringtable_t *stt) - * Input : - * stt - The stringtable descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *stringtable2res(stringtable_t *stt) -{ - res_t *res; - name_id_t name; - int i; - int restag; - DWORD lastsize = 0; - - assert(stt != NULL); - res = new_res(); - - for(; stt; stt = stt->next) - { - if(!stt->nentries) - { - warning("Empty internal stringtable\n"); - continue; - } - name.type = name_ord; - name.name.i_name = (stt->idbase >> 4) + 1; - restag = put_res_header(res, WRC_RT_STRING, NULL, &name, stt->memopt, win32 ? &(stt->lvc) : NULL); - for(i = 0; i < stt->nentries; i++) - { - if(stt->entries[i].str && stt->entries[i].str->size) - { - put_string(res, stt->entries[i].str, win32 ? str_unicode : str_char, - FALSE, win32 ? stt->lvc.language : NULL); - } - else - { - if (win32) - put_word(res, 0); - else - put_byte(res, 0); - } - } - /* Set ResourceSize */ - SetResSize(res, restag - lastsize); - if(win32) - put_pad(res); - lastsize = res->size; - } - return res; -} - -/* - ***************************************************************************** - * Function : user2res - * Syntax : res_t *user2res(name_id_t *name, user_t *usr) - * Input : - * name - Name/ordinal of the resource - * usr - The userresource descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *user2res(name_id_t *name, user_t *usr) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(usr != NULL); - - res = new_res(); - restag = put_res_header(res, 0, usr->type, name, usr->memopt, &(usr->data->lvc)); - put_raw_data(res, usr->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : versionblock2res - * Syntax : void versionblock2res(res_t *res, ver_block_t *blk) - * Input : - * res - Binary resource to write to - * blk - The version block to be written - * Output : - * Description : - * Remarks : Self recursive - ***************************************************************************** -*/ -static void versionblock2res(res_t *res, ver_block_t *blk, int level, const language_t *lang) -{ - ver_value_t *val; - int blksizetag; - int valblksizetag; - int valvalsizetag; - int tag; - int i; - - blksizetag = res->size; - put_word(res, 0); /* Will be overwritten later */ - put_word(res, 0); - if(win32) - put_word(res, 0); /* level ? */ - put_string(res, blk->name, win32 ? str_unicode : str_char, TRUE, lang); - put_pad(res); - for(val = blk->values; val; val = val->next) - { - if(val->type == val_str) - { - valblksizetag = res->size; - put_word(res, 0); /* Will be overwritten later */ - valvalsizetag = res->size; - put_word(res, 0); /* Will be overwritten later */ - if(win32) - { - put_word(res, level); - } - put_string(res, val->key, win32 ? str_unicode : str_char, TRUE, lang); - put_pad(res); - tag = res->size; - put_string(res, val->value.str, win32 ? str_unicode : str_char, TRUE, lang); - if(win32) - set_word(res, valvalsizetag, (WORD)((res->size - tag) >> 1)); - else - set_word(res, valvalsizetag, (WORD)(res->size - tag)); - set_word(res, valblksizetag, (WORD)(res->size - valblksizetag)); - put_pad(res); - } - else if(val->type == val_words) - { - valblksizetag = res->size; - put_word(res, 0); /* Will be overwritten later */ - valvalsizetag = res->size; - put_word(res, 0); /* Will be overwritten later */ - if(win32) - { - put_word(res, level); - } - put_string(res, val->key, win32 ? str_unicode : str_char, TRUE, lang); - put_pad(res); - tag = res->size; - for(i = 0; i < val->value.words->nwords; i++) - { - put_word(res, val->value.words->words[i]); - } - set_word(res, valvalsizetag, (WORD)(res->size - tag)); - set_word(res, valblksizetag, (WORD)(res->size - valblksizetag)); - put_pad(res); - } - else if(val->type == val_block) - { - versionblock2res(res, val->value.block, level+1, lang); - } - else - { - internal_error(__FILE__, __LINE__, "Invalid value indicator %d in VERSIONINFO\n", val->type); - } - } - - /* Set blocksize */ - set_word(res, blksizetag, (WORD)(res->size - blksizetag)); -} - -/* - ***************************************************************************** - * Function : versioninfo2res - * Syntax : res_t *versioninfo2res(name_id_t *name, versioninfo_t *ver) - * Input : - * name - Name/ordinal of the resource - * ver - The versioninfo descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *versioninfo2res(name_id_t *name, versioninfo_t *ver) -{ - int restag; - int rootblocksizetag; - int valsizetag; - int tag; - res_t *res; - string_t vsvi; - ver_block_t *blk; - - assert(name != NULL); - assert(ver != NULL); - - vsvi.type = str_char; - vsvi.str.cstr = xstrdup("VS_VERSION_INFO"); - vsvi.size = 15; /* Excl. termination */ - - res = new_res(); - restag = put_res_header(res, WRC_RT_VERSION, NULL, name, ver->memopt, &(ver->lvc)); - rootblocksizetag = res->size; - put_word(res, 0); /* BlockSize filled in later */ - valsizetag = res->size; - put_word(res, 0); /* ValueSize filled in later*/ - if(win32) - put_word(res, 0); /* Tree-level ? */ - put_string(res, &vsvi, win32 ? str_unicode : str_char, - TRUE, win32 ? ver->lvc.language : NULL); - if(win32) - put_pad(res); - tag = res->size; - put_dword(res, VS_FFI_SIGNATURE); - put_dword(res, VS_FFI_STRUCVERSION); - put_dword(res, (ver->filever_maj1 << 16) + (ver->filever_maj2 & 0xffff)); - put_dword(res, (ver->filever_min1 << 16) + (ver->filever_min2 & 0xffff)); - put_dword(res, (ver->prodver_maj1 << 16) + (ver->prodver_maj2 & 0xffff)); - put_dword(res, (ver->prodver_min1 << 16) + (ver->prodver_min2 & 0xffff)); - put_dword(res, ver->fileflagsmask); - put_dword(res, ver->fileflags); - put_dword(res, ver->fileos); - put_dword(res, ver->filetype); - put_dword(res, ver->filesubtype); - put_dword(res, 0); /* FileDateMS */ - put_dword(res, 0); /* FileDateLS */ - /* Set ValueSize */ - set_word(res, valsizetag, (WORD)(res->size - tag)); - /* Descend into the blocks */ - for(blk = ver->blocks; blk; blk = blk->next) - versionblock2res(res, blk, 0, win32 ? ver->lvc.language : NULL); - /* Set root block's size */ - set_word(res, rootblocksizetag, (WORD)(res->size - rootblocksizetag)); - - SetResSize(res, restag); - if(win32) - put_pad(res); - - free(vsvi.str.cstr); - return res; -} - -/* - ***************************************************************************** - * Function : toolbaritem2res - * Syntax : void toolbaritem2res(res_t *res, toolbar_item_t *tbitem) - * Input : - * Output : nop - * Description : - * Remarks : Self recursive - ***************************************************************************** -*/ -static void toolbaritem2res(res_t *res, toolbar_item_t *tbitem) -{ - toolbar_item_t *itm = tbitem; - assert(win32 != 0); - while(itm) - { - put_word(res, itm->id); - itm = itm->next; - } - -} - -/* - ***************************************************************************** - * Function : toolbar2res - * Syntax : res_t *toolbar2res(name_id_t *name, toolbar_t *toolbar) - * Input : - * name - Name/ordinal of the resource - * toolbar - The toolbar descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *toolbar2res(name_id_t *name, toolbar_t *toolbar) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(toolbar != NULL); - - res = new_res(); - if(win32) - { - restag = put_res_header(res, WRC_RT_TOOLBAR, NULL, name, toolbar->memopt, &(toolbar->lvc)); - - put_word(res, 1); /* Menuheader: Version */ - put_word(res, toolbar->button_width); /* (in pixels?) */ - put_word(res, toolbar->button_height); /* (in pixels?) */ - put_word(res, toolbar->nitems); - put_pad(res); - toolbaritem2res(res, toolbar->items); - /* Set ResourceSize */ - SetResSize(res, restag); - put_pad(res); - } - else /* win16 */ - { - /* Do not generate anything in 16-bit mode */ - free(res->data); - free(res); - return NULL; - } - return res; -} - -/* - ***************************************************************************** - * Function : dlginit2res - * Syntax : res_t *dlginit2res(name_id_t *name, dlginit_t *dit) - * Input : - * name - Name/ordinal of the resource - * rdt - The dlginit descriptor - * Output : New .res format structure - * Description : - * Remarks : - ***************************************************************************** -*/ -static res_t *dlginit2res(name_id_t *name, dlginit_t *dit) -{ - int restag; - res_t *res; - assert(name != NULL); - assert(dit != NULL); - - res = new_res(); - restag = put_res_header(res, WRC_RT_DLGINIT, NULL, name, dit->memopt, &(dit->data->lvc)); - put_raw_data(res, dit->data, 0); - /* Set ResourceSize */ - SetResSize(res, restag); - if(win32) - put_pad(res); - return res; -} - -/* - ***************************************************************************** - * Function : prep_nid_for_label - * Syntax : char *prep_nid_for_label(const name_id_t *nid) - * Input : - * Output : - * Description : Converts a resource name into the first 32 (or less) - * characters of the name with conversions. - * Remarks : - ***************************************************************************** -*/ -#define MAXNAMELEN 32 -char *prep_nid_for_label(const name_id_t *nid) -{ - static char buf[MAXNAMELEN+1]; - - assert(nid != NULL); - - if(nid->type == name_str && nid->name.s_name->type == str_unicode) - { - WCHAR *sptr; - int i; - sptr = nid->name.s_name->str.wstr; - buf[0] = '\0'; - for(i = 0; *sptr && i < MAXNAMELEN; i++) - { - if((unsigned)*sptr < 0x80 && isprint(*sptr & 0xff)) - buf[i] = *sptr++; - else - warning("Resourcename (str_unicode) contain unprintable characters or invalid translation, ignored\n"); - } - buf[i] = '\0'; - } - else if(nid->type == name_str && nid->name.s_name->type == str_char) - { - char *cptr; - int i; - cptr = nid->name.s_name->str.cstr; - buf[0] = '\0'; - for(i = 0; *cptr && i < MAXNAMELEN; i++) - { - if((unsigned)*cptr < 0x80 && isprint(*cptr & 0xff)) - buf[i] = *cptr++; - else - warning("Resourcename (str_char) contain unprintable characters, ignored\n"); - } - buf[i] = '\0'; - } - else if(nid->type == name_ord) - { - sprintf(buf, "%u", nid->name.i_name); - } - else - { - internal_error(__FILE__, __LINE__, "Resource name_id with invalid type %d\n", nid->type); - } - return buf; -} -#undef MAXNAMELEN - -/* - ***************************************************************************** - * Function : make_c_name - * Syntax : char *make_c_name(const char *base, const name_id_t *nid, const language_t *lan) - * Input : - * Output : - * Description : Converts a resource name into a valid c-identifier in the - * form "_base_nid". - * Remarks : - ***************************************************************************** -*/ -char *make_c_name(const char *base, const name_id_t *nid, const language_t *lan) -{ - char *buf = prep_nid_for_label(nid); - return strmake( "_%s_%s_%d", base, buf, lan ? MAKELANGID(lan->id, lan->sub) : 0); -} - -/* - ***************************************************************************** - * Function : get_c_typename - * Syntax : const char *get_c_typename(enum res_e type) - * Input : - * Output : - * Description : Convert resource enum to char string to be used in c-name - * creation. - * Remarks : - ***************************************************************************** -*/ -const char *get_c_typename(enum res_e type) -{ - switch(type) - { - case res_acc: return "Acc"; - case res_anicur:return "AniCur"; - case res_aniico:return "AniIco"; - case res_bmp: return "Bmp"; - case res_cur: return "Cur"; - case res_curg: return "CurGrp"; - case res_dlg: return "Dlg"; - case res_fnt: return "Fnt"; - case res_fntdir:return "FntDir"; - case res_ico: return "Ico"; - case res_icog: return "IcoGrp"; - case res_men: return "Men"; - case res_rdt: return "RCDat"; - case res_stt: return "StrTab"; - case res_usr: return "Usr"; - case res_msg: return "MsgTab"; - case res_ver: return "VerInf"; - case res_toolbar: return "TlBr"; - case res_dlginit: return "DlgInit"; - default: return "Oops"; - } -} - -/* - ***************************************************************************** - * Function : resources2res - * Syntax : void resources2res(resource_t *top) - * Input : - * top - The resource-tree to convert - * Output : - * Description : Convert logical resource descriptors into binary data - * Remarks : - ***************************************************************************** -*/ -void resources2res(resource_t *top) -{ - while(top) - { - switch(top->type) - { - case res_acc: - if(!top->binres) - top->binres = accelerator2res(top->name, top->res.acc); - break; - case res_bmp: - if(!top->binres) - top->binres = bitmap2res(top->name, top->res.bmp); - break; - case res_cur: - if(!top->binres) - top->binres = cursor2res(top->res.cur); - break; - case res_curg: - if(!top->binres) - top->binres = cursorgroup2res(top->name, top->res.curg); - break; - case res_dlg: - if(!top->binres) - top->binres = dialog2res(top->name, top->res.dlg); - break; - case res_fnt: - if(!top->binres) - top->binres = font2res(top->name, top->res.fnt); - break; - case res_fntdir: - if(!top->binres) - top->binres = fontdir2res(top->name, top->res.fnd); - break; - case res_ico: - if(!top->binres) - top->binres = icon2res(top->res.ico); - break; - case res_icog: - if(!top->binres) - top->binres = icongroup2res(top->name, top->res.icog); - break; - case res_men: - if(!top->binres) - top->binres = menu2res(top->name, top->res.men); - break; - case res_html: - if(!top->binres) - top->binres = html2res(top->name, top->res.html); - break; - case res_rdt: - if(!top->binres) - top->binres = rcdata2res(top->name, top->res.rdt); - break; - case res_stt: - if(!top->binres) - top->binres = stringtable2res(top->res.stt); - break; - case res_usr: - if(!top->binres) - top->binres = user2res(top->name, top->res.usr); - break; - case res_msg: - if(!top->binres) - top->binres = messagetable2res(top->name, top->res.msg); - break; - case res_ver: - if(!top->binres) - top->binres = versioninfo2res(top->name, top->res.ver); - break; - case res_toolbar: - if(!top->binres) - top->binres = toolbar2res(top->name, top->res.tbt); - break; - case res_dlginit: - if(!top->binres) - top->binres = dlginit2res(top->name, top->res.dlgi); - break; - case res_anicur: - case res_aniico: - if(!top->binres) - top->binres = anicurico2res(top->name, top->res.ani, top->type); - break; - default: - internal_error(__FILE__, __LINE__, "Unknown resource type encountered %d in binary res generation\n", top->type); - } - top->c_name = make_c_name(get_c_typename(top->type), top->name, top->lan); - top = top->next; - } -} diff --git a/reactos/tools/wrc/genres.h b/reactos/tools/wrc/genres.h deleted file mode 100644 index f8007d14cd9..00000000000 --- a/reactos/tools/wrc/genres.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Generate resource prototypes - * - * Copyright 1998 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WRC_GENRES_H -#define __WRC_GENRES_H - -#include "wrctypes.h" - -res_t *new_res(void); -res_t *grow_res(res_t *r, unsigned int add); -void put_byte(res_t *res, unsigned c); -void put_word(res_t *res, unsigned w); -void put_dword(res_t *res, unsigned d); -void resources2res(resource_t *top); -const char *get_c_typename(enum res_e type); -char *make_c_name(const char *base, const name_id_t *nid, const language_t *lan); -char *prep_nid_for_label(const name_id_t *nid); - -#endif diff --git a/reactos/tools/wrc/lex.yy.c b/reactos/tools/wrc/lex.yy.c deleted file mode 100644 index 4f3e64d4410..00000000000 --- a/reactos/tools/wrc/lex.yy.c +++ /dev/null @@ -1,2970 +0,0 @@ -#line 2 "lex.yy.c" - -#line 4 "lex.yy.c" - -#define YY_INT_ALIGNED short int - -/* A lexical scanner generated by flex */ - -#define yy_create_buffer parser__create_buffer -#define yy_delete_buffer parser__delete_buffer -#define yy_flex_debug parser__flex_debug -#define yy_init_buffer parser__init_buffer -#define yy_flush_buffer parser__flush_buffer -#define yy_load_buffer_state parser__load_buffer_state -#define yy_switch_to_buffer parser__switch_to_buffer -#define yyin parser_in -#define yyleng parser_leng -#define yylex parser_lex -#define yylineno parser_lineno -#define yyout parser_out -#define yyrestart parser_restart -#define yytext parser_text -#define yywrap parser_wrap -#define yyalloc parser_alloc -#define yyrealloc parser_realloc -#define yyfree parser_free - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 35 -#if YY_FLEX_SUBMINOR_VERSION > 0 -#define FLEX_BETA -#endif - -/* First, we deal with platform-specific or compiler-specific issues. */ - -/* begin standard C headers. */ -#include -#include -#include -#include - -/* end standard C headers. */ - -/* flex integer type definitions */ - -#ifndef FLEXINT_H -#define FLEXINT_H - -/* C99 systems have . Non-C99 systems may or may not. */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - -/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. - */ -#ifndef __STDC_LIMIT_MACROS -#define __STDC_LIMIT_MACROS 1 -#endif - -#include -typedef int8_t flex_int8_t; -typedef uint8_t flex_uint8_t; -typedef int16_t flex_int16_t; -typedef uint16_t flex_uint16_t; -typedef int32_t flex_int32_t; -typedef uint32_t flex_uint32_t; -#else -typedef signed char flex_int8_t; -typedef short int flex_int16_t; -typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; -typedef unsigned short int flex_uint16_t; -typedef unsigned int flex_uint32_t; - -/* Limits of integral types. */ -#ifndef INT8_MIN -#define INT8_MIN (-128) -#endif -#ifndef INT16_MIN -#define INT16_MIN (-32767-1) -#endif -#ifndef INT32_MIN -#define INT32_MIN (-2147483647-1) -#endif -#ifndef INT8_MAX -#define INT8_MAX (127) -#endif -#ifndef INT16_MAX -#define INT16_MAX (32767) -#endif -#ifndef INT32_MAX -#define INT32_MAX (2147483647) -#endif -#ifndef UINT8_MAX -#define UINT8_MAX (255U) -#endif -#ifndef UINT16_MAX -#define UINT16_MAX (65535U) -#endif -#ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) -#endif - -#endif /* ! C99 */ - -#endif /* ! FLEXINT_H */ - -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN (yy_start) = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START (((yy_start) - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE parser_restart(parser_in ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#ifndef YY_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k. - * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. - * Ditto for the __ia64__ case accordingly. - */ -#define YY_BUF_SIZE 32768 -#else -#define YY_BUF_SIZE 16384 -#endif /* __ia64__ */ -#endif - -/* The state buf must be large enough to hold one state per character in the main buffer. - */ -#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) - -#ifndef YY_TYPEDEF_YY_BUFFER_STATE -#define YY_TYPEDEF_YY_BUFFER_STATE -typedef struct yy_buffer_state *YY_BUFFER_STATE; -#endif - -extern int parser_leng; - -extern FILE *parser_in, *parser_out; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - - #define YY_LESS_LINENO(n) - -/* Return all but the first "n" matched characters back to the input stream. */ -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up parser_text. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - *yy_cp = (yy_hold_char); \ - YY_RESTORE_YY_MORE_OFFSET \ - (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up parser_text again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, (yytext_ptr) ) - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -#ifndef YY_STRUCT_YY_BUFFER_STATE -#define YY_STRUCT_YY_BUFFER_STATE -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - int yy_bs_lineno; /**< The line count. */ - int yy_bs_column; /**< The column count. */ - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; - -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via parser_restart()), so that the user can continue scanning by - * just pointing parser_in at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - - }; -#endif /* !YY_STRUCT_YY_BUFFER_STATE */ - -/* Stack of input buffers. */ -static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ -static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - * - * Returns the top of the stack, or NULL. - */ -#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ - ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ - : NULL) - -/* Same as previous macro, but useful when we know that the buffer stack is not - * NULL or when we need an lvalue. For internal use only. - */ -#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] - -/* yy_hold_char holds the character lost when parser_text is formed. */ -static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int parser_leng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 0; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow parser_wrap()'s to do buffer switches - * instead of setting up a fresh parser_in. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; - -void parser_restart (FILE *input_file ); -void parser__switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE parser__create_buffer (FILE *file,int size ); -void parser__delete_buffer (YY_BUFFER_STATE b ); -void parser__flush_buffer (YY_BUFFER_STATE b ); -void parser_push_buffer_state (YY_BUFFER_STATE new_buffer ); -void parser_pop_buffer_state (void ); - -static void parser_ensure_buffer_stack (void ); -static void parser__load_buffer_state (void ); -static void parser__init_buffer (YY_BUFFER_STATE b,FILE *file ); - -#define YY_FLUSH_BUFFER parser__flush_buffer(YY_CURRENT_BUFFER ) - -YY_BUFFER_STATE parser__scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE parser__scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE parser__scan_bytes (yyconst char *bytes,int len ); - -void *parser_alloc (yy_size_t ); -void *parser_realloc (void *,yy_size_t ); -void parser_free (void * ); - -#define yy_new_buffer parser__create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! YY_CURRENT_BUFFER ){ \ - parser_ensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - parser__create_buffer(parser_in,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! YY_CURRENT_BUFFER ){\ - parser_ensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - parser__create_buffer(parser_in,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) - -/* Begin user sect3 */ - -#define parser_wrap(n) 1 -#define YY_SKIP_YYWRAP - -typedef unsigned char YY_CHAR; - -FILE *parser_in = (FILE *) 0, *parser_out = (FILE *) 0; - -typedef int yy_state_type; - -extern int parser_lineno; - -int parser_lineno = 1; - -extern char *parser_text; -#define yytext_ptr parser_text - -static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yy_fatal_error (yyconst char msg[] ); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up parser_text. - */ -#define YY_DO_BEFORE_ACTION \ - (yytext_ptr) = yy_bp; \ - parser_leng = (size_t) (yy_cp - yy_bp); \ - (yy_hold_char) = *yy_cp; \ - *yy_cp = '\0'; \ - (yy_c_buf_p) = yy_cp; - -#define YY_NUM_RULES 80 -#define YY_END_OF_BUFFER 81 -/* This struct is not used in this scanner, - but its presence is necessary. */ -struct yy_trans_info - { - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; -static yyconst flex_int16_t yy_accept[191] = - { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, - 0, 0, 3, 3, 5, 5, 9, 9, 81, 79, - 77, 76, 77, 78, 41, 63, 17, 18, 14, 14, - 74, 17, 18, 12, 13, 77, 77, 2, 58, 62, - 43, 79, 39, 40, 21, 79, 68, 66, 67, 64, - 68, 70, 72, 71, 11, 10, 11, 11, 2, 3, - 5, 5, 9, 9, 77, 17, 18, 69, 18, 14, - 14, 17, 17, 74, 19, 77, 2, 2, 0, 58, - 42, 59, 56, 48, 56, 56, 44, 47, 49, 50, - 51, 52, 53, 54, 55, 56, 39, 20, 36, 34, - - 26, 34, 34, 22, 25, 27, 28, 29, 30, 31, - 32, 33, 34, 66, 65, 70, 71, 71, 73, 0, - 3, 5, 5, 9, 9, 9, 9, 9, 75, 18, - 16, 15, 0, 61, 48, 57, 60, 44, 47, 46, - 38, 26, 35, 37, 22, 25, 24, 5, 9, 8, - 9, 9, 16, 15, 0, 44, 45, 22, 24, 5, - 8, 9, 9, 0, 22, 24, 5, 9, 9, 0, - 22, 23, 5, 9, 9, 7, 0, 22, 5, 9, - 7, 1, 5, 9, 4, 9, 6, 4, 6, 0 - } ; - -static yyconst flex_int32_t yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 2, 4, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 6, 7, 8, 6, 6, 6, 9, 10, - 11, 12, 6, 6, 6, 13, 14, 15, 16, 16, - 16, 16, 16, 16, 16, 17, 18, 6, 19, 6, - 6, 6, 6, 6, 20, 20, 20, 20, 20, 20, - 13, 13, 13, 13, 13, 21, 13, 13, 22, 13, - 13, 13, 13, 13, 13, 13, 13, 23, 13, 13, - 6, 24, 6, 6, 25, 6, 26, 27, 28, 29, - - 30, 31, 32, 13, 13, 13, 13, 33, 34, 35, - 36, 37, 13, 38, 13, 39, 40, 41, 13, 42, - 13, 13, 43, 6, 44, 6, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst flex_int32_t yy_meta[45] = - { 0, - 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, - 1, 4, 5, 5, 6, 6, 6, 6, 1, 6, - 5, 5, 5, 7, 5, 6, 6, 6, 6, 6, - 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 1, 1 - } ; - -static yyconst flex_int16_t yy_base[224] = - { 0, - 0, 43, 43, 46, 49, 51, 74, 104, 52, 54, - 57, 134, 419, 412, 56, 58, 59, 62, 414, 629, - 83, 629, 91, 629, 629, 629, 101, 68, 135, 75, - 0, 140, 388, 629, 629, 158, 165, 124, 0, 629, - 139, 175, 0, 629, 179, 215, 629, 170, 629, 629, - 0, 0, 629, 98, 629, 629, 372, 192, 183, 0, - 0, 347, 0, 256, 203, 131, 355, 629, 296, 201, - 175, 211, 327, 0, 629, 207, 243, 247, 328, 0, - 260, 629, 629, 234, 349, 331, 260, 271, 629, 629, - 629, 629, 629, 629, 629, 0, 0, 288, 629, 629, - - 264, 322, 307, 294, 301, 629, 629, 629, 629, 629, - 629, 629, 0, 277, 629, 0, 102, 308, 629, 319, - 0, 0, 284, 0, 0, 357, 269, 255, 0, 397, - 349, 207, 265, 629, 324, 629, 629, 315, 319, 0, - 629, 344, 629, 629, 359, 363, 0, 253, 383, 0, - 239, 232, 220, 336, 227, 374, 629, 395, 0, 230, - 0, 203, 204, 170, 402, 0, 166, 158, 419, 169, - 410, 629, 154, 143, 427, 0, 367, 418, 133, 101, - 0, 391, 97, 440, 0, 444, 0, 0, 0, 629, - 455, 462, 469, 476, 483, 490, 497, 504, 507, 511, - - 518, 525, 531, 538, 544, 117, 551, 558, 565, 572, - 579, 586, 112, 93, 593, 75, 68, 600, 62, 57, - 607, 614, 621 - } ; - -static yyconst flex_int16_t yy_def[224] = - { 0, - 190, 1, 191, 191, 192, 192, 193, 193, 194, 194, - 195, 195, 196, 196, 197, 197, 198, 198, 190, 190, - 190, 190, 190, 190, 190, 190, 199, 200, 199, 29, - 201, 199, 200, 190, 190, 190, 190, 190, 202, 190, - 190, 203, 204, 190, 190, 205, 190, 190, 190, 190, - 206, 207, 190, 208, 190, 190, 190, 190, 190, 209, - 210, 210, 211, 211, 190, 199, 200, 190, 212, 29, - 199, 199, 199, 201, 190, 190, 190, 190, 190, 202, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 213, 204, 190, 190, 190, - - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 214, 190, 190, 207, 208, 208, 190, 190, - 209, 210, 210, 211, 64, 64, 211, 211, 215, 212, - 199, 73, 190, 190, 190, 190, 190, 190, 190, 216, - 190, 190, 190, 190, 190, 190, 217, 210, 211, 218, - 211, 211, 199, 199, 190, 190, 190, 190, 219, 210, - 218, 211, 211, 190, 190, 220, 210, 211, 211, 190, - 190, 190, 210, 211, 211, 221, 190, 190, 210, 211, - 221, 190, 210, 211, 222, 211, 223, 222, 223, 0, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190 - } ; - -static yyconst flex_int16_t yy_nxt[674] = - { 0, - 20, 21, 22, 21, 23, 24, 25, 24, 26, 24, - 24, 24, 27, 28, 29, 30, 30, 30, 31, 27, - 32, 27, 27, 33, 27, 27, 27, 27, 27, 27, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 27, 27, 34, 35, 36, 40, 36, 37, 40, 41, - 38, 44, 41, 44, 53, 45, 53, 45, 20, 56, - 20, 20, 172, 54, 20, 54, 42, 166, 64, 42, - 57, 64, 46, 159, 46, 48, 49, 48, 48, 68, - 157, 69, 50, 62, 65, 62, 65, 65, 51, 51, - 51, 51, 65, 51, 65, 65, 66, 66, 147, 51, - - 51, 51, 51, 51, 51, 48, 49, 48, 48, 118, - 66, 119, 50, 190, 67, 190, 66, 140, 51, 51, - 51, 51, 115, 51, 67, 78, 185, 78, 78, 51, - 51, 51, 51, 51, 51, 58, 56, 58, 58, 184, - 81, 59, 81, 81, 67, 82, 75, 57, 67, 70, - 70, 70, 70, 67, 67, 71, 72, 73, 67, 76, - 79, 76, 76, 67, 183, 77, 76, 71, 76, 76, - 72, 114, 77, 114, 114, 180, 73, 84, 85, 179, - 98, 86, 98, 98, 78, 99, 78, 78, 67, 87, - 87, 88, 88, 120, 177, 120, 120, 174, 67, 77, - - 89, 90, 173, 170, 65, 91, 65, 65, 76, 92, - 76, 76, 93, 94, 77, 95, 96, 101, 102, 79, - 169, 103, 66, 66, 67, 131, 131, 154, 168, 104, - 104, 105, 105, 67, 67, 135, 66, 135, 135, 154, - 106, 107, 66, 67, 78, 108, 78, 78, 78, 109, - 78, 78, 110, 111, 167, 112, 113, 125, 164, 125, - 125, 81, 163, 81, 81, 142, 134, 142, 142, 162, - 126, 126, 126, 126, 138, 138, 139, 139, 114, 79, - 114, 114, 160, 79, 127, 139, 139, 139, 139, 98, - 155, 98, 98, 152, 141, 128, 129, 129, 151, 129, - - 129, 129, 129, 129, 129, 129, 129, 129, 145, 145, - 146, 146, 148, 144, 129, 146, 146, 146, 146, 118, - 120, 119, 120, 120, 143, 135, 77, 135, 135, 156, - 156, 139, 139, 139, 139, 139, 139, 137, 129, 129, - 67, 132, 132, 132, 132, 142, 132, 142, 142, 67, - 67, 136, 132, 132, 132, 132, 132, 132, 149, 67, - 149, 149, 67, 131, 131, 133, 190, 150, 182, 153, - 182, 182, 67, 158, 158, 146, 146, 146, 146, 146, - 146, 153, 123, 68, 149, 124, 149, 149, 139, 139, - 139, 139, 182, 150, 182, 182, 124, 129, 129, 190, - - 129, 129, 129, 129, 129, 129, 129, 129, 129, 165, - 165, 146, 146, 190, 20, 129, 171, 171, 146, 146, - 175, 20, 175, 175, 178, 178, 146, 146, 175, 176, - 175, 175, 146, 146, 146, 146, 190, 176, 190, 129, - 129, 186, 190, 186, 186, 186, 190, 186, 186, 190, - 187, 190, 190, 190, 187, 39, 39, 39, 39, 39, - 39, 39, 43, 43, 43, 43, 43, 43, 43, 47, - 47, 47, 47, 47, 47, 47, 52, 52, 52, 52, - 52, 52, 52, 55, 55, 55, 55, 55, 55, 55, - 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, - - 61, 61, 61, 61, 63, 63, 63, 63, 63, 63, - 63, 66, 66, 66, 67, 67, 67, 67, 74, 190, - 74, 74, 74, 74, 74, 80, 190, 190, 80, 80, - 80, 83, 83, 83, 83, 83, 83, 83, 97, 190, - 190, 97, 97, 97, 100, 100, 100, 100, 100, 100, - 100, 116, 190, 116, 190, 116, 116, 116, 117, 190, - 117, 117, 117, 117, 117, 121, 190, 121, 121, 121, - 121, 121, 122, 190, 122, 122, 122, 122, 122, 124, - 190, 124, 124, 124, 124, 124, 130, 190, 130, 130, - 130, 130, 130, 129, 190, 129, 129, 129, 129, 129, - - 161, 190, 161, 161, 161, 161, 161, 181, 190, 181, - 181, 181, 181, 181, 188, 190, 188, 188, 188, 188, - 188, 189, 190, 189, 189, 189, 189, 189, 19, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190 - } ; - -static yyconst flex_int16_t yy_chk[674] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 3, 2, 2, 4, 3, - 2, 5, 4, 6, 9, 5, 10, 6, 15, 11, - 16, 17, 220, 9, 18, 10, 3, 219, 17, 4, - 11, 18, 5, 217, 6, 7, 7, 7, 7, 28, - 216, 28, 7, 15, 21, 16, 21, 21, 7, 7, - 7, 7, 23, 7, 23, 23, 30, 30, 214, 7, - - 7, 7, 7, 7, 7, 8, 8, 8, 8, 54, - 30, 54, 8, 117, 27, 117, 30, 213, 8, 8, - 8, 8, 206, 8, 27, 38, 183, 38, 38, 8, - 8, 8, 8, 8, 8, 12, 12, 12, 12, 180, - 41, 12, 41, 41, 66, 41, 32, 12, 29, 29, - 29, 29, 29, 32, 66, 29, 29, 29, 29, 36, - 38, 36, 36, 32, 179, 36, 37, 29, 37, 37, - 29, 48, 37, 48, 48, 174, 29, 42, 42, 173, - 45, 42, 45, 45, 59, 45, 59, 59, 71, 42, - 42, 42, 42, 58, 170, 58, 58, 168, 71, 58, - - 42, 42, 167, 164, 65, 42, 65, 65, 76, 42, - 76, 76, 42, 42, 76, 42, 42, 46, 46, 59, - 163, 46, 70, 70, 72, 72, 72, 132, 162, 46, - 46, 46, 46, 153, 72, 84, 70, 84, 84, 132, - 46, 46, 70, 153, 77, 46, 77, 77, 78, 46, - 78, 78, 46, 46, 160, 46, 46, 64, 155, 64, - 64, 81, 152, 81, 81, 101, 81, 101, 101, 151, - 64, 64, 64, 64, 87, 87, 87, 87, 114, 77, - 114, 114, 148, 78, 64, 88, 88, 88, 88, 98, - 133, 98, 98, 128, 98, 64, 69, 69, 127, 69, - - 69, 69, 69, 69, 69, 69, 69, 69, 104, 104, - 104, 104, 123, 103, 69, 105, 105, 105, 105, 118, - 120, 118, 120, 120, 102, 135, 120, 135, 135, 138, - 138, 138, 138, 139, 139, 139, 139, 86, 69, 69, - 73, 73, 73, 73, 73, 142, 73, 142, 142, 154, - 73, 85, 73, 73, 73, 73, 73, 73, 126, 154, - 126, 126, 131, 131, 131, 79, 67, 126, 177, 131, - 177, 177, 131, 145, 145, 145, 145, 146, 146, 146, - 146, 131, 62, 57, 149, 126, 149, 149, 156, 156, - 156, 156, 182, 149, 182, 182, 126, 130, 130, 33, - - 130, 130, 130, 130, 130, 130, 130, 130, 130, 158, - 158, 158, 158, 19, 14, 130, 165, 165, 165, 165, - 169, 13, 169, 169, 171, 171, 171, 171, 175, 169, - 175, 175, 178, 178, 178, 178, 0, 175, 0, 130, - 130, 184, 0, 184, 184, 186, 0, 186, 186, 0, - 184, 0, 0, 0, 186, 191, 191, 191, 191, 191, - 191, 191, 192, 192, 192, 192, 192, 192, 192, 193, - 193, 193, 193, 193, 193, 193, 194, 194, 194, 194, - 194, 194, 194, 195, 195, 195, 195, 195, 195, 195, - 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, - - 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, - 198, 199, 199, 199, 200, 200, 200, 200, 201, 0, - 201, 201, 201, 201, 201, 202, 0, 0, 202, 202, - 202, 203, 203, 203, 203, 203, 203, 203, 204, 0, - 0, 204, 204, 204, 205, 205, 205, 205, 205, 205, - 205, 207, 0, 207, 0, 207, 207, 207, 208, 0, - 208, 208, 208, 208, 208, 209, 0, 209, 209, 209, - 209, 209, 210, 0, 210, 210, 210, 210, 210, 211, - 0, 211, 211, 211, 211, 211, 212, 0, 212, 212, - 212, 212, 212, 215, 0, 215, 215, 215, 215, 215, - - 218, 0, 218, 218, 218, 218, 218, 221, 0, 221, - 221, 221, 221, 221, 222, 0, 222, 222, 222, 222, - 222, 223, 0, 223, 223, 223, 223, 223, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, - 190, 190, 190 - } ; - -static yy_state_type yy_last_accepting_state; -static char *yy_last_accepting_cpos; - -extern int parser__flex_debug; -int parser__flex_debug = 0; - -/* The intent behind this definition is that it'll catch - * any uses of REJECT which flex missed. - */ -#define REJECT reject_used_but_not_detected -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -char *parser_text; -#line 1 "parser.l" -/* -*-C-*- - * - * Copyright 1998-2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - * History: - * 21-May-2000 BS - Fixed the ident requirement of resource names - * which can be keywords. - * 30-Apr-2000 BS - Reintegration into the wine-tree - * 11-Jan-2000 BS - Very drastic cleanup because we don't have a - * preprocessor in here anymore. - * 02-Jan-2000 BS - Removed the preprocessor code - * 23-Dec-1999 BS - Removed the copyright for Martin von Loewis. - * There is really nothing left of his code in - * this parser. - * 20-Jun-1998 BS - Changed the filename conversion. Filenames are - * case-sensitive inder *nix, but not under dos. - * default behaviour is to convert to lower case. - * - All backslashes are converted to forward and - * both single and double slash is recognized as - * MS/Borland does. - * - Fixed a bug in 'yywf' case that prevented - * double quoted names to be scanned propperly. - * - * 19-May-1998 BS - Started to build a preprocessor. - * - Changed keyword processing completely to - * table-lookups. - * - * 20-Apr-1998 BS - Added ';' comment stripping - * - * 17-Apr-1998 BS - Made the win32 keywords optional when compiling in - * 16bit mode - * - * 15-Apr-1998 BS - Changed string handling to include escapes - * - Added unicode string handling (no codepage - * translation though). - * - 'Borrowed' the main idea of string scanning from - * the flex manual pages. - * - Added conditional handling of scanning depending - * on the state of the parser. This was mainly required - * to distinguish a file to load or raw data that - * follows. MS's definition of filenames is rather - * complex... It can be unquoted or double quoted. If - * double quoted, then the '\\' char is not automatically - * escaped according to Borland's rc compiler, but it - * accepts both "\\path\\file.rc" and "\path\file.rc". - * This makes life very hard! I go for the escaped - * version, as this seems to be the documented way... - * - Single quoted strings are now parsed and converted - * here. - * - Added comment stripping. The implementation is - * 'borrowed' from the flex manpages. - * - Rebuild string processing so that it may contain - * escaped '\0'. - */ -/* Exclusive string handling */ - -/* Exclusive unicode string handling */ - -/* Exclusive rcdata single quoted data handling */ - -/* Exclusive comment eating... */ - -/* Set when stripping c-junk */ - -/* Set when scanning #line style directives */ - -/* Set when scanning #pragma */ - - -#define YY_NO_INPUT 1 -/* Some shortcut definitions */ -#line 96 "parser.l" - -/*#define LEX_DEBUG*/ - -#include "config.h" - -#include -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#else -#define YY_NO_UNISTD_H -#endif - -#include "wine/unicode.h" -#include "wrc.h" -#include "utils.h" -#include "parser.h" -#include "newstruc.h" - -#include "parser.tab.h" - -/* Always update the current character position within a line */ -#define YY_USER_ACTION char_number+=parser_leng; wanted_id = want_id; want_id = 0; - -#define YY_USER_INIT current_codepage = -1; - -static void addcchar(char c); -static void addwchar(WCHAR s); -static string_t *get_buffered_cstring(void); -static string_t *get_buffered_wstring(void); -static string_t *make_string(char *s); - -static char *cbuffer; /* Buffers for string collection */ -static int cbufidx; -static int cbufalloc = 0; -static WCHAR *wbuffer; -static int wbufidx; -static int wbufalloc = 0; - -static int current_codepage = -1; /* use language default */ - -/* - * This one is a bit tricky. - * We set 'want_id' in the parser to get the first - * identifier we get across in the scanner, but we - * also want it to be reset at nearly any token we - * see. Exceptions are: - * - newlines - * - comments - * - whitespace - * - * The scanner will automatically reset 'want_id' - * after *each* scanner reduction and puts is value - * into the var below. In this way we can see the - * state after the YY_RULE_SETUP (i.e. the user action; - * see above) and don't have to worry too much when - * it needs to be reset. - */ -static int wanted_id = 0; -static int save_wanted_id; /* To save across comment reductions */ - -struct keyword { - const char *keyword; - int token; - int isextension; - int needcase; - int alwayskw; -}; - -static struct keyword keywords[] = { - { "ACCELERATORS", tACCELERATORS, 0, 0, 0}, - { "ALT", tALT, 0, 0, 0}, - { "ASCII", tASCII, 0, 0, 0}, - { "AUTO3STATE", tAUTO3STATE, 1, 0, 0}, - { "AUTOCHECKBOX", tAUTOCHECKBOX, 1, 0, 0}, - { "AUTORADIOBUTTON", tAUTORADIOBUTTON, 1, 0, 0}, - { "BEGIN", tBEGIN, 0, 0, 0}, - { "BITMAP", tBITMAP, 0, 0, 0}, - { "BLOCK", tBLOCK, 0, 0, 0}, - { "BUTTON", tBUTTON, 1, 0, 0}, - { "CAPTION", tCAPTION, 0, 0, 0}, - { "CHARACTERISTICS", tCHARACTERISTICS, 1, 0, 0}, - { "CHECKBOX", tCHECKBOX, 0, 0, 0}, - { "CHECKED", tCHECKED, 0, 0, 0}, - { "CLASS", tCLASS, 0, 0, 0}, - { "COMBOBOX", tCOMBOBOX, 0, 0, 0}, - { "CONTROL", tCONTROL, 0, 0, 0}, - { "CTEXT", tCTEXT, 0, 0, 0}, - { "CURSOR", tCURSOR, 0, 0, 0}, - { "DEFPUSHBUTTON", tDEFPUSHBUTTON, 0, 0, 0}, - { "DIALOG", tDIALOG, 0, 0, 0}, - { "DIALOGEX", tDIALOGEX, 1, 0, 0}, - { "DISCARDABLE", tDISCARDABLE, 0, 0, 0}, - { "DLGINIT", tDLGINIT, 0, 0, 0}, - { "EDITTEXT", tEDITTEXT, 0, 0, 0}, - { "END", tEND, 0, 0, 0}, - { "EXSTYLE", tEXSTYLE, 0, 0, 0}, - { "FILEFLAGS", tFILEFLAGS, 0, 0, 0}, - { "FILEFLAGSMASK", tFILEFLAGSMASK, 0, 0, 0}, - { "FILEOS", tFILEOS, 0, 0, 0}, - { "FILESUBTYPE", tFILESUBTYPE, 0, 0, 0}, - { "FILETYPE", tFILETYPE, 0, 0, 0}, - { "FILEVERSION", tFILEVERSION, 0, 0, 0}, - { "FIXED", tFIXED, 0, 0, 0}, - { "FONT", tFONT, 0, 0, 0}, - { "FONTDIR", tFONTDIR, 0, 0, 0}, /* This is a Borland BRC extension */ - { "GRAYED", tGRAYED, 0, 0, 0}, - { "GROUPBOX", tGROUPBOX, 0, 0, 0}, - { "HELP", tHELP, 0, 0, 0}, - { "HTML", tHTML, 0, 0, 0}, - { "ICON", tICON, 0, 0, 0}, - { "IMPURE", tIMPURE, 0, 0, 0}, - { "INACTIVE", tINACTIVE, 0, 0, 0}, - { "LANGUAGE", tLANGUAGE, 1, 0, 1}, - { "LISTBOX", tLISTBOX, 0, 0, 0}, - { "LOADONCALL", tLOADONCALL, 0, 0, 0}, - { "LTEXT", tLTEXT, 0, 0, 0}, - { "MENU", tMENU, 0, 0, 0}, - { "MENUBARBREAK", tMENUBARBREAK, 0, 0, 0}, - { "MENUBREAK", tMENUBREAK, 0, 0, 0}, - { "MENUEX", tMENUEX, 1, 0, 0}, - { "MENUITEM", tMENUITEM, 0, 0, 0}, - { "MESSAGETABLE", tMESSAGETABLE, 1, 0, 0}, - { "MOVEABLE", tMOVEABLE, 0, 0, 0}, - { "NOINVERT", tNOINVERT, 0, 0, 0}, - { "NOT", tNOT, 0, 0, 0}, - { "POPUP", tPOPUP, 0, 0, 0}, - { "PRELOAD", tPRELOAD, 0, 0, 0}, - { "PRODUCTVERSION", tPRODUCTVERSION, 0, 0, 0}, - { "PURE", tPURE, 0, 0, 0}, - { "PUSHBUTTON", tPUSHBUTTON, 0, 0, 0}, - { "RADIOBUTTON", tRADIOBUTTON, 0, 0, 0}, - { "RCDATA", tRCDATA, 0, 0, 0}, - { "RTEXT", tRTEXT, 0, 0, 0}, - { "SCROLLBAR", tSCROLLBAR, 0, 0, 0}, - { "SEPARATOR", tSEPARATOR, 0, 0, 0}, - { "SHIFT", tSHIFT, 0, 0, 0}, - { "STATE3", tSTATE3, 1, 0, 0}, - { "STRING", tSTRING, 0, 0, 0}, - { "STRINGTABLE", tSTRINGTABLE, 0, 0, 1}, - { "STYLE", tSTYLE, 0, 0, 0}, - { "TOOLBAR", tTOOLBAR, 1, 0, 0}, - { "VALUE", tVALUE, 0, 0, 0}, - { "VERSION", tVERSION, 1, 0, 0}, - { "VERSIONINFO", tVERSIONINFO, 0, 0, 0}, - { "VIRTKEY", tVIRTKEY, 0, 0, 0} -}; - -#define NKEYWORDS (sizeof(keywords)/sizeof(keywords[0])) -#define KWP(p) ((const struct keyword *)(p)) -static int kw_cmp_func(const void *s1, const void *s2) -{ - int ret; - ret = strcasecmp(KWP(s1)->keyword, KWP(s2)->keyword); - if(!ret && (KWP(s1)->needcase || KWP(s2)->needcase)) - return strcmp(KWP(s1)->keyword, KWP(s2)->keyword); - else - return ret; -} - -#define KW_BSEARCH -#define DO_SORT -static struct keyword *iskeyword(char *kw) -{ - struct keyword *kwp; - struct keyword key; - key.keyword = kw; - key.needcase = 0; -#ifdef DO_SORT - { - /* Make sure that it is sorted for bsearsh */ - static int sorted = 0; - if(!sorted) - { - qsort(keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func); - sorted = 1; - } - } -#endif -#ifdef KW_BSEARCH - kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func); -#else - { - int i; - for(i = 0; i < NKEYWORDS; i++) - { - if(!kw_cmp_func(&key, &keywords[i])) - break; - } - if(i < NKEYWORDS) - kwp = &keywords[i]; - else - kwp = NULL; - } -#endif - - if(kwp == NULL || (kwp->isextension && !extensions)) - return NULL; - else - return kwp; -} - -/* converts an integer in string form to an unsigned long and prints an error - * on overflow */ -static unsigned long xstrtoul(const char *nptr, char **endptr, int base) -{ - unsigned long l; - - errno = 0; - l = strtoul(nptr, endptr, base); - if (l == ULONG_MAX && errno == ERANGE) - parser_error("integer constant %s is too large", nptr); - return l; -} - -/* - ************************************************************************** - * The flexer starts here - ************************************************************************** - */ -#line 1010 "lex.yy.c" - -#define INITIAL 0 -#define tkstr 1 -#define tklstr 2 -#define tkrcd 3 -#define comment 4 -#define pp_cstrip 5 -#define pp_line 6 -#define pp_pragma 7 -#define pp_code_page 8 - -#ifndef YY_NO_UNISTD_H -/* Special case for "unistd.h", since it is non-ANSI. We include it way - * down here because we want the user's section 1 to have been scanned first. - * The user has a chance to override it with an option. - */ -#include -#endif - -#ifndef YY_EXTRA_TYPE -#define YY_EXTRA_TYPE void * -#endif - -static int yy_init_globals (void ); - -/* Accessor methods to globals. - These are made visible to non-reentrant scanners for convenience. */ - -int parser_lex_destroy (void ); - -int parser_get_debug (void ); - -void parser_set_debug (int debug_flag ); - -YY_EXTRA_TYPE parser_get_extra (void ); - -void parser_set_extra (YY_EXTRA_TYPE user_defined ); - -FILE *parser_get_in (void ); - -void parser_set_in (FILE * in_str ); - -FILE *parser_get_out (void ); - -void parser_set_out (FILE * out_str ); - -int parser_get_leng (void ); - -char *parser_get_text (void ); - -int parser_get_lineno (void ); - -void parser_set_lineno (int line_number ); - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int parser_wrap (void ); -#else -extern int parser_wrap (void ); -#endif -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); -#endif - -#ifndef YY_NO_INPUT - -#ifdef __cplusplus -static int yyinput (void ); -#else -static int input (void ); -#endif - -#endif - - static int yy_start_stack_ptr = 0; - static int yy_start_stack_depth = 0; - static int *yy_start_stack = NULL; - - static void yy_push_state (int new_state ); - - static void yy_pop_state (void ); - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#ifdef __ia64__ -/* On IA-64, the buffer size is 16k, not 8k */ -#define YY_READ_BUF_SIZE 16384 -#else -#define YY_READ_BUF_SIZE 8192 -#endif /* __ia64__ */ -#endif - -/* Copy whatever the last rule matched to the standard output. */ -#ifndef ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO do { if (fwrite( parser_text, parser_leng, 1, parser_out )) {} } while (0) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ - { \ - int c = '*'; \ - size_t n; \ - for ( n = 0; n < max_size && \ - (c = getc( parser_in )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( parser_in ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else \ - { \ - errno=0; \ - while ( (result = fread(buf, 1, max_size, parser_in))==0 && ferror(parser_in)) \ - { \ - if( errno != EINTR) \ - { \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - break; \ - } \ - errno=0; \ - clearerr(parser_in); \ - } \ - }\ -\ - -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* end tables serialization structures and prototypes */ - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL_IS_OURS 1 - -extern int parser_lex (void); - -#define YY_DECL int parser_lex (void) -#endif /* !YY_DECL */ - -/* Code executed at the beginning of each rule, after parser_text and parser_leng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - if ( parser_leng > 0 ) \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ - (parser_text[parser_leng - 1] == '\n'); \ - YY_USER_ACTION - -/** The main scanner function which does all the work. - */ -YY_DECL -{ - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 324 "parser.l" - - /* - * Catch the GCC-style line statements here and parse them. - * This has the advantage that you can #include at any - * stage in the resource file. - * The preprocessor generates line directives in the format: - * # "filename" - * - * Codes can be a sequence of: - * - 1 start of new file - * - 2 returning to previous - * - 3 system header - * - 4 interpret as C-code - * - * 4 is not used and 1 mutually excludes 2 - * Anyhow, we are not really interested in these at all - * because we only want to know the linenumber and - * filename. - */ -#line 1234 "lex.yy.c" - - if ( !(yy_init) ) - { - (yy_init) = 1; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! parser_in ) - parser_in = stdin; - - if ( ! parser_out ) - parser_out = stdout; - - if ( ! YY_CURRENT_BUFFER ) { - parser_ensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - parser__create_buffer(parser_in,YY_BUF_SIZE ); - } - - parser__load_buffer_state( ); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = (yy_c_buf_p); - - /* Support of parser_text. */ - *yy_cp = (yy_hold_char); - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = (yy_start); - yy_current_state += YY_AT_BOL(); -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 191 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while ( yy_current_state != 190 ); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - -yy_find_action: - yy_act = yy_accept[yy_current_state]; - - YY_DO_BEFORE_ACTION; - -do_action: /* This label is used only to access EOF actions. */ - - switch ( yy_act ) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = (yy_hold_char); - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - -case 1: -YY_RULE_SETUP -#line 343 "parser.l" -yy_push_state(pp_pragma); - YY_BREAK -case 2: -YY_RULE_SETUP -#line 344 "parser.l" -yy_push_state(pp_line); - YY_BREAK -case 3: -YY_RULE_SETUP -#line 345 "parser.l" -{ - int lineno, len; - char *cptr; - char *fname; - yy_pop_state(); - lineno = (int)strtol(parser_text, &cptr, 10); - if(!lineno) - parser_error("Malformed '#...' line-directive; invalid linenumber"); - fname = strchr(cptr, '"'); - if(!fname) - parser_error("Malformed '#...' line-directive; missing filename"); - fname++; - cptr = strchr(fname, '"'); - if(!cptr) - parser_error("Malformed '#...' line-directive; missing terminating \""); - *cptr = '\0'; - line_number = lineno - 1; /* We didn't read the newline */ - input_name = xstrdup(fname); - /* ignore contents of C include files */ - len = strlen(input_name); - if (len > 1 && !strcasecmp( input_name + len - 2, ".h" )) - BEGIN(pp_cstrip); - else - BEGIN(INITIAL); - } - YY_BREAK -case 4: -YY_RULE_SETUP -#line 371 "parser.l" -yyless(9); yy_pop_state(); yy_push_state(pp_code_page); - YY_BREAK -case 5: -YY_RULE_SETUP -#line 372 "parser.l" -yy_pop_state(); if (pedantic) parser_warning("Unrecognized #pragma directive '%s'\n",parser_text); - YY_BREAK -case 6: -YY_RULE_SETUP -#line 374 "parser.l" -current_codepage = -1; yy_pop_state(); - YY_BREAK -case 7: -YY_RULE_SETUP -#line 375 "parser.l" -current_codepage = CP_UTF8; yy_pop_state(); - YY_BREAK -case 8: -YY_RULE_SETUP -#line 376 "parser.l" -{ - char *p = parser_text; - yy_pop_state(); - while (*p < '0' || *p > '9') p++; - current_codepage = strtol( p, NULL, 10 ); - if (current_codepage != CP_UTF8 && !wine_cp_get_table( current_codepage )) - { - parser_error("Codepage %d not supported", current_codepage); - current_codepage = 0; - } - } - YY_BREAK -case 9: -YY_RULE_SETUP -#line 387 "parser.l" -yy_pop_state(); parser_error("Malformed #pragma code_page directive"); - YY_BREAK -/* - * Strip everything until a ';' taking - * into account braces {} for structures, - * classes and enums. - */ -case 10: -/* rule 10 can match eol */ -YY_RULE_SETUP -#line 394 "parser.l" -line_number++; char_number = 1; - YY_BREAK -case 11: -YY_RULE_SETUP -#line 395 "parser.l" -; /* ignore */ - YY_BREAK -case 12: -YY_RULE_SETUP -#line 397 "parser.l" -return tBEGIN; - YY_BREAK -case 13: -YY_RULE_SETUP -#line 398 "parser.l" -return tEND; - YY_BREAK -case 14: -YY_RULE_SETUP -#line 400 "parser.l" -{ parser_lval.num = xstrtoul(parser_text, 0, 10); - return (parser_text[parser_leng-1] == 'L' || parser_text[parser_leng-1] == 'l') ? tLNUMBER : tNUMBER; } - YY_BREAK -case 15: -YY_RULE_SETUP -#line 402 "parser.l" -{ parser_lval.num = xstrtoul(parser_text, 0, 16); - return (parser_text[parser_leng-1] == 'L' || parser_text[parser_leng-1] == 'l') ? tLNUMBER : tNUMBER; } - YY_BREAK -case 16: -YY_RULE_SETUP -#line 404 "parser.l" -{ parser_lval.num = xstrtoul(parser_text+2, 0, 8); - return (parser_text[parser_leng-1] == 'L' || parser_text[parser_leng-1] == 'l') ? tLNUMBER : tNUMBER; } - YY_BREAK -/* - * The next two rules scan identifiers and filenames. - * This is achieved by using the priority ruling - * of the scanner where a '.' is valid in a filename - * and *only* in a filename. In this case, the second - * rule will be reduced because it is longer. - */ -case 17: -YY_RULE_SETUP -#line 414 "parser.l" -{ - struct keyword *tok = iskeyword(parser_text); - - if(tok) - { - if(wanted_id && !tok->alwayskw) - { - parser_lval.str = make_string(parser_text); - return tIDENT; - } - else - return tok->token; - } - else - { - parser_lval.str = make_string(parser_text); - return tIDENT; - } - } - YY_BREAK -case 18: -YY_RULE_SETUP -#line 433 "parser.l" -parser_lval.str = make_string(parser_text); return tFILENAME; - YY_BREAK -/* - * Wide string scanning - */ -case 19: -YY_RULE_SETUP -#line 438 "parser.l" -{ - yy_push_state(tklstr); - wbufidx = 0; - if(!win32) - parser_warning("16bit resource contains unicode strings\n"); - } - YY_BREAK -case 20: -#line 445 "parser.l" -case 21: -YY_RULE_SETUP -#line 445 "parser.l" -{ - yy_pop_state(); - parser_lval.str = get_buffered_wstring(); - return tSTRING; - } - YY_BREAK -case 22: -YY_RULE_SETUP -#line 450 "parser.l" -{ /* octal escape sequence */ - unsigned int result; - result = strtoul(parser_text+1, 0, 8); - if ( result > 0xffff ) - parser_error("Character constant out of range"); - addwchar((WCHAR)result); - } - YY_BREAK -case 23: -YY_RULE_SETUP -#line 457 "parser.l" -{ /* hex escape sequence */ - unsigned int result; - result = strtoul(parser_text+2, 0, 16); - addwchar((WCHAR)result); - } - YY_BREAK -case 24: -YY_RULE_SETUP -#line 462 "parser.l" -{ parser_error("Invalid hex escape sequence '%s'", parser_text); } - YY_BREAK -case 25: -YY_RULE_SETUP -#line 464 "parser.l" -parser_error("Bad escape sequence"); - YY_BREAK -case 26: -/* rule 26 can match eol */ -YY_RULE_SETUP -#line 465 "parser.l" -line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */ - YY_BREAK -case 27: -YY_RULE_SETUP -#line 466 "parser.l" -addwchar('\a'); - YY_BREAK -case 28: -YY_RULE_SETUP -#line 467 "parser.l" -addwchar('\b'); - YY_BREAK -case 29: -YY_RULE_SETUP -#line 468 "parser.l" -addwchar('\f'); - YY_BREAK -case 30: -YY_RULE_SETUP -#line 469 "parser.l" -addwchar('\n'); - YY_BREAK -case 31: -YY_RULE_SETUP -#line 470 "parser.l" -addwchar('\r'); - YY_BREAK -case 32: -YY_RULE_SETUP -#line 471 "parser.l" -addwchar('\t'); - YY_BREAK -case 33: -YY_RULE_SETUP -#line 472 "parser.l" -addwchar('\v'); - YY_BREAK -case 34: -YY_RULE_SETUP -#line 473 "parser.l" -{ - if (parser_text[1] & 0x80) - parser_error("Invalid char %u in wide string", (unsigned char)parser_text[1]); - addwchar(parser_text[1]); - } - YY_BREAK -case 35: -/* rule 35 can match eol */ -YY_RULE_SETUP -#line 478 "parser.l" -addwchar(parser_text[2]); line_number++; char_number = 1; - YY_BREAK -case 36: -YY_RULE_SETUP -#line 479 "parser.l" -addwchar('\"'); /* "bla""bla" -> "bla\"bla" */ - YY_BREAK -case 37: -YY_RULE_SETUP -#line 480 "parser.l" -addwchar('\"'); /* "bla\""bla" -> "bla\"bla" */ - YY_BREAK -case 38: -YY_RULE_SETUP -#line 481 "parser.l" -; /* "bla" "bla" -> "blabla" */ - YY_BREAK -case 39: -YY_RULE_SETUP -#line 482 "parser.l" -{ - char *yptr = parser_text; - while(*yptr) /* FIXME: codepage translation */ - { - if (*yptr & 0x80) - parser_error("Invalid char %u in wide string", (unsigned char)*yptr); - addwchar(*yptr++ & 0xff); - } - } - YY_BREAK -case 40: -/* rule 40 can match eol */ -YY_RULE_SETUP -#line 491 "parser.l" -parser_error("Unterminated string"); - YY_BREAK -/* - * Normal string scanning - */ -case 41: -YY_RULE_SETUP -#line 496 "parser.l" -yy_push_state(tkstr); cbufidx = 0; - YY_BREAK -case 42: -#line 498 "parser.l" -case 43: -YY_RULE_SETUP -#line 498 "parser.l" -{ - yy_pop_state(); - parser_lval.str = get_buffered_cstring(); - return tSTRING; - } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 503 "parser.l" -{ /* octal escape sequence */ - int result; - result = strtol(parser_text+1, 0, 8); - if ( result > 0xff ) - parser_error("Character constant out of range"); - addcchar((char)result); - } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 510 "parser.l" -{ /* hex escape sequence */ - int result; - result = strtol(parser_text+2, 0, 16); - addcchar((char)result); - } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 515 "parser.l" -{ parser_error("Invalid hex escape sequence '%s'", parser_text); } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 517 "parser.l" -parser_error("Bad escape sequence"); - YY_BREAK -case 48: -/* rule 48 can match eol */ -YY_RULE_SETUP -#line 518 "parser.l" -line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */ - YY_BREAK -case 49: -YY_RULE_SETUP -#line 519 "parser.l" -addcchar('\a'); - YY_BREAK -case 50: -YY_RULE_SETUP -#line 520 "parser.l" -addcchar('\b'); - YY_BREAK -case 51: -YY_RULE_SETUP -#line 521 "parser.l" -addcchar('\f'); - YY_BREAK -case 52: -YY_RULE_SETUP -#line 522 "parser.l" -addcchar('\n'); - YY_BREAK -case 53: -YY_RULE_SETUP -#line 523 "parser.l" -addcchar('\r'); - YY_BREAK -case 54: -YY_RULE_SETUP -#line 524 "parser.l" -addcchar('\t'); - YY_BREAK -case 55: -YY_RULE_SETUP -#line 525 "parser.l" -addcchar('\v'); - YY_BREAK -case 56: -YY_RULE_SETUP -#line 526 "parser.l" -addcchar(parser_text[1]); - YY_BREAK -case 57: -/* rule 57 can match eol */ -YY_RULE_SETUP -#line 527 "parser.l" -addcchar(parser_text[2]); line_number++; char_number = 1; - YY_BREAK -case 58: -YY_RULE_SETUP -#line 528 "parser.l" -{ - char *yptr = parser_text; - while(*yptr) - addcchar(*yptr++); - } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 533 "parser.l" -addcchar('\"'); /* "bla""bla" -> "bla\"bla" */ - YY_BREAK -case 60: -YY_RULE_SETUP -#line 534 "parser.l" -addcchar('\"'); /* "bla\""bla" -> "bla\"bla" */ - YY_BREAK -case 61: -YY_RULE_SETUP -#line 535 "parser.l" -; /* "bla" "bla" -> "blabla" */ - YY_BREAK -case 62: -/* rule 62 can match eol */ -YY_RULE_SETUP -#line 536 "parser.l" -parser_error("Unterminated string"); - YY_BREAK -/* - * Raw data scanning - */ -case 63: -YY_RULE_SETUP -#line 541 "parser.l" -yy_push_state(tkrcd); cbufidx = 0; - YY_BREAK -case 64: -YY_RULE_SETUP -#line 542 "parser.l" -{ - yy_pop_state(); - parser_lval.raw = new_raw_data(); - parser_lval.raw->size = cbufidx; - parser_lval.raw->data = xmalloc(parser_lval.raw->size); - memcpy(parser_lval.raw->data, cbuffer, parser_lval.raw->size); - return tRAWDATA; - } - YY_BREAK -case 65: -YY_RULE_SETUP -#line 550 "parser.l" -{ - int result; - result = strtol(parser_text, 0, 16); - addcchar((char)result); - } - YY_BREAK -case 66: -YY_RULE_SETUP -#line 555 "parser.l" -; /* Ignore space */ - YY_BREAK -case 67: -/* rule 67 can match eol */ -YY_RULE_SETUP -#line 556 "parser.l" -line_number++; char_number = 1; - YY_BREAK -case 68: -YY_RULE_SETUP -#line 557 "parser.l" -parser_error("Malformed data-line"); - YY_BREAK -/* - * Comment stripping - * Should never occur after preprocessing - */ -case 69: -YY_RULE_SETUP -#line 563 "parser.l" -{ - yy_push_state(comment); - save_wanted_id = wanted_id; - if(!no_preprocess) - parser_warning("Found comments after preprocessing, please report\n"); - } - YY_BREAK -case 70: -YY_RULE_SETUP -#line 569 "parser.l" -; - YY_BREAK -case 71: -YY_RULE_SETUP -#line 570 "parser.l" -; - YY_BREAK -case 72: -/* rule 72 can match eol */ -YY_RULE_SETUP -#line 571 "parser.l" -line_number++; char_number = 1; - YY_BREAK -case 73: -YY_RULE_SETUP -#line 572 "parser.l" -yy_pop_state(); want_id = save_wanted_id; - YY_BREAK -case 74: -YY_RULE_SETUP -#line 574 "parser.l" -want_id = wanted_id; /* not really comment, but left-over c-junk */ - YY_BREAK -case 75: -YY_RULE_SETUP -#line 575 "parser.l" -want_id = wanted_id; if(!no_preprocess) parser_warning("Found comments after preprocessing, please report\n"); - YY_BREAK -case 76: -/* rule 76 can match eol */ -YY_RULE_SETUP -#line 577 "parser.l" -{ - want_id = wanted_id; - line_number++; - char_number = 1; - if(want_nl) - { - want_nl = 0; - return tNL; - } - } - YY_BREAK -case 77: -YY_RULE_SETUP -#line 587 "parser.l" -want_id = wanted_id; /* Eat whitespace */ - YY_BREAK -case 78: -YY_RULE_SETUP -#line 589 "parser.l" -return parser_text[0]; - YY_BREAK -case 79: -/* rule 79 can match eol */ -YY_RULE_SETUP -#line 591 "parser.l" -{ - /* Catch all rule to find any unmatched text */ - if(*parser_text == '\n') - { - line_number++; - char_number = 1; - } - parser_error("Unmatched text '%c' (0x%02x) YY_START=%d", - isprint((unsigned char)*parser_text) ? *parser_text : '.', *parser_text, YY_START); - } - YY_BREAK -case 80: -YY_RULE_SETUP -#line 602 "parser.l" -ECHO; - YY_BREAK -#line 1882 "lex.yy.c" -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(tkstr): -case YY_STATE_EOF(tklstr): -case YY_STATE_EOF(tkrcd): -case YY_STATE_EOF(comment): -case YY_STATE_EOF(pp_cstrip): -case YY_STATE_EOF(pp_line): -case YY_STATE_EOF(pp_pragma): -case YY_STATE_EOF(pp_code_page): - yyterminate(); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = (yy_hold_char); - YY_RESTORE_YY_MORE_OFFSET - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed parser_in at a new source and called - * parser_lex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = parser_in; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++(yy_c_buf_p); - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = (yy_last_accepting_cpos); - yy_current_state = (yy_last_accepting_state); - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_END_OF_FILE: - { - (yy_did_buffer_switch_on_eof) = 0; - - if ( parser_wrap( ) ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * parser_text, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = - (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - (yy_c_buf_p) = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ -} /* end of parser_lex */ - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ -static int yy_get_next_buffer (void) -{ - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; - int ret_val; - - if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; - - else - { - int num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER; - - int yy_c_buf_p_offset = - (int) ((yy_c_buf_p) - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - parser_realloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - - number_to_move - 1; - - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), (size_t) num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - if ( (yy_n_chars) == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - parser_restart(parser_in ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { - /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) parser_realloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } - - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; - - (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; - - return ret_val; -} - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - - static yy_state_type yy_get_previous_state (void) -{ - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = (yy_start); - yy_current_state += YY_AT_BOL(); - - for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 191 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - } - - return yy_current_state; -} - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) -{ - register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); - - register YY_CHAR yy_c = 1; - if ( yy_accept[yy_current_state] ) - { - (yy_last_accepting_state) = yy_current_state; - (yy_last_accepting_cpos) = yy_cp; - } - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 191 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 190); - - return yy_is_jam ? 0 : yy_current_state; -} - -#ifndef YY_NO_INPUT -#ifdef __cplusplus - static int yyinput (void) -#else - static int input (void) -#endif - -{ - int c; - - *(yy_c_buf_p) = (yy_hold_char); - - if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - /* This was really a NUL. */ - *(yy_c_buf_p) = '\0'; - - else - { /* need more input */ - int offset = (yy_c_buf_p) - (yytext_ptr); - ++(yy_c_buf_p); - - switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - parser_restart(parser_in ); - - /*FALLTHROUGH*/ - - case EOB_ACT_END_OF_FILE: - { - if ( parser_wrap( ) ) - return EOF; - - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = (yytext_ptr) + offset; - break; - } - } - } - - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve parser_text */ - (yy_hold_char) = *++(yy_c_buf_p); - - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); - - return c; -} -#endif /* ifndef YY_NO_INPUT */ - -/** Immediately switch to a different input stream. - * @param input_file A readable stream. - * - * @note This function does not reset the start condition to @c INITIAL . - */ - void parser_restart (FILE * input_file ) -{ - - if ( ! YY_CURRENT_BUFFER ){ - parser_ensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - parser__create_buffer(parser_in,YY_BUF_SIZE ); - } - - parser__init_buffer(YY_CURRENT_BUFFER,input_file ); - parser__load_buffer_state( ); -} - -/** Switch to a different input buffer. - * @param new_buffer The new input buffer. - * - */ - void parser__switch_to_buffer (YY_BUFFER_STATE new_buffer ) -{ - - /* TODO. We should be able to replace this entire function body - * with - * parser_pop_buffer_state(); - * parser_push_buffer_state(new_buffer); - */ - parser_ensure_buffer_stack (); - if ( YY_CURRENT_BUFFER == new_buffer ) - return; - - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - YY_CURRENT_BUFFER_LVALUE = new_buffer; - parser__load_buffer_state( ); - - /* We don't actually know whether we did this switch during - * EOF (parser_wrap()) processing, but the only time this flag - * is looked at is after parser_wrap() is called, so it's safe - * to go ahead and always set it. - */ - (yy_did_buffer_switch_on_eof) = 1; -} - -static void parser__load_buffer_state (void) -{ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - parser_in = YY_CURRENT_BUFFER_LVALUE->yy_input_file; - (yy_hold_char) = *(yy_c_buf_p); -} - -/** Allocate and initialize an input buffer state. - * @param file A readable stream. - * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * - * @return the allocated buffer state. - */ - YY_BUFFER_STATE parser__create_buffer (FILE * file, int size ) -{ - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) parser_alloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in parser__create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) parser_alloc(b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in parser__create_buffer()" ); - - b->yy_is_our_buffer = 1; - - parser__init_buffer(b,file ); - - return b; -} - -/** Destroy the buffer. - * @param b a buffer created with parser__create_buffer() - * - */ - void parser__delete_buffer (YY_BUFFER_STATE b ) -{ - - if ( ! b ) - return; - - if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ - YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - parser_free((void *) b->yy_ch_buf ); - - parser_free((void *) b ); -} - -/* Initializes or reinitializes a buffer. - * This function is sometimes called more than once on the same buffer, - * such as during a parser_restart() or at EOF. - */ - static void parser__init_buffer (YY_BUFFER_STATE b, FILE * file ) - -{ - int oerrno = errno; - - parser__flush_buffer(b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - - /* If b is the current buffer, then parser__init_buffer was _probably_ - * called from parser_restart() or through yy_get_next_buffer. - * In that case, we don't want to reset the lineno or column. - */ - if (b != YY_CURRENT_BUFFER){ - b->yy_bs_lineno = 1; - b->yy_bs_column = 0; - } - - b->yy_is_interactive = 0; - - errno = oerrno; -} - -/** Discard all buffered characters. On the next scan, YY_INPUT will be called. - * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * - */ - void parser__flush_buffer (YY_BUFFER_STATE b ) -{ - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == YY_CURRENT_BUFFER ) - parser__load_buffer_state( ); -} - -/** Pushes the new state onto the stack. The new state becomes - * the current state. This function will allocate the stack - * if necessary. - * @param new_buffer The new state. - * - */ -void parser_push_buffer_state (YY_BUFFER_STATE new_buffer ) -{ - if (new_buffer == NULL) - return; - - parser_ensure_buffer_stack(); - - /* This block is copied from parser__switch_to_buffer. */ - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - /* Only push if top exists. Otherwise, replace top. */ - if (YY_CURRENT_BUFFER) - (yy_buffer_stack_top)++; - YY_CURRENT_BUFFER_LVALUE = new_buffer; - - /* copied from parser__switch_to_buffer. */ - parser__load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; -} - -/** Removes and deletes the top of the stack, if present. - * The next element becomes the new top. - * - */ -void parser_pop_buffer_state (void) -{ - if (!YY_CURRENT_BUFFER) - return; - - parser__delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - if ((yy_buffer_stack_top) > 0) - --(yy_buffer_stack_top); - - if (YY_CURRENT_BUFFER) { - parser__load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; - } -} - -/* Allocates the stack if it does not exist. - * Guarantees space for at least one push. - */ -static void parser_ensure_buffer_stack (void) -{ - int num_to_alloc; - - if (!(yy_buffer_stack)) { - - /* First allocation is just for 2 elements, since we don't know if this - * scanner will even need a stack. We use 2 instead of 1 to avoid an - * immediate realloc on the next call. - */ - num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)parser_alloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in parser_ensure_buffer_stack()" ); - - memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - - (yy_buffer_stack_max) = num_to_alloc; - (yy_buffer_stack_top) = 0; - return; - } - - if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ - - /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; - - num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)parser_realloc - ((yy_buffer_stack), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in parser_ensure_buffer_stack()" ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); - (yy_buffer_stack_max) = num_to_alloc; - } -} - -/** Setup the input buffer state to scan directly from a user-specified character buffer. - * @param base the character buffer - * @param size the size in bytes of the character buffer - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE parser__scan_buffer (char * base, yy_size_t size ) -{ - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) parser_alloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in parser__scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - parser__switch_to_buffer(b ); - - return b; -} - -/** Setup the input buffer state to scan a string. The next call to parser_lex() will - * scan from a @e copy of @a str. - * @param yystr a NUL-terminated string to scan - * - * @return the newly allocated buffer state object. - * @note If you want to scan bytes that may contain NUL values, then use - * parser__scan_bytes() instead. - */ -YY_BUFFER_STATE parser__scan_string (yyconst char * yystr ) -{ - - return parser__scan_bytes(yystr,strlen(yystr) ); -} - -/** Setup the input buffer state to scan the given bytes. The next call to parser_lex() will - * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE parser__scan_bytes (yyconst char * yybytes, int _yybytes_len ) -{ - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; - int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; - buf = (char *) parser_alloc(n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in parser__scan_bytes()" ); - - for ( i = 0; i < _yybytes_len; ++i ) - buf[i] = yybytes[i]; - - buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - - b = parser__scan_buffer(buf,n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in parser__scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; -} - - static void yy_push_state (int new_state ) -{ - if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) - { - yy_size_t new_size; - - (yy_start_stack_depth) += YY_START_STACK_INCR; - new_size = (yy_start_stack_depth) * sizeof( int ); - - if ( ! (yy_start_stack) ) - (yy_start_stack) = (int *) parser_alloc(new_size ); - - else - (yy_start_stack) = (int *) parser_realloc((void *) (yy_start_stack),new_size ); - - if ( ! (yy_start_stack) ) - YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); - } - - (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; - - BEGIN(new_state); -} - - static void yy_pop_state (void) -{ - if ( --(yy_start_stack_ptr) < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); -} - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -static void yy_fatal_error (yyconst char* msg ) -{ - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); -} - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up parser_text. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - parser_text[parser_leng] = (yy_hold_char); \ - (yy_c_buf_p) = parser_text + yyless_macro_arg; \ - (yy_hold_char) = *(yy_c_buf_p); \ - *(yy_c_buf_p) = '\0'; \ - parser_leng = yyless_macro_arg; \ - } \ - while ( 0 ) - -/* Accessor methods (get/set functions) to struct members. */ - -/** Get the current line number. - * - */ -int parser_get_lineno (void) -{ - - return parser_lineno; -} - -/** Get the input stream. - * - */ -FILE *parser_get_in (void) -{ - return parser_in; -} - -/** Get the output stream. - * - */ -FILE *parser_get_out (void) -{ - return parser_out; -} - -/** Get the length of the current token. - * - */ -int parser_get_leng (void) -{ - return parser_leng; -} - -/** Get the current token. - * - */ - -char *parser_get_text (void) -{ - return parser_text; -} - -/** Set the current line number. - * @param line_number - * - */ -void parser_set_lineno (int line_number ) -{ - - parser_lineno = line_number; -} - -/** Set the input stream. This does not discard the current - * input buffer. - * @param in_str A readable stream. - * - * @see parser__switch_to_buffer - */ -void parser_set_in (FILE * in_str ) -{ - parser_in = in_str ; -} - -void parser_set_out (FILE * out_str ) -{ - parser_out = out_str ; -} - -int parser_get_debug (void) -{ - return parser__flex_debug; -} - -void parser_set_debug (int bdebug ) -{ - parser__flex_debug = bdebug ; -} - -static int yy_init_globals (void) -{ - /* Initialization is the same as for the non-reentrant scanner. - * This function is called from parser_lex_destroy(), so don't allocate here. - */ - - (yy_buffer_stack) = 0; - (yy_buffer_stack_top) = 0; - (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; - (yy_init) = 0; - (yy_start) = 0; - - (yy_start_stack_ptr) = 0; - (yy_start_stack_depth) = 0; - (yy_start_stack) = NULL; - -/* Defined in main.c */ -#ifdef YY_STDINIT - parser_in = stdin; - parser_out = stdout; -#else - parser_in = (FILE *) 0; - parser_out = (FILE *) 0; -#endif - - /* For future reference: Set errno on error, since we are called by - * parser_lex_init() - */ - return 0; -} - -/* parser_lex_destroy is for both reentrant and non-reentrant scanners. */ -int parser_lex_destroy (void) -{ - - /* Pop the buffer stack, destroying each element. */ - while(YY_CURRENT_BUFFER){ - parser__delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - parser_pop_buffer_state(); - } - - /* Destroy the stack itself. */ - parser_free((yy_buffer_stack) ); - (yy_buffer_stack) = NULL; - - /* Destroy the start condition stack. */ - parser_free((yy_start_stack) ); - (yy_start_stack) = NULL; - - /* Reset the globals. This is important in a non-reentrant scanner so the next time - * parser_lex() is called, initialization will occur. */ - yy_init_globals( ); - - return 0; -} - -/* - * Internal utility routines. - */ - -#ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -{ - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; -} -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) -{ - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; -} -#endif - -void *parser_alloc (yy_size_t size ) -{ - return (void *) malloc( size ); -} - -void *parser_realloc (void * ptr, yy_size_t size ) -{ - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); -} - -void parser_free (void * ptr ) -{ - free( (char *) ptr ); /* see parser_realloc() for (char *) cast */ -} - -#define YYTABLES_NAME "yytables" - -#line 602 "parser.l" - - - -/* These dup functions copy the enclosed '\0' from - * the resource string. - */ -static void addcchar(char c) -{ - if(cbufidx >= cbufalloc) - { - cbufalloc += 1024; - cbuffer = xrealloc(cbuffer, cbufalloc * sizeof(cbuffer[0])); - if(cbufalloc > 65536) - parser_warning("Reallocating string buffer larger than 64kB\n"); - } - cbuffer[cbufidx++] = c; -} - -static void addwchar(WCHAR s) -{ - if(wbufidx >= wbufalloc) - { - wbufalloc += 1024; - wbuffer = xrealloc(wbuffer, wbufalloc * sizeof(wbuffer[0])); - if(wbufalloc > 65536) - parser_warning("Reallocating wide string buffer larger than 64kB\n"); - } - wbuffer[wbufidx++] = s; -} - -static string_t *get_buffered_cstring(void) -{ - string_t *str = new_string(); - - str->size = cbufidx; - str->type = str_char; - str->str.cstr = xmalloc(cbufidx+1); - memcpy(str->str.cstr, cbuffer, cbufidx); - str->str.cstr[cbufidx] = '\0'; - - if (!current_codepage || current_codepage == -1 || !win32) /* store as ANSI string */ - { - if (!current_codepage) parser_error("Codepage set to Unicode only, cannot use ASCII string here"); - return str; - } - else /* convert to Unicode before storing */ - { - string_t *str_w = convert_string( str, str_unicode, current_codepage ); - if (!check_unicode_conversion( str, str_w, current_codepage )) - parser_error("String %s does not convert identically to Unicode and back in codepage %d. " - "Try using a Unicode string instead", str->str.cstr, current_codepage ); - if (check_valid_utf8( str, current_codepage )) - parser_warning( "string \"%s\" seems to be UTF-8 but codepage %u is in use.\n", - str->str.cstr, current_codepage ); - free_string( str ); - return str_w; - } -} - -static string_t *get_buffered_wstring(void) -{ - string_t *str = new_string(); - str->size = wbufidx; - str->type = str_unicode; - str->str.wstr = xmalloc((wbufidx+1)*sizeof(WCHAR)); - memcpy(str->str.wstr, wbuffer, wbufidx*sizeof(WCHAR)); - str->str.wstr[wbufidx] = 0; - return str; -} - -static string_t *make_string(char *s) -{ - string_t *str = new_string(); - str->size = strlen(s); - str->type = str_char; - str->str.cstr = xmalloc(str->size+1); - memcpy(str->str.cstr, s, str->size+1); - return str; -} - diff --git a/reactos/tools/wrc/newstruc.c b/reactos/tools/wrc/newstruc.c deleted file mode 100644 index de9d4880459..00000000000 --- a/reactos/tools/wrc/newstruc.c +++ /dev/null @@ -1,1272 +0,0 @@ -/* - * Create dynamic new structures of various types - * and some utils in that trend. - * - * Copyright 1998 Bertho A. Stultiens - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include "config.h" - -#include -#include -#include -#include -#include - -#include "wrc.h" -#include "newstruc.h" -#include "utils.h" -#include "parser.h" - -#include -typedef struct -{ - DWORD biSize; - WORD biWidth; - WORD biHeight; - WORD biPlanes; - WORD biBitCount; -} BITMAPOS2HEADER; -#include - -/* New instances for all types of structures */ -/* Very inefficient (in size), but very functional :-] - * Especially for type-checking. - */ - -dialog_t *new_dialog(void) -{ - dialog_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -name_id_t *new_name_id(void) -{ - name_id_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -menu_t *new_menu(void) -{ - menu_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -menu_item_t *new_menu_item(void) -{ - menu_item_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -control_t *new_control(void) -{ - control_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -icon_t *new_icon(void) -{ - icon_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -cursor_t *new_cursor(void) -{ - cursor_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -versioninfo_t *new_versioninfo(void) -{ - versioninfo_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -ver_value_t *new_ver_value(void) -{ - ver_value_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -ver_block_t *new_ver_block(void) -{ - ver_block_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -stt_entry_t *new_stt_entry(void) -{ - stt_entry_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -accelerator_t *new_accelerator(void) -{ - accelerator_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -event_t *new_event(void) -{ - event_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -raw_data_t *new_raw_data(void) -{ - raw_data_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -lvc_t *new_lvc(void) -{ - lvc_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -res_count_t *new_res_count(void) -{ - res_count_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -string_t *new_string(void) -{ - string_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - set_location( &ret->loc ); - return ret; -} - -toolbar_item_t *new_toolbar_item(void) -{ - toolbar_item_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -ani_any_t *new_ani_any(void) -{ - ani_any_t *ret = xmalloc( sizeof(*ret) ); - memset( ret, 0, sizeof(*ret) ); - return ret; -} - -resource_t *new_resource(enum res_e t, void *res, int memopt, language_t *lan) -{ - resource_t *r = xmalloc(sizeof(resource_t)); - memset( r, 0, sizeof(*r) ); - r->type = t; - r->res.overlay = res; - r->memopt = memopt; - r->lan = lan; - return r; -} - -version_t *new_version(DWORD v) -{ - version_t *vp = xmalloc(sizeof(version_t)); - *vp = v; - return vp; -} - -characts_t *new_characts(DWORD c) -{ - characts_t *cp = xmalloc(sizeof(characts_t)); - *cp = c; - return cp; -} - -language_t *new_language(int id, int sub) -{ - language_t *lan = xmalloc(sizeof(language_t)); - lan->id = id; - lan->sub = sub; - return lan; -} - -language_t *dup_language(language_t *l) -{ - if(!l) return NULL; - return new_language(l->id, l->sub); -} - -version_t *dup_version(version_t *v) -{ - if(!v) return NULL; - return new_version(*v); -} - -characts_t *dup_characts(characts_t *c) -{ - if(!c) return NULL; - return new_characts(*c); -} - -html_t *new_html(raw_data_t *rd, int *memopt) -{ - html_t *html = xmalloc(sizeof(html_t)); - html->data = rd; - if(memopt) - { - html->memopt = *memopt; - free(memopt); - } - else - html->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; - return html; -} - -rcdata_t *new_rcdata(raw_data_t *rd, int *memopt) -{ - rcdata_t *rc = xmalloc(sizeof(rcdata_t)); - rc->data = rd; - if(memopt) - { - rc->memopt = *memopt; - free(memopt); - } - else - rc->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; - return rc; -} - -font_id_t *new_font_id(int size, string_t *face, int weight, int italic) -{ - font_id_t *fid = xmalloc(sizeof(font_id_t)); - fid->name = face; - fid->size = size; - fid->weight = weight; - fid->italic = italic; - return fid; -} - -user_t *new_user(name_id_t *type, raw_data_t *rd, int *memopt) -{ - user_t *usr = xmalloc(sizeof(user_t)); - usr->data = rd; - if(memopt) - { - usr->memopt = *memopt; - free(memopt); - } - else - usr->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; - usr->type = type; - return usr; -} - -font_t *new_font(raw_data_t *rd, int *memopt) -{ - font_t *fnt = xmalloc(sizeof(font_t)); - fnt->data = rd; - if(memopt) - { - fnt->memopt = *memopt; - free(memopt); - } - else - fnt->memopt = WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE; - return fnt; -} - -fontdir_t *new_fontdir(raw_data_t *rd, int *memopt) -{ - fontdir_t *fnd = xmalloc(sizeof(fontdir_t)); - fnd->data = rd; - if(memopt) - { - fnd->memopt = *memopt; - free(memopt); - } - else - fnd->memopt = WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE; - return fnd; -} - - -/* - * Convert bitmaps to proper endian - */ -static void convert_bitmap_swap(BITMAPV5HEADER *bh, DWORD size) -{ - bh->bV5Size = BYTESWAP_DWORD(bh->bV5Size); - bh->bV5Width = BYTESWAP_DWORD(bh->bV5Width); - bh->bV5Height = BYTESWAP_DWORD(bh->bV5Height); - bh->bV5Planes = BYTESWAP_WORD(bh->bV5Planes); - bh->bV5BitCount = BYTESWAP_WORD(bh->bV5BitCount); - bh->bV5Compression = BYTESWAP_DWORD(bh->bV5Compression); - bh->bV5SizeImage = BYTESWAP_DWORD(bh->bV5SizeImage); - bh->bV5XPelsPerMeter = BYTESWAP_DWORD(bh->bV5XPelsPerMeter); - bh->bV5YPelsPerMeter = BYTESWAP_DWORD(bh->bV5YPelsPerMeter); - bh->bV5ClrUsed = BYTESWAP_DWORD(bh->bV5ClrUsed); - bh->bV5ClrImportant = BYTESWAP_DWORD(bh->bV5ClrImportant); - if (size == sizeof(BITMAPINFOHEADER)) return; - bh->bV5RedMask = BYTESWAP_DWORD(bh->bV5RedMask); - bh->bV5GreenMask = BYTESWAP_DWORD(bh->bV5GreenMask); - bh->bV5BlueMask = BYTESWAP_DWORD(bh->bV5BlueMask); - bh->bV5AlphaMask = BYTESWAP_DWORD(bh->bV5AlphaMask); - bh->bV5CSType = BYTESWAP_DWORD(bh->bV5CSType); - bh->bV5Endpoints.ciexyzRed.ciexyzX = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzRed.ciexyzX); - bh->bV5Endpoints.ciexyzRed.ciexyzY = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzRed.ciexyzY); - bh->bV5Endpoints.ciexyzRed.ciexyzZ = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzRed.ciexyzZ); - bh->bV5Endpoints.ciexyzGreen.ciexyzX = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzGreen.ciexyzX); - bh->bV5Endpoints.ciexyzGreen.ciexyzY = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzGreen.ciexyzY); - bh->bV5Endpoints.ciexyzGreen.ciexyzZ = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzGreen.ciexyzZ); - bh->bV5Endpoints.ciexyzBlue.ciexyzX = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzBlue.ciexyzX); - bh->bV5Endpoints.ciexyzBlue.ciexyzY = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzBlue.ciexyzY); - bh->bV5Endpoints.ciexyzBlue.ciexyzZ = BYTESWAP_DWORD(bh->bV5Endpoints.ciexyzBlue.ciexyzZ); - bh->bV5GammaRed = BYTESWAP_DWORD(bh->bV5GammaRed); - bh->bV5GammaGreen = BYTESWAP_DWORD(bh->bV5GammaGreen); - bh->bV5GammaBlue = BYTESWAP_DWORD(bh->bV5GammaBlue); - if (size == sizeof(BITMAPV4HEADER)) return; - bh->bV5Intent = BYTESWAP_DWORD(bh->bV5Intent); - bh->bV5ProfileData = BYTESWAP_DWORD(bh->bV5ProfileData); - bh->bV5ProfileSize = BYTESWAP_DWORD(bh->bV5ProfileSize); - bh->bV5Reserved = BYTESWAP_DWORD(bh->bV5Reserved); -} - -static void convert_bitmap_swap_os2(BITMAPOS2HEADER *boh) -{ - boh->biSize = BYTESWAP_DWORD(boh->biSize); - boh->biWidth = BYTESWAP_WORD(boh->biWidth); - boh->biHeight = BYTESWAP_WORD(boh->biHeight); - boh->biPlanes = BYTESWAP_WORD(boh->biPlanes); - boh->biBitCount = BYTESWAP_WORD(boh->biBitCount); -} - -#define FL_SIGBE 0x01 -#define FL_SIZEBE 0x02 -static int convert_bitmap(char *data, int size) -{ - BITMAPV5HEADER *bih = (BITMAPV5HEADER *)data; - BITMAPOS2HEADER *boh = (BITMAPOS2HEADER *)data; - DWORD bmsize; - int type = 0; - int returnSize = 0; /* size to be returned */ - - /* - * Originally the bih and b4h pointers were simply incremented here, - * and memmoved at the end of the function. This causes alignment - * issues on solaris, so we do the memmove here rather than at the end. - */ - if(data[0] == 'B' && data[1] == 'M') - { - /* Little endian signature */ - memmove(data, data+sizeof(BITMAPFILEHEADER), size - sizeof(BITMAPFILEHEADER)); - returnSize = sizeof(BITMAPFILEHEADER); - } - else if(data[0] == 'M' && data[1] == 'B') - { - type |= FL_SIGBE; /* Big endian signature */ - memmove(data, data+sizeof(BITMAPFILEHEADER), size - sizeof(BITMAPFILEHEADER)); - returnSize = sizeof(BITMAPFILEHEADER); - - } - - bmsize = bih->bV5Size; - if (bmsize >> 16) /* assume swapped */ - { -#ifndef WORDS_BIGENDIAN - type |= FL_SIZEBE; -#endif - bmsize = BYTESWAP_DWORD( bmsize ); - } - else - { -#ifdef WORDS_BIGENDIAN - type |= FL_SIZEBE; -#endif - } - - switch (bmsize) - { - case sizeof(BITMAPOS2HEADER): - case sizeof(BITMAPINFOHEADER): - case sizeof(BITMAPV4HEADER): - case sizeof(BITMAPV5HEADER): - break; - default: - parser_error("Invalid bitmap format, bih->biSize = %d", bih->bV5Size); - } - - switch(type) - { - case FL_SIZEBE: - parser_warning("Bitmap signature little-endian, but size big-endian\n"); - break; - case FL_SIGBE: - parser_warning("Bitmap signature big-endian, but size little-endian\n"); - break; - } - - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - if(!(type & FL_SIZEBE)) - { - if (bmsize == sizeof(BITMAPOS2HEADER)) - convert_bitmap_swap_os2(boh); - else - convert_bitmap_swap(bih, bmsize); - } - break; -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - if(type & FL_SIZEBE) - { - if (bmsize == sizeof(BITMAPOS2HEADER)) - convert_bitmap_swap_os2(boh); - else - convert_bitmap_swap(bih, bmsize); - } - break; - } - - if(size && (void *)data != (void *)bih) - { - /* We have the fileheader still attached, remove it */ - memmove(data, data+sizeof(BITMAPFILEHEADER), size - sizeof(BITMAPFILEHEADER)); - return sizeof(BITMAPFILEHEADER); - } - return returnSize; -} -#undef FL_SIGBE -#undef FL_SIZEBE - -/* - * Cursor and icon splitter functions used when allocating - * cursor- and icon-groups. - */ -typedef struct { - language_t lan; - int id; -} id_alloc_t; - -static int get_new_id(id_alloc_t **list, int *n, language_t *lan) -{ - int i; - assert(lan != NULL); - assert(list != NULL); - assert(n != NULL); - - if(!*list) - { - *list = xmalloc(sizeof(id_alloc_t)); - *n = 1; - (*list)[0].lan = *lan; - (*list)[0].id = 1; - return 1; - } - - for(i = 0; i < *n; i++) - { - if((*list)[i].lan.id == lan->id && (*list)[i].lan.sub == lan->sub) - return ++((*list)[i].id); - } - - *list = xrealloc(*list, sizeof(id_alloc_t) * (*n+1)); - (*list)[*n].lan = *lan; - (*list)[*n].id = 1; - *n += 1; - return 1; -} - -static int alloc_icon_id(language_t *lan) -{ - static id_alloc_t *idlist = NULL; - static int nid = 0; - - return get_new_id(&idlist, &nid, lan); -} - -static int alloc_cursor_id(language_t *lan) -{ - static id_alloc_t *idlist = NULL; - static int nid = 0; - - return get_new_id(&idlist, &nid, lan); -} - -static void split_icons(raw_data_t *rd, icon_group_t *icog, int *nico) -{ - int cnt; - int i; - icon_t *ico; - icon_t *list = NULL; - icon_header_t *ih = (icon_header_t *)rd->data; - int swap = 0; - - if(ih->type == 1) - swap = 0; - else if(BYTESWAP_WORD(ih->type) == 1) - swap = 1; - else - parser_error("Icon resource data has invalid type id %d", ih->type); - - cnt = swap ? BYTESWAP_WORD(ih->count) : ih->count; - for(i = 0; i < cnt; i++) - { - icon_dir_entry_t ide; - BITMAPINFOHEADER info; - memcpy(&ide, rd->data + sizeof(icon_header_t) - + i*sizeof(icon_dir_entry_t), sizeof(ide)); - - ico = new_icon(); - ico->id = alloc_icon_id(icog->lvc.language); - ico->lvc = icog->lvc; - if(swap) - { - ide.offset = BYTESWAP_DWORD(ide.offset); - ide.ressize= BYTESWAP_DWORD(ide.ressize); - } - if(ide.offset > rd->size - || ide.offset + ide.ressize > rd->size) - parser_error("Icon resource data corrupt"); - ico->width = ide.width; - ico->height = ide.height; - ico->nclr = ide.nclr; - ico->planes = swap ? BYTESWAP_WORD(ide.planes) : ide.planes; - ico->bits = swap ? BYTESWAP_WORD(ide.bits) : ide.bits; - memcpy(&info, rd->data + ide.offset, sizeof(info)); - convert_bitmap((char *) &info, 0); - memcpy(rd->data + ide.offset, &info, sizeof(info)); - - if(!ico->planes) - { - /* Argh! They did not fill out the resdir structure */ - /* The bitmap is in destination byteorder. We want native for our structures */ - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - case WRC_BO_LITTLE: -#else - case WRC_BO_BIG: -#endif - ico->planes = BYTESWAP_WORD(info.biPlanes); - break; - default: - ico->planes = info.biPlanes; - } - } - if(!ico->bits) - { - /* Argh! They did not fill out the resdir structure */ - /* The bitmap is in destination byteorder. We want native for our structures */ - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - case WRC_BO_LITTLE: -#else - case WRC_BO_BIG: -#endif - ico->bits = BYTESWAP_WORD(info.biBitCount); - break; - default: - ico->bits = info.biBitCount; - } - } - ico->data = new_raw_data(); - copy_raw_data(ico->data, rd, ide.offset, ide.ressize); - if(!list) - { - list = ico; - } - else - { - ico->next = list; - list->prev = ico; - list = ico; - } - } - icog->iconlist = list; - *nico = cnt; -} - -static void split_cursors(raw_data_t *rd, cursor_group_t *curg, int *ncur) -{ - int cnt; - int i; - cursor_t *cur; - cursor_t *list = NULL; - cursor_header_t *ch = (cursor_header_t *)rd->data; - int swap = 0; - - if(ch->type == 2) - swap = 0; - else if(BYTESWAP_WORD(ch->type) == 2) - swap = 1; - else - parser_error("Cursor resource data has invalid type id %d", ch->type); - cnt = swap ? BYTESWAP_WORD(ch->count) : ch->count; - for(i = 0; i < cnt; i++) - { - cursor_dir_entry_t cde; - BITMAPINFOHEADER info; - memcpy(&cde, rd->data + sizeof(cursor_header_t) - + i*sizeof(cursor_dir_entry_t), sizeof(cde)); - - cur = new_cursor(); - cur->id = alloc_cursor_id(curg->lvc.language); - cur->lvc = curg->lvc; - if(swap) - { - cde.offset = BYTESWAP_DWORD(cde.offset); - cde.ressize= BYTESWAP_DWORD(cde.ressize); - } - if(cde.offset > rd->size - || cde.offset + cde.ressize > rd->size) - parser_error("Cursor resource data corrupt"); - cur->width = cde.width; - cur->height = cde.height; - cur->nclr = cde.nclr; - memcpy(&info, rd->data + cde.offset, sizeof(info)); - convert_bitmap((char *)&info, 0); - memcpy(rd->data + cde.offset, &info, sizeof(info)); - /* The bitmap is in destination byteorder. We want native for our structures */ - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - case WRC_BO_LITTLE: -#else - case WRC_BO_BIG: -#endif - cur->planes = BYTESWAP_WORD(info.biPlanes); - cur->bits = BYTESWAP_WORD(info.biBitCount); - break; - default: - cur->planes = info.biPlanes; - cur->bits = info.biBitCount; - } - if(!win32 && (cur->planes != 1 || cur->bits != 1)) - parser_warning("Win16 cursor contains colors\n"); - cur->xhot = swap ? BYTESWAP_WORD(cde.xhot) : cde.xhot; - cur->yhot = swap ? BYTESWAP_WORD(cde.yhot) : cde.yhot; - cur->data = new_raw_data(); - copy_raw_data(cur->data, rd, cde.offset, cde.ressize); - if(!list) - { - list = cur; - } - else - { - cur->next = list; - list->prev = cur; - list = cur; - } - } - curg->cursorlist = list; - *ncur = cnt; -} - - -icon_group_t *new_icon_group(raw_data_t *rd, int *memopt) -{ - icon_group_t *icog = xmalloc(sizeof(icon_group_t)); - if(memopt) - { - icog->memopt = *memopt; - free(memopt); - } - else - icog->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE; - icog->lvc = rd->lvc; - split_icons(rd, icog, &(icog->nicon)); - free(rd->data); - free(rd); - return icog; -} - -cursor_group_t *new_cursor_group(raw_data_t *rd, int *memopt) -{ - cursor_group_t *curg = xmalloc(sizeof(cursor_group_t)); - if(memopt) - { - curg->memopt = *memopt; - free(memopt); - } - else - curg->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE; - curg->lvc = rd->lvc; - split_cursors(rd, curg, &(curg->ncursor)); - free(rd->data); - free(rd); - return curg; -} - -/* - * Animated cursors and icons - * - * The format of animated cursors and icons is yet another example - * of bad design by "The Company". The entire RIFF structure is - * flawed by design because it is inconsistent and single minded: - * - some tags have lengths attached, others don't. The use of these - * non-length tags is absolutely unclear; - * - the content of "icon" tags can be both icons and cursors; - * - tags lack proper alignment constraints. It seems that everything - * is 16bit aligned, but I could not find that in any docu. Just be - * prepared to eat anything; - * - there are no strict constraints on tag-nesting and the organization - * is highly illogical; - * - * Anyhow, here is the basic structure: - * "RIFF" { dword taglength } - * "ACON" // What does it do? - * "LIST" { dword taglength } - * "INFO" // And what does this do? - * "INAM" { dword taglength } // Icon/cursor name - * {inam data} - * "IART" { dword taglength } // The artist - * {iart data} - * "fram" // Is followed by "icon"s - * "icon" { dword taglength } // First frame - * { icon/cursor data } - * "icon" { dword taglength } // Second frame - * { icon/cursor data } - * ... // ... - * "anih" { dword taglength } // Header structure - * { aniheader_t structure } - * "rate" { dword taglength } // The rate for each frame - * { `steps' dwords } - * "seq " { dword taglength } // The frame blit-order - * { `steps' dwords } - * - * Tag length are bytelength without the header and length field (i.e. -8). - * The "LIST" tag may occur several times and may encapsulate different - * tags. The `steps' is the number of "icon" tags found (actually the - * number of steps specified in the aniheader_t structure). The "seq "uence - * tag can be omitted, in which case the sequence is equal to the sequence - * of "icon"s found in the file. Also "rate" may be omitted, in which case - * the default from the aniheader_t structure is used. - * - * An animated cursor puts `.cur' formatted files into each "icon" tag, - * whereas animated icons contain `.ico' formatted files. - * - * Note about the code: Yes, it can be shorter/compressed. Some tags can be - * dealt with in the same code. However, this version shows what is going on - * and is better debug-able. - */ -static const char riff[4] = "RIFF"; -static const char acon[4] = "ACON"; -static const char list[4] = "LIST"; -static const char info[4] = "INFO"; -static const char inam[4] = "INAM"; -static const char iart[4] = "IART"; -static const char fram[4] = "fram"; -static const char icon[4] = "icon"; -static const char anih[4] = "anih"; -static const char rate[4] = "rate"; -static const char seq[4] = "seq "; - -#define SKIP_TAG(p,size) ((riff_tag_t *)(((char *)p) + (size))) - -#define NEXT_TAG(p) SKIP_TAG(p,(isswapped ? BYTESWAP_DWORD(p->size) : p->size) + sizeof(*p)) - -static void handle_ani_icon(riff_tag_t *rtp, enum res_e type, int isswapped) -{ - cursor_dir_entry_t *cdp; - cursor_header_t *chp; - int count; - int ctype; - int i; - static int once = 0; /* This will trigger only once per file! */ - const char *anistr = type == res_aniico ? "icon" : "cursor"; - /* Notes: - * Both cursor and icon directories are similar - * Both cursor and icon headers are similar - */ - - chp = (cursor_header_t *)(rtp+1); - cdp = (cursor_dir_entry_t *)(chp+1); - count = isswapped ? BYTESWAP_WORD(chp->count) : chp->count; - ctype = isswapped ? BYTESWAP_WORD(chp->type) : chp->type; - chp->reserved = BYTESWAP_WORD(chp->reserved); - chp->type = BYTESWAP_WORD(chp->type); - chp->count = BYTESWAP_WORD(chp->count); - - if(type == res_anicur && ctype != 2 && !once) - { - parser_warning("Animated cursor contains invalid \"icon\" tag cursor-file (%d->%s)\n", - ctype, - ctype == 1 ? "icontype" : "?"); - once++; - } - else if(type == res_aniico && ctype != 1 && !once) - { - parser_warning("Animated icon contains invalid \"icon\" tag icon-file (%d->%s)\n", - ctype, - ctype == 2 ? "cursortype" : "?"); - once++; - } - else if(ctype != 1 && ctype != 2 && !once) - { - parser_warning("Animated %s contains invalid \"icon\" tag file-type (%d; neither icon nor cursor)\n", anistr, ctype); - once++; - } - - for(i = 0; i < count; i++) - { - DWORD ofs = isswapped ? BYTESWAP_DWORD(cdp[i].offset) : cdp[i].offset; - DWORD sze = isswapped ? BYTESWAP_DWORD(cdp[i].ressize) : cdp[i].ressize; - if(ofs > rtp->size || ofs+sze > rtp->size) - parser_error("Animated %s's data corrupt", anistr); - convert_bitmap((char *)chp + ofs, 0); - cdp[i].xhot = BYTESWAP_WORD(cdp->xhot); - cdp[i].yhot = BYTESWAP_WORD(cdp->yhot); - cdp[i].ressize = BYTESWAP_DWORD(cdp->ressize); - cdp[i].offset = BYTESWAP_DWORD(cdp->offset); - } -} - -static void handle_ani_list(riff_tag_t *lst, enum res_e type, int isswapped) -{ - riff_tag_t *rtp = lst+1; /* Skip the "LIST" tag */ - - while((char *)rtp < (char *)lst + lst->size + sizeof(*lst)) - { - if(!memcmp(rtp->tag, info, sizeof(info))) - { - rtp = SKIP_TAG(rtp,4); - } - else if(!memcmp(rtp->tag, inam, sizeof(inam))) - { - /* Ignore the icon/cursor name; its a string */ - rtp = NEXT_TAG(rtp); - } - else if(!memcmp(rtp->tag, iart, sizeof(iart))) - { - /* Ignore the author's name; it's a string */ - rtp = NEXT_TAG(rtp); - } - else if(!memcmp(rtp->tag, fram, sizeof(fram))) - { - /* This should be followed by "icon"s, but we - * simply ignore this because it is pure - * non-information. - */ - rtp = SKIP_TAG(rtp,4); - } - else if(!memcmp(rtp->tag, icon, sizeof(icon))) - { - handle_ani_icon(rtp, type, isswapped); - rtp = NEXT_TAG(rtp); - } - else - internal_error(__FILE__, __LINE__, "Unknown tag \"%c%c%c%c\" in RIFF file\n", - isprint(rtp->tag[0]) ? rtp->tag[0] : '.', - isprint(rtp->tag[1]) ? rtp->tag[1] : '.', - isprint(rtp->tag[2]) ? rtp->tag[2] : '.', - isprint(rtp->tag[3]) ? rtp->tag[3] : '.'); - - if((UINT_PTR)rtp & 1) - rtp = SKIP_TAG(rtp,1); - } -} - -ani_curico_t *new_ani_curico(enum res_e type, raw_data_t *rd, int *memopt) -{ - ani_curico_t *ani = xmalloc(sizeof(ani_curico_t)); - riff_tag_t *rtp; - int isswapped = 0; - int doswap; - const char *anistr = type == res_aniico ? "icon" : "cursor"; - - assert(!memcmp(rd->data, riff, sizeof(riff))); - assert(type == res_anicur || type == res_aniico); - - rtp = (riff_tag_t *)rd->data; - - if(BYTESWAP_DWORD(rtp->size) + 2*sizeof(DWORD) == rd->size) - isswapped = 1; - else if(rtp->size + 2*sizeof(DWORD) == rd->size) - isswapped = 0; - else - parser_error("Animated %s has an invalid RIFF length", anistr); - - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - case WRC_BO_LITTLE: -#else - case WRC_BO_BIG: -#endif - doswap = !isswapped; - break; - default: - doswap = isswapped; - } - - /* - * When to swap what: - * isswapped | doswap | - * ----------+--------+--------------------------------- - * 0 | 0 | read native; don't convert - * 1 | 0 | read swapped size; don't convert - * 0 | 1 | read native; convert - * 1 | 1 | read swapped size; convert - * Reading swapped size if necessary to calculate in native - * format. E.g. a little-endian source on a big-endian - * processor. - */ - if(doswap) - { - /* We only go through the RIFF file if we need to swap - * bytes in words/dwords. Else we couldn't care less - * what the file contains. This is consistent with - * MS' rc.exe, which doesn't complain at all, even though - * the file format might not be entirely correct. - */ - rtp++; /* Skip the "RIFF" tag */ - - while((char *)rtp < (char *)rd->data + rd->size) - { - if(!memcmp(rtp->tag, acon, sizeof(acon))) - { - rtp = SKIP_TAG(rtp,4); - } - else if(!memcmp(rtp->tag, list, sizeof(list))) - { - handle_ani_list(rtp, type, isswapped); - rtp = NEXT_TAG(rtp); - } - else if(!memcmp(rtp->tag, anih, sizeof(anih))) - { - aniheader_t *ahp = (aniheader_t *)((char *)(rtp+1)); - ahp->structsize = BYTESWAP_DWORD(ahp->structsize); - ahp->frames = BYTESWAP_DWORD(ahp->frames); - ahp->steps = BYTESWAP_DWORD(ahp->steps); - ahp->cx = BYTESWAP_DWORD(ahp->cx); - ahp->cy = BYTESWAP_DWORD(ahp->cy); - ahp->bitcount = BYTESWAP_DWORD(ahp->bitcount); - ahp->planes = BYTESWAP_DWORD(ahp->planes); - ahp->rate = BYTESWAP_DWORD(ahp->rate); - ahp->flags = BYTESWAP_DWORD(ahp->flags); - rtp = NEXT_TAG(rtp); - } - else if(!memcmp(rtp->tag, rate, sizeof(rate))) - { - int cnt = rtp->size / sizeof(DWORD); - DWORD *dwp = (DWORD *)(rtp+1); - int i; - for(i = 0; i < cnt; i++) - dwp[i] = BYTESWAP_DWORD(dwp[i]); - rtp = NEXT_TAG(rtp); - } - else if(!memcmp(rtp->tag, seq, sizeof(seq))) - { - int cnt = rtp->size / sizeof(DWORD); - DWORD *dwp = (DWORD *)(rtp+1); - int i; - for(i = 0; i < cnt; i++) - dwp[i] = BYTESWAP_DWORD(dwp[i]); - rtp = NEXT_TAG(rtp); - } - else - internal_error(__FILE__, __LINE__, "Unknown tag \"%c%c%c%c\" in RIFF file\n", - isprint(rtp->tag[0]) ? rtp->tag[0] : '.', - isprint(rtp->tag[1]) ? rtp->tag[1] : '.', - isprint(rtp->tag[2]) ? rtp->tag[2] : '.', - isprint(rtp->tag[3]) ? rtp->tag[3] : '.'); - - if((UINT_PTR)rtp & 1) - rtp = SKIP_TAG(rtp,1); - } - - /* We must end correctly here */ - if((char *)rtp != (char *)rd->data + rd->size) - parser_error("Animated %s contains invalid field size(s)", anistr); - } - - ani->data = rd; - if(memopt) - { - ani->memopt = *memopt; - free(memopt); - } - else - ani->memopt = WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE; - return ani; -} -#undef NEXT_TAG - -/* Bitmaps */ -bitmap_t *new_bitmap(raw_data_t *rd, int *memopt) -{ - bitmap_t *bmp = xmalloc(sizeof(bitmap_t)); - - bmp->data = rd; - if(memopt) - { - bmp->memopt = *memopt; - free(memopt); - } - else - bmp->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; - rd->size -= convert_bitmap(rd->data, rd->size); - return bmp; -} - -ver_words_t *new_ver_words(int i) -{ - ver_words_t *w = xmalloc(sizeof(ver_words_t)); - w->words = xmalloc(sizeof(WORD)); - w->words[0] = (WORD)i; - w->nwords = 1; - return w; -} - -ver_words_t *add_ver_words(ver_words_t *w, int i) -{ - w->words = xrealloc(w->words, (w->nwords+1) * sizeof(WORD)); - w->words[w->nwords] = (WORD)i; - w->nwords++; - return w; -} - -#define MSGTAB_BAD_PTR(p, b, l, r) (((l) - ((char *)(p) - (char *)(b))) > (r)) -messagetable_t *new_messagetable(raw_data_t *rd, int *memopt) -{ - messagetable_t *msg = xmalloc(sizeof(messagetable_t)); - msgtab_block_t *mbp; - DWORD nblk; - DWORD i; - WORD lo; - WORD hi; - - msg->data = rd; - if(memopt) - { - msg->memopt = *memopt; - free(memopt); - } - else - msg->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; - - if(rd->size < sizeof(DWORD)) - parser_error("Invalid messagetable, size too small"); - - nblk = *(DWORD *)rd->data; - lo = WRC_LOWORD(nblk); - hi = WRC_HIWORD(nblk); - - /* FIXME: - * This test will fail for all n*2^16 blocks in the messagetable. - * However, no sane person would want to have so many blocks - * and have a table of megabytes attached. - * So, I will assume that we have less than 2^16 blocks in the table - * and all will just work out fine. Otherwise, we would need to test - * the ID, offset and length (and flag) fields to be very sure. - */ - if(hi && lo) - internal_error(__FILE__, __LINE__, "Messagetable contains more than 65535 blocks; cannot determine endian\n"); - if(!hi && !lo) - parser_error("Invalid messagetable block count 0"); - - if(!hi && lo) /* Messagetable byteorder == native byteorder */ - { -#ifdef WORDS_BIGENDIAN - if(byteorder != WRC_BO_LITTLE) goto out; -#else - if(byteorder != WRC_BO_BIG) goto out; -#endif - /* Resource byteorder != native byteorder */ - - mbp = (msgtab_block_t *)&(((DWORD *)rd->data)[1]); - if(MSGTAB_BAD_PTR(mbp, rd->data, rd->size, nblk * sizeof(*mbp))) - parser_error("Messagetable's blocks are outside of defined data"); - for(i = 0; i < nblk; i++) - { - msgtab_entry_t *mep, *next_mep; - DWORD id; - - mep = (msgtab_entry_t *)(((char *)rd->data) + mbp[i].offset); - - for(id = mbp[i].idlo; id <= mbp[i].idhi; id++) - { - if(MSGTAB_BAD_PTR(mep, rd->data, rd->size, mep->length)) - parser_error("Messagetable's data for block %d, ID 0x%08x is outside of defined data", i, id); - if(mep->flags == 1) /* Docu says 'flags == 0x0001' for unicode */ - { - WORD *wp = (WORD *)&mep[1]; - int l = mep->length/2 - 2; /* Length included header */ - int n; - - if(mep->length & 1) - parser_error("Message 0x%08x is unicode (block %d), but has odd length (%d)", id, i, mep->length); - for(n = 0; n < l; n++) - wp[n] = BYTESWAP_WORD(wp[n]); - - } - next_mep = (msgtab_entry_t *)(((char *)mep) + mep->length); - mep->length = BYTESWAP_WORD(mep->length); - mep->flags = BYTESWAP_WORD(mep->flags); - mep = next_mep; - } - - mbp[i].idlo = BYTESWAP_DWORD(mbp[i].idlo); - mbp[i].idhi = BYTESWAP_DWORD(mbp[i].idhi); - mbp[i].offset = BYTESWAP_DWORD(mbp[i].offset); - } - } - if(hi && !lo) /* Messagetable byteorder != native byteorder */ - { -#ifdef WORDS_BIGENDIAN - if(byteorder == WRC_BO_LITTLE) goto out; -#else - if(byteorder == WRC_BO_BIG) goto out; -#endif - /* Resource byteorder == native byteorder */ - - mbp = (msgtab_block_t *)&(((DWORD *)rd->data)[1]); - nblk = BYTESWAP_DWORD(nblk); - if(MSGTAB_BAD_PTR(mbp, rd->data, rd->size, nblk * sizeof(*mbp))) - parser_error("Messagetable's blocks are outside of defined data"); - for(i = 0; i < nblk; i++) - { - msgtab_entry_t *mep; - DWORD id; - - mbp[i].idlo = BYTESWAP_DWORD(mbp[i].idlo); - mbp[i].idhi = BYTESWAP_DWORD(mbp[i].idhi); - mbp[i].offset = BYTESWAP_DWORD(mbp[i].offset); - mep = (msgtab_entry_t *)(((char *)rd->data) + mbp[i].offset); - - for(id = mbp[i].idlo; id <= mbp[i].idhi; id++) - { - mep->length = BYTESWAP_WORD(mep->length); - mep->flags = BYTESWAP_WORD(mep->flags); - - if(MSGTAB_BAD_PTR(mep, rd->data, rd->size, mep->length)) - parser_error("Messagetable's data for block %d, ID 0x%08x is outside of defined data", i, id); - if(mep->flags == 1) /* Docu says 'flags == 0x0001' for unicode */ - { - WORD *wp = (WORD *)&mep[1]; - int l = mep->length/2 - 2; /* Length included header */ - int n; - - if(mep->length & 1) - parser_error("Message 0x%08x is unicode (block %d), but has odd length (%d)", id, i, mep->length); - for(n = 0; n < l; n++) - wp[n] = BYTESWAP_WORD(wp[n]); - - } - mep = (msgtab_entry_t *)(((char *)mep) + mep->length); - } - } - } - - out: - return msg; -} -#undef MSGTAB_BAD_PTR - -void copy_raw_data(raw_data_t *dst, raw_data_t *src, unsigned int offs, int len) -{ - assert(offs <= src->size); - assert(offs + len <= src->size); - if(!dst->data) - { - dst->data = xmalloc(len); - dst->size = 0; - } - else - dst->data = xrealloc(dst->data, dst->size + len); - /* dst->size holds the offset to copy to */ - memcpy(dst->data + dst->size, src->data + offs, len); - dst->size += len; -} - -int *new_int(int i) -{ - int *ip = xmalloc(sizeof(int)); - *ip = i; - return ip; -} - -stringtable_t *new_stringtable(lvc_t *lvc) -{ - stringtable_t *stt = xmalloc(sizeof(stringtable_t)); - - memset( stt, 0, sizeof(*stt) ); - if(lvc) - stt->lvc = *lvc; - - return stt; -} - -toolbar_t *new_toolbar(int button_width, int button_height, toolbar_item_t *items, int nitems) -{ - toolbar_t *tb = xmalloc(sizeof(toolbar_t)); - memset( tb, 0, sizeof(*tb) ); - tb->button_width = button_width; - tb->button_height = button_height; - tb->nitems = nitems; - tb->items = items; - return tb; -} - -dlginit_t *new_dlginit(raw_data_t *rd, int *memopt) -{ - dlginit_t *di = xmalloc(sizeof(dlginit_t)); - di->data = rd; - if(memopt) - { - di->memopt = *memopt; - free(memopt); - } - else - di->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE; - - return di; -} - -style_pair_t *new_style_pair(style_t *style, style_t *exstyle) -{ - style_pair_t *sp = xmalloc(sizeof(style_pair_t)); - sp->style = style; - sp->exstyle = exstyle; - return sp; -} - -style_t *new_style(DWORD or_mask, DWORD and_mask) -{ - style_t *st = xmalloc(sizeof(style_t)); - st->or_mask = or_mask; - st->and_mask = and_mask; - return st; -} diff --git a/reactos/tools/wrc/newstruc.h b/reactos/tools/wrc/newstruc.h deleted file mode 100644 index c7a74eb1abe..00000000000 --- a/reactos/tools/wrc/newstruc.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Create dynamic new structures of various types - * - * Copyright 1998 Bertho A. Stultiens - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WRC_NEWSTRUC_H -#define __WRC_NEWSTRUC_H - -#include "wrctypes.h" - -dialog_t *new_dialog(void); -name_id_t *new_name_id(void); -menu_t *new_menu(void); -menu_item_t *new_menu_item(void); -control_t *new_control(void); -icon_t *new_icon(void); -cursor_t *new_cursor(void); -versioninfo_t *new_versioninfo(void); -ver_value_t *new_ver_value(void); -ver_block_t *new_ver_block(void); -stt_entry_t *new_stt_entry(void); -accelerator_t *new_accelerator(void); -event_t *new_event(void); -raw_data_t *new_raw_data(void); -lvc_t *new_lvc(void); -res_count_t *new_res_count(void); -string_t *new_string(void); -toolbar_item_t *new_toolbar_item(void); -ani_any_t *new_ani_any(void); -resource_t *new_resource(enum res_e t, void *res, int memopt, language_t *lan); -version_t *new_version(DWORD v); -characts_t *new_characts(DWORD c); -language_t *new_language(int id, int sub); -language_t *dup_language(language_t *l); -version_t *dup_version(version_t *v); -characts_t *dup_characts(characts_t *c); -html_t *new_html(raw_data_t *rd, int *memopt); -rcdata_t *new_rcdata(raw_data_t *rd, int *memopt); -font_id_t *new_font_id(int size, string_t *face, int weight, int italic); -user_t *new_user(name_id_t *type, raw_data_t *rd, int *memopt); -font_t *new_font(raw_data_t *rd, int *memopt); -fontdir_t *new_fontdir(raw_data_t *rd, int *memopt); -icon_group_t *new_icon_group(raw_data_t *rd, int *memopt); -cursor_group_t *new_cursor_group(raw_data_t *rd, int *memopt); -ani_curico_t *new_ani_curico(enum res_e type, raw_data_t *rd, int *memopt); -bitmap_t *new_bitmap(raw_data_t *rd, int *memopt); -ver_words_t *new_ver_words(int i); -ver_words_t *add_ver_words(ver_words_t *w, int i); -messagetable_t *new_messagetable(raw_data_t *rd, int *memopt); -dlginit_t *new_dlginit(raw_data_t *rd, int *memopt); -void copy_raw_data(raw_data_t *dst, raw_data_t *src, unsigned int offs, int len); -int *new_int(int i); -stringtable_t *new_stringtable(lvc_t *lvc); -toolbar_t *new_toolbar(int button_width, int button_Height, toolbar_item_t *items, int nitems); -style_pair_t *new_style_pair(style_t *style, style_t *exstyle); -style_t *new_style(DWORD or_mask, DWORD and_mask); - -#endif diff --git a/reactos/tools/wrc/parser.h b/reactos/tools/wrc/parser.h deleted file mode 100644 index e9fc8e62349..00000000000 --- a/reactos/tools/wrc/parser.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 1998 Bertho A. Stultiens (BS) - * - * Shared things between parser.l and parser.y and some others - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#ifndef __WRC_PARSER_H -#define __WRC_PARSER_H - -/* From parser.y */ -extern int parser_debug; -extern int want_nl; /* Set when getting line-numbers */ -extern int want_id; /* Set when getting the resource name */ - -int parser_parse(void); - -/* From parser.l */ -extern FILE *parser_in; -extern char *parser_text; -extern int yy_flex_debug; - -int parser_lex(void); -int parser_lex_destroy(void); - -#endif diff --git a/reactos/tools/wrc/parser.l b/reactos/tools/wrc/parser.l deleted file mode 100644 index a1ef1cf486f..00000000000 --- a/reactos/tools/wrc/parser.l +++ /dev/null @@ -1,679 +0,0 @@ -/* -*-C-*- - * - * Copyright 1998-2000 Bertho A. Stultiens (BS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - * History: - * 21-May-2000 BS - Fixed the ident requirement of resource names - * which can be keywords. - * 30-Apr-2000 BS - Reintegration into the wine-tree - * 11-Jan-2000 BS - Very drastic cleanup because we don't have a - * preprocessor in here anymore. - * 02-Jan-2000 BS - Removed the preprocessor code - * 23-Dec-1999 BS - Removed the copyright for Martin von Loewis. - * There is really nothing left of his code in - * this parser. - * 20-Jun-1998 BS - Changed the filename conversion. Filenames are - * case-sensitive inder *nix, but not under dos. - * default behaviour is to convert to lower case. - * - All backslashes are converted to forward and - * both single and double slash is recognized as - * MS/Borland does. - * - Fixed a bug in 'yywf' case that prevented - * double quoted names to be scanned propperly. - * - * 19-May-1998 BS - Started to build a preprocessor. - * - Changed keyword processing completely to - * table-lookups. - * - * 20-Apr-1998 BS - Added ';' comment stripping - * - * 17-Apr-1998 BS - Made the win32 keywords optional when compiling in - * 16bit mode - * - * 15-Apr-1998 BS - Changed string handling to include escapes - * - Added unicode string handling (no codepage - * translation though). - * - 'Borrowed' the main idea of string scanning from - * the flex manual pages. - * - Added conditional handling of scanning depending - * on the state of the parser. This was mainly required - * to distinguish a file to load or raw data that - * follows. MS's definition of filenames is rather - * complex... It can be unquoted or double quoted. If - * double quoted, then the '\\' char is not automatically - * escaped according to Borland's rc compiler, but it - * accepts both "\\path\\file.rc" and "\path\file.rc". - * This makes life very hard! I go for the escaped - * version, as this seems to be the documented way... - * - Single quoted strings are now parsed and converted - * here. - * - Added comment stripping. The implementation is - * 'borrowed' from the flex manpages. - * - Rebuild string processing so that it may contain - * escaped '\0'. - */ - -/* Exclusive string handling */ -%x tkstr -/* Exclusive unicode string handling */ -%x tklstr -/* Exclusive rcdata single quoted data handling */ -%x tkrcd -/* Exclusive comment eating... */ -%x comment -/* Set when stripping c-junk */ -%x pp_cstrip -/* Set when scanning #line style directives */ -%x pp_line -/* Set when scanning #pragma */ -%x pp_pragma -%x pp_code_page - -%option stack -%option noinput nounput noyy_top_state noyywrap -%option 8bit never-interactive -%option prefix="parser_" - -/* Some shortcut definitions */ -ws [ \f\t\r] -cident [a-zA-Z_][0-9a-zA-Z_]* - -%{ - -/*#define LEX_DEBUG*/ - -#include "config.h" - -#include -#include -#include -#include -#include -#include -#include - -#ifdef HAVE_UNISTD_H -#include -#else -#define YY_NO_UNISTD_H -#endif - -#include "wine/unicode.h" -#include "wrc.h" -#include "utils.h" -#include "parser.h" -#include "newstruc.h" - -#include "parser.tab.h" - -/* Always update the current character position within a line */ -#define YY_USER_ACTION char_number+=yyleng; wanted_id = want_id; want_id = 0; - -#define YY_USER_INIT current_codepage = -1; - -static void addcchar(char c); -static void addwchar(WCHAR s); -static string_t *get_buffered_cstring(void); -static string_t *get_buffered_wstring(void); -static string_t *make_string(char *s); - -static char *cbuffer; /* Buffers for string collection */ -static int cbufidx; -static int cbufalloc = 0; -static WCHAR *wbuffer; -static int wbufidx; -static int wbufalloc = 0; - -static int current_codepage = -1; /* use language default */ - -/* - * This one is a bit tricky. - * We set 'want_id' in the parser to get the first - * identifier we get across in the scanner, but we - * also want it to be reset at nearly any token we - * see. Exceptions are: - * - newlines - * - comments - * - whitespace - * - * The scanner will automatically reset 'want_id' - * after *each* scanner reduction and puts is value - * into the var below. In this way we can see the - * state after the YY_RULE_SETUP (i.e. the user action; - * see above) and don't have to worry too much when - * it needs to be reset. - */ -static int wanted_id = 0; -static int save_wanted_id; /* To save across comment reductions */ - -struct keyword { - const char *keyword; - int token; - int isextension; - int needcase; - int alwayskw; -}; - -static struct keyword keywords[] = { - { "ACCELERATORS", tACCELERATORS, 0, 0, 0}, - { "ALT", tALT, 0, 0, 0}, - { "ASCII", tASCII, 0, 0, 0}, - { "AUTO3STATE", tAUTO3STATE, 1, 0, 0}, - { "AUTOCHECKBOX", tAUTOCHECKBOX, 1, 0, 0}, - { "AUTORADIOBUTTON", tAUTORADIOBUTTON, 1, 0, 0}, - { "BEGIN", tBEGIN, 0, 0, 0}, - { "BITMAP", tBITMAP, 0, 0, 0}, - { "BLOCK", tBLOCK, 0, 0, 0}, - { "BUTTON", tBUTTON, 1, 0, 0}, - { "CAPTION", tCAPTION, 0, 0, 0}, - { "CHARACTERISTICS", tCHARACTERISTICS, 1, 0, 0}, - { "CHECKBOX", tCHECKBOX, 0, 0, 0}, - { "CHECKED", tCHECKED, 0, 0, 0}, - { "CLASS", tCLASS, 0, 0, 0}, - { "COMBOBOX", tCOMBOBOX, 0, 0, 0}, - { "CONTROL", tCONTROL, 0, 0, 0}, - { "CTEXT", tCTEXT, 0, 0, 0}, - { "CURSOR", tCURSOR, 0, 0, 0}, - { "DEFPUSHBUTTON", tDEFPUSHBUTTON, 0, 0, 0}, - { "DIALOG", tDIALOG, 0, 0, 0}, - { "DIALOGEX", tDIALOGEX, 1, 0, 0}, - { "DISCARDABLE", tDISCARDABLE, 0, 0, 0}, - { "DLGINIT", tDLGINIT, 0, 0, 0}, - { "EDITTEXT", tEDITTEXT, 0, 0, 0}, - { "END", tEND, 0, 0, 0}, - { "EXSTYLE", tEXSTYLE, 0, 0, 0}, - { "FILEFLAGS", tFILEFLAGS, 0, 0, 0}, - { "FILEFLAGSMASK", tFILEFLAGSMASK, 0, 0, 0}, - { "FILEOS", tFILEOS, 0, 0, 0}, - { "FILESUBTYPE", tFILESUBTYPE, 0, 0, 0}, - { "FILETYPE", tFILETYPE, 0, 0, 0}, - { "FILEVERSION", tFILEVERSION, 0, 0, 0}, - { "FIXED", tFIXED, 0, 0, 0}, - { "FONT", tFONT, 0, 0, 0}, - { "FONTDIR", tFONTDIR, 0, 0, 0}, /* This is a Borland BRC extension */ - { "GRAYED", tGRAYED, 0, 0, 0}, - { "GROUPBOX", tGROUPBOX, 0, 0, 0}, - { "HELP", tHELP, 0, 0, 0}, - { "HTML", tHTML, 0, 0, 0}, - { "ICON", tICON, 0, 0, 0}, - { "IMPURE", tIMPURE, 0, 0, 0}, - { "INACTIVE", tINACTIVE, 0, 0, 0}, - { "LANGUAGE", tLANGUAGE, 1, 0, 1}, - { "LISTBOX", tLISTBOX, 0, 0, 0}, - { "LOADONCALL", tLOADONCALL, 0, 0, 0}, - { "LTEXT", tLTEXT, 0, 0, 0}, - { "MENU", tMENU, 0, 0, 0}, - { "MENUBARBREAK", tMENUBARBREAK, 0, 0, 0}, - { "MENUBREAK", tMENUBREAK, 0, 0, 0}, - { "MENUEX", tMENUEX, 1, 0, 0}, - { "MENUITEM", tMENUITEM, 0, 0, 0}, - { "MESSAGETABLE", tMESSAGETABLE, 1, 0, 0}, - { "MOVEABLE", tMOVEABLE, 0, 0, 0}, - { "NOINVERT", tNOINVERT, 0, 0, 0}, - { "NOT", tNOT, 0, 0, 0}, - { "POPUP", tPOPUP, 0, 0, 0}, - { "PRELOAD", tPRELOAD, 0, 0, 0}, - { "PRODUCTVERSION", tPRODUCTVERSION, 0, 0, 0}, - { "PURE", tPURE, 0, 0, 0}, - { "PUSHBUTTON", tPUSHBUTTON, 0, 0, 0}, - { "RADIOBUTTON", tRADIOBUTTON, 0, 0, 0}, - { "RCDATA", tRCDATA, 0, 0, 0}, - { "RTEXT", tRTEXT, 0, 0, 0}, - { "SCROLLBAR", tSCROLLBAR, 0, 0, 0}, - { "SEPARATOR", tSEPARATOR, 0, 0, 0}, - { "SHIFT", tSHIFT, 0, 0, 0}, - { "STATE3", tSTATE3, 1, 0, 0}, - { "STRING", tSTRING, 0, 0, 0}, - { "STRINGTABLE", tSTRINGTABLE, 0, 0, 1}, - { "STYLE", tSTYLE, 0, 0, 0}, - { "TOOLBAR", tTOOLBAR, 1, 0, 0}, - { "VALUE", tVALUE, 0, 0, 0}, - { "VERSION", tVERSION, 1, 0, 0}, - { "VERSIONINFO", tVERSIONINFO, 0, 0, 0}, - { "VIRTKEY", tVIRTKEY, 0, 0, 0} -}; - -#define NKEYWORDS (sizeof(keywords)/sizeof(keywords[0])) -#define KWP(p) ((const struct keyword *)(p)) -static int kw_cmp_func(const void *s1, const void *s2) -{ - int ret; - ret = strcasecmp(KWP(s1)->keyword, KWP(s2)->keyword); - if(!ret && (KWP(s1)->needcase || KWP(s2)->needcase)) - return strcmp(KWP(s1)->keyword, KWP(s2)->keyword); - else - return ret; -} - -#define KW_BSEARCH -#define DO_SORT -static struct keyword *iskeyword(char *kw) -{ - struct keyword *kwp; - struct keyword key; - key.keyword = kw; - key.needcase = 0; -#ifdef DO_SORT - { - /* Make sure that it is sorted for bsearsh */ - static int sorted = 0; - if(!sorted) - { - qsort(keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func); - sorted = 1; - } - } -#endif -#ifdef KW_BSEARCH - kwp = bsearch(&key, keywords, NKEYWORDS, sizeof(keywords[0]), kw_cmp_func); -#else - { - int i; - for(i = 0; i < NKEYWORDS; i++) - { - if(!kw_cmp_func(&key, &keywords[i])) - break; - } - if(i < NKEYWORDS) - kwp = &keywords[i]; - else - kwp = NULL; - } -#endif - - if(kwp == NULL || (kwp->isextension && !extensions)) - return NULL; - else - return kwp; -} - -/* converts an integer in string form to an unsigned long and prints an error - * on overflow */ -static unsigned long xstrtoul(const char *nptr, char **endptr, int base) -{ - unsigned long l; - - errno = 0; - l = strtoul(nptr, endptr, base); - if (l == ULONG_MAX && errno == ERANGE) - parser_error("integer constant %s is too large", nptr); - return l; -} - -%} - -/* - ************************************************************************** - * The flexer starts here - ************************************************************************** - */ -%% - /* - * Catch the GCC-style line statements here and parse them. - * This has the advantage that you can #include at any - * stage in the resource file. - * The preprocessor generates line directives in the format: - * # "filename" - * - * Codes can be a sequence of: - * - 1 start of new file - * - 2 returning to previous - * - 3 system header - * - 4 interpret as C-code - * - * 4 is not used and 1 mutually excludes 2 - * Anyhow, we are not really interested in these at all - * because we only want to know the linenumber and - * filename. - */ -^{ws}*\#{ws}*pragma{ws}+ yy_push_state(pp_pragma); -^{ws}*\#{ws}* yy_push_state(pp_line); -[^\n]* { - int lineno, len; - char *cptr; - char *fname; - yy_pop_state(); - lineno = (int)strtol(yytext, &cptr, 10); - if(!lineno) - parser_error("Malformed '#...' line-directive; invalid linenumber"); - fname = strchr(cptr, '"'); - if(!fname) - parser_error("Malformed '#...' line-directive; missing filename"); - fname++; - cptr = strchr(fname, '"'); - if(!cptr) - parser_error("Malformed '#...' line-directive; missing terminating \""); - *cptr = '\0'; - line_number = lineno - 1; /* We didn't read the newline */ - input_name = xstrdup(fname); - /* ignore contents of C include files */ - len = strlen(input_name); - if (len > 1 && !strcasecmp( input_name + len - 2, ".h" )) - BEGIN(pp_cstrip); - else - BEGIN(INITIAL); - } - -code_page[^\n]* yyless(9); yy_pop_state(); yy_push_state(pp_code_page); -[^\n]* yy_pop_state(); if (pedantic) parser_warning("Unrecognized #pragma directive '%s'\n",yytext); - -\({ws}*default{ws}*\)[^\n]* current_codepage = -1; yy_pop_state(); -\({ws}*utf8{ws}*\)[^\n]* current_codepage = CP_UTF8; yy_pop_state(); -\({ws}*[0-9]+{ws}*\)[^\n]* { - char *p = yytext; - yy_pop_state(); - while (*p < '0' || *p > '9') p++; - current_codepage = strtol( p, NULL, 10 ); - if (current_codepage != CP_UTF8 && !wine_cp_get_table( current_codepage )) - { - parser_error("Codepage %d not supported", current_codepage); - current_codepage = 0; - } - } -[^\n]* yy_pop_state(); parser_error("Malformed #pragma code_page directive"); - - /* - * Strip everything until a ';' taking - * into account braces {} for structures, - * classes and enums. - */ -\n line_number++; char_number = 1; -. ; /* ignore */ - -\{ return tBEGIN; -\} return tEND; - -[0-9]+[lL]? { parser_lval.num = xstrtoul(yytext, 0, 10); - return (yytext[yyleng-1] == 'L' || yytext[yyleng-1] == 'l') ? tLNUMBER : tNUMBER; } -0[xX][0-9A-Fa-f]+[lL]? { parser_lval.num = xstrtoul(yytext, 0, 16); - return (yytext[yyleng-1] == 'L' || yytext[yyleng-1] == 'l') ? tLNUMBER : tNUMBER; } -0[oO][0-7]+[lL]? { parser_lval.num = xstrtoul(yytext+2, 0, 8); - return (yytext[yyleng-1] == 'L' || yytext[yyleng-1] == 'l') ? tLNUMBER : tNUMBER; } - - /* - * The next two rules scan identifiers and filenames. - * This is achieved by using the priority ruling - * of the scanner where a '.' is valid in a filename - * and *only* in a filename. In this case, the second - * rule will be reduced because it is longer. - */ -[A-Za-z_0-9.]+ { - struct keyword *tok = iskeyword(yytext); - - if(tok) - { - if(wanted_id && !tok->alwayskw) - { - parser_lval.str = make_string(yytext); - return tIDENT; - } - else - return tok->token; - } - else - { - parser_lval.str = make_string(yytext); - return tIDENT; - } - } -[A-Za-z_0-9./\\]+ parser_lval.str = make_string(yytext); return tFILENAME; - - /* - * Wide string scanning - */ -L\" { - yy_push_state(tklstr); - wbufidx = 0; - if(!win32) - parser_warning("16bit resource contains unicode strings\n"); - } -\"{ws}+ | -\" { - yy_pop_state(); - parser_lval.str = get_buffered_wstring(); - return tSTRING; - } -\\[0-7]{1,6} { /* octal escape sequence */ - unsigned int result; - result = strtoul(yytext+1, 0, 8); - if ( result > 0xffff ) - parser_error("Character constant out of range"); - addwchar((WCHAR)result); - } -\\x[0-9a-fA-F]{4} { /* hex escape sequence */ - unsigned int result; - result = strtoul(yytext+2, 0, 16); - addwchar((WCHAR)result); - } -\\x[0-9a-fA-F]{1,3} { parser_error("Invalid hex escape sequence '%s'", yytext); } - -\\[0-9]+ parser_error("Bad escape sequence"); -\\\n{ws}* line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */ -\\a addwchar('\a'); -\\b addwchar('\b'); -\\f addwchar('\f'); -\\n addwchar('\n'); -\\r addwchar('\r'); -\\t addwchar('\t'); -\\v addwchar('\v'); -\\. { - if (yytext[1] & 0x80) - parser_error("Invalid char %u in wide string", (unsigned char)yytext[1]); - addwchar(yytext[1]); - } -\\\r\n addwchar(yytext[2]); line_number++; char_number = 1; -\"\" addwchar('\"'); /* "bla""bla" -> "bla\"bla" */ -\\\"\" addwchar('\"'); /* "bla\""bla" -> "bla\"bla" */ -\"{ws}+\" ; /* "bla" "bla" -> "blabla" */ -[^\\\n\"]+ { - char *yptr = yytext; - while(*yptr) /* FIXME: codepage translation */ - { - if (*yptr & 0x80) - parser_error("Invalid char %u in wide string", (unsigned char)*yptr); - addwchar(*yptr++ & 0xff); - } - } -\n parser_error("Unterminated string"); - - /* - * Normal string scanning - */ -\" yy_push_state(tkstr); cbufidx = 0; -\"{ws}+ | -\" { - yy_pop_state(); - parser_lval.str = get_buffered_cstring(); - return tSTRING; - } -\\[0-7]{1,3} { /* octal escape sequence */ - int result; - result = strtol(yytext+1, 0, 8); - if ( result > 0xff ) - parser_error("Character constant out of range"); - addcchar((char)result); - } -\\x[0-9a-fA-F]{2} { /* hex escape sequence */ - int result; - result = strtol(yytext+2, 0, 16); - addcchar((char)result); - } -\\x[0-9a-fA-F] { parser_error("Invalid hex escape sequence '%s'", yytext); } - -\\[0-9]+ parser_error("Bad escape sequence"); -\\\n{ws}* line_number++; char_number = 1; /* backslash at EOL continues string after leading whitespace on next line */ -\\a addcchar('\a'); -\\b addcchar('\b'); -\\f addcchar('\f'); -\\n addcchar('\n'); -\\r addcchar('\r'); -\\t addcchar('\t'); -\\v addcchar('\v'); -\\. addcchar(yytext[1]); -\\\r\n addcchar(yytext[2]); line_number++; char_number = 1; -[^\\\n\"]+ { - char *yptr = yytext; - while(*yptr) - addcchar(*yptr++); - } -\"\" addcchar('\"'); /* "bla""bla" -> "bla\"bla" */ -\\\"\" addcchar('\"'); /* "bla\""bla" -> "bla\"bla" */ -\"{ws}+\" ; /* "bla" "bla" -> "blabla" */ -\n parser_error("Unterminated string"); - - /* - * Raw data scanning - */ -\' yy_push_state(tkrcd); cbufidx = 0; -\' { - yy_pop_state(); - parser_lval.raw = new_raw_data(); - parser_lval.raw->size = cbufidx; - parser_lval.raw->data = xmalloc(parser_lval.raw->size); - memcpy(parser_lval.raw->data, cbuffer, parser_lval.raw->size); - return tRAWDATA; - } -[0-9a-fA-F]{2} { - int result; - result = strtol(yytext, 0, 16); - addcchar((char)result); - } -{ws}+ ; /* Ignore space */ -\n line_number++; char_number = 1; -. parser_error("Malformed data-line"); - - /* - * Comment stripping - * Should never occur after preprocessing - */ -"/*" { - yy_push_state(comment); - save_wanted_id = wanted_id; - if(!no_preprocess) - parser_warning("Found comments after preprocessing, please report\n"); - } -[^*\n]* ; -"*"+[^*/\n]* ; -\n line_number++; char_number = 1; -"*"+"/" yy_pop_state(); want_id = save_wanted_id; - -;[^\n]* want_id = wanted_id; /* not really comment, but left-over c-junk */ -"//"[^\n]* want_id = wanted_id; if(!no_preprocess) parser_warning("Found comments after preprocessing, please report\n"); - -\n { - want_id = wanted_id; - line_number++; - char_number = 1; - if(want_nl) - { - want_nl = 0; - return tNL; - } - } -{ws}+ want_id = wanted_id; /* Eat whitespace */ - -[ -~] return yytext[0]; - -<*>.|\n { - /* Catch all rule to find any unmatched text */ - if(*yytext == '\n') - { - line_number++; - char_number = 1; - } - parser_error("Unmatched text '%c' (0x%02x) YY_START=%d", - isprint((unsigned char)*yytext) ? *yytext : '.', *yytext, YY_START); - } - -%% - -/* These dup functions copy the enclosed '\0' from - * the resource string. - */ -static void addcchar(char c) -{ - if(cbufidx >= cbufalloc) - { - cbufalloc += 1024; - cbuffer = xrealloc(cbuffer, cbufalloc * sizeof(cbuffer[0])); - if(cbufalloc > 65536) - parser_warning("Reallocating string buffer larger than 64kB\n"); - } - cbuffer[cbufidx++] = c; -} - -static void addwchar(WCHAR s) -{ - if(wbufidx >= wbufalloc) - { - wbufalloc += 1024; - wbuffer = xrealloc(wbuffer, wbufalloc * sizeof(wbuffer[0])); - if(wbufalloc > 65536) - parser_warning("Reallocating wide string buffer larger than 64kB\n"); - } - wbuffer[wbufidx++] = s; -} - -static string_t *get_buffered_cstring(void) -{ - string_t *str = new_string(); - - str->size = cbufidx; - str->type = str_char; - str->str.cstr = xmalloc(cbufidx+1); - memcpy(str->str.cstr, cbuffer, cbufidx); - str->str.cstr[cbufidx] = '\0'; - - if (!current_codepage || current_codepage == -1 || !win32) /* store as ANSI string */ - { - if (!current_codepage) parser_error("Codepage set to Unicode only, cannot use ASCII string here"); - return str; - } - else /* convert to Unicode before storing */ - { - string_t *str_w = convert_string( str, str_unicode, current_codepage ); - if (!check_unicode_conversion( str, str_w, current_codepage )) - parser_error("String %s does not convert identically to Unicode and back in codepage %d. " - "Try using a Unicode string instead", str->str.cstr, current_codepage ); - if (check_valid_utf8( str, current_codepage )) - parser_warning( "string \"%s\" seems to be UTF-8 but codepage %u is in use.\n", - str->str.cstr, current_codepage ); - free_string( str ); - return str_w; - } -} - -static string_t *get_buffered_wstring(void) -{ - string_t *str = new_string(); - str->size = wbufidx; - str->type = str_unicode; - str->str.wstr = xmalloc((wbufidx+1)*sizeof(WCHAR)); - memcpy(str->str.wstr, wbuffer, wbufidx*sizeof(WCHAR)); - str->str.wstr[wbufidx] = 0; - return str; -} - -static string_t *make_string(char *s) -{ - string_t *str = new_string(); - str->size = strlen(s); - str->type = str_char; - str->str.cstr = xmalloc(str->size+1); - memcpy(str->str.cstr, s, str->size+1); - return str; -} diff --git a/reactos/tools/wrc/parser.tab.c b/reactos/tools/wrc/parser.tab.c deleted file mode 100644 index c0cf993003b..00000000000 --- a/reactos/tools/wrc/parser.tab.c +++ /dev/null @@ -1,6275 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Skeleton implementation for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - -/* C LALR(1) parser skeleton written by Richard Stallman, by - simplifying the original so-called "semantic" parser. */ - -/* All symbols defined below should begin with yy or YY, to avoid - infringing on user name space. This should be done even for local - variables, as they might otherwise be expanded by user macros. - There are some unavoidable exceptions within include files to - define necessary library symbols; they are noted "INFRINGES ON - USER NAME SPACE" below. */ - -/* Identify Bison output. */ -#define YYBISON 1 - -/* Bison version. */ -#define YYBISON_VERSION "2.4.2" - -/* Skeleton name. */ -#define YYSKELETON_NAME "yacc.c" - -/* Pure parsers. */ -#define YYPURE 0 - -/* Push parsers. */ -#define YYPUSH 0 - -/* Pull parsers. */ -#define YYPULL 1 - -/* Using locations. */ -#define YYLSP_NEEDED 0 - -/* Substitute the variable and function names. */ -#define yyparse parser_parse -#define yylex parser_lex -#define yyerror parser_error -#define yylval parser_lval -#define yychar parser_char -#define yydebug parser_debug -#define yynerrs parser_nerrs - - -/* Copy the first part of user declarations. */ - -/* Line 189 of yacc.c */ -#line 1 "parser.y" - -/* - * Copyright 1994 Martin von Loewis - * Copyright 1998-2000 Bertho A. Stultiens (BS) - * 1999 Juergen Schmied (JS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - * History: - * 24-Jul-2000 BS - Made a fix for broken Berkeley yacc on - * non-terminals (see cjunk rule). - * 21-May-2000 BS - Partial implementation of font resources. - * - Corrected language propagation for binary - * resources such as bitmaps, icons, cursors, - * userres and rcdata. The language is now - * correct in .res files. - * - Fixed reading the resource name as ident, - * so that it may overlap keywords. - * 20-May-2000 BS - Implemented animated cursors and icons - * resource types. - * 30-Apr-2000 BS - Reintegration into the wine-tree - * 14-Jan-2000 BS - Redid the usertype resources so that they - * are compatible. - * 02-Jan-2000 BS - Removed the preprocessor from the grammar - * except for the # command (line numbers). - * - * 06-Nov-1999 JS - see CHANGES - * - * 29-Dec-1998 AdH - Grammar and function extensions. - * grammar: TOOLBAR resources, Named ICONs in - * DIALOGS - * functions: semantic actions for the grammar - * changes, resource files can now be anywhere - * on the include path instead of just in the - * current directory - * - * 20-Jun-1998 BS - Fixed a bug in load_file() where the name was not - * printed out correctly. - * - * 17-Jun-1998 BS - Fixed a bug in CLASS statement parsing which should - * also accept a tSTRING as argument. - * - * 25-May-1998 BS - Found out that I need to support language, version - * and characteristics in inline resources (bitmap, - * cursor, etc) but they can also be specified with - * a filename. This renders my filename-scanning scheme - * worthless. Need to build newline parsing to solve - * this one. - * It will come with version 1.1.0 (sigh). - * - * 19-May-1998 BS - Started to build a builtin preprocessor - * - * 30-Apr-1998 BS - Redid the stringtable parsing/handling. My previous - * ideas had some serious flaws. - * - * 27-Apr-1998 BS - Removed a lot of dead comments and put it in a doc - * file. - * - * 21-Apr-1998 BS - Added correct behavior for cursors and icons. - * - This file is growing too big. It is time to strip - * things and put it in a support file. - * - * 19-Apr-1998 BS - Tagged the stringtable resource so that only one - * resource will be created. This because the table - * has a different layout than other resources. The - * table has to be sorted, and divided into smaller - * resource entries (see comment in source). - * - * 17-Apr-1998 BS - Almost all strings, including identifiers, are parsed - * as string_t which include unicode strings upon - * input. - * - Parser now emits a warning when compiling win32 - * extensions in win16 mode. - * - * 16-Apr-1998 BS - Raw data elements are now *optionally* separated - * by commas. Read the comments in file sq2dq.l. - * - FIXME: there are instances in the source that rely - * on the fact that int==32bit and pointers are int size. - * - Fixed the conflict in menuex by changing a rule - * back into right recursion. See note in source. - * - UserType resources cannot have an expression as its - * typeclass. See note in source. - * - * 15-Apr-1998 BS - Changed all right recursion into left recursion to - * get reduction of the parsestack. - * This also helps communication between bison and flex. - * Main advantage is that the Empty rule gets reduced - * first, which is used to allocate/link things. - * It also added a shift/reduce conflict in the menuex - * handling, due to expression/option possibility, - * although not serious. - * - * 14-Apr-1998 BS - Redone almost the entire parser. We're not talking - * about making it more efficient, but readable (for me) - * and slightly easier to expand/change. - * This is done primarily by using more reduce states - * with many (intuitive) types for the various resource - * statements. - * - Added expression handling for all resources where a - * number is accepted (not only for win32). Also added - * multiply and division (not MS compatible, but handy). - * Unary minus introduced a shift/reduce conflict, but - * it is not serious. - * - * 13-Apr-1998 BS - Reordered a lot of things - * - Made the source more readable - * - Added Win32 resource definitions - * - Corrected syntax problems with an old yacc (;) - * - Added extra comment about grammar - */ -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include - -#include "wrc.h" -#include "utils.h" -#include "newstruc.h" -#include "dumpres.h" -#include "wine/wpp.h" -#include "wine/unicode.h" -#include "parser.h" - -#if defined(YYBYACC) - /* Berkeley yacc (byacc) doesn't seem to know about these */ - /* Some *BSD supplied versions do define these though */ -# ifndef YYEMPTY -# define YYEMPTY (-1) /* Empty lookahead value of yychar */ -# endif -# ifndef YYLEX -# define YYLEX yylex() -# endif - -#elif defined(YYBISON) - /* Bison was used for original development */ - /* #define YYEMPTY -2 */ - /* #define YYLEX yylex() */ - -#else - /* No yacc we know yet */ -# if !defined(YYEMPTY) || !defined(YYLEX) -# error Yacc version/type unknown. This version needs to be verified for settings of YYEMPTY and YYLEX. -# elif defined(__GNUC__) /* gcc defines the #warning directive */ -# warning Yacc version/type unknown. It defines YYEMPTY and YYLEX, but is not tested - /* #else we just take a chance that it works... */ -# endif -#endif - -int want_nl = 0; /* Signal flex that we need the next newline */ -int want_id = 0; /* Signal flex that we need the next identifier */ -static stringtable_t *tagstt; /* Stringtable tag. - * It is set while parsing a stringtable to one of - * the stringtables in the sttres list or a new one - * if the language was not parsed before. - */ -static stringtable_t *sttres; /* Stringtable resources. This holds the list of - * stringtables with different lanuages - */ -static int dont_want_id = 0; /* See language parsing for details */ - -/* Set to the current options of the currently scanning stringtable */ -static int *tagstt_memopt; -static characts_t *tagstt_characts; -static version_t *tagstt_version; - -static const char riff[4] = "RIFF"; /* RIFF file magic for animated cursor/icon */ - -/* Prototypes of here defined functions */ -static event_t *get_event_head(event_t *p); -static control_t *get_control_head(control_t *p); -static ver_value_t *get_ver_value_head(ver_value_t *p); -static ver_block_t *get_ver_block_head(ver_block_t *p); -static resource_t *get_resource_head(resource_t *p); -static menu_item_t *get_item_head(menu_item_t *p); -static raw_data_t *merge_raw_data_str(raw_data_t *r1, string_t *str); -static raw_data_t *merge_raw_data_int(raw_data_t *r1, int i); -static raw_data_t *merge_raw_data_long(raw_data_t *r1, int i); -static raw_data_t *merge_raw_data(raw_data_t *r1, raw_data_t *r2); -static raw_data_t *str2raw_data(string_t *str); -static raw_data_t *int2raw_data(int i); -static raw_data_t *long2raw_data(int i); -static raw_data_t *load_file(string_t *name, language_t *lang); -static itemex_opt_t *new_itemex_opt(int id, int type, int state, int helpid); -static event_t *add_string_event(string_t *key, int id, int flags, event_t *prev); -static event_t *add_event(int key, int id, int flags, event_t *prev); -static name_id_t *convert_ctlclass(name_id_t *cls); -static control_t *ins_ctrl(int type, int special_style, control_t *ctrl, control_t *prev); -static dialog_t *dialog_version(version_t *v, dialog_t *dlg); -static dialog_t *dialog_characteristics(characts_t *c, dialog_t *dlg); -static dialog_t *dialog_language(language_t *l, dialog_t *dlg); -static dialog_t *dialog_menu(name_id_t *m, dialog_t *dlg); -static dialog_t *dialog_class(name_id_t *n, dialog_t *dlg); -static dialog_t *dialog_font(font_id_t *f, dialog_t *dlg); -static dialog_t *dialog_caption(string_t *s, dialog_t *dlg); -static dialog_t *dialog_exstyle(style_t * st, dialog_t *dlg); -static dialog_t *dialog_style(style_t * st, dialog_t *dlg); -static resource_t *build_stt_resources(stringtable_t *stthead); -static stringtable_t *find_stringtable(lvc_t *lvc); -static toolbar_item_t *ins_tlbr_button(toolbar_item_t *prev, toolbar_item_t *idrec); -static toolbar_item_t *get_tlbr_buttons_head(toolbar_item_t *p, int *nitems); -static string_t *make_filename(string_t *s); -static resource_t *build_fontdirs(resource_t *tail); -static resource_t *build_fontdir(resource_t **fnt, int nfnt); -static int rsrcid_to_token(int lookahead); - - - -/* Line 189 of yacc.c */ -#line 309 "parser.tab.c" - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif - -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 -#endif - - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - tNL = 258, - tNUMBER = 259, - tLNUMBER = 260, - tSTRING = 261, - tIDENT = 262, - tFILENAME = 263, - tRAWDATA = 264, - tACCELERATORS = 265, - tBITMAP = 266, - tCURSOR = 267, - tDIALOG = 268, - tDIALOGEX = 269, - tMENU = 270, - tMENUEX = 271, - tMESSAGETABLE = 272, - tRCDATA = 273, - tVERSIONINFO = 274, - tSTRINGTABLE = 275, - tFONT = 276, - tFONTDIR = 277, - tICON = 278, - tHTML = 279, - tAUTO3STATE = 280, - tAUTOCHECKBOX = 281, - tAUTORADIOBUTTON = 282, - tCHECKBOX = 283, - tDEFPUSHBUTTON = 284, - tPUSHBUTTON = 285, - tRADIOBUTTON = 286, - tSTATE3 = 287, - tGROUPBOX = 288, - tCOMBOBOX = 289, - tLISTBOX = 290, - tSCROLLBAR = 291, - tCONTROL = 292, - tEDITTEXT = 293, - tRTEXT = 294, - tCTEXT = 295, - tLTEXT = 296, - tBLOCK = 297, - tVALUE = 298, - tSHIFT = 299, - tALT = 300, - tASCII = 301, - tVIRTKEY = 302, - tGRAYED = 303, - tCHECKED = 304, - tINACTIVE = 305, - tNOINVERT = 306, - tPURE = 307, - tIMPURE = 308, - tDISCARDABLE = 309, - tLOADONCALL = 310, - tPRELOAD = 311, - tFIXED = 312, - tMOVEABLE = 313, - tCLASS = 314, - tCAPTION = 315, - tCHARACTERISTICS = 316, - tEXSTYLE = 317, - tSTYLE = 318, - tVERSION = 319, - tLANGUAGE = 320, - tFILEVERSION = 321, - tPRODUCTVERSION = 322, - tFILEFLAGSMASK = 323, - tFILEOS = 324, - tFILETYPE = 325, - tFILEFLAGS = 326, - tFILESUBTYPE = 327, - tMENUBARBREAK = 328, - tMENUBREAK = 329, - tMENUITEM = 330, - tPOPUP = 331, - tSEPARATOR = 332, - tHELP = 333, - tTOOLBAR = 334, - tBUTTON = 335, - tBEGIN = 336, - tEND = 337, - tDLGINIT = 338, - tNOT = 339, - pUPM = 340 - }; -#endif - - - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -{ - -/* Line 214 of yacc.c */ -#line 228 "parser.y" - - string_t *str; - int num; - int *iptr; - char *cptr; - resource_t *res; - accelerator_t *acc; - bitmap_t *bmp; - dialog_t *dlg; - font_t *fnt; - fontdir_t *fnd; - menu_t *men; - html_t *html; - rcdata_t *rdt; - stringtable_t *stt; - stt_entry_t *stte; - user_t *usr; - messagetable_t *msg; - versioninfo_t *veri; - control_t *ctl; - name_id_t *nid; - font_id_t *fntid; - language_t *lan; - version_t *ver; - characts_t *chars; - event_t *event; - menu_item_t *menitm; - itemex_opt_t *exopt; - raw_data_t *raw; - lvc_t *lvc; - ver_value_t *val; - ver_block_t *blk; - ver_words_t *verw; - toolbar_t *tlbar; - toolbar_item_t *tlbarItems; - dlginit_t *dginit; - style_pair_t *styles; - style_t *style; - ani_any_t *ani; - - - -/* Line 214 of yacc.c */ -#line 473 "parser.tab.c" -} YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -#endif - - -/* Copy the second part of user declarations. */ - - -/* Line 264 of yacc.c */ -#line 485 "parser.tab.c" - -#ifdef short -# undef short -#endif - -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; -#endif - -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; -#else -typedef short int yytype_int8; -#endif - -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short int yytype_uint16; -#endif - -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; -#else -typedef short int yytype_int16; -#endif - -#ifndef YYSIZE_T -# ifdef __SIZE_TYPE__ -# define YYSIZE_T __SIZE_TYPE__ -# elif defined size_t -# define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# define YYSIZE_T size_t -# else -# define YYSIZE_T unsigned int -# endif -#endif - -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) - -#ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS -# if ENABLE_NLS -# include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) -# endif -# endif -# ifndef YY_ -# define YY_(msgid) msgid -# endif -#endif - -/* Suppress unused-variable warnings by "using" E. */ -#if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) -#else -# define YYUSE(e) /* empty */ -#endif - -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) -#else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int yyi) -#else -static int -YYID (yyi) - int yyi; -#endif -{ - return yyi; -} -#endif - -#if ! defined yyoverflow || YYERROR_VERBOSE - -/* The parser invokes alloca or malloc; define the necessary symbols. */ - -# ifdef YYSTACK_USE_ALLOCA -# if YYSTACK_USE_ALLOCA -# ifdef __GNUC__ -# define YYSTACK_ALLOC __builtin_alloca -# elif defined __BUILTIN_VA_ARG_INCR -# include /* INFRINGES ON USER NAME SPACE */ -# elif defined _AIX -# define YYSTACK_ALLOC __alloca -# elif defined _MSC_VER -# include /* INFRINGES ON USER NAME SPACE */ -# define alloca _alloca -# else -# define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# endif -# endif -# endif - -# ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) -# ifndef YYSTACK_ALLOC_MAXIMUM - /* The OS might guarantee only one guard page at the bottom of the stack, - and a page size can be as small as 4096 bytes. So we cannot safely - invoke alloca (N) if N exceeds 4096. Use a slightly smaller number - to allow for a few compiler-allocated temporary stack slots. */ -# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ -# endif -# else -# define YYSTACK_ALLOC YYMALLOC -# define YYSTACK_FREE YYFREE -# ifndef YYSTACK_ALLOC_MAXIMUM -# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM -# endif -# if (defined __cplusplus && ! defined _STDLIB_H \ - && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) -# include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 -# endif -# endif -# ifndef YYMALLOC -# define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# ifndef YYFREE -# define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -void free (void *); /* INFRINGES ON USER NAME SPACE */ -# endif -# endif -# endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - - -#if (! defined yyoverflow \ - && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) - -/* A type that is properly aligned for any stack member. */ -union yyalloc -{ - yytype_int16 yyss_alloc; - YYSTYPE yyvs_alloc; -}; - -/* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) - -/* The size of an array large to enough to hold all stacks, each with - N elements. */ -# define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ - + YYSTACK_GAP_MAXIMUM) - -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif - -/* Relocate STACK from its old location to the new one. The - local variables YYSIZE and YYSTACKSIZE give the old and new number of - elements in the stack, and YYPTR gives the new location of the - stack. Advance YYPTR to a properly aligned location for the next - stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) - -#endif - -/* YYFINAL -- State number of the termination state. */ -#define YYFINAL 3 -/* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 718 - -/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 97 -/* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 83 -/* YYNRULES -- Number of rules. */ -#define YYNRULES 259 -/* YYNRULES -- Number of states. */ -#define YYNSTATES 573 - -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ -#define YYUNDEFTOK 2 -#define YYMAXUTOK 340 - -#define YYTRANSLATE(YYX) \ - ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) - -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ -static const yytype_uint8 yytranslate[] = -{ - 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 86, 2, - 95, 96, 89, 87, 94, 88, 2, 90, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 85, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 84, 2, 91, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 75, 76, 77, 78, 79, 80, 81, 82, 83, 92, - 93 -}; - -#if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 5, 6, 9, 12, 16, 20, 22, - 23, 29, 30, 32, 34, 36, 38, 40, 42, 44, - 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, - 66, 68, 70, 72, 74, 76, 78, 82, 86, 90, - 94, 98, 102, 106, 110, 114, 118, 120, 122, 129, - 130, 136, 142, 143, 146, 148, 152, 154, 156, 158, - 160, 162, 164, 178, 179, 183, 187, 191, 194, 198, - 202, 205, 208, 211, 212, 216, 220, 224, 228, 232, - 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, - 276, 280, 291, 304, 315, 316, 321, 328, 337, 355, - 371, 376, 377, 380, 385, 389, 393, 395, 398, 400, - 402, 417, 418, 422, 426, 430, 433, 436, 440, 444, - 447, 450, 453, 454, 458, 462, 466, 470, 474, 478, - 482, 486, 490, 494, 498, 502, 506, 510, 514, 518, - 522, 533, 553, 570, 585, 598, 599, 601, 602, 605, - 615, 616, 619, 624, 628, 629, 636, 640, 646, 647, - 650, 653, 656, 659, 662, 665, 668, 673, 677, 678, - 683, 687, 693, 694, 697, 703, 710, 711, 714, 719, - 726, 735, 740, 744, 745, 750, 751, 753, 760, 761, - 771, 781, 785, 789, 793, 797, 801, 802, 805, 811, - 812, 815, 817, 822, 827, 829, 833, 843, 844, 848, - 851, 852, 855, 858, 860, 862, 864, 866, 868, 870, - 872, 873, 876, 879, 882, 887, 890, 893, 898, 900, - 902, 905, 907, 910, 912, 916, 920, 925, 929, 934, - 938, 940, 942, 943, 945, 947, 951, 955, 959, 963, - 967, 971, 975, 978, 981, 984, 988, 990, 993, 995 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int16 yyrhs[] = -{ - 98, 0, -1, 99, -1, -1, 99, 100, -1, 99, - 3, -1, 177, 102, 105, -1, 7, 102, 105, -1, - 153, -1, -1, 65, 101, 177, 94, 177, -1, -1, - 177, -1, 7, -1, 103, -1, 6, -1, 118, -1, - 107, -1, 108, -1, 123, -1, 134, -1, 115, -1, - 110, -1, 111, -1, 109, -1, 144, -1, 148, -1, - 112, -1, 113, -1, 114, -1, 164, -1, 116, -1, - 157, -1, 8, -1, 7, -1, 6, -1, 11, 166, - 175, -1, 12, 166, 175, -1, 23, 166, 175, -1, - 21, 166, 175, -1, 22, 166, 175, -1, 17, 166, - 175, -1, 24, 166, 175, -1, 18, 166, 175, -1, - 83, 166, 175, -1, 117, 166, 175, -1, 4, -1, - 7, -1, 10, 166, 169, 81, 119, 82, -1, -1, - 119, 6, 94, 177, 120, -1, 119, 177, 94, 177, - 120, -1, -1, 94, 121, -1, 122, -1, 121, 94, - 122, -1, 51, -1, 44, -1, 37, -1, 45, -1, - 46, -1, 47, -1, 13, 166, 177, 94, 177, 94, - 177, 94, 177, 124, 81, 125, 82, -1, -1, 124, - 63, 132, -1, 124, 62, 132, -1, 124, 60, 6, - -1, 124, 130, -1, 124, 59, 104, -1, 124, 15, - 103, -1, 124, 170, -1, 124, 171, -1, 124, 172, - -1, -1, 125, 37, 129, -1, 125, 38, 127, -1, - 125, 35, 127, -1, 125, 34, 127, -1, 125, 36, - 127, -1, 125, 28, 126, -1, 125, 29, 126, -1, - 125, 33, 126, -1, 125, 30, 126, -1, 125, 31, - 126, -1, 125, 25, 126, -1, 125, 32, 126, -1, - 125, 26, 126, -1, 125, 27, 126, -1, 125, 41, - 126, -1, 125, 40, 126, -1, 125, 39, 126, -1, - 125, 23, 104, 156, 177, 94, 177, 94, 177, 128, - -1, 104, 156, 177, 94, 177, 94, 177, 94, 177, - 94, 177, 131, -1, 177, 94, 177, 94, 177, 94, - 177, 94, 177, 131, -1, -1, 94, 177, 94, 177, - -1, 94, 177, 94, 177, 94, 132, -1, 94, 177, - 94, 177, 94, 132, 94, 132, -1, 104, 156, 177, - 94, 133, 94, 132, 94, 177, 94, 177, 94, 177, - 94, 177, 94, 132, -1, 104, 156, 177, 94, 133, - 94, 132, 94, 177, 94, 177, 94, 177, 94, 177, - -1, 21, 177, 94, 6, -1, -1, 94, 132, -1, - 94, 132, 94, 132, -1, 132, 84, 132, -1, 95, - 132, 96, -1, 179, -1, 92, 179, -1, 177, -1, - 6, -1, 14, 166, 177, 94, 177, 94, 177, 94, - 177, 141, 135, 81, 136, 82, -1, -1, 135, 63, - 132, -1, 135, 62, 132, -1, 135, 60, 6, -1, - 135, 130, -1, 135, 142, -1, 135, 59, 104, -1, - 135, 15, 103, -1, 135, 170, -1, 135, 171, -1, - 135, 172, -1, -1, 136, 37, 137, -1, 136, 38, - 139, -1, 136, 35, 139, -1, 136, 34, 139, -1, - 136, 36, 139, -1, 136, 28, 138, -1, 136, 29, - 138, -1, 136, 33, 138, -1, 136, 30, 138, -1, - 136, 31, 138, -1, 136, 25, 138, -1, 136, 32, - 138, -1, 136, 26, 138, -1, 136, 27, 138, -1, - 136, 41, 138, -1, 136, 40, 138, -1, 136, 39, - 138, -1, 136, 23, 104, 156, 177, 94, 177, 94, - 177, 128, -1, 104, 156, 177, 94, 133, 94, 132, - 94, 177, 94, 177, 94, 177, 94, 177, 94, 132, - 141, 140, -1, 104, 156, 177, 94, 133, 94, 132, - 94, 177, 94, 177, 94, 177, 94, 177, 140, -1, - 104, 156, 177, 94, 177, 94, 177, 94, 177, 94, - 177, 131, 141, 140, -1, 177, 94, 177, 94, 177, - 94, 177, 94, 177, 131, 141, 140, -1, -1, 173, - -1, -1, 94, 177, -1, 21, 177, 94, 6, 94, - 177, 94, 177, 143, -1, -1, 94, 177, -1, 15, - 166, 169, 145, -1, 81, 146, 82, -1, -1, 146, - 75, 6, 156, 177, 147, -1, 146, 75, 77, -1, - 146, 76, 6, 147, 145, -1, -1, 94, 147, -1, - 49, 147, -1, 48, 147, -1, 78, 147, -1, 50, - 147, -1, 73, 147, -1, 74, 147, -1, 16, 166, - 169, 149, -1, 81, 150, 82, -1, -1, 150, 75, - 6, 151, -1, 150, 75, 77, -1, 150, 76, 6, - 152, 149, -1, -1, 94, 177, -1, 94, 176, 94, - 176, 147, -1, 94, 176, 94, 176, 94, 177, -1, - -1, 94, 177, -1, 94, 176, 94, 177, -1, 94, - 176, 94, 176, 94, 177, -1, 94, 176, 94, 176, - 94, 176, 94, 177, -1, 154, 81, 155, 82, -1, - 20, 166, 169, -1, -1, 155, 177, 156, 6, -1, - -1, 94, -1, 19, 166, 158, 81, 159, 82, -1, - -1, 158, 66, 177, 94, 177, 94, 177, 94, 177, - -1, 158, 67, 177, 94, 177, 94, 177, 94, 177, - -1, 158, 71, 177, -1, 158, 68, 177, -1, 158, - 69, 177, -1, 158, 70, 177, -1, 158, 72, 177, - -1, -1, 159, 160, -1, 42, 6, 81, 161, 82, - -1, -1, 161, 162, -1, 160, -1, 43, 6, 94, - 6, -1, 43, 6, 94, 163, -1, 177, -1, 163, - 94, 177, -1, 79, 166, 177, 94, 177, 169, 81, - 165, 82, -1, -1, 165, 80, 177, -1, 165, 77, - -1, -1, 166, 167, -1, 166, 168, -1, 56, -1, - 58, -1, 54, -1, 52, -1, 55, -1, 57, -1, - 53, -1, -1, 169, 170, -1, 169, 171, -1, 169, - 172, -1, 65, 177, 94, 177, -1, 61, 177, -1, - 64, 177, -1, 169, 81, 174, 82, -1, 9, -1, - 4, -1, 88, 4, -1, 5, -1, 88, 5, -1, - 6, -1, 174, 156, 9, -1, 174, 156, 4, -1, - 174, 156, 88, 4, -1, 174, 156, 5, -1, 174, - 156, 88, 5, -1, 174, 156, 6, -1, 106, -1, - 173, -1, -1, 177, -1, 178, -1, 178, 87, 178, - -1, 178, 88, 178, -1, 178, 84, 178, -1, 178, - 86, 178, -1, 178, 89, 178, -1, 178, 90, 178, - -1, 178, 85, 178, -1, 91, 178, -1, 88, 178, - -1, 87, 178, -1, 95, 178, 96, -1, 179, -1, - 92, 179, -1, 4, -1, 5, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = -{ - 0, 344, 344, 390, 391, 462, 468, 480, 490, 498, - 498, 541, 547, 554, 564, 565, 574, 575, 576, 600, - 601, 607, 608, 609, 610, 634, 635, 641, 642, 643, - 644, 645, 646, 650, 651, 652, 656, 660, 676, 698, - 708, 716, 724, 728, 732, 736, 747, 752, 761, 785, - 786, 787, 796, 797, 800, 801, 804, 805, 806, 807, - 808, 809, 814, 849, 850, 851, 852, 853, 854, 855, - 856, 857, 858, 861, 862, 863, 864, 865, 866, 867, - 868, 869, 870, 872, 873, 874, 875, 876, 877, 878, - 879, 881, 891, 914, 936, 938, 943, 950, 961, 975, - 990, 995, 996, 997, 1001, 1002, 1003, 1004, 1008, 1013, - 1021, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, - 1074, 1075, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, - 1086, 1087, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, - 1098, 1108, 1133, 1149, 1175, 1198, 1199, 1202, 1203, 1207, - 1214, 1215, 1219, 1242, 1246, 1247, 1256, 1262, 1281, 1282, - 1283, 1284, 1285, 1286, 1287, 1288, 1292, 1318, 1322, 1323, - 1339, 1345, 1365, 1366, 1370, 1378, 1389, 1390, 1394, 1400, - 1408, 1428, 1466, 1476, 1477, 1510, 1512, 1517, 1533, 1534, - 1544, 1554, 1561, 1568, 1575, 1582, 1592, 1593, 1602, 1610, - 1611, 1620, 1625, 1631, 1640, 1641, 1645, 1671, 1672, 1677, - 1686, 1687, 1697, 1712, 1714, 1716, 1718, 1722, 1724, 1726, - 1731, 1732, 1740, 1748, 1766, 1773, 1777, 1781, 1796, 1797, - 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, - 1811, 1812, 1819, 1820, 1824, 1827, 1828, 1829, 1830, 1831, - 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1842, 1843 -}; -#endif - -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE -/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. - First, the terminals, then, starting at YYNTOKENS, nonterminals. */ -static const char *const yytname[] = -{ - "$end", "error", "$undefined", "tNL", "tNUMBER", "tLNUMBER", "tSTRING", - "tIDENT", "tFILENAME", "tRAWDATA", "tACCELERATORS", "tBITMAP", "tCURSOR", - "tDIALOG", "tDIALOGEX", "tMENU", "tMENUEX", "tMESSAGETABLE", "tRCDATA", - "tVERSIONINFO", "tSTRINGTABLE", "tFONT", "tFONTDIR", "tICON", "tHTML", - "tAUTO3STATE", "tAUTOCHECKBOX", "tAUTORADIOBUTTON", "tCHECKBOX", - "tDEFPUSHBUTTON", "tPUSHBUTTON", "tRADIOBUTTON", "tSTATE3", "tGROUPBOX", - "tCOMBOBOX", "tLISTBOX", "tSCROLLBAR", "tCONTROL", "tEDITTEXT", "tRTEXT", - "tCTEXT", "tLTEXT", "tBLOCK", "tVALUE", "tSHIFT", "tALT", "tASCII", - "tVIRTKEY", "tGRAYED", "tCHECKED", "tINACTIVE", "tNOINVERT", "tPURE", - "tIMPURE", "tDISCARDABLE", "tLOADONCALL", "tPRELOAD", "tFIXED", - "tMOVEABLE", "tCLASS", "tCAPTION", "tCHARACTERISTICS", "tEXSTYLE", - "tSTYLE", "tVERSION", "tLANGUAGE", "tFILEVERSION", "tPRODUCTVERSION", - "tFILEFLAGSMASK", "tFILEOS", "tFILETYPE", "tFILEFLAGS", "tFILESUBTYPE", - "tMENUBARBREAK", "tMENUBREAK", "tMENUITEM", "tPOPUP", "tSEPARATOR", - "tHELP", "tTOOLBAR", "tBUTTON", "tBEGIN", "tEND", "tDLGINIT", "'|'", - "'^'", "'&'", "'+'", "'-'", "'*'", "'/'", "'~'", "tNOT", "pUPM", "','", - "'('", "')'", "$accept", "resource_file", "resources", "resource", "$@1", - "usrcvt", "nameid", "nameid_s", "resource_definition", "filename", - "bitmap", "cursor", "icon", "font", "fontdir", "messagetable", "html", - "rcdata", "dlginit", "userres", "usertype", "accelerators", "events", - "acc_opt", "accs", "acc", "dialog", "dlg_attributes", "ctrls", - "lab_ctrl", "ctrl_desc", "iconinfo", "gen_ctrl", "opt_font", - "optional_style_pair", "style", "ctlclass", "dialogex", "dlgex_attribs", - "exctrls", "gen_exctrl", "lab_exctrl", "exctrl_desc", "opt_data", - "helpid", "opt_exfont", "opt_expr", "menu", "menu_body", - "item_definitions", "item_options", "menuex", "menuex_body", - "itemex_definitions", "itemex_options", "itemex_p_options", - "stringtable", "stt_head", "strings", "opt_comma", "versioninfo", - "fix_version", "ver_blocks", "ver_block", "ver_values", "ver_value", - "ver_words", "toolbar", "toolbar_items", "loadmemopts", "lamo", "lama", - "opt_lvc", "opt_language", "opt_characts", "opt_version", "raw_data", - "raw_elements", "file_raw", "e_expr", "expr", "xpr", "any_num", 0 -}; -#endif - -# ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ -static const yytype_uint16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, - 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, - 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, - 335, 336, 337, 338, 124, 94, 38, 43, 45, 42, - 47, 126, 339, 340, 44, 40, 41 -}; -# endif - -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 97, 98, 99, 99, 99, 100, 100, 100, 101, - 100, 102, 103, 103, 104, 104, 105, 105, 105, 105, - 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 106, 106, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 117, 118, 119, - 119, 119, 120, 120, 121, 121, 122, 122, 122, 122, - 122, 122, 123, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, - 125, 125, 126, 127, 128, 128, 128, 128, 129, 129, - 130, 131, 131, 131, 132, 132, 132, 132, 133, 133, - 134, 135, 135, 135, 135, 135, 135, 135, 135, 135, - 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, - 136, 137, 137, 138, 139, 140, 140, 141, 141, 142, - 143, 143, 144, 145, 146, 146, 146, 146, 147, 147, - 147, 147, 147, 147, 147, 147, 148, 149, 150, 150, - 150, 150, 151, 151, 151, 151, 152, 152, 152, 152, - 152, 153, 154, 155, 155, 156, 156, 157, 158, 158, - 158, 158, 158, 158, 158, 158, 159, 159, 160, 161, - 161, 162, 162, 162, 163, 163, 164, 165, 165, 165, - 166, 166, 166, 167, 167, 167, 167, 168, 168, 168, - 169, 169, 169, 169, 170, 171, 172, 173, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 175, 175, 176, 176, 177, 178, 178, 178, 178, 178, - 178, 178, 178, 178, 178, 178, 178, 178, 179, 179 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 1, 0, 2, 2, 3, 3, 1, 0, - 5, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 1, 1, 6, 0, - 5, 5, 0, 2, 1, 3, 1, 1, 1, 1, - 1, 1, 13, 0, 3, 3, 3, 2, 3, 3, - 2, 2, 2, 0, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 10, 12, 10, 0, 4, 6, 8, 17, 15, - 4, 0, 2, 4, 3, 3, 1, 2, 1, 1, - 14, 0, 3, 3, 3, 2, 2, 3, 3, 2, - 2, 2, 0, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 10, 19, 16, 14, 12, 0, 1, 0, 2, 9, - 0, 2, 4, 3, 0, 6, 3, 5, 0, 2, - 2, 2, 2, 2, 2, 2, 4, 3, 0, 4, - 3, 5, 0, 2, 5, 6, 0, 2, 4, 6, - 8, 4, 3, 0, 4, 0, 1, 6, 0, 9, - 9, 3, 3, 3, 3, 3, 0, 2, 5, 0, - 2, 1, 4, 4, 1, 3, 9, 0, 3, 2, - 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, - 0, 2, 2, 2, 4, 2, 2, 4, 1, 1, - 2, 1, 2, 1, 3, 3, 4, 3, 4, 3, - 1, 1, 0, 1, 1, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 2, 3, 1, 2, 1, 1 -}; - -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint16 yydefact[] = -{ - 3, 0, 2, 1, 5, 258, 259, 11, 210, 9, - 0, 0, 0, 0, 0, 4, 8, 0, 11, 244, - 256, 0, 220, 0, 254, 253, 252, 257, 0, 183, - 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, - 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 210, 7, 17, 18, 24, - 22, 23, 27, 28, 29, 21, 31, 210, 16, 19, - 20, 25, 26, 32, 30, 216, 219, 215, 217, 213, - 218, 214, 211, 212, 182, 0, 255, 0, 6, 247, - 251, 248, 245, 246, 249, 250, 220, 220, 220, 0, - 0, 220, 220, 220, 220, 188, 220, 220, 220, 220, - 0, 220, 220, 0, 0, 0, 221, 222, 223, 0, - 181, 185, 0, 35, 34, 33, 240, 0, 241, 36, - 37, 0, 0, 0, 0, 41, 43, 0, 39, 40, - 38, 42, 0, 44, 45, 225, 226, 0, 10, 186, - 0, 49, 0, 0, 0, 154, 152, 168, 166, 0, - 0, 0, 0, 0, 0, 0, 196, 0, 0, 184, - 0, 229, 231, 233, 228, 0, 185, 0, 0, 0, - 0, 0, 0, 192, 193, 194, 191, 195, 0, 220, - 224, 0, 48, 0, 230, 232, 227, 0, 0, 0, - 0, 0, 153, 0, 0, 167, 0, 0, 0, 187, - 197, 0, 0, 0, 235, 237, 239, 234, 0, 0, - 0, 185, 156, 158, 172, 170, 176, 0, 0, 0, - 207, 52, 52, 236, 238, 0, 0, 0, 158, 158, - 158, 158, 158, 158, 158, 0, 242, 169, 242, 0, - 0, 0, 199, 0, 0, 50, 51, 63, 147, 158, - 161, 160, 163, 164, 165, 162, 159, 157, 0, 173, - 0, 177, 171, 0, 0, 0, 209, 0, 206, 58, - 57, 59, 60, 61, 56, 53, 54, 0, 0, 111, - 155, 242, 242, 0, 0, 0, 198, 201, 200, 208, - 0, 0, 0, 0, 0, 0, 0, 73, 67, 70, - 71, 72, 148, 0, 158, 243, 0, 178, 189, 190, - 0, 55, 13, 69, 12, 0, 15, 14, 68, 66, - 0, 0, 65, 106, 64, 0, 0, 0, 0, 0, - 0, 0, 122, 115, 116, 119, 120, 121, 158, 174, - 242, 0, 0, 107, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 62, 118, 0, 117, 114, 113, - 112, 0, 175, 0, 179, 202, 203, 204, 100, 105, - 104, 185, 185, 84, 86, 87, 79, 80, 82, 83, - 85, 81, 77, 0, 76, 78, 185, 74, 75, 90, - 89, 88, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 110, 0, 0, 0, 0, 0, 0, 100, 185, - 185, 133, 135, 136, 128, 129, 131, 132, 134, 130, - 126, 0, 125, 127, 185, 123, 124, 139, 138, 137, - 180, 205, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 109, 0, 108, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 150, 0, 0, 0, 0, - 94, 0, 0, 0, 0, 149, 0, 0, 0, 0, - 0, 91, 0, 0, 0, 151, 94, 0, 0, 0, - 0, 0, 101, 0, 140, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 101, 0, 95, 101, 102, 0, - 0, 147, 0, 0, 92, 0, 0, 101, 145, 0, - 96, 103, 0, 147, 144, 146, 0, 0, 0, 145, - 0, 97, 99, 143, 0, 0, 145, 98, 0, 142, - 147, 145, 141 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int16 yydefgoto[] = -{ - -1, 1, 2, 15, 23, 21, 327, 392, 56, 126, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 170, 255, 285, 286, 69, 287, 335, 393, - 402, 511, 407, 308, 531, 332, 484, 70, 313, 381, - 455, 441, 450, 554, 289, 344, 505, 71, 156, 179, - 266, 72, 158, 180, 247, 249, 16, 17, 87, 150, - 73, 137, 188, 210, 275, 298, 386, 74, 253, 22, - 82, 83, 127, 116, 117, 118, 128, 176, 129, 268, - 324, 19, 20 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ -#define YYPACT_NINF -520 -static const yytype_int16 yypact[] = -{ - -520, 3, 8, -520, -520, -520, -520, -520, -520, -520, - 220, 220, 220, 124, 220, -520, -520, -61, -520, 621, - -520, 366, 660, 220, -520, -520, -520, -520, 608, -520, - 366, 220, 220, 220, 220, 220, 220, 220, -520, -520, - -520, -520, -520, -520, -520, -520, -520, -520, -520, -520, - -520, -520, -520, -520, -520, -520, -520, -520, -520, -520, - -520, -520, -520, -520, -520, -520, -520, -520, -520, -520, - -520, -520, -520, -520, -520, -520, -520, -520, -520, -520, - -520, -520, -520, -520, 207, -58, -520, 111, -520, 322, - 350, 554, 66, 66, -520, -520, 660, 348, 348, 14, - 14, 660, 660, 348, 348, 660, 348, 348, 348, 348, - 14, 348, 348, 220, 220, 220, -520, -520, -520, 220, - -520, -53, 233, -520, -520, -520, -520, 432, -520, -520, - -520, -47, -34, 434, 455, -520, -520, 603, -520, -520, - -520, -520, -30, -520, -520, -520, -520, -14, -520, -520, - 78, -520, 26, 220, 220, -520, -520, -520, -520, 220, - 220, 220, 220, 220, 220, 220, -520, 220, 220, -520, - 50, -520, -520, -520, -520, 176, -57, 16, 36, 97, - 139, 42, 70, -520, -520, -520, -520, -520, -32, -520, - -520, 73, -520, 82, -520, -520, -520, 279, 220, 220, - 0, 86, -520, 1, 184, -520, 220, 220, 185, -520, - -520, 467, 220, 220, -520, -520, -520, -520, 235, 88, - 100, -53, -520, 368, 107, -520, 118, 138, 151, 171, - -520, 187, 187, -520, -520, 220, 220, 220, 368, 368, - 368, 368, 368, 368, 368, 195, 220, -520, 220, 201, - 220, 220, -520, 236, 285, -520, -520, -520, 193, 368, - -520, -520, -520, -520, -520, -520, -520, -520, 202, 209, - 210, 209, -520, 216, 223, -19, -520, 220, -520, -520, - -520, -520, -520, -520, -520, 227, -520, 278, 220, -520, - -520, 220, 220, 220, 220, 289, -520, -520, -520, -520, - 285, 182, 220, 83, 328, 54, 54, -520, -520, -520, - -520, -520, -520, 332, 379, -520, 234, 209, -520, -520, - 250, -520, -520, -520, -520, 251, -520, -520, -520, -520, - 124, 54, 268, -520, 268, 564, 182, 220, 83, 351, - 54, 54, -520, -520, -520, -520, -520, -520, 135, -520, - 220, 214, 352, -520, -39, 54, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 220, 220, 220, 83, - 220, 83, 83, 83, -520, -520, 269, -520, -520, 268, - 268, 583, -520, 275, 209, -520, 277, -520, -520, -520, - -520, -53, -53, -520, -520, -520, -520, -520, -520, -520, - -520, -520, -520, 280, -520, -520, -53, -520, -520, -520, - -520, -520, 356, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 220, 220, 220, 83, 220, 83, 83, - 83, -520, 220, 220, 220, 220, 220, 220, 292, -53, - -53, -520, -520, -520, -520, -520, -520, -520, -520, -520, - -520, 304, -520, -520, -53, -520, -520, -520, -520, -520, - -520, -520, 305, 320, 321, 325, 220, 220, 220, 220, - 220, 220, 220, 220, 232, 326, 330, 349, 353, 354, - 357, 365, 367, -520, 369, -520, 220, 220, 220, 220, - 232, 220, 220, 220, 54, 380, 388, 389, 398, 400, - 406, 407, 409, -67, 220, -520, 220, 220, 220, 54, - 220, -520, 220, 220, 220, -520, 406, 413, 415, -1, - 423, 424, 427, 428, -520, 220, 220, 220, 220, 220, - 54, -520, 220, 439, 427, 440, 441, 427, 10, 443, - 220, 193, 220, 54, -520, 54, 220, 427, 478, 447, - 59, 268, 451, 193, -520, -520, 220, 54, 220, 478, - 452, 268, 453, -520, 220, 54, 186, 268, 54, -520, - 60, 478, -520 -}; - -/* YYPGOTO[NTERM-NUM]. */ -static const yytype_int16 yypgoto[] = -{ - -520, -520, -520, -520, -520, 408, -292, -295, 342, -520, - -520, -520, -520, -520, -520, -520, -520, -520, -520, -520, - -520, -520, -520, 212, -520, 150, -520, -520, -520, 208, - -220, -56, -520, 239, -472, -302, 61, -520, -520, -520, - -520, 238, -171, -480, -519, -520, -520, -520, 308, -520, - 19, -520, 300, -520, -520, -520, -520, -520, -520, -175, - -520, -520, -520, 282, -520, -520, -520, -520, -520, 585, - -520, -520, -20, -273, -271, -261, -371, -520, 579, -243, - -2, 444, 20 -}; - -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -244 -static const yytype_int16 yytable[] = -{ - 18, 197, 84, 3, 334, 270, 221, 224, 328, 323, - 208, 4, 5, 6, 309, 7, 310, 355, 5, 6, - 29, 85, 548, 208, 295, 196, 311, 514, 8, 354, - 171, 172, 173, 27, 559, 174, 119, 149, 379, 380, - 345, 149, 346, 377, 375, 355, 237, 153, 314, 316, - 209, 571, 347, 390, 5, 6, 191, 389, 5, 6, - 154, 391, 541, 296, 167, 544, 75, 76, 77, 78, - 79, 80, 81, 9, 406, 553, 122, 222, 225, 563, - 168, 133, 134, 355, 169, 121, 569, 5, 6, 326, - 322, 572, 223, 527, 355, 10, 11, 131, 132, 12, - 13, 10, 11, 14, 545, 12, 13, 383, 142, 14, - 198, 145, 146, 147, 175, 5, 6, 148, 439, 440, - 440, 440, 440, 440, 440, 440, 440, 440, 5, 6, - 199, 454, 192, 440, 440, 440, 206, 10, 11, 5, - 6, 12, 13, 355, 355, 14, 330, 404, 405, 331, - 408, 177, 178, 557, 288, 36, 37, 181, 182, 183, - 184, 185, 186, 187, 207, 189, 190, 212, 193, 211, - 10, 11, 200, 201, 12, 13, 213, 555, 14, 202, - 194, 195, 235, 238, 239, 240, 5, 6, 555, 322, - 226, 229, 503, 120, 236, 555, 219, 220, 10, 11, - 555, 246, 12, 13, 227, 228, 14, 519, 241, 242, - 231, 232, 248, 243, 203, 204, 434, 435, 5, 6, - 385, 205, 10, 11, 5, 6, 12, 13, 538, 244, - 14, 437, 250, 257, 258, 259, 5, 6, 483, 233, - 234, 550, 245, 551, 269, 251, 271, -220, 273, 274, - -220, -220, 252, 452, 453, 561, 456, 260, 261, 262, - 263, 264, 265, 567, 467, 468, 570, -220, 113, 10, - 11, 114, 115, 12, 13, 299, 155, 14, 290, 470, - 568, 254, 157, 214, 215, 216, 312, 288, 217, 315, - 317, 318, 319, 301, 113, 320, 291, 114, 115, 302, - 325, 10, 11, -243, 292, 12, 13, 10, 11, 14, - 293, 12, 13, 276, 151, 14, 277, 294, 278, 10, - 11, 300, 279, 12, 13, 333, 333, 14, 350, 280, - 281, 282, 283, 349, 329, 376, 284, 303, 304, 113, - 305, 306, 114, 115, 351, 352, 382, 336, 384, 387, - 353, 333, 355, 337, 123, 124, 125, 378, 388, 307, - 333, 333, 438, 412, 403, 403, 403, 218, 403, 432, - 38, 433, 88, 39, 436, 333, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 466, 50, 51, 52, - 53, 338, 339, 113, 340, 341, 114, 115, 469, 471, - 75, 76, 77, 78, 79, 80, 81, 32, 33, 34, - 35, 36, 37, 342, 472, 473, 238, 239, 240, 474, - 486, 451, 451, 451, 487, 451, 30, 238, 239, 240, - 460, 461, 462, 463, 464, 465, 33, 34, 35, 36, - 37, 241, 242, 488, 256, 54, 243, 489, 490, 55, - 321, 491, 241, 242, 24, 25, 26, 243, 28, 492, - 524, 493, 244, 494, 475, 476, 477, 478, 479, 480, - 481, 482, 485, 348, 504, 89, 90, 91, 92, 93, - 94, 95, 506, 507, 495, 496, 497, 498, 485, 500, - 501, 502, 508, 113, 509, 113, 114, 115, 114, 115, - 510, 512, 515, 513, 516, 517, 518, 525, 520, 526, - 521, 522, 523, 152, 333, 155, 113, 528, 529, 114, - 115, 530, 532, 533, 534, 535, 536, 537, 113, 333, - 539, 114, 115, 540, 542, 543, 157, 546, 547, -220, - 549, 556, -220, -220, 552, 558, 564, 565, 230, 272, - 333, 499, 343, 267, 560, 0, 562, 297, 0, -220, - 0, 0, 566, 333, 0, 333, 394, 395, 396, 397, - 398, 399, 400, 401, 0, 0, 0, 333, 0, 409, - 410, 411, 0, 0, 0, 333, 0, 356, 333, 357, - 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, - 368, 369, 370, 371, 372, 373, 413, 0, 414, 415, - 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 34, 35, 36, 37, 0, 374, 0, 0, 0, - 0, 0, 112, 442, 443, 444, 445, 446, 447, 448, - 449, 0, 0, 0, 0, 431, 457, 458, 459, 159, - 160, 161, 162, 163, 164, 165, 0, 130, 0, 0, - 0, 0, 135, 136, 166, 138, 139, 140, 141, 0, - 143, 144, 31, 32, 33, 34, 35, 36, 37, 0, - 0, 0, 0, 0, 86, 31, 32, 33, 34, 35, - 36, 37, 75, 76, 77, 78, 79, 80, 81 -}; - -static const yytype_int16 yycheck[] = -{ - 2, 176, 22, 0, 306, 248, 6, 6, 303, 301, - 42, 3, 4, 5, 287, 7, 287, 84, 4, 5, - 81, 23, 541, 42, 43, 82, 287, 94, 20, 331, - 4, 5, 6, 13, 553, 9, 94, 94, 340, 341, - 313, 94, 313, 338, 336, 84, 221, 94, 291, 292, - 82, 570, 313, 355, 4, 5, 6, 96, 4, 5, - 94, 356, 534, 82, 94, 537, 52, 53, 54, 55, - 56, 57, 58, 65, 369, 547, 96, 77, 77, 559, - 94, 101, 102, 84, 6, 87, 566, 4, 5, 6, - 7, 571, 6, 94, 84, 87, 88, 99, 100, 91, - 92, 87, 88, 95, 94, 91, 92, 350, 110, 95, - 94, 113, 114, 115, 88, 4, 5, 119, 413, 414, - 415, 416, 417, 418, 419, 420, 421, 422, 4, 5, - 94, 426, 82, 428, 429, 430, 94, 87, 88, 4, - 5, 91, 92, 84, 84, 95, 92, 367, 368, 95, - 370, 153, 154, 94, 94, 89, 90, 159, 160, 161, - 162, 163, 164, 165, 94, 167, 168, 94, 170, 189, - 87, 88, 75, 76, 91, 92, 94, 548, 95, 82, - 4, 5, 94, 48, 49, 50, 4, 5, 559, 7, - 6, 6, 494, 82, 94, 566, 198, 199, 87, 88, - 571, 94, 91, 92, 206, 207, 95, 509, 73, 74, - 212, 213, 94, 78, 75, 76, 391, 392, 4, 5, - 6, 82, 87, 88, 4, 5, 91, 92, 530, 94, - 95, 406, 94, 235, 236, 237, 4, 5, 6, 4, - 5, 543, 223, 545, 246, 94, 248, 61, 250, 251, - 64, 65, 81, 424, 425, 557, 427, 238, 239, 240, - 241, 242, 243, 565, 439, 440, 568, 81, 61, 87, - 88, 64, 65, 91, 92, 277, 81, 95, 259, 454, - 94, 94, 81, 4, 5, 6, 288, 94, 9, 291, - 292, 293, 294, 15, 61, 6, 94, 64, 65, 21, - 302, 87, 88, 94, 94, 91, 92, 87, 88, 95, - 94, 91, 92, 77, 81, 95, 80, 94, 82, 87, - 88, 94, 37, 91, 92, 305, 306, 95, 94, 44, - 45, 46, 47, 314, 6, 337, 51, 59, 60, 61, - 62, 63, 64, 65, 94, 94, 348, 15, 350, 351, - 330, 331, 84, 21, 6, 7, 8, 6, 6, 81, - 340, 341, 6, 94, 366, 367, 368, 88, 370, 94, - 4, 94, 30, 7, 94, 355, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 94, 21, 22, 23, - 24, 59, 60, 61, 62, 63, 64, 65, 94, 94, - 52, 53, 54, 55, 56, 57, 58, 85, 86, 87, - 88, 89, 90, 81, 94, 94, 48, 49, 50, 94, - 94, 423, 424, 425, 94, 427, 18, 48, 49, 50, - 432, 433, 434, 435, 436, 437, 86, 87, 88, 89, - 90, 73, 74, 94, 232, 79, 78, 94, 94, 83, - 300, 94, 73, 74, 10, 11, 12, 78, 14, 94, - 516, 94, 94, 94, 466, 467, 468, 469, 470, 471, - 472, 473, 474, 94, 94, 31, 32, 33, 34, 35, - 36, 37, 94, 94, 486, 487, 488, 489, 490, 491, - 492, 493, 94, 61, 94, 61, 64, 65, 64, 65, - 94, 94, 504, 94, 506, 507, 508, 94, 510, 94, - 512, 513, 514, 81, 494, 81, 61, 94, 94, 64, - 65, 94, 94, 525, 526, 527, 528, 529, 61, 509, - 532, 64, 65, 94, 94, 94, 81, 94, 540, 61, - 542, 94, 64, 65, 546, 94, 94, 94, 81, 249, - 530, 490, 313, 245, 556, -1, 558, 275, -1, 81, - -1, -1, 564, 543, -1, 545, 358, 359, 360, 361, - 362, 363, 364, 365, -1, -1, -1, 557, -1, 371, - 372, 373, -1, -1, -1, 565, -1, 23, 568, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 23, -1, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 87, 88, 89, 90, -1, 82, -1, -1, -1, - -1, -1, 67, 415, 416, 417, 418, 419, 420, 421, - 422, -1, -1, -1, -1, 82, 428, 429, 430, 66, - 67, 68, 69, 70, 71, 72, -1, 98, -1, -1, - -1, -1, 103, 104, 81, 106, 107, 108, 109, -1, - 111, 112, 84, 85, 86, 87, 88, 89, 90, -1, - -1, -1, -1, -1, 96, 84, 85, 86, 87, 88, - 89, 90, 52, 53, 54, 55, 56, 57, 58 -}; - -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ -static const yytype_uint8 yystos[] = -{ - 0, 98, 99, 0, 3, 4, 5, 7, 20, 65, - 87, 88, 91, 92, 95, 100, 153, 154, 177, 178, - 179, 102, 166, 101, 178, 178, 178, 179, 178, 81, - 102, 84, 85, 86, 87, 88, 89, 90, 4, 7, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 21, 22, 23, 24, 79, 83, 105, 107, 108, 109, - 110, 111, 112, 113, 114, 115, 116, 117, 118, 123, - 134, 144, 148, 157, 164, 52, 53, 54, 55, 56, - 57, 58, 167, 168, 169, 177, 96, 155, 105, 178, - 178, 178, 178, 178, 178, 178, 166, 166, 166, 166, - 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, - 166, 166, 166, 61, 64, 65, 170, 171, 172, 94, - 82, 177, 169, 6, 7, 8, 106, 169, 173, 175, - 175, 177, 177, 169, 169, 175, 175, 158, 175, 175, - 175, 175, 177, 175, 175, 177, 177, 177, 177, 94, - 156, 81, 81, 94, 94, 81, 145, 81, 149, 66, - 67, 68, 69, 70, 71, 72, 81, 94, 94, 6, - 119, 4, 5, 6, 9, 88, 174, 177, 177, 146, - 150, 177, 177, 177, 177, 177, 177, 177, 159, 177, - 177, 6, 82, 177, 4, 5, 82, 156, 94, 94, - 75, 76, 82, 75, 76, 82, 94, 94, 42, 82, - 160, 169, 94, 94, 4, 5, 6, 9, 88, 177, - 177, 6, 77, 6, 6, 77, 6, 177, 177, 6, - 81, 177, 177, 4, 5, 94, 94, 156, 48, 49, - 50, 73, 74, 78, 94, 147, 94, 151, 94, 152, - 94, 94, 81, 165, 94, 120, 120, 177, 177, 177, - 147, 147, 147, 147, 147, 147, 147, 145, 176, 177, - 176, 177, 149, 177, 177, 161, 77, 80, 82, 37, - 44, 45, 46, 47, 51, 121, 122, 124, 94, 141, - 147, 94, 94, 94, 94, 43, 82, 160, 162, 177, - 94, 15, 21, 59, 60, 62, 63, 81, 130, 170, - 171, 172, 177, 135, 176, 177, 176, 177, 177, 177, - 6, 122, 7, 103, 177, 177, 6, 103, 104, 6, - 92, 95, 132, 179, 132, 125, 15, 21, 59, 60, - 62, 63, 81, 130, 142, 170, 171, 172, 94, 147, - 94, 94, 94, 179, 132, 84, 23, 25, 26, 27, - 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 41, 82, 103, 177, 104, 6, 132, - 132, 136, 177, 176, 177, 6, 163, 177, 6, 96, - 132, 104, 104, 126, 126, 126, 126, 126, 126, 126, - 126, 126, 127, 177, 127, 127, 104, 129, 127, 126, - 126, 126, 94, 23, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 82, 94, 94, 156, 156, 94, 156, 6, 104, - 104, 138, 138, 138, 138, 138, 138, 138, 138, 138, - 139, 177, 139, 139, 104, 137, 139, 138, 138, 138, - 177, 177, 177, 177, 177, 177, 94, 156, 156, 94, - 156, 94, 94, 94, 94, 177, 177, 177, 177, 177, - 177, 177, 177, 6, 133, 177, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 177, 177, 177, 177, 133, - 177, 177, 177, 132, 94, 143, 94, 94, 94, 94, - 94, 128, 94, 94, 94, 177, 177, 177, 177, 132, - 177, 177, 177, 177, 128, 94, 94, 94, 94, 94, - 94, 131, 94, 177, 177, 177, 177, 177, 132, 177, - 94, 131, 94, 94, 131, 94, 94, 177, 141, 177, - 132, 132, 177, 131, 140, 173, 94, 94, 94, 141, - 177, 132, 177, 140, 94, 94, 177, 132, 94, 140, - 132, 141, 140 -}; - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 - -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab - - -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. However, - YYFAIL appears to be in use. Nevertheless, it is formally deprecated - in Bison 2.4.2's NEWS entry, where a plan to phase it out is - discussed. */ - -#define YYFAIL goto yyerrlab -#if defined YYFAIL - /* This is here to suppress warnings from the GCC cpp's - -Wunused-macros. Normally we don't worry about that warning, but - some users do, and we want to make it easy for users to remove - YYFAIL uses, which will produce warnings from Bison 2.5. */ -#endif - -#define YYRECOVERING() (!!yyerrstatus) - -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) - - -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) -#endif - - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif - -/* Enable debugging if requested. */ -#if YYDEBUG - -# ifndef YYFPRINTF -# include /* INFRINGES ON USER NAME SPACE */ -# define YYFPRINTF fprintf -# endif - -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) - -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif -{ - if (!yyvaluep) - return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); -# endif - switch (yytype) - { - default: - break; - } -} - - -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif -{ - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); - - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); -} - -/*------------------------------------------------------------------. -| yy_stack_print -- Print the state stack from its BOTTOM up to its | -| TOP (included). | -`------------------------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) -#else -static void -yy_stack_print (yybottom, yytop) - yytype_int16 *yybottom; - yytype_int16 *yytop; -#endif -{ - YYFPRINTF (stderr, "Stack now"); - for (; yybottom <= yytop; yybottom++) - { - int yybot = *yybottom; - YYFPRINTF (stderr, " %d", yybot); - } - YYFPRINTF (stderr, "\n"); -} - -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) - - -/*------------------------------------------------. -| Report that the YYRULE is going to be reduced. | -`------------------------------------------------*/ - -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; -#endif -{ - int yynrhs = yyr2[yyrule]; - int yyi; - unsigned long int yylno = yyrline[yyrule]; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); - /* The symbols being reduced. */ - for (yyi = 0; yyi < yynrhs; yyi++) - { - YYFPRINTF (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); - YYFPRINTF (stderr, "\n"); - } -} - -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) - -/* Nonzero means print parse trace. It is left uninitialized so that - multiple parsers can coexist. */ -int yydebug; -#else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) -# define YY_STACK_PRINT(Bottom, Top) -# define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ - - -/* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH -# define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only - if the built-in stack extension method is used). - - Do not make this value too large; the results are undefined if - YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) - evaluated with infinite-precision integer arithmetic. */ - -#ifndef YYMAXDEPTH -# define YYMAXDEPTH 10000 -#endif - - - -#if YYERROR_VERBOSE - -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static YYSIZE_T -yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif -{ - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif - -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static char * -yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif -{ - char *yyd = yydest; - const char *yys = yysrc; - - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) -{ - int yyn = yypact[yystate]; - - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else - { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; - -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; - } -} -#endif /* YYERROR_VERBOSE */ - - -/*-----------------------------------------------. -| Release the memory associated to this symbol. | -`-----------------------------------------------*/ - -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; -#endif -{ - YYUSE (yyvaluep); - - if (!yymsg) - yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - - switch (yytype) - { - - default: - break; - } -} - -/* Prevent warnings from -Wmissing-prototypes. */ -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ - - -/* The lookahead symbol. */ -int yychar; - -/* The semantic value of the lookahead symbol. */ -YYSTYPE yylval; - -/* Number of syntax errors so far. */ -int yynerrs; - - - -/*-------------------------. -| yyparse or yypush_parse. | -`-------------------------*/ - -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void) -#else -int -yyparse () - -#endif -#endif -{ - - - int yystate; - /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; - - /* The stacks and their tools: - `yyss': related to states. - `yyvs': related to semantic values. - - Refer to the stacks thru separate pointers, to allow yyoverflow - to reallocate them elsewhere. */ - - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss; - yytype_int16 *yyssp; - - /* The semantic value stack. */ - YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; - - YYSIZE_T yystacksize; - - int yyn; - int yyresult; - /* Lookahead token as an internal (translated) token number. */ - int yytoken; - /* The variables used to return semantic value and location from the - action routines. */ - YYSTYPE yyval; - -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif - -#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) - - /* The number of symbols on the RHS of the reduced rule. - Keep to zero when no symbol should be popped. */ - int yylen = 0; - - yytoken = 0; - yyss = yyssa; - yyvs = yyvsa; - yystacksize = YYINITDEPTH; - - YYDPRINTF ((stderr, "Starting parse\n")); - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - yyssp = yyss; - yyvsp = yyvs; - - goto yysetstate; - -/*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | -`------------------------------------------------------------*/ - yynewstate: - /* In all cases, when you get here, the value and location stacks - have just been pushed. So pushing a state here evens the stacks. */ - yyssp++; - - yysetstate: - *yyssp = yystate; - - if (yyss + yystacksize - 1 <= yyssp) - { - /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; - -#ifdef yyoverflow - { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; - - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); - - yyss = yyss1; - yyvs = yyvs1; - } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else - /* Extend the stack our own way. */ - if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; - yystacksize *= 2; - if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; - - { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); -# undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); - } -# endif -#endif /* no yyoverflow */ - - yyssp = yyss + yysize - 1; - yyvsp = yyvs + yysize - 1; - - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); - - if (yyss + yystacksize - 1 <= yyssp) - YYABORT; - } - - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); - - if (yystate == YYFINAL) - YYACCEPT; - - goto yybackup; - -/*-----------. -| yybackup. | -`-----------*/ -yybackup: - - /* Do appropriate processing given the current state. Read a - lookahead token if we need one and don't already have one. */ - - /* First try to decide what to do without reference to lookahead token. */ - yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ - if (yychar == YYEMPTY) - { - YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; - } - - if (yychar <= YYEOF) - { - yychar = yytoken = YYEOF; - YYDPRINTF ((stderr, "Now at end of input.\n")); - } - else - { - yytoken = YYTRANSLATE (yychar); - YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); - } - - /* If the proper action on seeing token YYTOKEN is to reduce or to - detect an error, take that action. */ - yyn += yytoken; - if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) - goto yydefault; - yyn = yytable[yyn]; - if (yyn <= 0) - { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - - /* Count tokens shifted since error; after three, turn off error - status. */ - if (yyerrstatus) - yyerrstatus--; - - /* Shift the lookahead token. */ - YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token. */ - yychar = YYEMPTY; - - yystate = yyn; - *++yyvsp = yylval; - - goto yynewstate; - - -/*-----------------------------------------------------------. -| yydefault -- do the default action for the current state. | -`-----------------------------------------------------------*/ -yydefault: - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - goto yyreduce; - - -/*-----------------------------. -| yyreduce -- Do a reduction. | -`-----------------------------*/ -yyreduce: - /* yyn is the number of a rule to reduce with. */ - yylen = yyr2[yyn]; - - /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. - - Otherwise, the following line sets YYVAL to garbage. - This behavior is undocumented and Bison - users should not rely upon it. Assigning to YYVAL - unconditionally makes the parser a bit smaller, and it avoids a - GCC warning that YYVAL may be used uninitialized. */ - yyval = yyvsp[1-yylen]; - - - YY_REDUCE_PRINT (yyn); - switch (yyn) - { - case 2: - -/* Line 1464 of yacc.c */ -#line 344 "parser.y" - { - resource_t *rsc, *head; - /* First add stringtables to the resource-list */ - rsc = build_stt_resources(sttres); - /* 'build_stt_resources' returns a head and $1 is a tail */ - if((yyvsp[(1) - (1)].res)) - { - (yyvsp[(1) - (1)].res)->next = rsc; - if(rsc) - rsc->prev = (yyvsp[(1) - (1)].res); - } - else - (yyvsp[(1) - (1)].res) = rsc; - /* Find the tail again */ - while((yyvsp[(1) - (1)].res) && (yyvsp[(1) - (1)].res)->next) - (yyvsp[(1) - (1)].res) = (yyvsp[(1) - (1)].res)->next; - /* Now add any fontdirecory */ - rsc = build_fontdirs((yyvsp[(1) - (1)].res)); - /* 'build_fontdir' returns a head and $1 is a tail */ - if((yyvsp[(1) - (1)].res)) - { - (yyvsp[(1) - (1)].res)->next = rsc; - if(rsc) - rsc->prev = (yyvsp[(1) - (1)].res); - } - else - (yyvsp[(1) - (1)].res) = rsc; - - /* Final statements before we're done */ - if ((head = get_resource_head((yyvsp[(1) - (1)].res))) != NULL) - { - if (resource_top) /* append to existing resources */ - { - resource_t *tail = resource_top; - while (tail->next) tail = tail->next; - tail->next = head; - head->prev = tail; - } - else resource_top = head; - } - sttres = NULL; - ;} - break; - - case 3: - -/* Line 1464 of yacc.c */ -#line 390 "parser.y" - { (yyval.res) = NULL; want_id = 1; ;} - break; - - case 4: - -/* Line 1464 of yacc.c */ -#line 391 "parser.y" - { - if((yyvsp[(2) - (2)].res)) - { - resource_t *tail = (yyvsp[(2) - (2)].res); - resource_t *head = (yyvsp[(2) - (2)].res); - while(tail->next) - tail = tail->next; - while(head->prev) - head = head->prev; - head->prev = (yyvsp[(1) - (2)].res); - if((yyvsp[(1) - (2)].res)) - (yyvsp[(1) - (2)].res)->next = head; - (yyval.res) = tail; - /* Check for duplicate identifiers */ - while((yyvsp[(1) - (2)].res) && head) - { - resource_t *rsc = (yyvsp[(1) - (2)].res); - while(rsc) - { - if(rsc->type == head->type - && rsc->lan->id == head->lan->id - && rsc->lan->sub == head->lan->sub - && !compare_name_id(rsc->name, head->name) - && (rsc->type != res_usr || !compare_name_id(rsc->res.usr->type,head->res.usr->type))) - { - yyerror("Duplicate resource name '%s'", get_nameid_str(rsc->name)); - } - rsc = rsc->prev; - } - head = head->next; - } - } - else if((yyvsp[(1) - (2)].res)) - { - resource_t *tail = (yyvsp[(1) - (2)].res); - while(tail->next) - tail = tail->next; - (yyval.res) = tail; - } - else - (yyval.res) = NULL; - - if(!dont_want_id) /* See comments in language parsing below */ - want_id = 1; - dont_want_id = 0; - ;} - break; - - case 6: - -/* Line 1464 of yacc.c */ -#line 468 "parser.y" - { - (yyval.res) = (yyvsp[(3) - (3)].res); - if((yyval.res)) - { - if((yyvsp[(1) - (3)].num) > 65535 || (yyvsp[(1) - (3)].num) < -32768) - yyerror("Resource's ID out of range (%d)", (yyvsp[(1) - (3)].num)); - (yyval.res)->name = new_name_id(); - (yyval.res)->name->type = name_ord; - (yyval.res)->name->name.i_name = (yyvsp[(1) - (3)].num); - chat("Got %s (%d)\n", get_typename((yyvsp[(3) - (3)].res)), (yyval.res)->name->name.i_name); - } - ;} - break; - - case 7: - -/* Line 1464 of yacc.c */ -#line 480 "parser.y" - { - (yyval.res) = (yyvsp[(3) - (3)].res); - if((yyval.res)) - { - (yyval.res)->name = new_name_id(); - (yyval.res)->name->type = name_str; - (yyval.res)->name->name.s_name = (yyvsp[(1) - (3)].str); - chat("Got %s (%s)\n", get_typename((yyvsp[(3) - (3)].res)), (yyval.res)->name->name.s_name->str.cstr); - } - ;} - break; - - case 8: - -/* Line 1464 of yacc.c */ -#line 490 "parser.y" - { - /* Don't do anything, stringtables are converted to - * resource_t structures when we are finished parsing and - * the final rule of the parser is reduced (see above) - */ - (yyval.res) = NULL; - chat("Got STRINGTABLE\n"); - ;} - break; - - case 9: - -/* Line 1464 of yacc.c */ -#line 498 "parser.y" - {want_nl = 1; ;} - break; - - case 10: - -/* Line 1464 of yacc.c */ -#line 498 "parser.y" - { - /* We *NEED* the newline to delimit the expression. - * Otherwise, we would not be able to set the next - * want_id anymore because of the token-lookahead. - * - * However, we can test the lookahead-token for - * being "non-expression" type, in which case we - * continue. Fortunately, tNL is the only token that - * will break expression parsing and is implicitly - * void, so we just remove it. This scheme makes it - * possible to do some (not all) fancy preprocessor - * stuff. - * BTW, we also need to make sure that the next - * reduction of 'resources' above will *not* set - * want_id because we already have a lookahead that - * cannot be undone. - */ - if(yychar != YYEMPTY && yychar != tNL) - dont_want_id = 1; - - if(yychar == tNL) - yychar = YYEMPTY; /* Could use 'yyclearin', but we already need the*/ - /* direct access to yychar in rule 'usrcvt' below. */ - else if(yychar == tIDENT) - parser_warning("LANGUAGE statement not delimited with newline; next identifier might be wrong\n"); - - want_nl = 0; /* We don't want it anymore if we didn't get it */ - - if(!win32) - parser_warning("LANGUAGE not supported in 16-bit mode\n"); - free(currentlanguage); - if (get_language_codepage((yyvsp[(3) - (5)].num), (yyvsp[(5) - (5)].num)) == -1) - yyerror( "Language %04x is not supported", ((yyvsp[(5) - (5)].num)<<10) + (yyvsp[(3) - (5)].num)); - currentlanguage = new_language((yyvsp[(3) - (5)].num), (yyvsp[(5) - (5)].num)); - (yyval.res) = NULL; - chat("Got LANGUAGE %d,%d (0x%04x)\n", (yyvsp[(3) - (5)].num), (yyvsp[(5) - (5)].num), ((yyvsp[(5) - (5)].num)<<10) + (yyvsp[(3) - (5)].num)); - ;} - break; - - case 11: - -/* Line 1464 of yacc.c */ -#line 541 "parser.y" - { yychar = rsrcid_to_token(yychar); ;} - break; - - case 12: - -/* Line 1464 of yacc.c */ -#line 547 "parser.y" - { - if((yyvsp[(1) - (1)].num) > 65535 || (yyvsp[(1) - (1)].num) < -32768) - yyerror("Resource's ID out of range (%d)", (yyvsp[(1) - (1)].num)); - (yyval.nid) = new_name_id(); - (yyval.nid)->type = name_ord; - (yyval.nid)->name.i_name = (yyvsp[(1) - (1)].num); - ;} - break; - - case 13: - -/* Line 1464 of yacc.c */ -#line 554 "parser.y" - { - (yyval.nid) = new_name_id(); - (yyval.nid)->type = name_str; - (yyval.nid)->name.s_name = (yyvsp[(1) - (1)].str); - ;} - break; - - case 14: - -/* Line 1464 of yacc.c */ -#line 564 "parser.y" - { (yyval.nid) = (yyvsp[(1) - (1)].nid); ;} - break; - - case 15: - -/* Line 1464 of yacc.c */ -#line 565 "parser.y" - { - (yyval.nid) = new_name_id(); - (yyval.nid)->type = name_str; - (yyval.nid)->name.s_name = (yyvsp[(1) - (1)].str); - ;} - break; - - case 16: - -/* Line 1464 of yacc.c */ -#line 574 "parser.y" - { (yyval.res) = new_resource(res_acc, (yyvsp[(1) - (1)].acc), (yyvsp[(1) - (1)].acc)->memopt, (yyvsp[(1) - (1)].acc)->lvc.language); ;} - break; - - case 17: - -/* Line 1464 of yacc.c */ -#line 575 "parser.y" - { (yyval.res) = new_resource(res_bmp, (yyvsp[(1) - (1)].bmp), (yyvsp[(1) - (1)].bmp)->memopt, (yyvsp[(1) - (1)].bmp)->data->lvc.language); ;} - break; - - case 18: - -/* Line 1464 of yacc.c */ -#line 576 "parser.y" - { - resource_t *rsc; - if((yyvsp[(1) - (1)].ani)->type == res_anicur) - { - (yyval.res) = rsc = new_resource(res_anicur, (yyvsp[(1) - (1)].ani)->u.ani, (yyvsp[(1) - (1)].ani)->u.ani->memopt, (yyvsp[(1) - (1)].ani)->u.ani->data->lvc.language); - } - else if((yyvsp[(1) - (1)].ani)->type == res_curg) - { - cursor_t *cur; - (yyval.res) = rsc = new_resource(res_curg, (yyvsp[(1) - (1)].ani)->u.curg, (yyvsp[(1) - (1)].ani)->u.curg->memopt, (yyvsp[(1) - (1)].ani)->u.curg->lvc.language); - for(cur = (yyvsp[(1) - (1)].ani)->u.curg->cursorlist; cur; cur = cur->next) - { - rsc->prev = new_resource(res_cur, cur, (yyvsp[(1) - (1)].ani)->u.curg->memopt, (yyvsp[(1) - (1)].ani)->u.curg->lvc.language); - rsc->prev->next = rsc; - rsc = rsc->prev; - rsc->name = new_name_id(); - rsc->name->type = name_ord; - rsc->name->name.i_name = cur->id; - } - } - else - internal_error(__FILE__, __LINE__, "Invalid top-level type %d in cursor resource\n", (yyvsp[(1) - (1)].ani)->type); - free((yyvsp[(1) - (1)].ani)); - ;} - break; - - case 19: - -/* Line 1464 of yacc.c */ -#line 600 "parser.y" - { (yyval.res) = new_resource(res_dlg, (yyvsp[(1) - (1)].dlg), (yyvsp[(1) - (1)].dlg)->memopt, (yyvsp[(1) - (1)].dlg)->lvc.language); ;} - break; - - case 20: - -/* Line 1464 of yacc.c */ -#line 601 "parser.y" - { - if(win32) - (yyval.res) = new_resource(res_dlg, (yyvsp[(1) - (1)].dlg), (yyvsp[(1) - (1)].dlg)->memopt, (yyvsp[(1) - (1)].dlg)->lvc.language); - else - (yyval.res) = NULL; - ;} - break; - - case 21: - -/* Line 1464 of yacc.c */ -#line 607 "parser.y" - { (yyval.res) = new_resource(res_dlginit, (yyvsp[(1) - (1)].dginit), (yyvsp[(1) - (1)].dginit)->memopt, (yyvsp[(1) - (1)].dginit)->data->lvc.language); ;} - break; - - case 22: - -/* Line 1464 of yacc.c */ -#line 608 "parser.y" - { (yyval.res) = new_resource(res_fnt, (yyvsp[(1) - (1)].fnt), (yyvsp[(1) - (1)].fnt)->memopt, (yyvsp[(1) - (1)].fnt)->data->lvc.language); ;} - break; - - case 23: - -/* Line 1464 of yacc.c */ -#line 609 "parser.y" - { (yyval.res) = new_resource(res_fntdir, (yyvsp[(1) - (1)].fnd), (yyvsp[(1) - (1)].fnd)->memopt, (yyvsp[(1) - (1)].fnd)->data->lvc.language); ;} - break; - - case 24: - -/* Line 1464 of yacc.c */ -#line 610 "parser.y" - { - resource_t *rsc; - if((yyvsp[(1) - (1)].ani)->type == res_aniico) - { - (yyval.res) = rsc = new_resource(res_aniico, (yyvsp[(1) - (1)].ani)->u.ani, (yyvsp[(1) - (1)].ani)->u.ani->memopt, (yyvsp[(1) - (1)].ani)->u.ani->data->lvc.language); - } - else if((yyvsp[(1) - (1)].ani)->type == res_icog) - { - icon_t *ico; - (yyval.res) = rsc = new_resource(res_icog, (yyvsp[(1) - (1)].ani)->u.icog, (yyvsp[(1) - (1)].ani)->u.icog->memopt, (yyvsp[(1) - (1)].ani)->u.icog->lvc.language); - for(ico = (yyvsp[(1) - (1)].ani)->u.icog->iconlist; ico; ico = ico->next) - { - rsc->prev = new_resource(res_ico, ico, (yyvsp[(1) - (1)].ani)->u.icog->memopt, (yyvsp[(1) - (1)].ani)->u.icog->lvc.language); - rsc->prev->next = rsc; - rsc = rsc->prev; - rsc->name = new_name_id(); - rsc->name->type = name_ord; - rsc->name->name.i_name = ico->id; - } - } - else - internal_error(__FILE__, __LINE__, "Invalid top-level type %d in icon resource\n", (yyvsp[(1) - (1)].ani)->type); - free((yyvsp[(1) - (1)].ani)); - ;} - break; - - case 25: - -/* Line 1464 of yacc.c */ -#line 634 "parser.y" - { (yyval.res) = new_resource(res_men, (yyvsp[(1) - (1)].men), (yyvsp[(1) - (1)].men)->memopt, (yyvsp[(1) - (1)].men)->lvc.language); ;} - break; - - case 26: - -/* Line 1464 of yacc.c */ -#line 635 "parser.y" - { - if(win32) - (yyval.res) = new_resource(res_men, (yyvsp[(1) - (1)].men), (yyvsp[(1) - (1)].men)->memopt, (yyvsp[(1) - (1)].men)->lvc.language); - else - (yyval.res) = NULL; - ;} - break; - - case 27: - -/* Line 1464 of yacc.c */ -#line 641 "parser.y" - { (yyval.res) = new_resource(res_msg, (yyvsp[(1) - (1)].msg), WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, (yyvsp[(1) - (1)].msg)->data->lvc.language); ;} - break; - - case 28: - -/* Line 1464 of yacc.c */ -#line 642 "parser.y" - { (yyval.res) = new_resource(res_html, (yyvsp[(1) - (1)].html), (yyvsp[(1) - (1)].html)->memopt, (yyvsp[(1) - (1)].html)->data->lvc.language); ;} - break; - - case 29: - -/* Line 1464 of yacc.c */ -#line 643 "parser.y" - { (yyval.res) = new_resource(res_rdt, (yyvsp[(1) - (1)].rdt), (yyvsp[(1) - (1)].rdt)->memopt, (yyvsp[(1) - (1)].rdt)->data->lvc.language); ;} - break; - - case 30: - -/* Line 1464 of yacc.c */ -#line 644 "parser.y" - { (yyval.res) = new_resource(res_toolbar, (yyvsp[(1) - (1)].tlbar), (yyvsp[(1) - (1)].tlbar)->memopt, (yyvsp[(1) - (1)].tlbar)->lvc.language); ;} - break; - - case 31: - -/* Line 1464 of yacc.c */ -#line 645 "parser.y" - { (yyval.res) = new_resource(res_usr, (yyvsp[(1) - (1)].usr), (yyvsp[(1) - (1)].usr)->memopt, (yyvsp[(1) - (1)].usr)->data->lvc.language); ;} - break; - - case 32: - -/* Line 1464 of yacc.c */ -#line 646 "parser.y" - { (yyval.res) = new_resource(res_ver, (yyvsp[(1) - (1)].veri), WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE, (yyvsp[(1) - (1)].veri)->lvc.language); ;} - break; - - case 33: - -/* Line 1464 of yacc.c */ -#line 650 "parser.y" - { (yyval.str) = make_filename((yyvsp[(1) - (1)].str)); ;} - break; - - case 34: - -/* Line 1464 of yacc.c */ -#line 651 "parser.y" - { (yyval.str) = make_filename((yyvsp[(1) - (1)].str)); ;} - break; - - case 35: - -/* Line 1464 of yacc.c */ -#line 652 "parser.y" - { (yyval.str) = make_filename((yyvsp[(1) - (1)].str)); ;} - break; - - case 36: - -/* Line 1464 of yacc.c */ -#line 656 "parser.y" - { (yyval.bmp) = new_bitmap((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); ;} - break; - - case 37: - -/* Line 1464 of yacc.c */ -#line 660 "parser.y" - { - (yyval.ani) = new_ani_any(); - if((yyvsp[(3) - (3)].raw)->size > 4 && !memcmp((yyvsp[(3) - (3)].raw)->data, riff, sizeof(riff))) - { - (yyval.ani)->type = res_anicur; - (yyval.ani)->u.ani = new_ani_curico(res_anicur, (yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); - } - else - { - (yyval.ani)->type = res_curg; - (yyval.ani)->u.curg = new_cursor_group((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); - } - ;} - break; - - case 38: - -/* Line 1464 of yacc.c */ -#line 676 "parser.y" - { - (yyval.ani) = new_ani_any(); - if((yyvsp[(3) - (3)].raw)->size > 4 && !memcmp((yyvsp[(3) - (3)].raw)->data, riff, sizeof(riff))) - { - (yyval.ani)->type = res_aniico; - (yyval.ani)->u.ani = new_ani_curico(res_aniico, (yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); - } - else - { - (yyval.ani)->type = res_icog; - (yyval.ani)->u.icog = new_icon_group((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); - } - ;} - break; - - case 39: - -/* Line 1464 of yacc.c */ -#line 698 "parser.y" - { (yyval.fnt) = new_font((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); ;} - break; - - case 40: - -/* Line 1464 of yacc.c */ -#line 708 "parser.y" - { (yyval.fnd) = new_fontdir((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); ;} - break; - - case 41: - -/* Line 1464 of yacc.c */ -#line 716 "parser.y" - { - if(!win32) - parser_warning("MESSAGETABLE not supported in 16-bit mode\n"); - (yyval.msg) = new_messagetable((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); - ;} - break; - - case 42: - -/* Line 1464 of yacc.c */ -#line 724 "parser.y" - { (yyval.html) = new_html((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); ;} - break; - - case 43: - -/* Line 1464 of yacc.c */ -#line 728 "parser.y" - { (yyval.rdt) = new_rcdata((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); ;} - break; - - case 44: - -/* Line 1464 of yacc.c */ -#line 732 "parser.y" - { (yyval.dginit) = new_dlginit((yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); ;} - break; - - case 45: - -/* Line 1464 of yacc.c */ -#line 736 "parser.y" - { -#ifdef WORDS_BIGENDIAN - if(pedantic && byteorder != WRC_BO_LITTLE) -#else - if(pedantic && byteorder == WRC_BO_BIG) -#endif - parser_warning("Byteordering is not little-endian and type cannot be interpreted\n"); - (yyval.usr) = new_user((yyvsp[(1) - (3)].nid), (yyvsp[(3) - (3)].raw), (yyvsp[(2) - (3)].iptr)); - ;} - break; - - case 46: - -/* Line 1464 of yacc.c */ -#line 747 "parser.y" - { - (yyval.nid) = new_name_id(); - (yyval.nid)->type = name_ord; - (yyval.nid)->name.i_name = (yyvsp[(1) - (1)].num); - ;} - break; - - case 47: - -/* Line 1464 of yacc.c */ -#line 752 "parser.y" - { - (yyval.nid) = new_name_id(); - (yyval.nid)->type = name_str; - (yyval.nid)->name.s_name = (yyvsp[(1) - (1)].str); - ;} - break; - - case 48: - -/* Line 1464 of yacc.c */ -#line 761 "parser.y" - { - (yyval.acc) = new_accelerator(); - if((yyvsp[(2) - (6)].iptr)) - { - (yyval.acc)->memopt = *((yyvsp[(2) - (6)].iptr)); - free((yyvsp[(2) - (6)].iptr)); - } - else - { - (yyval.acc)->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; - } - if(!(yyvsp[(5) - (6)].event)) - yyerror("Accelerator table must have at least one entry"); - (yyval.acc)->events = get_event_head((yyvsp[(5) - (6)].event)); - if((yyvsp[(3) - (6)].lvc)) - { - (yyval.acc)->lvc = *((yyvsp[(3) - (6)].lvc)); - free((yyvsp[(3) - (6)].lvc)); - } - if(!(yyval.acc)->lvc.language) - (yyval.acc)->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 49: - -/* Line 1464 of yacc.c */ -#line 785 "parser.y" - { (yyval.event)=NULL; ;} - break; - - case 50: - -/* Line 1464 of yacc.c */ -#line 786 "parser.y" - { (yyval.event)=add_string_event((yyvsp[(2) - (5)].str), (yyvsp[(4) - (5)].num), (yyvsp[(5) - (5)].num), (yyvsp[(1) - (5)].event)); ;} - break; - - case 51: - -/* Line 1464 of yacc.c */ -#line 787 "parser.y" - { (yyval.event)=add_event((yyvsp[(2) - (5)].num), (yyvsp[(4) - (5)].num), (yyvsp[(5) - (5)].num), (yyvsp[(1) - (5)].event)); ;} - break; - - case 52: - -/* Line 1464 of yacc.c */ -#line 796 "parser.y" - { (yyval.num) = 0; ;} - break; - - case 53: - -/* Line 1464 of yacc.c */ -#line 797 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num); ;} - break; - - case 54: - -/* Line 1464 of yacc.c */ -#line 800 "parser.y" - { (yyval.num) = (yyvsp[(1) - (1)].num); ;} - break; - - case 55: - -/* Line 1464 of yacc.c */ -#line 801 "parser.y" - { (yyval.num) = (yyvsp[(1) - (3)].num) | (yyvsp[(3) - (3)].num); ;} - break; - - case 56: - -/* Line 1464 of yacc.c */ -#line 804 "parser.y" - { (yyval.num) = WRC_AF_NOINVERT; ;} - break; - - case 57: - -/* Line 1464 of yacc.c */ -#line 805 "parser.y" - { (yyval.num) = WRC_AF_SHIFT; ;} - break; - - case 58: - -/* Line 1464 of yacc.c */ -#line 806 "parser.y" - { (yyval.num) = WRC_AF_CONTROL; ;} - break; - - case 59: - -/* Line 1464 of yacc.c */ -#line 807 "parser.y" - { (yyval.num) = WRC_AF_ALT; ;} - break; - - case 60: - -/* Line 1464 of yacc.c */ -#line 808 "parser.y" - { (yyval.num) = WRC_AF_ASCII; ;} - break; - - case 61: - -/* Line 1464 of yacc.c */ -#line 809 "parser.y" - { (yyval.num) = WRC_AF_VIRTKEY; ;} - break; - - case 62: - -/* Line 1464 of yacc.c */ -#line 815 "parser.y" - { - if((yyvsp[(2) - (13)].iptr)) - { - (yyvsp[(10) - (13)].dlg)->memopt = *((yyvsp[(2) - (13)].iptr)); - free((yyvsp[(2) - (13)].iptr)); - } - else - (yyvsp[(10) - (13)].dlg)->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE; - (yyvsp[(10) - (13)].dlg)->x = (yyvsp[(3) - (13)].num); - (yyvsp[(10) - (13)].dlg)->y = (yyvsp[(5) - (13)].num); - (yyvsp[(10) - (13)].dlg)->width = (yyvsp[(7) - (13)].num); - (yyvsp[(10) - (13)].dlg)->height = (yyvsp[(9) - (13)].num); - (yyvsp[(10) - (13)].dlg)->controls = get_control_head((yyvsp[(12) - (13)].ctl)); - (yyval.dlg) = (yyvsp[(10) - (13)].dlg); - if(!(yyval.dlg)->gotstyle) - { - (yyval.dlg)->style = new_style(0,0); - (yyval.dlg)->style->or_mask = WS_POPUP; - (yyval.dlg)->gotstyle = TRUE; - } - if((yyval.dlg)->title) - (yyval.dlg)->style->or_mask |= WS_CAPTION; - if((yyval.dlg)->font) - (yyval.dlg)->style->or_mask |= DS_SETFONT; - - (yyval.dlg)->style->or_mask &= ~((yyval.dlg)->style->and_mask); - (yyval.dlg)->style->and_mask = 0; - - if(!(yyval.dlg)->lvc.language) - (yyval.dlg)->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 63: - -/* Line 1464 of yacc.c */ -#line 849 "parser.y" - { (yyval.dlg)=new_dialog(); ;} - break; - - case 64: - -/* Line 1464 of yacc.c */ -#line 850 "parser.y" - { (yyval.dlg)=dialog_style((yyvsp[(3) - (3)].style),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 65: - -/* Line 1464 of yacc.c */ -#line 851 "parser.y" - { (yyval.dlg)=dialog_exstyle((yyvsp[(3) - (3)].style),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 66: - -/* Line 1464 of yacc.c */ -#line 852 "parser.y" - { (yyval.dlg)=dialog_caption((yyvsp[(3) - (3)].str),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 67: - -/* Line 1464 of yacc.c */ -#line 853 "parser.y" - { (yyval.dlg)=dialog_font((yyvsp[(2) - (2)].fntid),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 68: - -/* Line 1464 of yacc.c */ -#line 854 "parser.y" - { (yyval.dlg)=dialog_class((yyvsp[(3) - (3)].nid),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 69: - -/* Line 1464 of yacc.c */ -#line 855 "parser.y" - { (yyval.dlg)=dialog_menu((yyvsp[(3) - (3)].nid),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 70: - -/* Line 1464 of yacc.c */ -#line 856 "parser.y" - { (yyval.dlg)=dialog_language((yyvsp[(2) - (2)].lan),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 71: - -/* Line 1464 of yacc.c */ -#line 857 "parser.y" - { (yyval.dlg)=dialog_characteristics((yyvsp[(2) - (2)].chars),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 72: - -/* Line 1464 of yacc.c */ -#line 858 "parser.y" - { (yyval.dlg)=dialog_version((yyvsp[(2) - (2)].ver),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 73: - -/* Line 1464 of yacc.c */ -#line 861 "parser.y" - { (yyval.ctl) = NULL; ;} - break; - - case 74: - -/* Line 1464 of yacc.c */ -#line 862 "parser.y" - { (yyval.ctl)=ins_ctrl(-1, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 75: - -/* Line 1464 of yacc.c */ -#line 863 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_EDIT, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 76: - -/* Line 1464 of yacc.c */ -#line 864 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_LISTBOX, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 77: - -/* Line 1464 of yacc.c */ -#line 865 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_COMBOBOX, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 78: - -/* Line 1464 of yacc.c */ -#line 866 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_SCROLLBAR, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 79: - -/* Line 1464 of yacc.c */ -#line 867 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_CHECKBOX, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 80: - -/* Line 1464 of yacc.c */ -#line 868 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_DEFPUSHBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 81: - -/* Line 1464 of yacc.c */ -#line 869 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_GROUPBOX, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl));;} - break; - - case 82: - -/* Line 1464 of yacc.c */ -#line 870 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_PUSHBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 83: - -/* Line 1464 of yacc.c */ -#line 872 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_RADIOBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 84: - -/* Line 1464 of yacc.c */ -#line 873 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_AUTO3STATE, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 85: - -/* Line 1464 of yacc.c */ -#line 874 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_3STATE, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 86: - -/* Line 1464 of yacc.c */ -#line 875 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_AUTOCHECKBOX, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 87: - -/* Line 1464 of yacc.c */ -#line 876 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_AUTORADIOBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 88: - -/* Line 1464 of yacc.c */ -#line 877 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_STATIC, SS_LEFT, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 89: - -/* Line 1464 of yacc.c */ -#line 878 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_STATIC, SS_CENTER, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 90: - -/* Line 1464 of yacc.c */ -#line 879 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_STATIC, SS_RIGHT, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 91: - -/* Line 1464 of yacc.c */ -#line 881 "parser.y" - { - (yyvsp[(10) - (10)].ctl)->title = (yyvsp[(3) - (10)].nid); - (yyvsp[(10) - (10)].ctl)->id = (yyvsp[(5) - (10)].num); - (yyvsp[(10) - (10)].ctl)->x = (yyvsp[(7) - (10)].num); - (yyvsp[(10) - (10)].ctl)->y = (yyvsp[(9) - (10)].num); - (yyval.ctl) = ins_ctrl(CT_STATIC, SS_ICON, (yyvsp[(10) - (10)].ctl), (yyvsp[(1) - (10)].ctl)); - ;} - break; - - case 92: - -/* Line 1464 of yacc.c */ -#line 891 "parser.y" - { - (yyval.ctl)=new_control(); - (yyval.ctl)->title = (yyvsp[(1) - (12)].nid); - (yyval.ctl)->id = (yyvsp[(3) - (12)].num); - (yyval.ctl)->x = (yyvsp[(5) - (12)].num); - (yyval.ctl)->y = (yyvsp[(7) - (12)].num); - (yyval.ctl)->width = (yyvsp[(9) - (12)].num); - (yyval.ctl)->height = (yyvsp[(11) - (12)].num); - if((yyvsp[(12) - (12)].styles)) - { - (yyval.ctl)->style = (yyvsp[(12) - (12)].styles)->style; - (yyval.ctl)->gotstyle = TRUE; - if ((yyvsp[(12) - (12)].styles)->exstyle) - { - (yyval.ctl)->exstyle = (yyvsp[(12) - (12)].styles)->exstyle; - (yyval.ctl)->gotexstyle = TRUE; - } - free((yyvsp[(12) - (12)].styles)); - } - ;} - break; - - case 93: - -/* Line 1464 of yacc.c */ -#line 914 "parser.y" - { - (yyval.ctl) = new_control(); - (yyval.ctl)->id = (yyvsp[(1) - (10)].num); - (yyval.ctl)->x = (yyvsp[(3) - (10)].num); - (yyval.ctl)->y = (yyvsp[(5) - (10)].num); - (yyval.ctl)->width = (yyvsp[(7) - (10)].num); - (yyval.ctl)->height = (yyvsp[(9) - (10)].num); - if((yyvsp[(10) - (10)].styles)) - { - (yyval.ctl)->style = (yyvsp[(10) - (10)].styles)->style; - (yyval.ctl)->gotstyle = TRUE; - if ((yyvsp[(10) - (10)].styles)->exstyle) - { - (yyval.ctl)->exstyle = (yyvsp[(10) - (10)].styles)->exstyle; - (yyval.ctl)->gotexstyle = TRUE; - } - free((yyvsp[(10) - (10)].styles)); - } - ;} - break; - - case 94: - -/* Line 1464 of yacc.c */ -#line 936 "parser.y" - { (yyval.ctl) = new_control(); ;} - break; - - case 95: - -/* Line 1464 of yacc.c */ -#line 938 "parser.y" - { - (yyval.ctl) = new_control(); - (yyval.ctl)->width = (yyvsp[(2) - (4)].num); - (yyval.ctl)->height = (yyvsp[(4) - (4)].num); - ;} - break; - - case 96: - -/* Line 1464 of yacc.c */ -#line 943 "parser.y" - { - (yyval.ctl) = new_control(); - (yyval.ctl)->width = (yyvsp[(2) - (6)].num); - (yyval.ctl)->height = (yyvsp[(4) - (6)].num); - (yyval.ctl)->style = (yyvsp[(6) - (6)].style); - (yyval.ctl)->gotstyle = TRUE; - ;} - break; - - case 97: - -/* Line 1464 of yacc.c */ -#line 950 "parser.y" - { - (yyval.ctl) = new_control(); - (yyval.ctl)->width = (yyvsp[(2) - (8)].num); - (yyval.ctl)->height = (yyvsp[(4) - (8)].num); - (yyval.ctl)->style = (yyvsp[(6) - (8)].style); - (yyval.ctl)->gotstyle = TRUE; - (yyval.ctl)->exstyle = (yyvsp[(8) - (8)].style); - (yyval.ctl)->gotexstyle = TRUE; - ;} - break; - - case 98: - -/* Line 1464 of yacc.c */ -#line 961 "parser.y" - { - (yyval.ctl)=new_control(); - (yyval.ctl)->title = (yyvsp[(1) - (17)].nid); - (yyval.ctl)->id = (yyvsp[(3) - (17)].num); - (yyval.ctl)->ctlclass = convert_ctlclass((yyvsp[(5) - (17)].nid)); - (yyval.ctl)->style = (yyvsp[(7) - (17)].style); - (yyval.ctl)->gotstyle = TRUE; - (yyval.ctl)->x = (yyvsp[(9) - (17)].num); - (yyval.ctl)->y = (yyvsp[(11) - (17)].num); - (yyval.ctl)->width = (yyvsp[(13) - (17)].num); - (yyval.ctl)->height = (yyvsp[(15) - (17)].num); - (yyval.ctl)->exstyle = (yyvsp[(17) - (17)].style); - (yyval.ctl)->gotexstyle = TRUE; - ;} - break; - - case 99: - -/* Line 1464 of yacc.c */ -#line 975 "parser.y" - { - (yyval.ctl)=new_control(); - (yyval.ctl)->title = (yyvsp[(1) - (15)].nid); - (yyval.ctl)->id = (yyvsp[(3) - (15)].num); - (yyval.ctl)->ctlclass = convert_ctlclass((yyvsp[(5) - (15)].nid)); - (yyval.ctl)->style = (yyvsp[(7) - (15)].style); - (yyval.ctl)->gotstyle = TRUE; - (yyval.ctl)->x = (yyvsp[(9) - (15)].num); - (yyval.ctl)->y = (yyvsp[(11) - (15)].num); - (yyval.ctl)->width = (yyvsp[(13) - (15)].num); - (yyval.ctl)->height = (yyvsp[(15) - (15)].num); - ;} - break; - - case 100: - -/* Line 1464 of yacc.c */ -#line 990 "parser.y" - { (yyval.fntid) = new_font_id((yyvsp[(2) - (4)].num), (yyvsp[(4) - (4)].str), 0, 0); ;} - break; - - case 101: - -/* Line 1464 of yacc.c */ -#line 995 "parser.y" - { (yyval.styles) = NULL; ;} - break; - - case 102: - -/* Line 1464 of yacc.c */ -#line 996 "parser.y" - { (yyval.styles) = new_style_pair((yyvsp[(2) - (2)].style), 0); ;} - break; - - case 103: - -/* Line 1464 of yacc.c */ -#line 997 "parser.y" - { (yyval.styles) = new_style_pair((yyvsp[(2) - (4)].style), (yyvsp[(4) - (4)].style)); ;} - break; - - case 104: - -/* Line 1464 of yacc.c */ -#line 1001 "parser.y" - { (yyval.style) = new_style((yyvsp[(1) - (3)].style)->or_mask | (yyvsp[(3) - (3)].style)->or_mask, (yyvsp[(1) - (3)].style)->and_mask | (yyvsp[(3) - (3)].style)->and_mask); free((yyvsp[(1) - (3)].style)); free((yyvsp[(3) - (3)].style));;} - break; - - case 105: - -/* Line 1464 of yacc.c */ -#line 1002 "parser.y" - { (yyval.style) = (yyvsp[(2) - (3)].style); ;} - break; - - case 106: - -/* Line 1464 of yacc.c */ -#line 1003 "parser.y" - { (yyval.style) = new_style((yyvsp[(1) - (1)].num), 0); ;} - break; - - case 107: - -/* Line 1464 of yacc.c */ -#line 1004 "parser.y" - { (yyval.style) = new_style(0, (yyvsp[(2) - (2)].num)); ;} - break; - - case 108: - -/* Line 1464 of yacc.c */ -#line 1008 "parser.y" - { - (yyval.nid) = new_name_id(); - (yyval.nid)->type = name_ord; - (yyval.nid)->name.i_name = (yyvsp[(1) - (1)].num); - ;} - break; - - case 109: - -/* Line 1464 of yacc.c */ -#line 1013 "parser.y" - { - (yyval.nid) = new_name_id(); - (yyval.nid)->type = name_str; - (yyval.nid)->name.s_name = (yyvsp[(1) - (1)].str); - ;} - break; - - case 110: - -/* Line 1464 of yacc.c */ -#line 1022 "parser.y" - { - if(!win32) - parser_warning("DIALOGEX not supported in 16-bit mode\n"); - if((yyvsp[(2) - (14)].iptr)) - { - (yyvsp[(11) - (14)].dlg)->memopt = *((yyvsp[(2) - (14)].iptr)); - free((yyvsp[(2) - (14)].iptr)); - } - else - (yyvsp[(11) - (14)].dlg)->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE; - (yyvsp[(11) - (14)].dlg)->x = (yyvsp[(3) - (14)].num); - (yyvsp[(11) - (14)].dlg)->y = (yyvsp[(5) - (14)].num); - (yyvsp[(11) - (14)].dlg)->width = (yyvsp[(7) - (14)].num); - (yyvsp[(11) - (14)].dlg)->height = (yyvsp[(9) - (14)].num); - if((yyvsp[(10) - (14)].iptr)) - { - (yyvsp[(11) - (14)].dlg)->helpid = *((yyvsp[(10) - (14)].iptr)); - (yyvsp[(11) - (14)].dlg)->gothelpid = TRUE; - free((yyvsp[(10) - (14)].iptr)); - } - (yyvsp[(11) - (14)].dlg)->controls = get_control_head((yyvsp[(13) - (14)].ctl)); - (yyval.dlg) = (yyvsp[(11) - (14)].dlg); - - assert((yyval.dlg)->style != NULL); - if(!(yyval.dlg)->gotstyle) - { - (yyval.dlg)->style->or_mask = WS_POPUP; - (yyval.dlg)->gotstyle = TRUE; - } - if((yyval.dlg)->title) - (yyval.dlg)->style->or_mask |= WS_CAPTION; - if((yyval.dlg)->font) - (yyval.dlg)->style->or_mask |= DS_SETFONT; - - (yyval.dlg)->style->or_mask &= ~((yyval.dlg)->style->and_mask); - (yyval.dlg)->style->and_mask = 0; - - if(!(yyval.dlg)->lvc.language) - (yyval.dlg)->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 111: - -/* Line 1464 of yacc.c */ -#line 1065 "parser.y" - { (yyval.dlg)=new_dialog(); (yyval.dlg)->is_ex = TRUE; ;} - break; - - case 112: - -/* Line 1464 of yacc.c */ -#line 1066 "parser.y" - { (yyval.dlg)=dialog_style((yyvsp[(3) - (3)].style),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 113: - -/* Line 1464 of yacc.c */ -#line 1067 "parser.y" - { (yyval.dlg)=dialog_exstyle((yyvsp[(3) - (3)].style),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 114: - -/* Line 1464 of yacc.c */ -#line 1068 "parser.y" - { (yyval.dlg)=dialog_caption((yyvsp[(3) - (3)].str),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 115: - -/* Line 1464 of yacc.c */ -#line 1069 "parser.y" - { (yyval.dlg)=dialog_font((yyvsp[(2) - (2)].fntid),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 116: - -/* Line 1464 of yacc.c */ -#line 1070 "parser.y" - { (yyval.dlg)=dialog_font((yyvsp[(2) - (2)].fntid),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 117: - -/* Line 1464 of yacc.c */ -#line 1071 "parser.y" - { (yyval.dlg)=dialog_class((yyvsp[(3) - (3)].nid),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 118: - -/* Line 1464 of yacc.c */ -#line 1072 "parser.y" - { (yyval.dlg)=dialog_menu((yyvsp[(3) - (3)].nid),(yyvsp[(1) - (3)].dlg)); ;} - break; - - case 119: - -/* Line 1464 of yacc.c */ -#line 1073 "parser.y" - { (yyval.dlg)=dialog_language((yyvsp[(2) - (2)].lan),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 120: - -/* Line 1464 of yacc.c */ -#line 1074 "parser.y" - { (yyval.dlg)=dialog_characteristics((yyvsp[(2) - (2)].chars),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 121: - -/* Line 1464 of yacc.c */ -#line 1075 "parser.y" - { (yyval.dlg)=dialog_version((yyvsp[(2) - (2)].ver),(yyvsp[(1) - (2)].dlg)); ;} - break; - - case 122: - -/* Line 1464 of yacc.c */ -#line 1078 "parser.y" - { (yyval.ctl) = NULL; ;} - break; - - case 123: - -/* Line 1464 of yacc.c */ -#line 1079 "parser.y" - { (yyval.ctl)=ins_ctrl(-1, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 124: - -/* Line 1464 of yacc.c */ -#line 1080 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_EDIT, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 125: - -/* Line 1464 of yacc.c */ -#line 1081 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_LISTBOX, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 126: - -/* Line 1464 of yacc.c */ -#line 1082 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_COMBOBOX, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 127: - -/* Line 1464 of yacc.c */ -#line 1083 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_SCROLLBAR, 0, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 128: - -/* Line 1464 of yacc.c */ -#line 1084 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_CHECKBOX, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 129: - -/* Line 1464 of yacc.c */ -#line 1085 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_DEFPUSHBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 130: - -/* Line 1464 of yacc.c */ -#line 1086 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_GROUPBOX, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl));;} - break; - - case 131: - -/* Line 1464 of yacc.c */ -#line 1087 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_PUSHBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 132: - -/* Line 1464 of yacc.c */ -#line 1089 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_RADIOBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 133: - -/* Line 1464 of yacc.c */ -#line 1090 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_AUTO3STATE, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 134: - -/* Line 1464 of yacc.c */ -#line 1091 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_3STATE, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 135: - -/* Line 1464 of yacc.c */ -#line 1092 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_AUTOCHECKBOX, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 136: - -/* Line 1464 of yacc.c */ -#line 1093 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_BUTTON, BS_AUTORADIOBUTTON, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 137: - -/* Line 1464 of yacc.c */ -#line 1094 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_STATIC, SS_LEFT, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 138: - -/* Line 1464 of yacc.c */ -#line 1095 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_STATIC, SS_CENTER, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 139: - -/* Line 1464 of yacc.c */ -#line 1096 "parser.y" - { (yyval.ctl)=ins_ctrl(CT_STATIC, SS_RIGHT, (yyvsp[(3) - (3)].ctl), (yyvsp[(1) - (3)].ctl)); ;} - break; - - case 140: - -/* Line 1464 of yacc.c */ -#line 1098 "parser.y" - { - (yyvsp[(10) - (10)].ctl)->title = (yyvsp[(3) - (10)].nid); - (yyvsp[(10) - (10)].ctl)->id = (yyvsp[(5) - (10)].num); - (yyvsp[(10) - (10)].ctl)->x = (yyvsp[(7) - (10)].num); - (yyvsp[(10) - (10)].ctl)->y = (yyvsp[(9) - (10)].num); - (yyval.ctl) = ins_ctrl(CT_STATIC, SS_ICON, (yyvsp[(10) - (10)].ctl), (yyvsp[(1) - (10)].ctl)); - ;} - break; - - case 141: - -/* Line 1464 of yacc.c */ -#line 1109 "parser.y" - { - (yyval.ctl)=new_control(); - (yyval.ctl)->title = (yyvsp[(1) - (19)].nid); - (yyval.ctl)->id = (yyvsp[(3) - (19)].num); - (yyval.ctl)->ctlclass = convert_ctlclass((yyvsp[(5) - (19)].nid)); - (yyval.ctl)->style = (yyvsp[(7) - (19)].style); - (yyval.ctl)->gotstyle = TRUE; - (yyval.ctl)->x = (yyvsp[(9) - (19)].num); - (yyval.ctl)->y = (yyvsp[(11) - (19)].num); - (yyval.ctl)->width = (yyvsp[(13) - (19)].num); - (yyval.ctl)->height = (yyvsp[(15) - (19)].num); - if((yyvsp[(17) - (19)].style)) - { - (yyval.ctl)->exstyle = (yyvsp[(17) - (19)].style); - (yyval.ctl)->gotexstyle = TRUE; - } - if((yyvsp[(18) - (19)].iptr)) - { - (yyval.ctl)->helpid = *((yyvsp[(18) - (19)].iptr)); - (yyval.ctl)->gothelpid = TRUE; - free((yyvsp[(18) - (19)].iptr)); - } - (yyval.ctl)->extra = (yyvsp[(19) - (19)].raw); - ;} - break; - - case 142: - -/* Line 1464 of yacc.c */ -#line 1133 "parser.y" - { - (yyval.ctl)=new_control(); - (yyval.ctl)->title = (yyvsp[(1) - (16)].nid); - (yyval.ctl)->id = (yyvsp[(3) - (16)].num); - (yyval.ctl)->style = (yyvsp[(7) - (16)].style); - (yyval.ctl)->gotstyle = TRUE; - (yyval.ctl)->ctlclass = convert_ctlclass((yyvsp[(5) - (16)].nid)); - (yyval.ctl)->x = (yyvsp[(9) - (16)].num); - (yyval.ctl)->y = (yyvsp[(11) - (16)].num); - (yyval.ctl)->width = (yyvsp[(13) - (16)].num); - (yyval.ctl)->height = (yyvsp[(15) - (16)].num); - (yyval.ctl)->extra = (yyvsp[(16) - (16)].raw); - ;} - break; - - case 143: - -/* Line 1464 of yacc.c */ -#line 1149 "parser.y" - { - (yyval.ctl)=new_control(); - (yyval.ctl)->title = (yyvsp[(1) - (14)].nid); - (yyval.ctl)->id = (yyvsp[(3) - (14)].num); - (yyval.ctl)->x = (yyvsp[(5) - (14)].num); - (yyval.ctl)->y = (yyvsp[(7) - (14)].num); - (yyval.ctl)->width = (yyvsp[(9) - (14)].num); - (yyval.ctl)->height = (yyvsp[(11) - (14)].num); - if((yyvsp[(12) - (14)].styles)) - { - (yyval.ctl)->style = (yyvsp[(12) - (14)].styles)->style; - (yyval.ctl)->gotstyle = TRUE; - - if ((yyvsp[(12) - (14)].styles)->exstyle) - { - (yyval.ctl)->exstyle = (yyvsp[(12) - (14)].styles)->exstyle; - (yyval.ctl)->gotexstyle = TRUE; - } - free((yyvsp[(12) - (14)].styles)); - } - - (yyval.ctl)->extra = (yyvsp[(14) - (14)].raw); - ;} - break; - - case 144: - -/* Line 1464 of yacc.c */ -#line 1175 "parser.y" - { - (yyval.ctl) = new_control(); - (yyval.ctl)->id = (yyvsp[(1) - (12)].num); - (yyval.ctl)->x = (yyvsp[(3) - (12)].num); - (yyval.ctl)->y = (yyvsp[(5) - (12)].num); - (yyval.ctl)->width = (yyvsp[(7) - (12)].num); - (yyval.ctl)->height = (yyvsp[(9) - (12)].num); - if((yyvsp[(10) - (12)].styles)) - { - (yyval.ctl)->style = (yyvsp[(10) - (12)].styles)->style; - (yyval.ctl)->gotstyle = TRUE; - - if ((yyvsp[(10) - (12)].styles)->exstyle) - { - (yyval.ctl)->exstyle = (yyvsp[(10) - (12)].styles)->exstyle; - (yyval.ctl)->gotexstyle = TRUE; - } - free((yyvsp[(10) - (12)].styles)); - } - (yyval.ctl)->extra = (yyvsp[(12) - (12)].raw); - ;} - break; - - case 145: - -/* Line 1464 of yacc.c */ -#line 1198 "parser.y" - { (yyval.raw) = NULL; ;} - break; - - case 146: - -/* Line 1464 of yacc.c */ -#line 1199 "parser.y" - { (yyval.raw) = (yyvsp[(1) - (1)].raw); ;} - break; - - case 147: - -/* Line 1464 of yacc.c */ -#line 1202 "parser.y" - { (yyval.iptr) = NULL; ;} - break; - - case 148: - -/* Line 1464 of yacc.c */ -#line 1203 "parser.y" - { (yyval.iptr) = new_int((yyvsp[(2) - (2)].num)); ;} - break; - - case 149: - -/* Line 1464 of yacc.c */ -#line 1207 "parser.y" - { (yyval.fntid) = new_font_id((yyvsp[(2) - (9)].num), (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].num), (yyvsp[(8) - (9)].num)); ;} - break; - - case 150: - -/* Line 1464 of yacc.c */ -#line 1214 "parser.y" - { (yyval.fntid) = NULL; ;} - break; - - case 151: - -/* Line 1464 of yacc.c */ -#line 1215 "parser.y" - { (yyval.fntid) = NULL; ;} - break; - - case 152: - -/* Line 1464 of yacc.c */ -#line 1219 "parser.y" - { - if(!(yyvsp[(4) - (4)].menitm)) - yyerror("Menu must contain items"); - (yyval.men) = new_menu(); - if((yyvsp[(2) - (4)].iptr)) - { - (yyval.men)->memopt = *((yyvsp[(2) - (4)].iptr)); - free((yyvsp[(2) - (4)].iptr)); - } - else - (yyval.men)->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE; - (yyval.men)->items = get_item_head((yyvsp[(4) - (4)].menitm)); - if((yyvsp[(3) - (4)].lvc)) - { - (yyval.men)->lvc = *((yyvsp[(3) - (4)].lvc)); - free((yyvsp[(3) - (4)].lvc)); - } - if(!(yyval.men)->lvc.language) - (yyval.men)->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 153: - -/* Line 1464 of yacc.c */ -#line 1242 "parser.y" - { (yyval.menitm) = (yyvsp[(2) - (3)].menitm); ;} - break; - - case 154: - -/* Line 1464 of yacc.c */ -#line 1246 "parser.y" - {(yyval.menitm) = NULL;;} - break; - - case 155: - -/* Line 1464 of yacc.c */ -#line 1247 "parser.y" - { - (yyval.menitm)=new_menu_item(); - (yyval.menitm)->prev = (yyvsp[(1) - (6)].menitm); - if((yyvsp[(1) - (6)].menitm)) - (yyvsp[(1) - (6)].menitm)->next = (yyval.menitm); - (yyval.menitm)->id = (yyvsp[(5) - (6)].num); - (yyval.menitm)->state = (yyvsp[(6) - (6)].num); - (yyval.menitm)->name = (yyvsp[(3) - (6)].str); - ;} - break; - - case 156: - -/* Line 1464 of yacc.c */ -#line 1256 "parser.y" - { - (yyval.menitm)=new_menu_item(); - (yyval.menitm)->prev = (yyvsp[(1) - (3)].menitm); - if((yyvsp[(1) - (3)].menitm)) - (yyvsp[(1) - (3)].menitm)->next = (yyval.menitm); - ;} - break; - - case 157: - -/* Line 1464 of yacc.c */ -#line 1262 "parser.y" - { - (yyval.menitm) = new_menu_item(); - (yyval.menitm)->prev = (yyvsp[(1) - (5)].menitm); - if((yyvsp[(1) - (5)].menitm)) - (yyvsp[(1) - (5)].menitm)->next = (yyval.menitm); - (yyval.menitm)->popup = get_item_head((yyvsp[(5) - (5)].menitm)); - (yyval.menitm)->name = (yyvsp[(3) - (5)].str); - ;} - break; - - case 158: - -/* Line 1464 of yacc.c */ -#line 1281 "parser.y" - { (yyval.num) = 0; ;} - break; - - case 159: - -/* Line 1464 of yacc.c */ -#line 1282 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num); ;} - break; - - case 160: - -/* Line 1464 of yacc.c */ -#line 1283 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num) | MF_CHECKED; ;} - break; - - case 161: - -/* Line 1464 of yacc.c */ -#line 1284 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num) | MF_GRAYED; ;} - break; - - case 162: - -/* Line 1464 of yacc.c */ -#line 1285 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num) | MF_HELP; ;} - break; - - case 163: - -/* Line 1464 of yacc.c */ -#line 1286 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num) | MF_DISABLED; ;} - break; - - case 164: - -/* Line 1464 of yacc.c */ -#line 1287 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num) | MF_MENUBARBREAK; ;} - break; - - case 165: - -/* Line 1464 of yacc.c */ -#line 1288 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num) | MF_MENUBREAK; ;} - break; - - case 166: - -/* Line 1464 of yacc.c */ -#line 1292 "parser.y" - { - if(!win32) - parser_warning("MENUEX not supported in 16-bit mode\n"); - if(!(yyvsp[(4) - (4)].menitm)) - yyerror("MenuEx must contain items"); - (yyval.men) = new_menu(); - (yyval.men)->is_ex = TRUE; - if((yyvsp[(2) - (4)].iptr)) - { - (yyval.men)->memopt = *((yyvsp[(2) - (4)].iptr)); - free((yyvsp[(2) - (4)].iptr)); - } - else - (yyval.men)->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE | WRC_MO_DISCARDABLE; - (yyval.men)->items = get_item_head((yyvsp[(4) - (4)].menitm)); - if((yyvsp[(3) - (4)].lvc)) - { - (yyval.men)->lvc = *((yyvsp[(3) - (4)].lvc)); - free((yyvsp[(3) - (4)].lvc)); - } - if(!(yyval.men)->lvc.language) - (yyval.men)->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 167: - -/* Line 1464 of yacc.c */ -#line 1318 "parser.y" - { (yyval.menitm) = (yyvsp[(2) - (3)].menitm); ;} - break; - - case 168: - -/* Line 1464 of yacc.c */ -#line 1322 "parser.y" - {(yyval.menitm) = NULL; ;} - break; - - case 169: - -/* Line 1464 of yacc.c */ -#line 1323 "parser.y" - { - (yyval.menitm) = new_menu_item(); - (yyval.menitm)->prev = (yyvsp[(1) - (4)].menitm); - if((yyvsp[(1) - (4)].menitm)) - (yyvsp[(1) - (4)].menitm)->next = (yyval.menitm); - (yyval.menitm)->name = (yyvsp[(3) - (4)].str); - (yyval.menitm)->id = (yyvsp[(4) - (4)].exopt)->id; - (yyval.menitm)->type = (yyvsp[(4) - (4)].exopt)->type; - (yyval.menitm)->state = (yyvsp[(4) - (4)].exopt)->state; - (yyval.menitm)->helpid = (yyvsp[(4) - (4)].exopt)->helpid; - (yyval.menitm)->gotid = (yyvsp[(4) - (4)].exopt)->gotid; - (yyval.menitm)->gottype = (yyvsp[(4) - (4)].exopt)->gottype; - (yyval.menitm)->gotstate = (yyvsp[(4) - (4)].exopt)->gotstate; - (yyval.menitm)->gothelpid = (yyvsp[(4) - (4)].exopt)->gothelpid; - free((yyvsp[(4) - (4)].exopt)); - ;} - break; - - case 170: - -/* Line 1464 of yacc.c */ -#line 1339 "parser.y" - { - (yyval.menitm) = new_menu_item(); - (yyval.menitm)->prev = (yyvsp[(1) - (3)].menitm); - if((yyvsp[(1) - (3)].menitm)) - (yyvsp[(1) - (3)].menitm)->next = (yyval.menitm); - ;} - break; - - case 171: - -/* Line 1464 of yacc.c */ -#line 1345 "parser.y" - { - (yyval.menitm) = new_menu_item(); - (yyval.menitm)->prev = (yyvsp[(1) - (5)].menitm); - if((yyvsp[(1) - (5)].menitm)) - (yyvsp[(1) - (5)].menitm)->next = (yyval.menitm); - (yyval.menitm)->popup = get_item_head((yyvsp[(5) - (5)].menitm)); - (yyval.menitm)->name = (yyvsp[(3) - (5)].str); - (yyval.menitm)->id = (yyvsp[(4) - (5)].exopt)->id; - (yyval.menitm)->type = (yyvsp[(4) - (5)].exopt)->type; - (yyval.menitm)->state = (yyvsp[(4) - (5)].exopt)->state; - (yyval.menitm)->helpid = (yyvsp[(4) - (5)].exopt)->helpid; - (yyval.menitm)->gotid = (yyvsp[(4) - (5)].exopt)->gotid; - (yyval.menitm)->gottype = (yyvsp[(4) - (5)].exopt)->gottype; - (yyval.menitm)->gotstate = (yyvsp[(4) - (5)].exopt)->gotstate; - (yyval.menitm)->gothelpid = (yyvsp[(4) - (5)].exopt)->gothelpid; - free((yyvsp[(4) - (5)].exopt)); - ;} - break; - - case 172: - -/* Line 1464 of yacc.c */ -#line 1365 "parser.y" - { (yyval.exopt) = new_itemex_opt(0, 0, 0, 0); ;} - break; - - case 173: - -/* Line 1464 of yacc.c */ -#line 1366 "parser.y" - { - (yyval.exopt) = new_itemex_opt((yyvsp[(2) - (2)].num), 0, 0, 0); - (yyval.exopt)->gotid = TRUE; - ;} - break; - - case 174: - -/* Line 1464 of yacc.c */ -#line 1370 "parser.y" - { - (yyval.exopt) = new_itemex_opt((yyvsp[(2) - (5)].iptr) ? *((yyvsp[(2) - (5)].iptr)) : 0, (yyvsp[(4) - (5)].iptr) ? *((yyvsp[(4) - (5)].iptr)) : 0, (yyvsp[(5) - (5)].num), 0); - (yyval.exopt)->gotid = TRUE; - (yyval.exopt)->gottype = TRUE; - (yyval.exopt)->gotstate = TRUE; - free((yyvsp[(2) - (5)].iptr)); - free((yyvsp[(4) - (5)].iptr)); - ;} - break; - - case 175: - -/* Line 1464 of yacc.c */ -#line 1378 "parser.y" - { - (yyval.exopt) = new_itemex_opt((yyvsp[(2) - (6)].iptr) ? *((yyvsp[(2) - (6)].iptr)) : 0, (yyvsp[(4) - (6)].iptr) ? *((yyvsp[(4) - (6)].iptr)) : 0, (yyvsp[(6) - (6)].num), 0); - (yyval.exopt)->gotid = TRUE; - (yyval.exopt)->gottype = TRUE; - (yyval.exopt)->gotstate = TRUE; - free((yyvsp[(2) - (6)].iptr)); - free((yyvsp[(4) - (6)].iptr)); - ;} - break; - - case 176: - -/* Line 1464 of yacc.c */ -#line 1389 "parser.y" - { (yyval.exopt) = new_itemex_opt(0, 0, 0, 0); ;} - break; - - case 177: - -/* Line 1464 of yacc.c */ -#line 1390 "parser.y" - { - (yyval.exopt) = new_itemex_opt((yyvsp[(2) - (2)].num), 0, 0, 0); - (yyval.exopt)->gotid = TRUE; - ;} - break; - - case 178: - -/* Line 1464 of yacc.c */ -#line 1394 "parser.y" - { - (yyval.exopt) = new_itemex_opt((yyvsp[(2) - (4)].iptr) ? *((yyvsp[(2) - (4)].iptr)) : 0, (yyvsp[(4) - (4)].num), 0, 0); - free((yyvsp[(2) - (4)].iptr)); - (yyval.exopt)->gotid = TRUE; - (yyval.exopt)->gottype = TRUE; - ;} - break; - - case 179: - -/* Line 1464 of yacc.c */ -#line 1400 "parser.y" - { - (yyval.exopt) = new_itemex_opt((yyvsp[(2) - (6)].iptr) ? *((yyvsp[(2) - (6)].iptr)) : 0, (yyvsp[(4) - (6)].iptr) ? *((yyvsp[(4) - (6)].iptr)) : 0, (yyvsp[(6) - (6)].num), 0); - free((yyvsp[(2) - (6)].iptr)); - free((yyvsp[(4) - (6)].iptr)); - (yyval.exopt)->gotid = TRUE; - (yyval.exopt)->gottype = TRUE; - (yyval.exopt)->gotstate = TRUE; - ;} - break; - - case 180: - -/* Line 1464 of yacc.c */ -#line 1408 "parser.y" - { - (yyval.exopt) = new_itemex_opt((yyvsp[(2) - (8)].iptr) ? *((yyvsp[(2) - (8)].iptr)) : 0, (yyvsp[(4) - (8)].iptr) ? *((yyvsp[(4) - (8)].iptr)) : 0, (yyvsp[(6) - (8)].iptr) ? *((yyvsp[(6) - (8)].iptr)) : 0, (yyvsp[(8) - (8)].num)); - free((yyvsp[(2) - (8)].iptr)); - free((yyvsp[(4) - (8)].iptr)); - free((yyvsp[(6) - (8)].iptr)); - (yyval.exopt)->gotid = TRUE; - (yyval.exopt)->gottype = TRUE; - (yyval.exopt)->gotstate = TRUE; - (yyval.exopt)->gothelpid = TRUE; - ;} - break; - - case 181: - -/* Line 1464 of yacc.c */ -#line 1428 "parser.y" - { - if(!(yyvsp[(3) - (4)].stt)) - { - yyerror("Stringtable must have at least one entry"); - } - else - { - stringtable_t *stt; - /* Check if we added to a language table or created - * a new one. - */ - for(stt = sttres; stt; stt = stt->next) - { - if(stt == tagstt) - break; - } - if(!stt) - { - /* It is a new one */ - if(sttres) - { - sttres->prev = tagstt; - tagstt->next = sttres; - sttres = tagstt; - } - else - sttres = tagstt; - } - /* Else were done */ - } - free(tagstt_memopt); - tagstt_memopt = NULL; - - (yyval.stt) = tagstt; - ;} - break; - - case 182: - -/* Line 1464 of yacc.c */ -#line 1466 "parser.y" - { - if((tagstt = find_stringtable((yyvsp[(3) - (3)].lvc))) == NULL) - tagstt = new_stringtable((yyvsp[(3) - (3)].lvc)); - tagstt_memopt = (yyvsp[(2) - (3)].iptr); - tagstt_version = (yyvsp[(3) - (3)].lvc)->version; - tagstt_characts = (yyvsp[(3) - (3)].lvc)->characts; - free((yyvsp[(3) - (3)].lvc)); - ;} - break; - - case 183: - -/* Line 1464 of yacc.c */ -#line 1476 "parser.y" - { (yyval.stt) = NULL; ;} - break; - - case 184: - -/* Line 1464 of yacc.c */ -#line 1477 "parser.y" - { - int i; - assert(tagstt != NULL); - if((yyvsp[(2) - (4)].num) > 65535 || (yyvsp[(2) - (4)].num) < -32768) - yyerror("Stringtable entry's ID out of range (%d)", (yyvsp[(2) - (4)].num)); - /* Search for the ID */ - for(i = 0; i < tagstt->nentries; i++) - { - if(tagstt->entries[i].id == (yyvsp[(2) - (4)].num)) - yyerror("Stringtable ID %d already in use", (yyvsp[(2) - (4)].num)); - } - /* If we get here, then we have a new unique entry */ - tagstt->nentries++; - tagstt->entries = xrealloc(tagstt->entries, sizeof(tagstt->entries[0]) * tagstt->nentries); - tagstt->entries[tagstt->nentries-1].id = (yyvsp[(2) - (4)].num); - tagstt->entries[tagstt->nentries-1].str = (yyvsp[(4) - (4)].str); - if(tagstt_memopt) - tagstt->entries[tagstt->nentries-1].memopt = *tagstt_memopt; - else - tagstt->entries[tagstt->nentries-1].memopt = WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE | WRC_MO_PURE; - tagstt->entries[tagstt->nentries-1].version = tagstt_version; - tagstt->entries[tagstt->nentries-1].characts = tagstt_characts; - - if(pedantic && !(yyvsp[(4) - (4)].str)->size) - parser_warning("Zero length strings make no sense\n"); - if(!win32 && (yyvsp[(4) - (4)].str)->size > 254) - yyerror("Stringtable entry more than 254 characters"); - if(win32 && (yyvsp[(4) - (4)].str)->size > 65534) /* Hmm..., does this happen? */ - yyerror("Stringtable entry more than 65534 characters (probably something else that went wrong)"); - (yyval.stt) = tagstt; - ;} - break; - - case 187: - -/* Line 1464 of yacc.c */ -#line 1517 "parser.y" - { - (yyval.veri) = (yyvsp[(3) - (6)].veri); - if((yyvsp[(2) - (6)].iptr)) - { - (yyval.veri)->memopt = *((yyvsp[(2) - (6)].iptr)); - free((yyvsp[(2) - (6)].iptr)); - } - else - (yyval.veri)->memopt = WRC_MO_MOVEABLE | (win32 ? WRC_MO_PURE : 0); - (yyval.veri)->blocks = get_ver_block_head((yyvsp[(5) - (6)].blk)); - /* Set language; there is no version or characteristics */ - (yyval.veri)->lvc.language = dup_language(currentlanguage); - ;} - break; - - case 188: - -/* Line 1464 of yacc.c */ -#line 1533 "parser.y" - { (yyval.veri) = new_versioninfo(); ;} - break; - - case 189: - -/* Line 1464 of yacc.c */ -#line 1534 "parser.y" - { - if((yyvsp[(1) - (9)].veri)->gotit.fv) - yyerror("FILEVERSION already defined"); - (yyval.veri) = (yyvsp[(1) - (9)].veri); - (yyval.veri)->filever_maj1 = (yyvsp[(3) - (9)].num); - (yyval.veri)->filever_maj2 = (yyvsp[(5) - (9)].num); - (yyval.veri)->filever_min1 = (yyvsp[(7) - (9)].num); - (yyval.veri)->filever_min2 = (yyvsp[(9) - (9)].num); - (yyval.veri)->gotit.fv = 1; - ;} - break; - - case 190: - -/* Line 1464 of yacc.c */ -#line 1544 "parser.y" - { - if((yyvsp[(1) - (9)].veri)->gotit.pv) - yyerror("PRODUCTVERSION already defined"); - (yyval.veri) = (yyvsp[(1) - (9)].veri); - (yyval.veri)->prodver_maj1 = (yyvsp[(3) - (9)].num); - (yyval.veri)->prodver_maj2 = (yyvsp[(5) - (9)].num); - (yyval.veri)->prodver_min1 = (yyvsp[(7) - (9)].num); - (yyval.veri)->prodver_min2 = (yyvsp[(9) - (9)].num); - (yyval.veri)->gotit.pv = 1; - ;} - break; - - case 191: - -/* Line 1464 of yacc.c */ -#line 1554 "parser.y" - { - if((yyvsp[(1) - (3)].veri)->gotit.ff) - yyerror("FILEFLAGS already defined"); - (yyval.veri) = (yyvsp[(1) - (3)].veri); - (yyval.veri)->fileflags = (yyvsp[(3) - (3)].num); - (yyval.veri)->gotit.ff = 1; - ;} - break; - - case 192: - -/* Line 1464 of yacc.c */ -#line 1561 "parser.y" - { - if((yyvsp[(1) - (3)].veri)->gotit.ffm) - yyerror("FILEFLAGSMASK already defined"); - (yyval.veri) = (yyvsp[(1) - (3)].veri); - (yyval.veri)->fileflagsmask = (yyvsp[(3) - (3)].num); - (yyval.veri)->gotit.ffm = 1; - ;} - break; - - case 193: - -/* Line 1464 of yacc.c */ -#line 1568 "parser.y" - { - if((yyvsp[(1) - (3)].veri)->gotit.fo) - yyerror("FILEOS already defined"); - (yyval.veri) = (yyvsp[(1) - (3)].veri); - (yyval.veri)->fileos = (yyvsp[(3) - (3)].num); - (yyval.veri)->gotit.fo = 1; - ;} - break; - - case 194: - -/* Line 1464 of yacc.c */ -#line 1575 "parser.y" - { - if((yyvsp[(1) - (3)].veri)->gotit.ft) - yyerror("FILETYPE already defined"); - (yyval.veri) = (yyvsp[(1) - (3)].veri); - (yyval.veri)->filetype = (yyvsp[(3) - (3)].num); - (yyval.veri)->gotit.ft = 1; - ;} - break; - - case 195: - -/* Line 1464 of yacc.c */ -#line 1582 "parser.y" - { - if((yyvsp[(1) - (3)].veri)->gotit.fst) - yyerror("FILESUBTYPE already defined"); - (yyval.veri) = (yyvsp[(1) - (3)].veri); - (yyval.veri)->filesubtype = (yyvsp[(3) - (3)].num); - (yyval.veri)->gotit.fst = 1; - ;} - break; - - case 196: - -/* Line 1464 of yacc.c */ -#line 1592 "parser.y" - { (yyval.blk) = NULL; ;} - break; - - case 197: - -/* Line 1464 of yacc.c */ -#line 1593 "parser.y" - { - (yyval.blk) = (yyvsp[(2) - (2)].blk); - (yyval.blk)->prev = (yyvsp[(1) - (2)].blk); - if((yyvsp[(1) - (2)].blk)) - (yyvsp[(1) - (2)].blk)->next = (yyval.blk); - ;} - break; - - case 198: - -/* Line 1464 of yacc.c */ -#line 1602 "parser.y" - { - (yyval.blk) = new_ver_block(); - (yyval.blk)->name = (yyvsp[(2) - (5)].str); - (yyval.blk)->values = get_ver_value_head((yyvsp[(4) - (5)].val)); - ;} - break; - - case 199: - -/* Line 1464 of yacc.c */ -#line 1610 "parser.y" - { (yyval.val) = NULL; ;} - break; - - case 200: - -/* Line 1464 of yacc.c */ -#line 1611 "parser.y" - { - (yyval.val) = (yyvsp[(2) - (2)].val); - (yyval.val)->prev = (yyvsp[(1) - (2)].val); - if((yyvsp[(1) - (2)].val)) - (yyvsp[(1) - (2)].val)->next = (yyval.val); - ;} - break; - - case 201: - -/* Line 1464 of yacc.c */ -#line 1620 "parser.y" - { - (yyval.val) = new_ver_value(); - (yyval.val)->type = val_block; - (yyval.val)->value.block = (yyvsp[(1) - (1)].blk); - ;} - break; - - case 202: - -/* Line 1464 of yacc.c */ -#line 1625 "parser.y" - { - (yyval.val) = new_ver_value(); - (yyval.val)->type = val_str; - (yyval.val)->key = (yyvsp[(2) - (4)].str); - (yyval.val)->value.str = (yyvsp[(4) - (4)].str); - ;} - break; - - case 203: - -/* Line 1464 of yacc.c */ -#line 1631 "parser.y" - { - (yyval.val) = new_ver_value(); - (yyval.val)->type = val_words; - (yyval.val)->key = (yyvsp[(2) - (4)].str); - (yyval.val)->value.words = (yyvsp[(4) - (4)].verw); - ;} - break; - - case 204: - -/* Line 1464 of yacc.c */ -#line 1640 "parser.y" - { (yyval.verw) = new_ver_words((yyvsp[(1) - (1)].num)); ;} - break; - - case 205: - -/* Line 1464 of yacc.c */ -#line 1641 "parser.y" - { (yyval.verw) = add_ver_words((yyvsp[(1) - (3)].verw), (yyvsp[(3) - (3)].num)); ;} - break; - - case 206: - -/* Line 1464 of yacc.c */ -#line 1645 "parser.y" - { - int nitems; - toolbar_item_t *items = get_tlbr_buttons_head((yyvsp[(8) - (9)].tlbarItems), &nitems); - (yyval.tlbar) = new_toolbar((yyvsp[(3) - (9)].num), (yyvsp[(5) - (9)].num), items, nitems); - if((yyvsp[(2) - (9)].iptr)) - { - (yyval.tlbar)->memopt = *((yyvsp[(2) - (9)].iptr)); - free((yyvsp[(2) - (9)].iptr)); - } - else - { - (yyval.tlbar)->memopt = WRC_MO_MOVEABLE | WRC_MO_PURE; - } - if((yyvsp[(6) - (9)].lvc)) - { - (yyval.tlbar)->lvc = *((yyvsp[(6) - (9)].lvc)); - free((yyvsp[(6) - (9)].lvc)); - } - if(!(yyval.tlbar)->lvc.language) - { - (yyval.tlbar)->lvc.language = dup_language(currentlanguage); - } - ;} - break; - - case 207: - -/* Line 1464 of yacc.c */ -#line 1671 "parser.y" - { (yyval.tlbarItems) = NULL; ;} - break; - - case 208: - -/* Line 1464 of yacc.c */ -#line 1672 "parser.y" - { - toolbar_item_t *idrec = new_toolbar_item(); - idrec->id = (yyvsp[(3) - (3)].num); - (yyval.tlbarItems) = ins_tlbr_button((yyvsp[(1) - (3)].tlbarItems), idrec); - ;} - break; - - case 209: - -/* Line 1464 of yacc.c */ -#line 1677 "parser.y" - { - toolbar_item_t *idrec = new_toolbar_item(); - idrec->id = 0; - (yyval.tlbarItems) = ins_tlbr_button((yyvsp[(1) - (2)].tlbarItems), idrec); - ;} - break; - - case 210: - -/* Line 1464 of yacc.c */ -#line 1686 "parser.y" - { (yyval.iptr) = NULL; ;} - break; - - case 211: - -/* Line 1464 of yacc.c */ -#line 1687 "parser.y" - { - if((yyvsp[(1) - (2)].iptr)) - { - *((yyvsp[(1) - (2)].iptr)) |= *((yyvsp[(2) - (2)].iptr)); - (yyval.iptr) = (yyvsp[(1) - (2)].iptr); - free((yyvsp[(2) - (2)].iptr)); - } - else - (yyval.iptr) = (yyvsp[(2) - (2)].iptr); - ;} - break; - - case 212: - -/* Line 1464 of yacc.c */ -#line 1697 "parser.y" - { - if((yyvsp[(1) - (2)].iptr)) - { - *((yyvsp[(1) - (2)].iptr)) &= *((yyvsp[(2) - (2)].iptr)); - (yyval.iptr) = (yyvsp[(1) - (2)].iptr); - free((yyvsp[(2) - (2)].iptr)); - } - else - { - *(yyvsp[(2) - (2)].iptr) &= WRC_MO_MOVEABLE | WRC_MO_DISCARDABLE | WRC_MO_PURE; - (yyval.iptr) = (yyvsp[(2) - (2)].iptr); - } - ;} - break; - - case 213: - -/* Line 1464 of yacc.c */ -#line 1712 "parser.y" - { (yyval.iptr) = new_int(WRC_MO_PRELOAD); - if (win32 && pedantic) parser_warning("PRELOAD is ignored in 32-bit mode\n"); ;} - break; - - case 214: - -/* Line 1464 of yacc.c */ -#line 1714 "parser.y" - { (yyval.iptr) = new_int(WRC_MO_MOVEABLE); - if (win32 && pedantic) parser_warning("MOVEABLE is ignored in 32-bit mode\n"); ;} - break; - - case 215: - -/* Line 1464 of yacc.c */ -#line 1716 "parser.y" - { (yyval.iptr) = new_int(WRC_MO_DISCARDABLE); - if (win32 && pedantic) parser_warning("DISCARDABLE is ignored in 32-bit mode\n"); ;} - break; - - case 216: - -/* Line 1464 of yacc.c */ -#line 1718 "parser.y" - { (yyval.iptr) = new_int(WRC_MO_PURE); - if (win32 && pedantic) parser_warning("PURE is ignored in 32-bit mode\n"); ;} - break; - - case 217: - -/* Line 1464 of yacc.c */ -#line 1722 "parser.y" - { (yyval.iptr) = new_int(~WRC_MO_PRELOAD); - if (win32 && pedantic) parser_warning("LOADONCALL is ignored in 32-bit mode\n"); ;} - break; - - case 218: - -/* Line 1464 of yacc.c */ -#line 1724 "parser.y" - { (yyval.iptr) = new_int(~WRC_MO_MOVEABLE); - if (win32 && pedantic) parser_warning("FIXED is ignored in 32-bit mode\n"); ;} - break; - - case 219: - -/* Line 1464 of yacc.c */ -#line 1726 "parser.y" - { (yyval.iptr) = new_int(~WRC_MO_PURE); - if (win32 && pedantic) parser_warning("IMPURE is ignored in 32-bit mode\n"); ;} - break; - - case 220: - -/* Line 1464 of yacc.c */ -#line 1731 "parser.y" - { (yyval.lvc) = new_lvc(); ;} - break; - - case 221: - -/* Line 1464 of yacc.c */ -#line 1732 "parser.y" - { - if(!win32) - parser_warning("LANGUAGE not supported in 16-bit mode\n"); - if((yyvsp[(1) - (2)].lvc)->language) - yyerror("Language already defined"); - (yyval.lvc) = (yyvsp[(1) - (2)].lvc); - (yyvsp[(1) - (2)].lvc)->language = (yyvsp[(2) - (2)].lan); - ;} - break; - - case 222: - -/* Line 1464 of yacc.c */ -#line 1740 "parser.y" - { - if(!win32) - parser_warning("CHARACTERISTICS not supported in 16-bit mode\n"); - if((yyvsp[(1) - (2)].lvc)->characts) - yyerror("Characteristics already defined"); - (yyval.lvc) = (yyvsp[(1) - (2)].lvc); - (yyvsp[(1) - (2)].lvc)->characts = (yyvsp[(2) - (2)].chars); - ;} - break; - - case 223: - -/* Line 1464 of yacc.c */ -#line 1748 "parser.y" - { - if(!win32) - parser_warning("VERSION not supported in 16-bit mode\n"); - if((yyvsp[(1) - (2)].lvc)->version) - yyerror("Version already defined"); - (yyval.lvc) = (yyvsp[(1) - (2)].lvc); - (yyvsp[(1) - (2)].lvc)->version = (yyvsp[(2) - (2)].ver); - ;} - break; - - case 224: - -/* Line 1464 of yacc.c */ -#line 1766 "parser.y" - { (yyval.lan) = new_language((yyvsp[(2) - (4)].num), (yyvsp[(4) - (4)].num)); - if (get_language_codepage((yyvsp[(2) - (4)].num), (yyvsp[(4) - (4)].num)) == -1) - yyerror( "Language %04x is not supported", ((yyvsp[(4) - (4)].num)<<10) + (yyvsp[(2) - (4)].num)); - ;} - break; - - case 225: - -/* Line 1464 of yacc.c */ -#line 1773 "parser.y" - { (yyval.chars) = new_characts((yyvsp[(2) - (2)].num)); ;} - break; - - case 226: - -/* Line 1464 of yacc.c */ -#line 1777 "parser.y" - { (yyval.ver) = new_version((yyvsp[(2) - (2)].num)); ;} - break; - - case 227: - -/* Line 1464 of yacc.c */ -#line 1781 "parser.y" - { - if((yyvsp[(1) - (4)].lvc)) - { - (yyvsp[(3) - (4)].raw)->lvc = *((yyvsp[(1) - (4)].lvc)); - free((yyvsp[(1) - (4)].lvc)); - } - - if(!(yyvsp[(3) - (4)].raw)->lvc.language) - (yyvsp[(3) - (4)].raw)->lvc.language = dup_language(currentlanguage); - - (yyval.raw) = (yyvsp[(3) - (4)].raw); - ;} - break; - - case 228: - -/* Line 1464 of yacc.c */ -#line 1796 "parser.y" - { (yyval.raw) = (yyvsp[(1) - (1)].raw); ;} - break; - - case 229: - -/* Line 1464 of yacc.c */ -#line 1797 "parser.y" - { (yyval.raw) = int2raw_data((yyvsp[(1) - (1)].num)); ;} - break; - - case 230: - -/* Line 1464 of yacc.c */ -#line 1798 "parser.y" - { (yyval.raw) = int2raw_data(-((yyvsp[(2) - (2)].num))); ;} - break; - - case 231: - -/* Line 1464 of yacc.c */ -#line 1799 "parser.y" - { (yyval.raw) = long2raw_data((yyvsp[(1) - (1)].num)); ;} - break; - - case 232: - -/* Line 1464 of yacc.c */ -#line 1800 "parser.y" - { (yyval.raw) = long2raw_data(-((yyvsp[(2) - (2)].num))); ;} - break; - - case 233: - -/* Line 1464 of yacc.c */ -#line 1801 "parser.y" - { (yyval.raw) = str2raw_data((yyvsp[(1) - (1)].str)); ;} - break; - - case 234: - -/* Line 1464 of yacc.c */ -#line 1802 "parser.y" - { (yyval.raw) = merge_raw_data((yyvsp[(1) - (3)].raw), (yyvsp[(3) - (3)].raw)); free((yyvsp[(3) - (3)].raw)->data); free((yyvsp[(3) - (3)].raw)); ;} - break; - - case 235: - -/* Line 1464 of yacc.c */ -#line 1803 "parser.y" - { (yyval.raw) = merge_raw_data_int((yyvsp[(1) - (3)].raw), (yyvsp[(3) - (3)].num)); ;} - break; - - case 236: - -/* Line 1464 of yacc.c */ -#line 1804 "parser.y" - { (yyval.raw) = merge_raw_data_int((yyvsp[(1) - (4)].raw), -((yyvsp[(4) - (4)].num))); ;} - break; - - case 237: - -/* Line 1464 of yacc.c */ -#line 1805 "parser.y" - { (yyval.raw) = merge_raw_data_long((yyvsp[(1) - (3)].raw), (yyvsp[(3) - (3)].num)); ;} - break; - - case 238: - -/* Line 1464 of yacc.c */ -#line 1806 "parser.y" - { (yyval.raw) = merge_raw_data_long((yyvsp[(1) - (4)].raw), -((yyvsp[(4) - (4)].num))); ;} - break; - - case 239: - -/* Line 1464 of yacc.c */ -#line 1807 "parser.y" - { (yyval.raw) = merge_raw_data_str((yyvsp[(1) - (3)].raw), (yyvsp[(3) - (3)].str)); ;} - break; - - case 240: - -/* Line 1464 of yacc.c */ -#line 1811 "parser.y" - { (yyval.raw) = load_file((yyvsp[(1) - (1)].str),dup_language(currentlanguage)); ;} - break; - - case 241: - -/* Line 1464 of yacc.c */ -#line 1812 "parser.y" - { (yyval.raw) = (yyvsp[(1) - (1)].raw); ;} - break; - - case 242: - -/* Line 1464 of yacc.c */ -#line 1819 "parser.y" - { (yyval.iptr) = 0; ;} - break; - - case 243: - -/* Line 1464 of yacc.c */ -#line 1820 "parser.y" - { (yyval.iptr) = new_int((yyvsp[(1) - (1)].num)); ;} - break; - - case 244: - -/* Line 1464 of yacc.c */ -#line 1824 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (1)].num)); ;} - break; - - case 245: - -/* Line 1464 of yacc.c */ -#line 1827 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (3)].num)) + ((yyvsp[(3) - (3)].num)); ;} - break; - - case 246: - -/* Line 1464 of yacc.c */ -#line 1828 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (3)].num)) - ((yyvsp[(3) - (3)].num)); ;} - break; - - case 247: - -/* Line 1464 of yacc.c */ -#line 1829 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (3)].num)) | ((yyvsp[(3) - (3)].num)); ;} - break; - - case 248: - -/* Line 1464 of yacc.c */ -#line 1830 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (3)].num)) & ((yyvsp[(3) - (3)].num)); ;} - break; - - case 249: - -/* Line 1464 of yacc.c */ -#line 1831 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (3)].num)) * ((yyvsp[(3) - (3)].num)); ;} - break; - - case 250: - -/* Line 1464 of yacc.c */ -#line 1832 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (3)].num)) / ((yyvsp[(3) - (3)].num)); ;} - break; - - case 251: - -/* Line 1464 of yacc.c */ -#line 1833 "parser.y" - { (yyval.num) = ((yyvsp[(1) - (3)].num)) ^ ((yyvsp[(3) - (3)].num)); ;} - break; - - case 252: - -/* Line 1464 of yacc.c */ -#line 1834 "parser.y" - { (yyval.num) = ~((yyvsp[(2) - (2)].num)); ;} - break; - - case 253: - -/* Line 1464 of yacc.c */ -#line 1835 "parser.y" - { (yyval.num) = -((yyvsp[(2) - (2)].num)); ;} - break; - - case 254: - -/* Line 1464 of yacc.c */ -#line 1836 "parser.y" - { (yyval.num) = (yyvsp[(2) - (2)].num); ;} - break; - - case 255: - -/* Line 1464 of yacc.c */ -#line 1837 "parser.y" - { (yyval.num) = (yyvsp[(2) - (3)].num); ;} - break; - - case 256: - -/* Line 1464 of yacc.c */ -#line 1838 "parser.y" - { (yyval.num) = (yyvsp[(1) - (1)].num); ;} - break; - - case 257: - -/* Line 1464 of yacc.c */ -#line 1839 "parser.y" - { (yyval.num) = ~((yyvsp[(2) - (2)].num)); ;} - break; - - case 258: - -/* Line 1464 of yacc.c */ -#line 1842 "parser.y" - { (yyval.num) = (yyvsp[(1) - (1)].num); ;} - break; - - case 259: - -/* Line 1464 of yacc.c */ -#line 1843 "parser.y" - { (yyval.num) = (yyvsp[(1) - (1)].num); ;} - break; - - - -/* Line 1464 of yacc.c */ -#line 4951 "parser.tab.c" - default: break; - } - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); - - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - - *++yyvsp = yyval; - - /* Now `shift' the result of the reduction. Determine what state - that goes to, based on the state we popped back to and the rule - number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; - - goto yynewstate; - - -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ -yyerrlab: - /* If not already recovering from an error, report this error. */ - if (!yyerrstatus) - { - ++yynerrs; -#if ! YYERROR_VERBOSE - yyerror (YY_("syntax error")); -#else - { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } - } -#endif - } - - - - if (yyerrstatus == 3) - { - /* If just tried and failed to reuse lookahead token after an - error, discard it. */ - - if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } - else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } - } - - /* Else will try to reuse lookahead token after shifting the error - token. */ - goto yyerrlab1; - - -/*---------------------------------------------------. -| yyerrorlab -- error raised explicitly by YYERROR. | -`---------------------------------------------------*/ -yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; - - /* Do not reclaim the symbols of the rule which action triggered - this YYERROR. */ - YYPOPSTACK (yylen); - yylen = 0; - YY_STACK_PRINT (yyss, yyssp); - yystate = *yyssp; - goto yyerrlab1; - - -/*-------------------------------------------------------------. -| yyerrlab1 -- common code for both syntax error and YYERROR. | -`-------------------------------------------------------------*/ -yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ - - for (;;) - { - yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } - - /* Pop the current state because it cannot handle the error token. */ - if (yyssp == yyss) - YYABORT; - - - yydestruct ("Error: popping", - yystos[yystate], yyvsp); - YYPOPSTACK (1); - yystate = *yyssp; - YY_STACK_PRINT (yyss, yyssp); - } - - *++yyvsp = yylval; - - - /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); - - yystate = yyn; - goto yynewstate; - - -/*-------------------------------------. -| yyacceptlab -- YYACCEPT comes here. | -`-------------------------------------*/ -yyacceptlab: - yyresult = 0; - goto yyreturn; - -/*-----------------------------------. -| yyabortlab -- YYABORT comes here. | -`-----------------------------------*/ -yyabortlab: - yyresult = 1; - goto yyreturn; - -#if !defined(yyoverflow) || YYERROR_VERBOSE -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ -yyexhaustedlab: - yyerror (YY_("memory exhausted")); - yyresult = 2; - /* Fall through. */ -#endif - -yyreturn: - if (yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered - this YYABORT or YYACCEPT. */ - YYPOPSTACK (yylen); - YY_STACK_PRINT (yyss, yyssp); - while (yyssp != yyss) - { - yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); - YYPOPSTACK (1); - } -#ifndef yyoverflow - if (yyss != yyssa) - YYSTACK_FREE (yyss); -#endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif - /* Make sure YYID is used. */ - return YYID (yyresult); -} - - - -/* Line 1684 of yacc.c */ -#line 1846 "parser.y" - -/* Dialog specific functions */ -static dialog_t *dialog_style(style_t * st, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->style == NULL) - { - dlg->style = new_style(0,0); - } - - if(dlg->gotstyle) - { - parser_warning("Style already defined, or-ing together\n"); - } - else - { - dlg->style->or_mask = 0; - dlg->style->and_mask = 0; - } - dlg->style->or_mask |= st->or_mask; - dlg->style->and_mask |= st->and_mask; - dlg->gotstyle = TRUE; - free(st); - return dlg; -} - -static dialog_t *dialog_exstyle(style_t *st, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->exstyle == NULL) - { - dlg->exstyle = new_style(0,0); - } - - if(dlg->gotexstyle) - { - parser_warning("ExStyle already defined, or-ing together\n"); - } - else - { - dlg->exstyle->or_mask = 0; - dlg->exstyle->and_mask = 0; - } - dlg->exstyle->or_mask |= st->or_mask; - dlg->exstyle->and_mask |= st->and_mask; - dlg->gotexstyle = TRUE; - free(st); - return dlg; -} - -static dialog_t *dialog_caption(string_t *s, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->title) - yyerror("Caption already defined"); - dlg->title = s; - return dlg; -} - -static dialog_t *dialog_font(font_id_t *f, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->font) - yyerror("Font already defined"); - dlg->font = f; - return dlg; -} - -static dialog_t *dialog_class(name_id_t *n, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->dlgclass) - yyerror("Class already defined"); - dlg->dlgclass = n; - return dlg; -} - -static dialog_t *dialog_menu(name_id_t *m, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->menu) - yyerror("Menu already defined"); - dlg->menu = m; - return dlg; -} - -static dialog_t *dialog_language(language_t *l, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->lvc.language) - yyerror("Language already defined"); - dlg->lvc.language = l; - return dlg; -} - -static dialog_t *dialog_characteristics(characts_t *c, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->lvc.characts) - yyerror("Characteristics already defined"); - dlg->lvc.characts = c; - return dlg; -} - -static dialog_t *dialog_version(version_t *v, dialog_t *dlg) -{ - assert(dlg != NULL); - if(dlg->lvc.version) - yyerror("Version already defined"); - dlg->lvc.version = v; - return dlg; -} - -/* Controls specific functions */ -static control_t *ins_ctrl(int type, int special_style, control_t *ctrl, control_t *prev) -{ - /* Hm... this seems to be jammed in at all time... */ - int defaultstyle = WS_CHILD | WS_VISIBLE; - - assert(ctrl != NULL); - ctrl->prev = prev; - - if(prev) - prev->next = ctrl; - - /* Check for duplicate identifiers */ - while (prev) - { - if (ctrl->id != -1 && ctrl->id == prev->id) - parser_warning("Duplicate dialog control id %d\n", ctrl->id); - prev = prev->prev; - } - - if(type != -1) - { - ctrl->ctlclass = new_name_id(); - ctrl->ctlclass->type = name_ord; - ctrl->ctlclass->name.i_name = type; - } - - switch(type) - { - case CT_BUTTON: - if(special_style != BS_GROUPBOX && special_style != BS_RADIOBUTTON) - defaultstyle |= WS_TABSTOP; - break; - case CT_EDIT: - defaultstyle |= WS_TABSTOP | WS_BORDER; - break; - case CT_LISTBOX: - defaultstyle |= LBS_NOTIFY | WS_BORDER; - break; - case CT_COMBOBOX: - if (!(ctrl->style->or_mask & (CBS_SIMPLE | CBS_DROPDOWN | CBS_DROPDOWNLIST))) - defaultstyle |= CBS_SIMPLE; - break; - case CT_STATIC: - if(special_style == SS_CENTER || special_style == SS_LEFT || special_style == SS_RIGHT) - defaultstyle |= WS_GROUP; - break; - } - - if(!ctrl->gotstyle) /* Handle default style setting */ - { - switch(type) - { - case CT_EDIT: - defaultstyle |= ES_LEFT; - break; - case CT_LISTBOX: - defaultstyle |= LBS_NOTIFY; - break; - case CT_COMBOBOX: - defaultstyle |= CBS_SIMPLE | WS_TABSTOP; - break; - case CT_SCROLLBAR: - defaultstyle |= SBS_HORZ; - break; - case CT_BUTTON: - switch(special_style) - { - case BS_CHECKBOX: - case BS_DEFPUSHBUTTON: - case BS_PUSHBUTTON: -/* case BS_PUSHBOX: */ - case BS_AUTORADIOBUTTON: - case BS_AUTO3STATE: - case BS_3STATE: - case BS_AUTOCHECKBOX: - defaultstyle |= WS_TABSTOP; - break; - default: - parser_warning("Unknown default button control-style 0x%08x\n", special_style); - case BS_GROUPBOX: - case BS_RADIOBUTTON: - break; - } - break; - - case CT_STATIC: - switch(special_style) - { - case SS_LEFT: - case SS_RIGHT: - case SS_CENTER: - defaultstyle |= WS_GROUP; - break; - case SS_ICON: /* Special case */ - break; - default: - parser_warning("Unknown default static control-style 0x%08x\n", special_style); - break; - } - break; - case -1: /* Generic control */ - goto byebye; - - default: - yyerror("Internal error (report this): Got weird control type 0x%08x", type); - } - } - - /* The SS_ICON flag is always forced in for icon controls */ - if(type == CT_STATIC && special_style == SS_ICON) - defaultstyle |= SS_ICON; - - if (!ctrl->gotstyle) - ctrl->style = new_style(0,0); - - /* combine all styles */ - ctrl->style->or_mask = ctrl->style->or_mask | defaultstyle | special_style; - ctrl->gotstyle = TRUE; -byebye: - /* combine with NOT mask */ - if (ctrl->gotstyle) - { - ctrl->style->or_mask &= ~(ctrl->style->and_mask); - ctrl->style->and_mask = 0; - } - if (ctrl->gotexstyle) - { - ctrl->exstyle->or_mask &= ~(ctrl->exstyle->and_mask); - ctrl->exstyle->and_mask = 0; - } - return ctrl; -} - -static int get_class_idW(const WCHAR *cc) -{ - static const WCHAR szBUTTON[] = {'B','U','T','T','O','N',0}; - static const WCHAR szCOMBOBOX[] = {'C','O','M','B','O','B','O','X',0}; - static const WCHAR szLISTBOX[] = {'L','I','S','T','B','O','X',0}; - static const WCHAR szEDIT[] = {'E','D','I','T',0}; - static const WCHAR szSTATIC[] = {'S','T','A','T','I','C',0}; - static const WCHAR szSCROLLBAR[] = {'S','C','R','O','L','L','B','A','R',0}; - - if(!strcmpiW(szBUTTON, cc)) - return CT_BUTTON; - if(!strcmpiW(szCOMBOBOX, cc)) - return CT_COMBOBOX; - if(!strcmpiW(szLISTBOX, cc)) - return CT_LISTBOX; - if(!strcmpiW(szEDIT, cc)) - return CT_EDIT; - if(!strcmpiW(szSTATIC, cc)) - return CT_STATIC; - if(!strcmpiW(szSCROLLBAR, cc)) - return CT_SCROLLBAR; - - return -1; -} - -static int get_class_idA(const char *cc) -{ - if(!strcasecmp("BUTTON", cc)) - return CT_BUTTON; - if(!strcasecmp("COMBOBOX", cc)) - return CT_COMBOBOX; - if(!strcasecmp("LISTBOX", cc)) - return CT_LISTBOX; - if(!strcasecmp("EDIT", cc)) - return CT_EDIT; - if(!strcasecmp("STATIC", cc)) - return CT_STATIC; - if(!strcasecmp("SCROLLBAR", cc)) - return CT_SCROLLBAR; - - return -1; -} - - -static name_id_t *convert_ctlclass(name_id_t *cls) -{ - int iclass; - - if(cls->type == name_ord) - return cls; - assert(cls->type == name_str); - if(cls->name.s_name->type == str_unicode) - iclass = get_class_idW(cls->name.s_name->str.wstr); - else - iclass = get_class_idA(cls->name.s_name->str.cstr); - - if (iclass == -1) - return cls; /* No default, return user controlclass */ - - free(cls->name.s_name->str.cstr); - free(cls->name.s_name); - cls->type = name_ord; - cls->name.i_name = iclass; - return cls; -} - -/* Accelerator specific functions */ -static event_t *add_event(int key, int id, int flags, event_t *prev) -{ - event_t *ev = new_event(); - - if((flags & (WRC_AF_VIRTKEY | WRC_AF_ASCII)) == (WRC_AF_VIRTKEY | WRC_AF_ASCII)) - yyerror("Cannot use both ASCII and VIRTKEY"); - - ev->key = key; - ev->id = id; - ev->flags = flags & ~WRC_AF_ASCII; - ev->prev = prev; - if(prev) - prev->next = ev; - return ev; -} - -static event_t *add_string_event(string_t *key, int id, int flags, event_t *prev) -{ - int keycode = 0; - event_t *ev = new_event(); - - if(key->type == str_char) - { - if((flags & WRC_AF_VIRTKEY) && - !((key->str.cstr[0] >= 'A' && key->str.cstr[0] <= 'Z') || - (key->str.cstr[0] >= '0' && key->str.cstr[0] <= '9'))) - yyerror("VIRTKEY code is not equal to ascii value"); - - if(key->str.cstr[0] == '^' && (flags & WRC_AF_CONTROL) != 0) - { - yyerror("Cannot use both '^' and CONTROL modifier"); - } - else if(key->str.cstr[0] == '^') - { - keycode = toupper((unsigned char)key->str.cstr[1]) - '@'; - if(keycode >= ' ') - yyerror("Control-code out of range"); - } - else - keycode = key->str.cstr[0]; - } - else - { - if((flags & WRC_AF_VIRTKEY) && - !((key->str.wstr[0] >= 'A' && key->str.wstr[0] <= 'Z') || - (key->str.wstr[0] >= '0' && key->str.wstr[0] <= '9'))) - yyerror("VIRTKEY code is not equal to ascii value"); - - if(key->str.wstr[0] == '^' && (flags & WRC_AF_CONTROL) != 0) - { - yyerror("Cannot use both '^' and CONTROL modifier"); - } - else if(key->str.wstr[0] == '^') - { - keycode = toupperW(key->str.wstr[1]) - '@'; - if(keycode >= ' ') - yyerror("Control-code out of range"); - } - else - keycode = key->str.wstr[0]; - } - - ev->key = keycode; - ev->id = id; - ev->flags = flags & ~WRC_AF_ASCII; - ev->prev = prev; - if(prev) - prev->next = ev; - return ev; -} - -/* MenuEx specific functions */ -static itemex_opt_t *new_itemex_opt(int id, int type, int state, int helpid) -{ - itemex_opt_t *opt = xmalloc(sizeof(itemex_opt_t)); - memset( opt, 0, sizeof(*opt) ); - opt->id = id; - opt->type = type; - opt->state = state; - opt->helpid = helpid; - return opt; -} - -/* Raw data functions */ -static raw_data_t *load_file(string_t *filename, language_t *lang) -{ - FILE *fp = NULL; - char *path; - raw_data_t *rd; - string_t *name; - int codepage = get_language_codepage(lang->id, lang->sub); - - /* FIXME: we may want to use utf-8 here */ - if (codepage <= 0 && filename->type != str_char) - yyerror("Cannot convert filename to ASCII string"); - name = convert_string( filename, str_char, codepage ); - if (!(path = wpp_find_include(name->str.cstr, input_name))) - yyerror("Cannot open file %s", name->str.cstr); - if (!(fp = fopen( path, "rb" ))) - yyerror("Cannot open file %s", name->str.cstr); - free( path ); - rd = new_raw_data(); - fseek(fp, 0, SEEK_END); - rd->size = ftell(fp); - fseek(fp, 0, SEEK_SET); - if (rd->size) - { - rd->data = xmalloc(rd->size); - fread(rd->data, rd->size, 1, fp); - } - else rd->data = NULL; - fclose(fp); - rd->lvc.language = lang; - free_string(name); - return rd; -} - -static raw_data_t *int2raw_data(int i) -{ - raw_data_t *rd; - - if( ( i >= 0 && (int)((unsigned short)i) != i) || - ( i < 0 && (int)((short)i) != i) ) - parser_warning("Integer constant out of 16bit range (%d), truncated to %d\n", i, (short)i); - - rd = new_raw_data(); - rd->size = sizeof(short); - rd->data = xmalloc(rd->size); - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - rd->data[0] = HIBYTE(i); - rd->data[1] = LOBYTE(i); - break; - -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - rd->data[1] = HIBYTE(i); - rd->data[0] = LOBYTE(i); - break; - } - return rd; -} - -static raw_data_t *long2raw_data(int i) -{ - raw_data_t *rd; - rd = new_raw_data(); - rd->size = sizeof(int); - rd->data = xmalloc(rd->size); - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - rd->data[0] = HIBYTE(HIWORD(i)); - rd->data[1] = LOBYTE(HIWORD(i)); - rd->data[2] = HIBYTE(LOWORD(i)); - rd->data[3] = LOBYTE(LOWORD(i)); - break; - -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - rd->data[3] = HIBYTE(HIWORD(i)); - rd->data[2] = LOBYTE(HIWORD(i)); - rd->data[1] = HIBYTE(LOWORD(i)); - rd->data[0] = LOBYTE(LOWORD(i)); - break; - } - return rd; -} - -static raw_data_t *str2raw_data(string_t *str) -{ - raw_data_t *rd; - rd = new_raw_data(); - rd->size = str->size * (str->type == str_char ? 1 : 2); - rd->data = xmalloc(rd->size); - if(str->type == str_char) - memcpy(rd->data, str->str.cstr, rd->size); - else if(str->type == str_unicode) - { - int i; - switch(byteorder) - { -#ifdef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_BIG: - for(i = 0; i < str->size; i++) - { - rd->data[2*i + 0] = HIBYTE((WORD)str->str.wstr[i]); - rd->data[2*i + 1] = LOBYTE((WORD)str->str.wstr[i]); - } - break; -#ifndef WORDS_BIGENDIAN - default: -#endif - case WRC_BO_LITTLE: - for(i = 0; i < str->size; i++) - { - rd->data[2*i + 1] = HIBYTE((WORD)str->str.wstr[i]); - rd->data[2*i + 0] = LOBYTE((WORD)str->str.wstr[i]); - } - break; - } - } - else - internal_error(__FILE__, __LINE__, "Invalid stringtype\n"); - return rd; -} - -static raw_data_t *merge_raw_data(raw_data_t *r1, raw_data_t *r2) -{ - r1->data = xrealloc(r1->data, r1->size + r2->size); - memcpy(r1->data + r1->size, r2->data, r2->size); - r1->size += r2->size; - return r1; -} - -static raw_data_t *merge_raw_data_int(raw_data_t *r1, int i) -{ - raw_data_t *t = int2raw_data(i); - merge_raw_data(r1, t); - free(t->data); - free(t); - return r1; -} - -static raw_data_t *merge_raw_data_long(raw_data_t *r1, int i) -{ - raw_data_t *t = long2raw_data(i); - merge_raw_data(r1, t); - free(t->data); - free(t); - return r1; -} - -static raw_data_t *merge_raw_data_str(raw_data_t *r1, string_t *str) -{ - raw_data_t *t = str2raw_data(str); - merge_raw_data(r1, t); - free(t->data); - free(t); - return r1; -} - -/* Function the go back in a list to get the head */ -static menu_item_t *get_item_head(menu_item_t *p) -{ - if(!p) - return NULL; - while(p->prev) - p = p->prev; - return p; -} - -static resource_t *get_resource_head(resource_t *p) -{ - if(!p) - return NULL; - while(p->prev) - p = p->prev; - return p; -} - -static ver_block_t *get_ver_block_head(ver_block_t *p) -{ - if(!p) - return NULL; - while(p->prev) - p = p->prev; - return p; -} - -static ver_value_t *get_ver_value_head(ver_value_t *p) -{ - if(!p) - return NULL; - while(p->prev) - p = p->prev; - return p; -} - -static control_t *get_control_head(control_t *p) -{ - if(!p) - return NULL; - while(p->prev) - p = p->prev; - return p; -} - -static event_t *get_event_head(event_t *p) -{ - if(!p) - return NULL; - while(p->prev) - p = p->prev; - return p; -} - -/* Find a stringtable with given language */ -static stringtable_t *find_stringtable(lvc_t *lvc) -{ - stringtable_t *stt; - - assert(lvc != NULL); - - if(!lvc->language) - lvc->language = dup_language(currentlanguage); - - for(stt = sttres; stt; stt = stt->next) - { - if(stt->lvc.language->id == lvc->language->id - && stt->lvc.language->sub == lvc->language->sub) - { - /* Found a table with the same language */ - /* The version and characteristics are now handled - * in the generation of the individual stringtables. - * This enables localized analysis. - if((stt->lvc.version && lvc->version && *(stt->lvc.version) != *(lvc->version)) - || (!stt->lvc.version && lvc->version) - || (stt->lvc.version && !lvc->version)) - parser_warning("Stringtable's versions are not the same, using first definition\n"); - - if((stt->lvc.characts && lvc->characts && *(stt->lvc.characts) != *(lvc->characts)) - || (!stt->lvc.characts && lvc->characts) - || (stt->lvc.characts && !lvc->characts)) - parser_warning("Stringtable's characteristics are not the same, using first definition\n"); - */ - return stt; - } - } - return NULL; -} - -/* qsort sorting function for string table entries */ -#define STE(p) ((const stt_entry_t *)(p)) -static int sort_stt_entry(const void *e1, const void *e2) -{ - return STE(e1)->id - STE(e2)->id; -} -#undef STE - -static resource_t *build_stt_resources(stringtable_t *stthead) -{ - stringtable_t *stt; - stringtable_t *newstt; - resource_t *rsc; - resource_t *rsclist = NULL; - resource_t *rsctail = NULL; - int i; - int j; - DWORD andsum; - DWORD orsum; - characts_t *characts; - version_t *version; - - if(!stthead) - return NULL; - - /* For all languages defined */ - for(stt = stthead; stt; stt = stt->next) - { - assert(stt->nentries > 0); - - /* Sort the entries */ - if(stt->nentries > 1) - qsort(stt->entries, stt->nentries, sizeof(stt->entries[0]), sort_stt_entry); - - for(i = 0; i < stt->nentries; ) - { - newstt = new_stringtable(&stt->lvc); - newstt->entries = xmalloc(16 * sizeof(stt_entry_t)); - memset( newstt->entries, 0, 16 * sizeof(stt_entry_t) ); - newstt->nentries = 16; - newstt->idbase = stt->entries[i].id & ~0xf; - for(j = 0; j < 16 && i < stt->nentries; j++) - { - if(stt->entries[i].id - newstt->idbase == j) - { - newstt->entries[j] = stt->entries[i]; - i++; - } - } - andsum = ~0; - orsum = 0; - characts = NULL; - version = NULL; - /* Check individual memory options and get - * the first characteristics/version - */ - for(j = 0; j < 16; j++) - { - if(!newstt->entries[j].str) - continue; - andsum &= newstt->entries[j].memopt; - orsum |= newstt->entries[j].memopt; - if(!characts) - characts = newstt->entries[j].characts; - if(!version) - version = newstt->entries[j].version; - } - if(andsum != orsum) - { - warning("Stringtable's memory options are not equal (idbase: %d)\n", newstt->idbase); - } - /* Check version and characteristics */ - for(j = 0; j < 16; j++) - { - if(characts - && newstt->entries[j].characts - && *newstt->entries[j].characts != *characts) - warning("Stringtable's characteristics are not the same (idbase: %d)\n", newstt->idbase); - if(version - && newstt->entries[j].version - && *newstt->entries[j].version != *version) - warning("Stringtable's versions are not the same (idbase: %d)\n", newstt->idbase); - } - rsc = new_resource(res_stt, newstt, newstt->memopt, newstt->lvc.language); - rsc->name = new_name_id(); - rsc->name->type = name_ord; - rsc->name->name.i_name = (newstt->idbase >> 4) + 1; - rsc->memopt = andsum; /* Set to least common denominator */ - newstt->memopt = andsum; - newstt->lvc.characts = characts; - newstt->lvc.version = version; - if(!rsclist) - { - rsclist = rsc; - rsctail = rsc; - } - else - { - rsctail->next = rsc; - rsc->prev = rsctail; - rsctail = rsc; - } - } - } - return rsclist; -} - - -static toolbar_item_t *ins_tlbr_button(toolbar_item_t *prev, toolbar_item_t *idrec) -{ - idrec->prev = prev; - if(prev) - prev->next = idrec; - - return idrec; -} - -static toolbar_item_t *get_tlbr_buttons_head(toolbar_item_t *p, int *nitems) -{ - if(!p) - { - *nitems = 0; - return NULL; - } - - *nitems = 1; - - while(p->prev) - { - (*nitems)++; - p = p->prev; - } - - return p; -} - -static string_t *make_filename(string_t *str) -{ - if(str->type == str_char) - { - char *cptr; - - /* Remove escaped backslash and convert to forward */ - for(cptr = str->str.cstr; (cptr = strchr(cptr, '\\')) != NULL; cptr++) - { - if(cptr[1] == '\\') - { - memmove(cptr, cptr+1, strlen(cptr)); - str->size--; - } - *cptr = '/'; - } - } - else - { - WCHAR *wptr; - - /* Remove escaped backslash and convert to forward */ - for(wptr = str->str.wstr; (wptr = strchrW(wptr, '\\')) != NULL; wptr++) - { - if(wptr[1] == '\\') - { - memmove(wptr, wptr+1, strlenW(wptr)); - str->size--; - } - *wptr = '/'; - } - } - return str; -} - -/* - * Process all resources to extract fonts and build - * a fontdir resource. - * - * Note: MS' resource compiler (build 1472) does not - * handle font resources with different languages. - * The fontdir is generated in the last active language - * and font identifiers must be unique across the entire - * source. - * This is not logical considering the localization - * constraints of all other resource types. MS has, - * most probably, never testet localized fonts. However, - * using fontresources is rare, so it might not occur - * in normal applications. - * Wine does require better localization because a lot - * of languages are coded into the same executable. - * Therefore, I will generate fontdirs for *each* - * localized set of fonts. - */ -static resource_t *build_fontdir(resource_t **fnt, int nfnt) -{ - static int once = 0; - if(!once) - { - warning("Need to parse fonts, not yet implemented (fnt: %p, nfnt: %d)\n", fnt, nfnt); - once++; - } - return NULL; -} - -static resource_t *build_fontdirs(resource_t *tail) -{ - resource_t *rsc; - resource_t *lst = NULL; - resource_t **fnt = NULL; /* List of all fonts */ - int nfnt = 0; - resource_t **fnd = NULL; /* List of all fontdirs */ - int nfnd = 0; - resource_t **lanfnt = NULL; - int nlanfnt = 0; - int i; - name_id_t nid; - string_t str; - int fntleft; - - nid.type = name_str; - nid.name.s_name = &str; - str.type = str_char; - str.str.cstr = xstrdup("FONTDIR"); - str.size = 7; - - /* Extract all fonts and fontdirs */ - for(rsc = tail; rsc; rsc = rsc->prev) - { - if(rsc->type == res_fnt) - { - nfnt++; - fnt = xrealloc(fnt, nfnt * sizeof(*fnt)); - fnt[nfnt-1] = rsc; - } - else if(rsc->type == res_fntdir) - { - nfnd++; - fnd = xrealloc(fnd, nfnd * sizeof(*fnd)); - fnd[nfnd-1] = rsc; - } - } - - /* Verify the name of the present fontdirs */ - for(i = 0; i < nfnd; i++) - { - if(compare_name_id(&nid, fnd[i]->name)) - { - warning("User supplied FONTDIR entry has an invalid name '%s', ignored\n", - get_nameid_str(fnd[i]->name)); - fnd[i] = NULL; - } - } - - /* Sanity check */ - if(nfnt == 0) - { - if(nfnd != 0) - warning("Found %d FONTDIR entries without any fonts present\n", nfnd); - goto clean; - } - - /* Copy space */ - lanfnt = xmalloc(nfnt * sizeof(*lanfnt)); - memset( lanfnt, 0, nfnt * sizeof(*lanfnt)); - - /* Get all fonts covered by fontdirs */ - for(i = 0; i < nfnd; i++) - { - int j; - WORD cnt; - int isswapped = 0; - - if(!fnd[i]) - continue; - for(j = 0; j < nfnt; j++) - { - if(!fnt[j]) - continue; - if(fnt[j]->lan->id == fnd[i]->lan->id && fnt[j]->lan->sub == fnd[i]->lan->sub) - { - lanfnt[nlanfnt] = fnt[j]; - nlanfnt++; - fnt[j] = NULL; - } - } - - cnt = *(WORD *)fnd[i]->res.fnd->data->data; - if(nlanfnt == cnt) - isswapped = 0; - else if(nlanfnt == BYTESWAP_WORD(cnt)) - isswapped = 1; - else - error("FONTDIR for language %d,%d has wrong count (%d, expected %d)\n", - fnd[i]->lan->id, fnd[i]->lan->sub, cnt, nlanfnt); -#ifdef WORDS_BIGENDIAN - if((byteorder == WRC_BO_LITTLE && !isswapped) || (byteorder != WRC_BO_LITTLE && isswapped)) -#else - if((byteorder == WRC_BO_BIG && !isswapped) || (byteorder != WRC_BO_BIG && isswapped)) -#endif - { - internal_error(__FILE__, __LINE__, "User supplied FONTDIR needs byteswapping\n"); - } - } - - /* We now have fonts left where we need to make a fontdir resource */ - for(i = fntleft = 0; i < nfnt; i++) - { - if(fnt[i]) - fntleft++; - } - while(fntleft) - { - /* Get fonts of same language in lanfnt[] */ - for(i = nlanfnt = 0; i < nfnt; i++) - { - if(fnt[i]) - { - if(!nlanfnt) - { - addlanfnt: - lanfnt[nlanfnt] = fnt[i]; - nlanfnt++; - fnt[i] = NULL; - fntleft--; - } - else if(fnt[i]->lan->id == lanfnt[0]->lan->id && fnt[i]->lan->sub == lanfnt[0]->lan->sub) - goto addlanfnt; - } - } - /* and build a fontdir */ - rsc = build_fontdir(lanfnt, nlanfnt); - if(rsc) - { - if(lst) - { - lst->next = rsc; - rsc->prev = lst; - } - lst = rsc; - } - } - - free(lanfnt); -clean: - free(fnt); - free(fnd); - free(str.str.cstr); - return lst; -} - -/* - * This gets invoked to determine whether the next resource - * is to be of a standard-type (e.g. bitmaps etc.), or should - * be a user-type resource. This function is required because - * there is the _possibility_ of a lookahead token in the - * parser, which is generated from the "expr" state in the - * "nameid" parsing. - * - * The general resource format is: - * - * - * The can either be tIDENT or "expr". The latter - * will always generate a lookahead, which is the of the - * resource to parse. Otherwise, we need to get a new token from - * the scanner to determine the next step. - * - * The problem arrises when is numerical. This case should - * map onto default resource-types and be parsed as such instead - * of being mapped onto user-type resources. - * - * The trick lies in the fact that yacc (bison) doesn't care about - * intermediate changes of the lookahead while reducing a rule. We - * simply replace the lookahead with a token that will result in - * a shift to the appropriate rule for the specific resource-type. - */ -static int rsrcid_to_token(int lookahead) -{ - int token; - - /* Get a token if we don't have one yet */ - if(lookahead == YYEMPTY) - lookahead = YYLEX; - - /* Only numbers are possibly interesting */ - switch(lookahead) - { - case tNUMBER: - case tLNUMBER: - break; - default: - return lookahead; - } - - token = lookahead; - - switch(yylval.num) - { - case WRC_RT_CURSOR: - token = tCURSOR; - break; - case WRC_RT_ICON: - token = tICON; - break; - case WRC_RT_BITMAP: - token = tBITMAP; - break; - case WRC_RT_FONT: - token = tFONT; - break; - case WRC_RT_FONTDIR: - token = tFONTDIR; - break; - case WRC_RT_RCDATA: - token = tRCDATA; - break; - case WRC_RT_MESSAGETABLE: - token = tMESSAGETABLE; - break; - case WRC_RT_DLGINIT: - token = tDLGINIT; - break; - case WRC_RT_ACCELERATOR: - token = tACCELERATORS; - break; - case WRC_RT_MENU: - token = tMENU; - break; - case WRC_RT_DIALOG: - token = tDIALOG; - break; - case WRC_RT_VERSION: - token = tVERSIONINFO; - break; - case WRC_RT_TOOLBAR: - token = tTOOLBAR; - break; - case WRC_RT_HTML: - token = tHTML; - break; - - case WRC_RT_STRING: - break; - - case WRC_RT_ANICURSOR: - case WRC_RT_ANIICON: - case WRC_RT_GROUP_CURSOR: - case WRC_RT_GROUP_ICON: - parser_warning("Usertype uses reserved type ID %d, which is auto-generated\n", yylval.num); - return lookahead; - - case WRC_RT_DLGINCLUDE: - case WRC_RT_PLUGPLAY: - case WRC_RT_VXD: - parser_warning("Usertype uses reserved type ID %d, which is not supported by wrc yet\n", yylval.num); - default: - return lookahead; - } - - return token; -} - diff --git a/reactos/tools/wrc/parser.tab.h b/reactos/tools/wrc/parser.tab.h deleted file mode 100644 index 40536714bea..00000000000 --- a/reactos/tools/wrc/parser.tab.h +++ /dev/null @@ -1,187 +0,0 @@ -/* A Bison parser, made by GNU Bison 2.4.2. */ - -/* Skeleton interface for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989-1990, 2000-2006, 2009-2010 Free Software - Foundation, Inc. - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -/* As a special exception, you may create a larger work that contains - part or all of the Bison parser skeleton and distribute that work - under terms of your choice, so long as that work isn't itself a - parser generator using the skeleton or a modified version thereof - as a parser skeleton. Alternatively, if you modify or redistribute - the parser skeleton itself, you may (at your option) remove this - special exception, which will cause the skeleton and the resulting - Bison output files to be licensed under the GNU General Public - License without this special exception. - - This special exception was added by the Free Software Foundation in - version 2.2 of Bison. */ - - -/* Tokens. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - tNL = 258, - tNUMBER = 259, - tLNUMBER = 260, - tSTRING = 261, - tIDENT = 262, - tFILENAME = 263, - tRAWDATA = 264, - tACCELERATORS = 265, - tBITMAP = 266, - tCURSOR = 267, - tDIALOG = 268, - tDIALOGEX = 269, - tMENU = 270, - tMENUEX = 271, - tMESSAGETABLE = 272, - tRCDATA = 273, - tVERSIONINFO = 274, - tSTRINGTABLE = 275, - tFONT = 276, - tFONTDIR = 277, - tICON = 278, - tHTML = 279, - tAUTO3STATE = 280, - tAUTOCHECKBOX = 281, - tAUTORADIOBUTTON = 282, - tCHECKBOX = 283, - tDEFPUSHBUTTON = 284, - tPUSHBUTTON = 285, - tRADIOBUTTON = 286, - tSTATE3 = 287, - tGROUPBOX = 288, - tCOMBOBOX = 289, - tLISTBOX = 290, - tSCROLLBAR = 291, - tCONTROL = 292, - tEDITTEXT = 293, - tRTEXT = 294, - tCTEXT = 295, - tLTEXT = 296, - tBLOCK = 297, - tVALUE = 298, - tSHIFT = 299, - tALT = 300, - tASCII = 301, - tVIRTKEY = 302, - tGRAYED = 303, - tCHECKED = 304, - tINACTIVE = 305, - tNOINVERT = 306, - tPURE = 307, - tIMPURE = 308, - tDISCARDABLE = 309, - tLOADONCALL = 310, - tPRELOAD = 311, - tFIXED = 312, - tMOVEABLE = 313, - tCLASS = 314, - tCAPTION = 315, - tCHARACTERISTICS = 316, - tEXSTYLE = 317, - tSTYLE = 318, - tVERSION = 319, - tLANGUAGE = 320, - tFILEVERSION = 321, - tPRODUCTVERSION = 322, - tFILEFLAGSMASK = 323, - tFILEOS = 324, - tFILETYPE = 325, - tFILEFLAGS = 326, - tFILESUBTYPE = 327, - tMENUBARBREAK = 328, - tMENUBREAK = 329, - tMENUITEM = 330, - tPOPUP = 331, - tSEPARATOR = 332, - tHELP = 333, - tTOOLBAR = 334, - tBUTTON = 335, - tBEGIN = 336, - tEND = 337, - tDLGINIT = 338, - tNOT = 339, - pUPM = 340 - }; -#endif - - - -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED -typedef union YYSTYPE -{ - -/* Line 1685 of yacc.c */ -#line 228 "parser.y" - - string_t *str; - int num; - int *iptr; - char *cptr; - resource_t *res; - accelerator_t *acc; - bitmap_t *bmp; - dialog_t *dlg; - font_t *fnt; - fontdir_t *fnd; - menu_t *men; - html_t *html; - rcdata_t *rdt; - stringtable_t *stt; - stt_entry_t *stte; - user_t *usr; - messagetable_t *msg; - versioninfo_t *veri; - control_t *ctl; - name_id_t *nid; - font_id_t *fntid; - language_t *lan; - version_t *ver; - characts_t *chars; - event_t *event; - menu_item_t *menitm; - itemex_opt_t *exopt; - raw_data_t *raw; - lvc_t *lvc; - ver_value_t *val; - ver_block_t *blk; - ver_words_t *verw; - toolbar_t *tlbar; - toolbar_item_t *tlbarItems; - dlginit_t *dginit; - style_pair_t *styles; - style_t *style; - ani_any_t *ani; - - - -/* Line 1685 of yacc.c */ -#line 179 "parser.tab.h" -} YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ -# define YYSTYPE_IS_DECLARED 1 -#endif - -extern YYSTYPE parser_lval; - - diff --git a/reactos/tools/wrc/parser.y b/reactos/tools/wrc/parser.y deleted file mode 100644 index e1a3c689be3..00000000000 --- a/reactos/tools/wrc/parser.y +++ /dev/null @@ -1,2961 +0,0 @@ -%{ -/* - * Copyright 1994 Martin von Loewis - * Copyright 1998-2000 Bertho A. Stultiens (BS) - * 1999 Juergen Schmied (JS) - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - * - * History: - * 24-Jul-2000 BS - Made a fix for broken Berkeley yacc on - * non-terminals (see cjunk rule). - * 21-May-2000 BS - Partial implementation of font resources. - * - Corrected language propagation for binary - * resources such as bitmaps, icons, cursors, - * userres and rcdata. The language is now - * correct in .res files. - * - Fixed reading the resource name as ident, - * so that it may overlap keywords. - * 20-May-2000 BS - Implemented animated cursors and icons - * resource types. - * 30-Apr-2000 BS - Reintegration into the wine-tree - * 14-Jan-2000 BS - Redid the usertype resources so that they - * are compatible. - * 02-Jan-2000 BS - Removed the preprocessor from the grammar - * except for the # command (line numbers). - * - * 06-Nov-1999 JS - see CHANGES - * - * 29-Dec-1998 AdH - Grammar and function extensions. - * grammar: TOOLBAR resources, Named ICONs in - * DIALOGS - * functions: semantic actions for the grammar - * changes, resource files can now be anywhere - * on the include path instead of just in the - * current directory - * - * 20-Jun-1998 BS - Fixed a bug in load_file() where the name was not - * printed out correctly. - * - * 17-Jun-1998 BS - Fixed a bug in CLASS statement parsing which should - * also accept a tSTRING as argument. - * - * 25-May-1998 BS - Found out that I need to support language, version - * and characteristics in inline resources (bitmap, - * cursor, etc) but they can also be specified with - * a filename. This renders my filename-scanning scheme - * worthless. Need to build newline parsing to solve - * this one. - * It will come with version 1.1.0 (sigh). - * - * 19-May-1998 BS - Started to build a builtin preprocessor - * - * 30-Apr-1998 BS - Redid the stringtable parsing/handling. My previous - * ideas had some serious flaws. - * - * 27-Apr-1998 BS - Removed a lot of dead comments and put it in a doc - * file. - * - * 21-Apr-1998 BS - Added correct behavior for cursors and icons. - * - This file is growing too big. It is time to strip - * things and put it in a support file. - * - * 19-Apr-1998 BS - Tagged the stringtable resource so that only one - * resource will be created. This because the table - * has a different layout than other resources. The - * table has to be sorted, and divided into smaller - * resource entries (see comment in source). - * - * 17-Apr-1998 BS - Almost all strings, including identifiers, are parsed - * as string_t which include unicode strings upon - * input. - * - Parser now emits a warning when compiling win32 - * extensions in win16 mode. - * - * 16-Apr-1998 BS - Raw data elements are now *optionally* separated - * by commas. Read the comments in file sq2dq.l. - * - FIXME: there are instances in the source that rely - * on the fact that int==32bit and pointers are int size. - * - Fixed the conflict in menuex by changing a rule - * back into right recursion. See note in source. - * - UserType resources cannot have an expression as its - * typeclass. See note in source. - * - * 15-Apr-1998 BS - Changed all right recursion into left recursion to - * get reduction of the parsestack. - * This also helps communication between bison and flex. - * Main advantage is that the Empty rule gets reduced - * first, which is used to allocate/link things. - * It also added a shift/reduce conflict in the menuex - * handling, due to expression/option possibility, - * although not serious. - * - * 14-Apr-1998 BS - Redone almost the entire parser. We're not talking - * about making it more efficient, but readable (for me) - * and slightly easier to expand/change. - * This is done primarily by using more reduce states - * with many (intuitive) types for the various resource - * statements. - * - Added expression handling for all resources where a - * number is accepted (not only for win32). Also added - * multiply and division (not MS compatible, but handy). - * Unary minus introduced a shift/reduce conflict, but - * it is not serious. - * - * 13-Apr-1998 BS - Reordered a lot of things - * - Made the source more readable - * - Added Win32 resource definitions - * - Corrected syntax problems with an old yacc (;) - * - Added extra comment about grammar - */ -#include "config.h" -#include "wine/port.h" - -#include -#include -#include -#include -#include -#include - -#include "wrc.h" -#include "utils.h" -#include "newstruc.h" -#include "dumpres.h" -#include "wine/wpp.h" -#include "wine/unicode.h" -#include "parser.h" -#include "windef.h" -#include "winbase.h" -#include "wingdi.h" -#include "winuser.h" - -#if defined(YYBYACC) - /* Berkeley yacc (byacc) doesn't seem to know about these */ - /* Some *BSD supplied versions do define these though */ -# ifndef YYEMPTY -# define YYEMPTY (-1) /* Empty lookahead value of yychar */ -# endif -# ifndef YYLEX -# define YYLEX yylex() -# endif - -#elif defined(YYBISON) - /* Bison was used for original development */ - /* #define YYEMPTY -2 */ - /* #define YYLEX yylex() */ - -#else - /* No yacc we know yet */ -# if !defined(YYEMPTY) || !defined(YYLEX) -# error Yacc version/type unknown. This version needs to be verified for settings of YYEMPTY and YYLEX. -# elif defined(__GNUC__) /* gcc defines the #warning directive */ -# warning Yacc version/type unknown. It defines YYEMPTY and YYLEX, but is not tested - /* #else we just take a chance that it works... */ -# endif -#endif - -int want_nl = 0; /* Signal flex that we need the next newline */ -int want_id = 0; /* Signal flex that we need the next identifier */ -static stringtable_t *tagstt; /* Stringtable tag. - * It is set while parsing a stringtable to one of - * the stringtables in the sttres list or a new one - * if the language was not parsed before. - */ -static stringtable_t *sttres; /* Stringtable resources. This holds the list of - * stringtables with different lanuages - */ -static int dont_want_id = 0; /* See language parsing for details */ - -/* Set to the current options of the currently scanning stringtable */ -static int *tagstt_memopt; -static characts_t *tagstt_characts; -static version_t *tagstt_version; - -static const char riff[4] = "RIFF"; /* RIFF file magic for animated cursor/icon */ - -/* Prototypes of here defined functions */ -static event_t *get_event_head(event_t *p); -static control_t *get_control_head(control_t *p); -static ver_value_t *get_ver_value_head(ver_value_t *p); -static ver_block_t *get_ver_block_head(ver_block_t *p); -static resource_t *get_resource_head(resource_t *p); -static menu_item_t *get_item_head(menu_item_t *p); -static raw_data_t *merge_raw_data_str(raw_data_t *r1, string_t *str); -static raw_data_t *merge_raw_data_int(raw_data_t *r1, int i); -static raw_data_t *merge_raw_data_long(raw_data_t *r1, int i); -static raw_data_t *merge_raw_data(raw_data_t *r1, raw_data_t *r2); -static raw_data_t *str2raw_data(string_t *str); -static raw_data_t *int2raw_data(int i); -static raw_data_t *long2raw_data(int i); -static raw_data_t *load_file(string_t *name, language_t *lang); -static itemex_opt_t *new_itemex_opt(int id, int type, int state, int helpid); -static event_t *add_string_event(string_t *key, int id, int flags, event_t *prev); -static event_t *add_event(int key, int id, int flags, event_t *prev); -static name_id_t *convert_ctlclass(name_id_t *cls); -static control_t *ins_ctrl(int type, int special_style, control_t *ctrl, control_t *prev); -static dialog_t *dialog_version(version_t *v, dialog_t *dlg); -static dialog_t *dialog_characteristics(characts_t *c, dialog_t *dlg); -static dialog_t *dialog_language(language_t *l, dialog_t *dlg); -static dialog_t *dialog_menu(name_id_t *m, dialog_t *dlg); -static dialog_t *dialog_class(name_id_t *n, dialog_t *dlg); -static dialog_t *dialog_font(font_id_t *f, dialog_t *dlg); -static dialog_t *dialog_caption(string_t *s, dialog_t *dlg); -static dialog_t *dialog_exstyle(style_t * st, dialog_t *dlg); -static dialog_t *dialog_style(style_t * st, dialog_t *dlg); -static resource_t *build_stt_resources(stringtable_t *stthead); -static stringtable_t *find_stringtable(lvc_t *lvc); -static toolbar_item_t *ins_tlbr_button(toolbar_item_t *prev, toolbar_item_t *idrec); -static toolbar_item_t *get_tlbr_buttons_head(toolbar_item_t *p, int *nitems); -static string_t *make_filename(string_t *s); -static resource_t *build_fontdirs(resource_t *tail); -static resource_t *build_fontdir(resource_t **fnt, int nfnt); -static int rsrcid_to_token(int lookahead); - -%} -%union{ - string_t *str; - int num; - int *iptr; - char *cptr; - resource_t *res; - accelerator_t *acc; - bitmap_t *bmp; - dialog_t *dlg; - font_t *fnt; - fontdir_t *fnd; - menu_t *men; - html_t *html; - rcdata_t *rdt; - stringtable_t *stt; - stt_entry_t *stte; - user_t *usr; - messagetable_t *msg; - versioninfo_t *veri; - control_t *ctl; - name_id_t *nid; - font_id_t *fntid; - language_t *lan; - version_t *ver; - characts_t *chars; - event_t *event; - menu_item_t *menitm; - itemex_opt_t *exopt; - raw_data_t *raw; - lvc_t *lvc; - ver_value_t *val; - ver_block_t *blk; - ver_words_t *verw; - toolbar_t *tlbar; - toolbar_item_t *tlbarItems; - dlginit_t *dginit; - style_pair_t *styles; - style_t *style; - ani_any_t *ani; -} - -%token tNL -%token tNUMBER tLNUMBER -%token tSTRING tIDENT tFILENAME -%token tRAWDATA -%token tACCELERATORS tBITMAP tCURSOR tDIALOG tDIALOGEX tMENU tMENUEX tMESSAGETABLE -%token tRCDATA tVERSIONINFO tSTRINGTABLE tFONT tFONTDIR tICON tHTML -%token tAUTO3STATE tAUTOCHECKBOX tAUTORADIOBUTTON tCHECKBOX tDEFPUSHBUTTON -%token tPUSHBUTTON tRADIOBUTTON tSTATE3 /* PUSHBOX */ -%token tGROUPBOX tCOMBOBOX tLISTBOX tSCROLLBAR -%token tCONTROL tEDITTEXT -%token tRTEXT tCTEXT tLTEXT -%token tBLOCK tVALUE -%token tSHIFT tALT tASCII tVIRTKEY tGRAYED tCHECKED tINACTIVE tNOINVERT -%token tPURE tIMPURE tDISCARDABLE tLOADONCALL tPRELOAD tFIXED tMOVEABLE -%token tCLASS tCAPTION tCHARACTERISTICS tEXSTYLE tSTYLE tVERSION tLANGUAGE -%token tFILEVERSION tPRODUCTVERSION tFILEFLAGSMASK tFILEOS tFILETYPE tFILEFLAGS tFILESUBTYPE -%token tMENUBARBREAK tMENUBREAK tMENUITEM tPOPUP tSEPARATOR -%token tHELP -%token tTOOLBAR tBUTTON -%token tBEGIN tEND -%token tDLGINIT -%left '|' -%left '^' -%left '&' -%left '+' '-' -%left '*' '/' -%right '~' tNOT -%left pUPM - -%type resource_file resource resources resource_definition -%type stringtable strings -%type font -%type fontdir -%type accelerators -%type events -%type bitmap -%type cursor icon -%type dialog dlg_attributes dialogex dlgex_attribs -%type ctrls gen_ctrl lab_ctrl ctrl_desc iconinfo -%type helpid -%type exctrls gen_exctrl lab_exctrl exctrl_desc -%type html -%type rcdata -%type raw_data raw_elements opt_data file_raw -%type versioninfo fix_version -%type ver_words -%type ver_blocks ver_block -%type ver_values ver_value -%type menu menuex -%type item_definitions menu_body itemex_definitions menuex_body -%type itemex_p_options itemex_options -%type messagetable -%type userres -%type item_options -%type nameid nameid_s ctlclass usertype -%type acc_opt acc accs -%type loadmemopts lamo lama -%type opt_font opt_exfont opt_expr -%type opt_lvc -%type opt_language -%type opt_characts -%type opt_version -%type expr xpr -%type e_expr -%type toolbar -%type toolbar_items -%type dlginit -%type optional_style_pair -%type any_num -%type