diff options
author | yury <yury@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-07-28 11:58:58 +0000 |
---|---|---|
committer | yury <yury@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2008-07-28 11:58:58 +0000 |
commit | 08f6c580eb7b28509bce27db65cc7c6d0af2ea51 (patch) | |
tree | 66837651b5f0122c473d766c03a05e9b7e0e148f | |
parent | aeef74f492ef606e9eed9791eba01cef812b6002 (diff) | |
download | fpc-rc_2_2_2.tar.gz |
Merged revisions 10499,11433,11434 via svnmerge from rc_2_2_2
http://svn.freepascal.org/svn/fpc/trunk
........
r10499 | florian | 2008-03-17 23:06:35 +0200 (Пн, 17 мар 2008) | 2 lines
+ internal linker takes care of setpeflags
........
r11433 | yury | 2008-07-22 14:53:55 +0300 (Вт, 22 июл 2008) | 2 lines
* Set PE_FILE_LARGE_ADDRESS_AWARE flag for win64 executables to allow access more than 2GB of memory.
* Fixed $setpeflags directive. Flags should be set in main PE header. LoaderFlags in optional header are obsolete.
........
r11434 | marco | 2008-07-22 16:55:58 +0300 (Вт, 22 июл 2008) | 2 lines
* 160 clsids, with a fix for Felipe's IShelllink problem.
........
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/rc_2_2_2@11470 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | compiler/ogcoff.pas | 7 | ||||
-rw-r--r-- | compiler/scandir.pas | 2 | ||||
-rw-r--r-- | packages/winunits-base/src/shlobj.pp | 161 |
3 files changed, 166 insertions, 4 deletions
diff --git a/compiler/ogcoff.pas b/compiler/ogcoff.pas index 2611f784f1..f80aabbc80 100644 --- a/compiler/ogcoff.pas +++ b/compiler/ogcoff.pas @@ -2167,7 +2167,9 @@ const pemagic : array[0..3] of byte = ( if win32 then begin header.flag:=PE_FILE_EXECUTABLE_IMAGE or PE_FILE_LINE_NUMS_STRIPPED; - if target_info.system in [system_i386_win32,system_arm_wince,system_i386_wince] then + if target_info.system in [system_x86_64_win64] then + header.flag:=header.flag or PE_FILE_LARGE_ADDRESS_AWARE + else header.flag:=header.flag or PE_FILE_32BIT_MACHINE; if IsSharedLibrary then header.flag:=header.flag or PE_FILE_DLL; @@ -2179,6 +2181,8 @@ const pemagic : array[0..3] of byte = ( header.flag:=header.flag or PE_FILE_DEBUG_STRIPPED; if not hassymbols then header.flag:=header.flag or PE_FILE_LOCAL_SYMS_STRIPPED; + if SetPEFlagsSetExplicity then + header.flag:=header.flag or peflags; end else header.flag:=COFF_FLAG_AR32WR or COFF_FLAG_EXE or COFF_FLAG_NORELOCS or COFF_FLAG_NOLINES; @@ -2227,7 +2231,6 @@ const pemagic : array[0..3] of byte = ( peoptheader.SizeOfStackCommit:=$1000; peoptheader.SizeOfHeapReserve:=$100000; peoptheader.SizeOfHeapCommit:=$1000; - peoptheader.LoaderFlags:=0; peoptheader.NumberOfRvaAndSizes:=PE_DATADIR_ENTRIES; UpdateDataDir('.idata',PE_DATADIR_IDATA); UpdateDataDir('.edata',PE_DATADIR_EDATA); diff --git a/compiler/scandir.pas b/compiler/scandir.pas index 22cb7f4cbf..21dab74eb5 100644 --- a/compiler/scandir.pas +++ b/compiler/scandir.pas @@ -1022,7 +1022,7 @@ implementation procedure dir_setpeflags; begin - if not (target_info.system in (system_windows+system_wince)) then + if not (target_info.system in (system_all_windows)) then Message(scan_w_setpeflags_not_support); current_scanner.skipspace; peflags:=current_scanner.readval; diff --git a/packages/winunits-base/src/shlobj.pp b/packages/winunits-base/src/shlobj.pp index 9dfe2484a9..158ab7e069 100644 --- a/packages/winunits-base/src/shlobj.pp +++ b/packages/winunits-base/src/shlobj.pp @@ -37,7 +37,166 @@ Const IID_IEXtractIconW : TGUID ='{000214fa-0000-0000-c000-000000000046}'; IID_IEXtractIconA : TGUID ='{000214eb-0000-0000-c000-000000000046}'; IID_IShellLinkA : TGUID ='{000214EE-0000-0000-C000-000000000046}'; - CLSID_ShellLink : TGUID ='{000214EE-0000-0000-C000-000000000046}'; + CLSID_StdMarshal : TGUID = '{00000017-0000-0000-c000-000000000046}'; + CLSID_IdentityUnmarshal : TGUID = '{0000001b-0000-0000-c000-000000000046}'; + CLSID_InProcFreeMarshaler : TGUID = '{0000001c-0000-0000-c000-000000000046}'; + CLSID_PSGenObject : TGUID = '{0000030c-0000-0000-c000-000000000046}'; + CLSID_PSClientSite : TGUID = '{0000030d-0000-0000-c000-000000000046}'; + CLSID_PSClassObject : TGUID = '{0000030e-0000-0000-c000-000000000046}'; + CLSID_PSInPlaceActive : TGUID = '{0000030f-0000-0000-c000-000000000046}'; + CLSID_PSInPlaceFrame : TGUID = '{00000310-0000-0000-c000-000000000046}'; + CLSID_PSDragDrop : TGUID = '{00000311-0000-0000-c000-000000000046}'; + CLSID_PSBindCtx : TGUID = '{00000312-0000-0000-c000-000000000046}'; + CLSID_PSEnumerators : TGUID = '{00000313-0000-0000-c000-000000000046}'; + CLSID_Picture_Metafile : TGUID = '{00000315-0000-0000-c000-000000000046}'; + CLSID_StaticMetafile : TGUID = '{00000315-0000-0000-c000-000000000046}'; + CLSID_Picture_Dib : TGUID = '{00000316-0000-0000-c000-000000000046}'; + CLSID_StaticDib : TGUID = '{00000316-0000-0000-c000-000000000046}'; + CLSID_Picture_EnhMetafile : TGUID = '{00000319-0000-0000-c000-000000000046}'; + CLSID_DCOMAccessControl : TGUID = '{0000031d-0000-0000-c000-000000000046}'; + CLSID_ShellDesktop : TGUID = '{00021400-0000-0000-c000-000000000046}'; + CLSID_ShellLink : TGUID = '{00021401-0000-0000-c000-000000000046}'; + CLSID_InternetExplorer : TGUID = '{0002DF01-0000-0000-C000-000000000046}'; + CLSID_StdComponentCategoriesMgr : TGUID = '{0002e005-0000-0000-c000-000000000046}'; + CLSID_WebCrawlerAgent : TGUID = '{08165ea0-e946-11cf-9c87-00aa005127ed}'; + CLSID_ShellDispatchInproc : TGUID = '{0A89A860-D7B1-11CE-8350-444553540000}'; + CLSID_OldHTMLFormElement : TGUID = '{0D04D285-6BEC-11CF-8B97-00AA00476DA6}'; + CLSID_CFontPropPage : TGUID = '{0be35200-8f91-11ce-9de3-00aa004bb851}'; + CLSID_CColorPropPage : TGUID = '{0be35201-8f91-11ce-9de3-00aa004bb851}'; + CLSID_CPicturePropPage : TGUID = '{0be35202-8f91-11ce-9de3-00aa004bb851}'; + CLSID_StdFont : TGUID = '{0be35203-8f91-11ce-9de3-00aa004bb851}'; + CLSID_StdPicture : TGUID = '{0be35204-8f91-11ce-9de3-00aa004bb851}'; + CLSID_ShellLinkObject : TGUID = '{11219420-1768-11D1-95BE-00609797EA4F}'; + CLSID_HTMLLocation : TGUID = '{163BB1E1-6E00-11CF-837A-48DC04C10000}'; + CLSID_WebViewFolderContents : TGUID = '{1820FED0-473E-11D0-A96C-00C04FD705A2}'; + CLSID_HTMLDocument : TGUID = '{25336920-03F9-11CF-8FD0-00AA00686F13}'; + CLSID_HTMLPluginDocument : TGUID = '{25336921-03f9-11cf-8fd0-00aa00686f13}'; + CLSID_CMultiLanguage : TGUID = '{275C23E2-3747-11D0-9FEA-00AA003F8646}'; + CLSID_HTMLImg : TGUID = '{3050F241-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLSelectElement : TGUID = '{3050F245-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTableCell : TGUID = '{3050F246-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLAnchorElement : TGUID = '{3050F248-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLDivPosition : TGUID = '{3050F249-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLBody : TGUID = '{3050F24A-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLOptionElement : TGUID = '{3050F24D-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLObjectElement : TGUID = '{3050F24E-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLFormElement : TGUID = '{3050F251-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLHRElement : TGUID = '{3050F252-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLEmbed : TGUID = '{3050F25D-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLUnknownElement : TGUID = '{3050F268-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLUListElement : TGUID = '{3050F269-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTextElement : TGUID = '{3050F26A-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTable : TGUID = '{3050F26B-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTableCol : TGUID = '{3050F26C-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTableRow : TGUID = '{3050F26D-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLPhraseElement : TGUID = '{3050F26E-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLParaElement : TGUID = '{3050F26F-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLOListElement : TGUID = '{3050F270-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLMapElement : TGUID = '{3050F271-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLListElement : TGUID = '{3050F272-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLLIElement : TGUID = '{3050F273-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLMetaElement : TGUID = '{3050F275-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLBaseElement : TGUID = '{3050F276-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLLinkElement : TGUID = '{3050F277-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLIsIndexElement : TGUID = '{3050F278-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLNextIdElement : TGUID = '{3050F279-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLHeaderElement : TGUID = '{3050F27A-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLFontElement : TGUID = '{3050F27B-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLDTElement : TGUID = '{3050F27C-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLDListElement : TGUID = '{3050F27D-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLDivElement : TGUID = '{3050F27E-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLDDElement : TGUID = '{3050F27F-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLBRElement : TGUID = '{3050F280-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLBlockElement : TGUID = '{3050F281-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLBaseFontElement : TGUID = '{3050F282-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLAreaElement : TGUID = '{3050F283-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTitleElement : TGUID = '{3050F284-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLStyle : TGUID = '{3050F285-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLDialog : TGUID = '{3050F28A-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLScriptElement : TGUID = '{3050F28C-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLInputTextElement : TGUID = '{3050F2AB-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTextAreaElement : TGUID = '{3050F2AC-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLInputFileElement : TGUID = '{3050F2AE-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLInputButtonElement : TGUID = '{3050F2B4-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLMarqueeElement : TGUID = '{3050F2B9-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLOptionButtonElement : TGUID = '{3050F2BE-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLInputImage : TGUID = '{3050F2C4-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLButtonElement : TGUID = '{3050F2C6-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLStyleSheet : TGUID = '{3050F2E4-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTableSection : TGUID = '{3050F2E9-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLTableCaption : TGUID = '{3050F2EC-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLFrameBase : TGUID = '{3050F312-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLFrameElement : TGUID = '{3050F314-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLIFrame : TGUID = '{3050F316-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLCommentElement : TGUID = '{3050F317-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLFrameSetSite : TGUID = '{3050F31A-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLLabelElement : TGUID = '{3050F32B-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLScreen : TGUID = '{3050F35D-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLBGsound : TGUID = '{3050F370-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLStyleElement : TGUID = '{3050F37D-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLStyleSheetsCollection : TGUID = '{3050F37F-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLNoShowElement : TGUID = '{3050F38B-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLOptionElementFactory : TGUID = '{3050F38D-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLImageElementFactory : TGUID = '{3050F38F-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLWindowProxy : TGUID = '{3050F391-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLStyleSheetRulesCollection : TGUID = '{3050F3CD-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLStyleSheetRule : TGUID = '{3050F3CE-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLRuleStyle : TGUID = '{3050F3D0-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLStyleFontFace : TGUID = '{3050F3D4-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLSpanFlow : TGUID = '{3050F3E6-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLFieldSetElement : TGUID = '{3050F3E8-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLLegendElement : TGUID = '{3050F3E9-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLFiltersCollection : TGUID = '{3050F3EF-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_HTMLSpanElement : TGUID = '{3050F3F5-98B4-11CF-BB82-00AA00BDCE0B}'; + CLSID_CMimeTypes : TGUID = '{3050F3FE-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_CPlugins : TGUID = '{3050F3FF-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_COpsProfile : TGUID = '{3050F402-98B5-11CF-BB82-00AA00BDCE0B}'; + CLSID_MHTMLDocument : TGUID = '{3050f3d9-98b5-11cf-bb82-00aa00bdce0b}'; + CLSID_ClassInstallFilter : TGUID = '{32b533bb-edae-11d0-bd5a-00aa00b92af1}'; + CLSID_CUrlHistory : TGUID = '{3c374a40-bae4-11cf-bf7d-00aa006946ee}'; + CLSID_CdlProtocol : TGUID = '{3dd53d40-7b8b-11d0-b013-00aa0059ce02}'; + CLSID_StdEncodingFilterFac : TGUID = '{54c37cd0-d944-11d0-a9f4-006097942311}'; + CLSID_TaskbarList : TGUID = '{56fdf344-fd6d-11d0-958a-006097c9a090}'; + CLSID_ShellFolderView : TGUID = '{62112AA1-EBE4-11CF-A5FB-0020AFE7292D}'; + CLSID_CFSIconOverlayManager : TGUID = '{63b51f81-c868-11d0-999c-00c04fd655e1}'; + CLSID_ShellUIHelper : TGUID = '{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1}'; + CLSID_ActiveDesktop : TGUID = '{75048700-ef1f-11d0-9888-006097deacf9}'; + CLSID_StdHlink : TGUID = '{79eac9d0-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_StdHlinkBrowseContext : TGUID = '{79eac9d1-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_StdURLMoniker : TGUID = '{79eac9e0-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_StdURLProtocol : TGUID = '{79eac9e1-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_HttpProtocol : TGUID = '{79eac9e2-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_FtpProtocol : TGUID = '{79eac9e3-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_GopherProtocol : TGUID = '{79eac9e4-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_HttpSProtocol : TGUID = '{79eac9e5-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_MkProtocol : TGUID = '{79eac9e6-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_FileProtocol : TGUID = '{79eac9e7-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_UrlMkBindCtx : TGUID = '{79eac9f2-baf9-11ce-8c82-00aa004ba90b}'; + CLSID_InternetSecurityManager : TGUID = '{7b8a2d94-0ac9-11d1-896c-00c04fb6bfc4}'; + CLSID_InternetZoneManager : TGUID = '{7b8a2d95-0ac9-11d1-896c-00c04fb6bfc4}'; + CLSID_CDLAgent : TGUID = '{7d559c10-9fe9-11d0-93f7-00aa0059ce02}'; + CLSID_OverlayIdentifier_SlowFile : TGUID = '{7d688a77-c613-11d0-999b-00c04fd655e1}'; + CLSID_StockFontPage : TGUID = '{7ebdaae0-8120-11cf-899f-00aa00688b10}'; + CLSID_StockColorPage : TGUID = '{7ebdaae1-8120-11cf-899f-00aa00688b10}'; + CLSID_StockPicturePage : TGUID = '{7ebdaae2-8120-11cf-899f-00aa00688b10}'; + CLSID_WebBrowser : TGUID = '{8856F961-340A-11D0-A96B-00C04FD705A2}'; + CLSID_DeCompMimeFilter : TGUID = '{8f6b0360-b80d-11d0-a9b3-006097942311}'; + CLSID_ShellFolderViewOC : TGUID = '{9BA05971-F6A8-11CF-A442-00A0C90A8F39}'; + CLSID_ShellWindows : TGUID = '{9BA05972-F6A8-11CF-A442-00A0C90A8F39}'; + CLSID_SubscriptionMgr : TGUID = '{ABBE31D0-6DAE-11D0-BECA-00C04FD940BE}'; + CLSID_ChannelMgr : TGUID = '{B3CDAE90-D170-11D0-802B-00C04FD75D13}'; + CLSID_CMLangString : TGUID = '{C04D65CF-B70D-11D0-B188-00AA0038C969}'; + CLSID_HTMLWindow2 : TGUID = '{D48A6EC6-6A4A-11CF-94A7-444553540000}'; + CLSID_OldHTMLDocument : TGUID = '{D48A6EC9-6A4A-11CF-94A7-444553540000}'; + CLSID_CMLangConvertCharset : TGUID = '{D66D6F99-CDAA-11D0-B822-00C04FC9B31F}'; + CLSID_WebBrowser_V1 : TGUID = '{EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B}'; + CLSID_HTMLHistory : TGUID = '{FECEAAA3-8405-11CF-8BA1-00AA00476DA6}'; + CLSID_HTMLNavigator : TGUID = '{FECEAAA6-8405-11CF-8BA1-00AA00476DA6}'; + CLSID_SoftDistExt : TGUID = '{b15b8dc0-c7e1-11d0-8680-00aa00bdcb71}'; + CLSID_CURLSearchHook : TGUID = '{cfbfae00-17a6-11d0-99cb-00c04fd64497}'; + CLSID_PersistPropset : TGUID = '{fb8f0821-0164-101b-84ed-08002b2ec713}'; + CLSID_ConvertVBX : TGUID = '{fb8f0822-0164-101b-84ed-08002b2ec713}'; + CLSID_InternetShortcut : TGUID = '{fbf23b40-e3f0-101b-8488-00aa003e56f8}'; Const SV2GV_CURRENTVIEW = DWORD(-1); |