You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

293 lines
7.2 KiB

25 years ago
Merged revisions 57778-58052 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r57820 | georg.brandl | 2007-08-31 08:59:27 +0200 (Fri, 31 Aug 2007) | 2 lines Document new shorthand notation for index entries. ........ r57827 | georg.brandl | 2007-08-31 10:47:51 +0200 (Fri, 31 Aug 2007) | 2 lines Fix subitem markup. ........ r57833 | martin.v.loewis | 2007-08-31 12:01:07 +0200 (Fri, 31 Aug 2007) | 1 line Mark registry components as 64-bit on Win64. ........ r57854 | bill.janssen | 2007-08-31 21:02:23 +0200 (Fri, 31 Aug 2007) | 1 line deprecate use of FakeSocket ........ r57855 | bill.janssen | 2007-08-31 21:02:46 +0200 (Fri, 31 Aug 2007) | 1 line remove mentions of socket.ssl in comments ........ r57856 | bill.janssen | 2007-08-31 21:03:31 +0200 (Fri, 31 Aug 2007) | 1 line remove use of non-existent SSLFakeSocket in apparently untested code ........ r57859 | martin.v.loewis | 2007-09-01 08:36:03 +0200 (Sat, 01 Sep 2007) | 3 lines Bug #1737210: Change Manufacturer of Windows installer to PSF. Will backport to 2.5. ........ r57865 | georg.brandl | 2007-09-01 09:51:24 +0200 (Sat, 01 Sep 2007) | 2 lines Fix RST link (backport from Py3k). ........ r57876 | georg.brandl | 2007-09-01 17:49:49 +0200 (Sat, 01 Sep 2007) | 2 lines Document sets' ">" and "<" operations (backport from py3k). ........ r57878 | skip.montanaro | 2007-09-01 19:40:03 +0200 (Sat, 01 Sep 2007) | 4 lines Added a note and examples to explain that re.split does not split on an empty pattern match. (issue 852532). ........ r57879 | walter.doerwald | 2007-09-01 20:18:09 +0200 (Sat, 01 Sep 2007) | 2 lines Fix wrong function names. ........ r57880 | walter.doerwald | 2007-09-01 20:34:05 +0200 (Sat, 01 Sep 2007) | 2 lines Fix typo. ........ r57889 | andrew.kuchling | 2007-09-01 22:31:59 +0200 (Sat, 01 Sep 2007) | 1 line Markup fix ........ r57892 | andrew.kuchling | 2007-09-01 22:43:36 +0200 (Sat, 01 Sep 2007) | 1 line Add various items ........ r57895 | andrew.kuchling | 2007-09-01 23:17:58 +0200 (Sat, 01 Sep 2007) | 1 line Wording change ........ r57896 | andrew.kuchling | 2007-09-01 23:18:31 +0200 (Sat, 01 Sep 2007) | 1 line Add more items ........ r57904 | ronald.oussoren | 2007-09-02 11:46:07 +0200 (Sun, 02 Sep 2007) | 3 lines Macosx: this patch ensures that the value of MACOSX_DEPLOYMENT_TARGET used by the Makefile is also used at configure-time. ........ r57925 | georg.brandl | 2007-09-03 09:16:46 +0200 (Mon, 03 Sep 2007) | 2 lines Fix #883466: don't allow Unicode as arguments to quopri and uu codecs. ........ r57936 | matthias.klose | 2007-09-04 01:33:04 +0200 (Tue, 04 Sep 2007) | 2 lines - Added support for linking the bsddb module against BerkeleyDB 4.6.x. ........ r57954 | mark.summerfield | 2007-09-04 10:16:15 +0200 (Tue, 04 Sep 2007) | 3 lines Added cross-references plus a note about dict & list shallow copying. ........ r57958 | martin.v.loewis | 2007-09-04 11:51:57 +0200 (Tue, 04 Sep 2007) | 3 lines Document that we rely on the OS to release the crypto context. Fixes #1626801. ........ r57960 | martin.v.loewis | 2007-09-04 15:13:14 +0200 (Tue, 04 Sep 2007) | 3 lines Patch #1388440: Add set_completion_display_matches_hook and get_completion_type to readline. ........ r57961 | martin.v.loewis | 2007-09-04 16:19:28 +0200 (Tue, 04 Sep 2007) | 3 lines Patch #1031213: Decode source line in SyntaxErrors back to its original source encoding. Will backport to 2.5. ........ r57972 | matthias.klose | 2007-09-04 20:17:36 +0200 (Tue, 04 Sep 2007) | 3 lines - Makefile.pre.in(buildbottest): Run an optional script pybuildbot.identify to include some information about the build environment. ........ r57973 | matthias.klose | 2007-09-04 21:05:38 +0200 (Tue, 04 Sep 2007) | 2 lines - Makefile.pre.in(buildbottest): Remove whitespace at eol. ........ r57975 | matthias.klose | 2007-09-04 22:46:02 +0200 (Tue, 04 Sep 2007) | 2 lines - Fix libffi configure for hppa*-*-linux* | parisc*-*-linux*. ........ r57980 | bill.janssen | 2007-09-05 02:46:27 +0200 (Wed, 05 Sep 2007) | 1 line SSL certificate distinguished names should be represented by tuples ........ r57985 | martin.v.loewis | 2007-09-05 08:39:17 +0200 (Wed, 05 Sep 2007) | 3 lines Patch #1105: Explain that one needs to build the solution to get dependencies right. ........ r57987 | armin.rigo | 2007-09-05 09:51:21 +0200 (Wed, 05 Sep 2007) | 4 lines PyDict_GetItem() returns a borrowed reference. There are probably a number of places that are open to attacks such as the following one, in bltinmodule.c:min_max(). ........ r57991 | martin.v.loewis | 2007-09-05 13:47:34 +0200 (Wed, 05 Sep 2007) | 3 lines Patch #786737: Allow building in a tree of symlinks pointing to a readonly source. ........ r57993 | georg.brandl | 2007-09-05 15:36:44 +0200 (Wed, 05 Sep 2007) | 2 lines Backport from Py3k: Bug #1684991: explain lookup semantics for __special__ methods (new-style classes only). ........ r58004 | armin.rigo | 2007-09-06 10:30:51 +0200 (Thu, 06 Sep 2007) | 4 lines Patch #1733973 by peaker: ptrace_enter_call() assumes no exception is currently set. This assumption is broken when throwing into a generator. ........ r58006 | armin.rigo | 2007-09-06 11:30:38 +0200 (Thu, 06 Sep 2007) | 4 lines PyDict_GetItem() returns a borrowed reference. This attack is against ceval.c:IMPORT_NAME, which calls an object (__builtin__.__import__) without holding a reference to it. ........ r58013 | georg.brandl | 2007-09-06 16:49:56 +0200 (Thu, 06 Sep 2007) | 2 lines Backport from 3k: #1116: fix reference to old filename. ........ r58021 | thomas.heller | 2007-09-06 22:26:20 +0200 (Thu, 06 Sep 2007) | 1 line Fix typo: c_float represents to C float type. ........ r58022 | skip.montanaro | 2007-09-07 00:29:06 +0200 (Fri, 07 Sep 2007) | 3 lines If this is correct for py3k branch and it's already in the release25-maint branch, seems like it ought to be on the trunk as well. ........ r58023 | gregory.p.smith | 2007-09-07 00:59:59 +0200 (Fri, 07 Sep 2007) | 4 lines Apply the fix from Issue1112 to make this test more robust and keep windows happy. ........ r58031 | brett.cannon | 2007-09-07 05:17:50 +0200 (Fri, 07 Sep 2007) | 4 lines Make uuid1 and uuid4 tests conditional on whether ctypes can be imported; implementation of either function depends on ctypes but uuid as a whole does not. ........ r58032 | brett.cannon | 2007-09-07 06:18:30 +0200 (Fri, 07 Sep 2007) | 6 lines Fix a crasher where Python code managed to infinitely recurse in C code without ever going back out to Python code in PyObject_Call(). Required introducing a static RuntimeError instance so that normalizing an exception there is no reliance on a recursive call that would put the exception system over the recursion check itself. ........ r58034 | thomas.heller | 2007-09-07 08:32:17 +0200 (Fri, 07 Sep 2007) | 1 line Add a 'c_longdouble' type to the ctypes module. ........ r58035 | thomas.heller | 2007-09-07 11:30:40 +0200 (Fri, 07 Sep 2007) | 1 line Remove unneeded #include. ........ r58036 | thomas.heller | 2007-09-07 11:33:24 +0200 (Fri, 07 Sep 2007) | 6 lines Backport from py3k branch: Add a workaround for a strange bug on win64, when _ctypes is compiled with the SDK compiler. This should fix the failing Lib\ctypes\test\test_as_parameter.py test. ........ r58037 | georg.brandl | 2007-09-07 16:14:40 +0200 (Fri, 07 Sep 2007) | 2 lines Fix a wrong indentation for sublists. ........ r58043 | georg.brandl | 2007-09-07 22:10:49 +0200 (Fri, 07 Sep 2007) | 2 lines #1095: ln -f doesn't work portably, fix in Makefile. ........ r58049 | skip.montanaro | 2007-09-08 02:34:17 +0200 (Sat, 08 Sep 2007) | 1 line be explicit about the actual location of the missing file ........
19 years ago
  1. #! /bin/sh
  2. # Convert templates into Makefile and config.c, based on the module
  3. # definitions found in the file Setup.
  4. #
  5. # Usage: makesetup [-s dir] [-c file] [-m file] [Setup] ... [-n [Setup] ...]
  6. #
  7. # Options:
  8. # -s directory: alternative source directory (default .)
  9. # -l directory: library source directory (default derived from $0)
  10. # -c file: alternative config.c template (default $libdir/config.c.in)
  11. # -c -: don't write config.c
  12. # -m file: alternative Makefile template (default ./Makefile.pre)
  13. # -m -: don't write Makefile
  14. #
  15. # Remaining arguments are one or more Setup files (default ./Setup).
  16. # Setup files after a -n option are used for their variables, modules
  17. # and libraries but not for their .o files.
  18. #
  19. # See Setup.dist for a description of the format of the Setup file.
  20. #
  21. # The following edits are made:
  22. #
  23. # Copying config.c.in to config.c:
  24. # - insert an identifying comment at the start
  25. # - for each <module> mentioned in Setup before *noconfig*:
  26. # + insert 'extern PyObject* PyInit_<module>(void);' before MARKER 1
  27. # + insert '{"<module>", PyInit_<module>},' before MARKER 2
  28. #
  29. # Copying Makefile.pre to Makefile:
  30. # - insert an identifying comment at the start
  31. # - replace _MODOBJS_ by the list of objects from Setup (except for
  32. # Setup files after a -n option)
  33. # - replace _MODLIBS_ by the list of libraries from Setup
  34. # - for each object file mentioned in Setup, append a rule
  35. # '<file>.o: <file>.c; <build commands>' to the end of the Makefile
  36. # - for each module mentioned in Setup, append a rule
  37. # which creates a shared library version to the end of the Makefile
  38. # - for each variable definition found in Setup, insert the definition
  39. # before the comment 'Definitions added by makesetup'
  40. # Loop over command line options
  41. usage='
  42. usage: makesetup [-s srcdir] [-l libdir] [-c config.c.in] [-m Makefile.pre]
  43. [Setup] ... [-n [Setup] ...]'
  44. srcdir='.'
  45. libdir=''
  46. config=''
  47. makepre=''
  48. noobjects=''
  49. doconfig=yes
  50. while :
  51. do
  52. case $1 in
  53. -s) shift; srcdir=$1; shift;;
  54. -l) shift; libdir=$1; shift;;
  55. -c) shift; config=$1; shift;;
  56. -m) shift; makepre=$1; shift;;
  57. --) shift; break;;
  58. -n) noobjects=yes;;
  59. -*) echo "$usage" 1>&2; exit 2;;
  60. *) break;;
  61. esac
  62. done
  63. # Set default libdir and config if not set by command line
  64. # (Not all systems have dirname)
  65. case $libdir in
  66. '') case $0 in
  67. */*) libdir=`echo $0 | sed 's,/[^/]*$,,'`;;
  68. *) libdir=.;;
  69. esac;;
  70. esac
  71. case $config in
  72. '') config=$libdir/config.c.in;;
  73. esac
  74. case $makepre in
  75. '') makepre=Makefile.pre;;
  76. esac
  77. # Newline for sed i and a commands
  78. NL='\
  79. '
  80. # Setup to link with extra libraries when makeing shared extensions.
  81. # Currently, only Cygwin needs this baggage.
  82. case `uname -s` in
  83. CYGWIN*) if test $libdir = .
  84. then
  85. ExtraLibDir=.
  86. else
  87. ExtraLibDir='$(LIBPL)'
  88. fi
  89. ExtraLibs="-L$ExtraLibDir -lpython\$(VERSION)";;
  90. esac
  91. # Main loop
  92. for i in ${*-Setup}
  93. do
  94. case $i in
  95. -n) echo '*noobjects*';;
  96. *) echo '*doconfig*'; cat "$i";;
  97. esac
  98. done |
  99. sed -e 's/[ ]*#.*//' -e '/^[ ]*$/d' |
  100. (
  101. rulesf="@rules.$$"
  102. trap 'rm -f $rulesf' 0 1 2 3
  103. echo "
  104. # Rules appended by makedepend
  105. " >$rulesf
  106. DEFS=
  107. MODS=
  108. SHAREDMODS=
  109. OBJS=
  110. LIBS=
  111. LOCALLIBS=
  112. BASELIBS=
  113. while read line
  114. do
  115. # to handle backslashes for sh's that don't automatically
  116. # continue a read when the last char is a backslash
  117. while echo $line | grep '\\$' > /dev/null
  118. do
  119. read extraline
  120. line=`echo $line| sed s/.$//`$extraline
  121. done
  122. # Output DEFS in reverse order so first definition overrides
  123. case $line in
  124. *=*) DEFS="$line$NL$DEFS"; continue;;
  125. 'include '*) DEFS="$line$NL$DEFS"; continue;;
  126. '*noobjects*')
  127. case $noobjects in
  128. yes) ;;
  129. *) LOCALLIBS=$LIBS; LIBS=;;
  130. esac
  131. noobjects=yes;
  132. continue;;
  133. '*doconfig*') doconfig=yes; continue;;
  134. '*static*') doconfig=yes; continue;;
  135. '*noconfig*') doconfig=no; continue;;
  136. '*shared*') doconfig=no; continue;;
  137. esac
  138. srcs=
  139. cpps=
  140. libs=
  141. mods=
  142. skip=
  143. for arg in $line
  144. do
  145. case $skip in
  146. libs) libs="$libs $arg"; skip=; continue;;
  147. cpps) cpps="$cpps $arg"; skip=; continue;;
  148. srcs) srcs="$srcs $arg"; skip=; continue;;
  149. esac
  150. case $arg in
  151. -framework) libs="$libs $arg"; skip=libs;
  152. # OSX/OSXS/Darwin framework link cmd
  153. ;;
  154. -[IDUCfF]*) cpps="$cpps $arg";;
  155. -Xcompiler) skip=cpps;;
  156. -Xlinker) libs="$libs $arg"; skip=libs;;
  157. -rpath) libs="$libs $arg"; skip=libs;;
  158. --rpath) libs="$libs $arg"; skip=libs;;
  159. -[A-Zl]*) libs="$libs $arg";;
  160. *.a) libs="$libs $arg";;
  161. *.so) libs="$libs $arg";;
  162. *.sl) libs="$libs $arg";;
  163. /*.o) libs="$libs $arg";;
  164. *.def) libs="$libs $arg";;
  165. *.o) srcs="$srcs `basename $arg .o`.c";;
  166. *.[cC]) srcs="$srcs $arg";;
  167. *.m) srcs="$srcs $arg";; # Objective-C src
  168. *.cc) srcs="$srcs $arg";;
  169. *.c++) srcs="$srcs $arg";;
  170. *.cxx) srcs="$srcs $arg";;
  171. *.cpp) srcs="$srcs $arg";;
  172. \$*) libs="$libs $arg"
  173. cpps="$cpps $arg";;
  174. *.*) echo 1>&2 "bad word $arg in $line"
  175. exit 1;;
  176. -u) skip=libs; libs="$libs -u";;
  177. [a-zA-Z_]*) mods="$mods $arg";;
  178. *) echo 1>&2 "bad word $arg in $line"
  179. exit 1;;
  180. esac
  181. done
  182. case $doconfig in
  183. yes)
  184. LIBS="$LIBS $libs"
  185. MODS="$MODS $mods"
  186. ;;
  187. esac
  188. case $noobjects in
  189. yes) continue;;
  190. esac
  191. objs=''
  192. for src in $srcs
  193. do
  194. case $src in
  195. *.c) obj=`basename $src .c`.o; cc='$(CC)';;
  196. *.cc) obj=`basename $src .cc`.o; cc='$(CXX)';;
  197. *.c++) obj=`basename $src .c++`.o; cc='$(CXX)';;
  198. *.C) obj=`basename $src .C`.o; cc='$(CXX)';;
  199. *.cxx) obj=`basename $src .cxx`.o; cc='$(CXX)';;
  200. *.cpp) obj=`basename $src .cpp`.o; cc='$(CXX)';;
  201. *.m) obj=`basename $src .m`.o; cc='$(CC)';; # Obj-C
  202. *) continue;;
  203. esac
  204. obj="$srcdir/$obj"
  205. objs="$objs $obj"
  206. case $src in
  207. glmodule.c) ;;
  208. /*) ;;
  209. \$*) ;;
  210. *) src='$(srcdir)/'"$srcdir/$src";;
  211. esac
  212. case $doconfig in
  213. no) cc="$cc \$(CCSHARED) \$(PY_CFLAGS) \$(PY_CPPFLAGS)";;
  214. *)
  215. cc="$cc \$(PY_CORE_CFLAGS)";;
  216. esac
  217. rule="$obj: $src; $cc $cpps -c $src -o $obj"
  218. echo "$rule" >>$rulesf
  219. done
  220. case $doconfig in
  221. yes) OBJS="$OBJS $objs";;
  222. esac
  223. for mod in $mods
  224. do
  225. file="$srcdir/$mod\$(EXT_SUFFIX)"
  226. case $doconfig in
  227. no) SHAREDMODS="$SHAREDMODS $file";;
  228. esac
  229. rule="$file: $objs"
  230. rule="$rule; \$(BLDSHARED) $objs $libs $ExtraLibs -o $file"
  231. echo "$rule" >>$rulesf
  232. done
  233. done
  234. case $SHAREDMODS in
  235. '') ;;
  236. *) DEFS="SHAREDMODS=$SHAREDMODS$NL$DEFS";;
  237. esac
  238. case $noobjects in
  239. yes) BASELIBS=$LIBS;;
  240. *) LOCALLIBS=$LIBS;;
  241. esac
  242. LIBS='$(LOCALMODLIBS) $(BASEMODLIBS)'
  243. DEFS="BASEMODLIBS=$BASELIBS$NL$DEFS"
  244. DEFS="LOCALMODLIBS=$LOCALLIBS$NL$DEFS"
  245. EXTDECLS=
  246. INITBITS=
  247. for mod in $MODS
  248. do
  249. EXTDECLS="${EXTDECLS}extern PyObject* PyInit_$mod(void);$NL"
  250. INITBITS="${INITBITS} {\"$mod\", PyInit_$mod},$NL"
  251. done
  252. case $config in
  253. -) ;;
  254. *) sed -e "
  255. 1i$NL/* Generated automatically from $config by makesetup. */
  256. /MARKER 1/i$NL$EXTDECLS
  257. /MARKER 2/i$NL$INITBITS
  258. " $config >config.c
  259. ;;
  260. esac
  261. case $makepre in
  262. -) ;;
  263. *) sedf="@sed.in.$$"
  264. trap 'rm -f $sedf' 0 1 2 3
  265. echo "1i\\" >$sedf
  266. str="# Generated automatically from $makepre by makesetup."
  267. echo "$str" >>$sedf
  268. echo "s%_MODOBJS_%$OBJS%" >>$sedf
  269. echo "s%_MODLIBS_%$LIBS%" >>$sedf
  270. echo "/Definitions added by makesetup/a$NL$NL$DEFS" >>$sedf
  271. sed -f $sedf $makepre >Makefile
  272. cat $rulesf >>Makefile
  273. rm -f $sedf
  274. ;;
  275. esac
  276. rm -f $rulesf
  277. )