Show More
@@ -782,6 +782,9 b' class buildhgexe(build_ext):' | |||
|
782 | 782 | |
|
783 | 783 | pythonlib = None |
|
784 | 784 | |
|
785 | dir = os.path.dirname(self.get_ext_fullpath('dummy')) | |
|
786 | self.hgtarget = os.path.join(dir, 'hg') | |
|
787 | ||
|
785 | 788 | if getattr(sys, 'dllhandle', None): |
|
786 | 789 | # Different Python installs can have different Python library |
|
787 | 790 | # names. e.g. the official CPython distribution uses pythonXY.dll |
@@ -807,6 +810,19 b' class buildhgexe(build_ext):' | |||
|
807 | 810 | ) |
|
808 | 811 | pythonlib = dllbasename[:-4] |
|
809 | 812 | |
|
813 | # Copy the pythonXY.dll next to the binary so that it runs | |
|
814 | # without tampering with PATH. | |
|
815 | fsdecode = lambda x: x | |
|
816 | if sys.version_info[0] >= 3: | |
|
817 | fsdecode = os.fsdecode | |
|
818 | dest = os.path.join( | |
|
819 | os.path.dirname(self.hgtarget), | |
|
820 | fsdecode(dllbasename), | |
|
821 | ) | |
|
822 | ||
|
823 | if not os.path.exists(dest): | |
|
824 | shutil.copy(buf.value, dest) | |
|
825 | ||
|
810 | 826 | if not pythonlib: |
|
811 | 827 | log.warn( |
|
812 | 828 | 'could not determine Python DLL filename; assuming pythonXY' |
@@ -829,8 +845,6 b' class buildhgexe(build_ext):' | |||
|
829 | 845 | output_dir=self.build_temp, |
|
830 | 846 | macros=macros, |
|
831 | 847 | ) |
|
832 | dir = os.path.dirname(self.get_ext_fullpath('dummy')) | |
|
833 | self.hgtarget = os.path.join(dir, 'hg') | |
|
834 | 848 | self.compiler.link_executable( |
|
835 | 849 | objects, self.hgtarget, libraries=[], output_dir=self.build_temp |
|
836 | 850 | ) |
General Comments 0
You need to be logged in to leave comments.
Login now