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
7cc5abd4
Kaydet (Commit)
7cc5abd4
authored
Eyl 12, 1994
tarafından
Guido van Rossum
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Support shared library creation.
üst
9adae8e1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
128 additions
and
62 deletions
+128
-62
Makefile.pre.in
Modules/Makefile.pre.in
+18
-7
Setup.in
Modules/Setup.in
+26
-6
makesetup
Modules/makesetup
+84
-49
No files found.
Modules/Makefile.pre.in
Dosyayı görüntüle @
7cc5abd4
...
@@ -27,9 +27,19 @@ LIBS= @LIBS@
...
@@ -27,9 +27,19 @@ LIBS= @LIBS@
LIBM
=
@LIBM@
LIBM
=
@LIBM@
LIBC
=
@LIBC@
LIBC
=
@LIBC@
# Machine-dependent subdirectories
MACHDEP
=
@MACHDEP@
# Install prefix, may be changed by configure
# Install prefix, may be changed by configure
prefix
=
/usr/local
prefix
=
/usr/local
# Symbols used for using shared libraries
SO
=
@SO@
LDSHARED
=
@LDSHARED@
CCSHARED
=
@CCSHARED@
LINKFORSHARED
=
@LINKFORSHARED@
DESTSHARED
=
$(prefix)
/lib/python/
$(MACHDEP)
# === Variables that are customizable by hand ===
# === Variables that are customizable by hand ===
...
@@ -60,13 +70,13 @@ SYSLIBS= $(LIBM) $(LIBC)
...
@@ -60,13 +70,13 @@ SYSLIBS= $(LIBM) $(LIBC)
all
:
$(LIB) ../python
all
:
$(LIB) ../python
$(LIB)
:
$(OBJS)
$(LIB)
:
$(OBJS)
Makefile
-
rm
-f
$(LIB)
-
rm
-f
$(LIB)
$(AR)
cr
$(LIB)
$(OBJS)
$(AR)
cr
$(LIB)
$(OBJS)
$(RANLIB)
$(LIB)
$(RANLIB)
$(LIB)
../python
:
config.o $(MYLIBS)
../python
:
config.o $(MYLIBS)
Makefile
$(CC)
$(OPT)
config.o
\
$(CC)
$(OPT)
config.o
$(LINKFORSHARED)
\
$(MYLIBS)
$(MODLIBS)
$(LIBS)
$(SYSLIBS)
-o
python
$(MYLIBS)
$(MODLIBS)
$(LIBS)
$(SYSLIBS)
-o
python
mv
python ../python
mv
python ../python
...
@@ -136,8 +146,9 @@ timingmodule.o: timingmodule.c
...
@@ -136,8 +146,9 @@ timingmodule.o: timingmodule.c
xxmodule.o
:
xxmodule.c
xxmodule.o
:
xxmodule.c
yuvconvert.o
:
yuvconvert.c
yuvconvert.o
:
yuvconvert.c
# === Rules added by makesetup ===
# Rules to build and install all shared modules
sharedmods
:
$(SHAREDMODS)
sharedinstall
:
$(SHAREDMODS)
mv
$(SHAREDMODS)
$(DESTSHARED)
# DO NOT DELETE THIS LINE -- mkdep uses it.
# Stuff is appended here by makesetup and make depend
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
Modules/Setup.in
Dosyayı görüntüle @
7cc5abd4
...
@@ -28,6 +28,16 @@
...
@@ -28,6 +28,16 @@
# <name> = <value>
# <name> = <value>
#
#
# which defines a Make variable definition inserted into Makefile.in
# which defines a Make variable definition inserted into Makefile.in
#
# Finally, if a line has the literal form
#
# *noconfig*
#
# (that is including the '*' and '*' !) then the following modules will
# not be included in the config.c file, nor in the list of objects to be
# added to the library archive, and their linker options won't be added
# to the linker options, but rules to create their .o files and their
# shared libraries will still be added to the Makefile
# NOTE: As a standard policy, as many modules as can be supported by a
# NOTE: As a standard policy, as many modules as can be supported by a
# platform should be present. The distribution comes with all modules
# platform should be present. The distribution comes with all modules
...
@@ -47,13 +57,10 @@ DESTLIB=$(prefix)/lib/python
...
@@ -47,13 +57,10 @@ DESTLIB=$(prefix)/lib/python
# Standard enabled (tests are always available)
# Standard enabled (tests are always available)
TESTPATH=:$(DESTLIB)/test
TESTPATH=:$(DESTLIB)/test
#
Enable this for SGI systems
#
Path for machine- or system-dependent modules (and shared libraries)
#ARCHPATH=:$(DESTLIB)/sgi
MACHDEPPATH=:$(DESTLIB)/$(MACHDEP)
# Enable this for Sun systems
PYTHONPATH=.:$(DESTLIB)$(TESTPATH)$(MACHDEPPATH)$(STDWINPATH)$(TKPATH)
#ARCHPATH=:$(DESTLIB)/sun4
PYTHONPATH=.:$(DESTLIB)$(TESTPATH)$(ARCHPATH)$(STDWINPATH)$(TKPATH)
# Modules that should always be present (non UNIX dependent)
# Modules that should always be present (non UNIX dependent)
...
@@ -86,6 +93,7 @@ signal signalmodule.c # signal(2)
...
@@ -86,6 +93,7 @@ signal signalmodule.c # signal(2)
#dbm dbmmodule.c # dbm(3) may require -lndbm or similar
#dbm dbmmodule.c # dbm(3) may require -lndbm or similar
#nis nismodule.c # Sun yellow pages -- not everywhere
#nis nismodule.c # Sun yellow pages -- not everywhere
#termios termios.c # Steen Lumholt's termios module
# Multimedia modules -- on by default.
# Multimedia modules -- on by default.
...
@@ -109,6 +117,18 @@ rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably)
...
@@ -109,6 +117,18 @@ rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably)
#stdwin stdwinmodule.c -I$(STDWIN)/H $(STDWIN)/Build/$(ARCH)/x11/lib/lib.a -lX11
#stdwin stdwinmodule.c -I$(STDWIN)/H $(STDWIN)/Build/$(ARCH)/x11/lib/lib.a -lX11
#STDWINPATH=:$(DESTLIB)/stdwin
#STDWINPATH=:$(DESTLIB)/stdwin
# For STDWIN 1.0 it's a bit different:
#STDWIN=/ufs/guido/src/stdwin
#LIBTEXTEDIT=$(STDWIN)/$(MACHDEP)/Packs/textedit/libtextedit.a
#LIBX11STDWIN=$(STDWIN)/$(MACHDEP)/Ports/x11/libstdwin.a
#LIBALFASTDWIN=$(STDWIN)/$(MACHDEP)/Ports/alfa/libstdwin.a
#stdwin stdwinmodule.c -I$(STDWIN)/H $(LIBTEXTEDIT) $(LIBX11STDWIN) -lX11
# Or use the following for the alphanumeric version:
#stdwin stdwinmodule.c -I$(STDWIN)/H $(LIBTEXTEDIT) $(LIBALFASTDWIN) -ltermcap
# The md5 module implements the RSA Data Security, Inc. MD5
# The md5 module implements the RSA Data Security, Inc. MD5
# Message-Digest Algorithm, described in RFC 1321. The necessary files
# Message-Digest Algorithm, described in RFC 1321. The necessary files
...
...
Modules/makesetup
Dosyayı görüntüle @
7cc5abd4
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
#
#
# Copying config.c.in to config.c:
# Copying config.c.in to config.c:
# - insert an identifying comment at the start
# - insert an identifying comment at the start
# - for each <module> mentioned in Setup:
# - for each <module> mentioned in Setup
before *noconfig*
:
# + insert 'extern void init<module>();' before MARKER 1
# + insert 'extern void init<module>();' before MARKER 1
# + insert '{"<module>", initmodule},' before MARKER 2
# + insert '{"<module>", initmodule},' before MARKER 2
#
#
...
@@ -31,9 +31,10 @@
...
@@ -31,9 +31,10 @@
# - replace @MODOBJS@ by the list of objects from Setup (except for
# - replace @MODOBJS@ by the list of objects from Setup (except for
# Setup files after a -n option)
# Setup files after a -n option)
# - replace @MODLIBS@ by the list of libraries from Setup
# - replace @MODLIBS@ by the list of libraries from Setup
# - for each object file mentioned in Setup, insert a rule
# - for each object file mentioned in Setup, append a rule
# '<file>.o: <file>.c; <build commands>' before the comment
# '<file>.o: <file>.c; <build commands>' to the end of the Makefile
# 'Rules added by makesetup'
# - for each module mentioned in Setup, append a rule
# which creates a shared library version to the end of the Makefile
# - for each variable definition found in Setup, insert the definition
# - for each variable definition found in Setup, insert the definition
# before the comment 'Definitions added by makesetup'
# before the comment 'Definitions added by makesetup'
...
@@ -45,6 +46,7 @@ srcdir=''
...
@@ -45,6 +46,7 @@ srcdir=''
config
=
''
config
=
''
makepre
=
''
makepre
=
''
noobjects
=
''
noobjects
=
''
doconfig
=
yes
while
:
while
:
do
do
case
$1
in
case
$1
in
...
@@ -81,17 +83,22 @@ NL="\\
...
@@ -81,17 +83,22 @@ NL="\\
for
i
in
${
*-Setup
}
for
i
in
${
*-Setup
}
do
do
case
$i
in
case
$i
in
-n
)
echo
'
<noobjects>
'
;;
-n
)
echo
'
*noobjects*
'
;;
*
)
cat
"
$i
"
;;
*
)
echo
'*doconfig*'
;
cat
"
$i
"
;;
esac
esac
done
|
done
|
sed
-e
's/[ ]*#.*//'
-e
'/^[ ]*$/d'
|
sed
-e
's/[ ]*#.*//'
-e
'/^[ ]*$/d'
|
(
(
rulesf
=
"@rules.
$$
"
trap
'rm -f $rulesf'
0 1 2 3
echo
"
# Rules appended by makedepend
"
>
$rulesf
DEFS
=
DEFS
=
MODS
=
MODS
=
SHAREDMODS
=
OBJS
=
OBJS
=
LIBS
=
LIBS
=
RULES
=
LOCALLIBS
=
LOCALLIBS
=
BASELIBS
=
BASELIBS
=
while
read
line
while
read
line
...
@@ -99,68 +106,91 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
...
@@ -99,68 +106,91 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
# Output DEFS in reverse order so first definition overrides
# Output DEFS in reverse order so first definition overrides
case
$line
in
case
$line
in
*
=
*
)
DEFS
=
"
$line$NL$DEFS
"
;
continue
;;
*
=
*
)
DEFS
=
"
$line$NL$DEFS
"
;
continue
;;
'
<noobjects>
'
)
'
*noobjects*
'
)
case
$noobjects
in
case
$noobjects
in
yes
)
;;
yes
)
;;
*
)
LOCALLIBS
=
$LIBS
;
LIBS
=
;;
*
)
LOCALLIBS
=
$LIBS
;
LIBS
=
;;
esac
esac
noobjects
=
yes
;
noobjects
=
yes
;
continue
;;
continue
;;
'*doconfig*'
)
doconfig
=
yes
;
continue
;;
'*noconfig*'
)
doconfig
=
no
;
continue
;;
esac
esac
objs
=
srcs
=
srcs
=
cpps
=
cpps
=
set
$line
libs
=
for
arg
mods
=
for
arg
in
$line
do
do
case
$arg
in
case
$arg
in
-[IDUC]
*
)
cpps
=
"
$cpps
$arg
"
;;
-[IDUC]
*
)
cpps
=
"
$cpps
$arg
"
;;
-[A-Zl]
*
)
LIBS
=
"
$LIBS
$arg
"
;;
-[A-Zl]
*
)
libs
=
"
$libs
$arg
"
;;
*
.a
)
LIBS
=
"
$LIBS
$arg
"
;;
*
.a
)
libs
=
"
$libs
$arg
"
;;
*
.o
)
objs
=
"
$objs
$arg
"
;;
*
.o
)
srcs
=
"
$srcs
`
basename
$arg
.o
`
.c
"
;;
*
.[cC]
)
srcs
=
"
$srcs
$arg
"
;;
*
.[cC]
)
srcs
=
"
$srcs
$arg
"
;;
*
.cc
)
srcs
=
"
$srcs
$arg
"
;;
*
.cc
)
srcs
=
"
$srcs
$arg
"
;;
*
.c++
)
srcs
=
"
$srcs
$arg
"
;;
*
.c++
)
srcs
=
"
$srcs
$arg
"
;;
*
.
*
)
echo
1>&2
"bad word
$arg
in
$line
"
*
.
*
)
echo
1>&2
"bad word
$arg
in
$line
"
exit
1
;;
exit
1
;;
[
a-zA-Z_]
*
)
MODS
=
"
$MODS
$arg
"
;;
[
a-zA-Z_]
*
)
mods
=
"
$mods
$arg
"
;;
*
)
echo
1>&2
"bad word
$arg
in
$line
"
*
)
echo
1>&2
"bad word
$arg
in
$line
"
exit
1
;;
exit
1
;;
esac
esac
done
done
case
$doconfig
in
yes
)
LIBS
=
"
$LIBS
$libs
"
MODS
=
"
$MODS
$mods
"
;;
esac
case
$noobjects
in
case
$noobjects
in
yes
)
continue
;;
yes
)
continue
;;
esac
esac
for
obj
in
$objs
objs
=
''
for
src
in
$srcs
do
do
src
=
`
basename
$obj
.o
`
.c
case
$src
in
case
$src
in
*
.c
)
obj
=
`
basename
$src
.c
`
.o
;
cc
=
'$(CC)'
;;
glmodule.c
)
;;
*
.cc
)
obj
=
`
basename
$src
.cc
`
.o
;
cc
=
'$(CCC)'
;;
*
)
src
=
'$(srcdir)/'
$src
;;
*
.c++
)
obj
=
`
basename
$src
.c++
`
.o
;
cc
=
'$(CCC)'
;;
esac
*
.C
)
obj
=
`
basename
$src
.C
`
.o
;
cc
=
'$(CCC)'
;;
RULES
=
"
$RULES$obj
:
$src
;
\$
(CC)
\$
(CFLAGS)
$cpps
-c
$src$NL
"
*
)
continue
;;
esac
objs
=
"
$objs
$obj
"
case
$src
in
glmodule.c
)
;;
*
)
src
=
'$(srcdir)/'
$src
;;
esac
case
$doconfig
in
no
)
cc
=
"cc
$(
CCSHARED
)
"
;;
esac
rule
=
"
$obj
:
$src
;
$cc
\$
(CFLAGS)
$cpps
-c
$src
"
echo
"
$rule
"
>>
$rulesf
done
done
OBJS
=
"
$OBJS
$objs
"
case
$doconfig
in
objs
=
yes
)
OBJS
=
"
$OBJS
$objs
"
;;
for
src
in
$srcs
esac
for
mod
in
$mods
do
do
case
$src
in
case
$objs
in
*
.c
)
obj
=
`
basename
$src
.c
`
.o
;
cc
=
'$(CC)'
;;
*
$mod
.o
*
)
base
=
$mod
;;
*
.cc
)
obj
=
`
basename
$src
.cc
`
.o
;
cc
=
'$(CCC)'
;;
*
)
base
=
${
mod
}
module
;;
*
.c++
)
obj
=
`
basename
$src
.c++
`
.o
;
cc
=
'$(CCC)'
;;
esac
*
.C
)
obj
=
`
basename
$src
.C
`
.o
;
cc
=
'$(CCC)'
;;
file
=
"
$base
\$
(SO)"
*
)
continue
;;
case
$doconfig
in
esac
no
)
SHAREDMODS
=
"
$SHAREDMODS
$file
"
;;
objs
=
"
$objs
$obj
"
esac
case
$src
in
rule
=
"
$file
:
$objs
"
glmodule.c
)
;;
rule
=
"
$rule
;
$(
LDSHARED
)
$objs
$libs
-o
$file
"
*
)
src
=
'$(srcdir)/'
$src
;;
echo
"
$rule
"
>>
$rulesf
esac
RULES
=
"
$RULES$obj
:
$src
;
$cc
\$
(CFLAGS)
$cpps
-c
$src$NL
"
done
done
OBJS
=
"
$OBJS
$objs
"
done
done
case
$SHAREDMODS
in
''
)
;;
*
)
DEFS
=
"SHAREDMODS=
$SHAREDMODS$NL$DEFS
"
;;
esac
case
$noobjects
in
case
$noobjects
in
yes
)
BASELIBS
=
$LIBS
;;
yes
)
BASELIBS
=
$LIBS
;;
*
)
LOCALLIBS
=
$LIBS
;;
*
)
LOCALLIBS
=
$LIBS
;;
...
@@ -177,6 +207,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
...
@@ -177,6 +207,7 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
INITBITS
=
"
${
INITBITS
}
{
\"
$mod
\"
, init
$mod
},
$NL
"
INITBITS
=
"
${
INITBITS
}
{
\"
$mod
\"
, init
$mod
},
$NL
"
done
done
case
$config
in
case
$config
in
-
)
;;
-
)
;;
*
)
sed
-e
"
*
)
sed
-e
"
...
@@ -189,16 +220,20 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
...
@@ -189,16 +220,20 @@ sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
esac
esac
case
$makepre
in
case
$makepre
in
-
)
;;
-
)
;;
*
)
sed
-e
"
*
)
sedf
=
"@sed.in.
$$
"
1i
$NL
# Generated automatically from
$makepre
by makesetup.
trap
'rm -f $sedf'
0 1 2 3
s%@MODOBJS@%
$OBJS
%
echo
"1i
\\
"
>
$sedf
s%@MODLIBS@%
$LIBS
%
str
=
"# Generated automatically from
$makepre
by makesetup."
/Rules added by makesetup/a
$NL$NL$RULES
echo
"
$str
"
>>
$sedf
/Definitions added by makesetup/a
$NL$NL$DEFS
echo
"s%@MODOBJS@%
$OBJS
%"
>>
$sedf
echo
"s%@MODLIBS@%
$LIBS
%"
>>
$sedf
"
$makepre
>
Makefile
echo
"/Definitions added by makesetup/a
$NL$NL$DEFS
"
>>
$sedf
sed
-f
$sedf
$makepre
>
Makefile
cat
$rulesf
>>
Makefile
rm
-f
$sedf
;;
;;
esac
esac
rm
-f
$rulesf
)
)
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