Show More
@@ -667,16 +667,51 b' class buildhgextindex(Command):' | |||||
667 | class buildhgexe(build_ext): |
|
667 | class buildhgexe(build_ext): | |
668 | description = 'compile hg.exe from mercurial/exewrapper.c' |
|
668 | description = 'compile hg.exe from mercurial/exewrapper.c' | |
669 |
|
669 | |||
670 | LONG_PATHS_MANIFEST = """ |
|
670 | LONG_PATHS_MANIFEST = """\ | |
671 |
|
|
671 | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> | |
672 |
|
|
672 | <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> | |
673 | <application> |
|
673 | <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> | |
674 | <windowsSettings |
|
674 | <security> | |
675 | xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings"> |
|
675 | <requestedPrivileges> | |
676 | <ws2:longPathAware>true</ws2:longPathAware> |
|
676 | <requestedExecutionLevel | |
677 | </windowsSettings> |
|
677 | level="asInvoker" | |
678 | </application> |
|
678 | uiAccess="false" | |
679 | </assembly>""" |
|
679 | /> | |
|
680 | </requestedPrivileges> | |||
|
681 | </security> | |||
|
682 | </trustInfo> | |||
|
683 | <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> | |||
|
684 | <application> | |||
|
685 | <!-- Windows Vista --> | |||
|
686 | <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> | |||
|
687 | <!-- Windows 7 --> | |||
|
688 | <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> | |||
|
689 | <!-- Windows 8 --> | |||
|
690 | <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/> | |||
|
691 | <!-- Windows 8.1 --> | |||
|
692 | <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> | |||
|
693 | <!-- Windows 10 and Windows 11 --> | |||
|
694 | <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/> | |||
|
695 | </application> | |||
|
696 | </compatibility> | |||
|
697 | <application xmlns="urn:schemas-microsoft-com:asm.v3"> | |||
|
698 | <windowsSettings | |||
|
699 | xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings"> | |||
|
700 | <ws2:longPathAware>true</ws2:longPathAware> | |||
|
701 | </windowsSettings> | |||
|
702 | </application> | |||
|
703 | <dependency> | |||
|
704 | <dependentAssembly> | |||
|
705 | <assemblyIdentity type="win32" | |||
|
706 | name="Microsoft.Windows.Common-Controls" | |||
|
707 | version="6.0.0.0" | |||
|
708 | processorArchitecture="*" | |||
|
709 | publicKeyToken="6595b64144ccf1df" | |||
|
710 | language="*" /> | |||
|
711 | </dependentAssembly> | |||
|
712 | </dependency> | |||
|
713 | </assembly> | |||
|
714 | """ | |||
680 |
|
715 | |||
681 | def initialize_options(self): |
|
716 | def initialize_options(self): | |
682 | build_ext.initialize_options(self) |
|
717 | build_ext.initialize_options(self) | |
@@ -776,21 +811,18 b' class buildhgexe(build_ext):' | |||||
776 | exefname = self.compiler.executable_filename(self.hgtarget) |
|
811 | exefname = self.compiler.executable_filename(self.hgtarget) | |
777 | fdauto, manfname = tempfile.mkstemp(suffix='.hg.exe.manifest') |
|
812 | fdauto, manfname = tempfile.mkstemp(suffix='.hg.exe.manifest') | |
778 | os.close(fdauto) |
|
813 | os.close(fdauto) | |
779 | with open(manfname, 'w') as f: |
|
814 | with open(manfname, 'w', encoding="UTF-8") as f: | |
780 | f.write(self.LONG_PATHS_MANIFEST) |
|
815 | f.write(self.LONG_PATHS_MANIFEST) | |
781 | log.info("long paths manifest is written to '%s'" % manfname) |
|
816 | log.info("long paths manifest is written to '%s'" % manfname) | |
782 | inputresource = '-inputresource:%s;#1' % exefname |
|
|||
783 | outputresource = '-outputresource:%s;#1' % exefname |
|
817 | outputresource = '-outputresource:%s;#1' % exefname | |
784 | log.info("running mt.exe to update hg.exe's manifest in-place") |
|
818 | log.info("running mt.exe to update hg.exe's manifest in-place") | |
785 | # supplying both -manifest and -inputresource to mt.exe makes |
|
819 | ||
786 | # it merge the embedded and supplied manifests in the -outputresource |
|
|||
787 | self.spawn( |
|
820 | self.spawn( | |
788 | [ |
|
821 | [ | |
789 | self.compiler.mt, |
|
822 | self.compiler.mt, | |
790 | '-nologo', |
|
823 | '-nologo', | |
791 | '-manifest', |
|
824 | '-manifest', | |
792 | manfname, |
|
825 | manfname, | |
793 | inputresource, |
|
|||
794 | outputresource, |
|
826 | outputresource, | |
795 | ] |
|
827 | ] | |
796 | ) |
|
828 | ) |
General Comments 0
You need to be logged in to leave comments.
Login now