Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
84968b74
Kaydet (Commit)
84968b74
authored
Eki 29, 2016
tarafından
Xavier de Gaye
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Issue #28444: Fix missing extensions modules when cross compiling.
üst
43ab355e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
23 deletions
+28
-23
Makefile.pre.in
Makefile.pre.in
+1
-0
NEWS
Misc/NEWS
+2
-0
makesetup
Modules/makesetup
+4
-1
setup.py
setup.py
+21
-22
No files found.
Makefile.pre.in
Dosyayı görüntüle @
84968b74
...
...
@@ -20,6 +20,7 @@
# === Variables set by makesetup ===
MODNAMES
=
_MODNAMES_
MODOBJS
=
_MODOBJS_
MODLIBS
=
_MODLIBS_
...
...
Misc/NEWS
Dosyayı görüntüle @
84968b74
...
...
@@ -502,6 +502,8 @@ Windows
Build
-----
-
Issue
#
28444
:
Fix
missing
extensions
modules
when
cross
compiling
.
-
Issue
#
28248
:
Update
Windows
build
to
use
OpenSSL
1.0.2
j
.
-
Issue
#
28258
:
Fixed
build
with
Estonian
locale
(
python
-
config
and
distclean
...
...
Modules/makesetup
Dosyayı görüntüle @
84968b74
...
...
@@ -29,6 +29,7 @@
#
# Copying Makefile.pre to Makefile:
# - insert an identifying comment at the start
# - replace _MODNAMES_ by the list of modules from Setup
# - replace _MODOBJS_ by the list of objects from Setup (except for
# Setup files after a -n option)
# - replace _MODLIBS_ by the list of libraries from Setup
...
...
@@ -110,6 +111,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
# Rules appended by makedepend
"
>
$rulesf
DEFS
=
NAMES
=
MODS
=
SHAREDMODS
=
OBJS
=
...
...
@@ -181,7 +183,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
*
.
*
)
echo
1>&2
"bad word
$arg
in
$line
"
exit
1
;;
-u
)
skip
=
libs
;
libs
=
"
$libs
-u"
;;
[
a-zA-Z_]
*
)
mods
=
"
$mods
$arg
"
;;
[
a-zA-Z_]
*
)
NAMES
=
"
$NAMES
$arg
"
;
mods
=
"
$mods
$arg
"
;;
*
)
echo
1>&2
"bad word
$arg
in
$line
"
exit
1
;;
esac
...
...
@@ -280,6 +282,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
echo
"1i
\\
"
>
$sedf
str
=
"# Generated automatically from
$makepre
by makesetup."
echo
"
$str
"
>>
$sedf
echo
"s%_MODNAMES_%
$NAMES
%"
>>
$sedf
echo
"s%_MODOBJS_%
$OBJS
%"
>>
$sedf
echo
"s%_MODLIBS_%
$LIBS
%"
>>
$sedf
echo
"/Definitions added by makesetup/a
$NL$NL$DEFS
"
>>
$sedf
...
...
setup.py
Dosyayı görüntüle @
84968b74
...
...
@@ -8,7 +8,6 @@ import importlib.util
import
sysconfig
from
distutils
import
log
from
distutils
import
text_file
from
distutils.errors
import
*
from
distutils.core
import
Extension
,
setup
from
distutils.command.build_ext
import
build_ext
...
...
@@ -230,7 +229,12 @@ class PyBuildExt(build_ext):
headers
=
[
sysconfig
.
get_config_h_filename
()]
headers
+=
glob
(
os
.
path
.
join
(
sysconfig
.
get_path
(
'include'
),
"*.h"
))
for
ext
in
self
.
extensions
[:]:
# The sysconfig variable built by makesetup, listing the already
# built modules as configured by the Setup files.
modnames
=
sysconfig
.
get_config_var
(
'MODNAMES'
)
.
split
()
removed_modules
=
[]
for
ext
in
self
.
extensions
:
ext
.
sources
=
[
find_module_file
(
filename
,
moddirlist
)
for
filename
in
ext
.
sources
]
if
ext
.
depends
is
not
None
:
...
...
@@ -241,26 +245,14 @@ class PyBuildExt(build_ext):
# re-compile extensions if a header file has been changed
ext
.
depends
.
extend
(
headers
)
# If a module has already been built statically,
# don't build it here
if
ext
.
name
in
sys
.
builtin_module_names
:
self
.
extensions
.
remove
(
ext
)
# Parse Modules/Setup and Modules/Setup.local to figure out which
# modules are turned on in the file.
remove_modules
=
[]
for
filename
in
(
'Modules/Setup'
,
'Modules/Setup.local'
):
input
=
text_file
.
TextFile
(
filename
,
join_lines
=
1
)
while
1
:
line
=
input
.
readline
()
if
not
line
:
break
line
=
line
.
split
()
remove_modules
.
append
(
line
[
0
])
input
.
close
()
for
ext
in
self
.
extensions
[:]:
if
ext
.
name
in
remove_modules
:
self
.
extensions
.
remove
(
ext
)
# If a module has already been built by the Makefile,
# don't build it here.
if
ext
.
name
in
modnames
:
removed_modules
.
append
(
ext
)
if
removed_modules
:
self
.
extensions
=
[
x
for
x
in
self
.
extensions
if
x
not
in
removed_modules
]
# When you run "make CC=altcc" or something similar, you really want
# those environment variables passed into the setup.py phase. Here's
...
...
@@ -303,6 +295,13 @@ class PyBuildExt(build_ext):
" detect_modules() for the module's name."
)
print
()
if
removed_modules
:
print
(
"The following modules found by detect_modules() in"
" setup.py, have been"
)
print
(
"built by the Makefile instead, as configured by the"
" Setup files:"
)
print_three_column
([
ext
.
name
for
ext
in
removed_modules
])
if
self
.
failed
:
failed
=
self
.
failed
[:]
print
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment