diff --git a/ChangeLog b/ChangeLog index d71804f8ee5..2cceded7ce4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,72 @@ +Mon Sep 12 12:53:07 1994 Guido van Rossum (guido@voorn.cwi.nl) + + * Lib/urlparse.py: URL parser according to the latest Internet + draft + + * README: added note about HP-UX + +Sun Sep 11 12:12:28 1994 Guido van Rossum (guido@voorn.cwi.nl) + + * Misc/indent.pro: Steen's approximation of my C style as a GNU + indent profile + + * Modules/{Setup.in,termios.c}: add Steen's termios; also + Lib/[pt]ty.py, Demo/scripts/script.py, Lib/irix5/TERMIOS.py + + * Demo/scripts/h2py.py: merged in Steen Lumholt's changes to + handle #include. Now also handles one-argument macros. + + * configure.in: use uname to decide how to create / link shared + libraries and to set $(MACHDEP) (machine dependent subdirectory of + Lib) + + * Makefile.in: shared library support; added targer sharedinstall + which move shared libraries into Lib/$(MACHDEP) + + * Modules/{Makefile.pre.in,Setup.in,makesetup}: support shared + libraries. Had to re-engineer rule production in makesetup + because sed was dumping core on the script fed to it -- now the + rules are always appended to the end of the Makefile. + +Fri Sep 9 11:35:28 1994 Guido van Rossum (guido@voorn.cwi.nl) + + * Lib/uu.py: new module, does uuencode/uudecode (thanks to Lance) + + * Grammar/Grammar: fewer #diagram:break hacks needed; removed + history from file + +Thu Sep 8 10:24:41 1994 Guido van Rossum (guido@voorn.cwi.nl) + + * Parser/grammar1.c (finddfa): massive speed up by using direct + addressing instead of searching + +Wed Sep 7 08:49:37 1994 Guido van Rossum (guido@voorn.cwi.nl) + + * Include/rename1.h: added PyArg_GetInt + + * pythonrun.h: added Py_AtExit + + * Doc/libsocket.tex, Modules/socketmodule.c: added Tommy + Burnette's setblocking() method + + * Modules/signalmodule.c: adapted to new module style (Lance); + added {BGN,END}_SAVE around pause() call + + * Objects/object.c (DELREF): must zap type pointer *before* + calling free() (or other destructor) + +Sat Sep 3 14:12:38 1994 Guido van Rossum (guido@voorn.cwi.nl) + + * Modules/{Setup.in,tkintermodule.c,tkappinit.c}: moved tkinter + into the main Modules directory, and its Lib and Demo + subdirectories into the main Lib and Demo directories. Moved + definition of STDWIN component and TK component of PYTHONPATH to + their respective sections so it's easier to remember to enable + them. + + * Python/pythonrun.c (cleanup), Include/pythonrun.h: added + Py_AtExit() -- register cleanup functions for C modules + Tue Aug 30 10:53:50 1994 Guido van Rossum (guido@voorn.cwi.nl) * Python/getmtime.c: Remove mac specifics (Mac subdirectory has diff --git a/README b/README index e00d68b075d..30f53985b0f 100644 --- a/README +++ b/README @@ -51,6 +51,9 @@ pass to the configure script. AIX users: read the file Misc/AIX-NOTES before trying to build. +HP-UX users: read the file Misc/HPUX-NOTES if you want to be able to +use shared libraries for dynamically loaded modules. + Minix users: when using ack, use "CC=cc AR=aal RANLIB=: ./configure"! You can configure the interpreter to contain fewer or more built-in diff --git a/TODO b/TODO index 1b2b7024829..1a807bb4f50 100644 --- a/TODO +++ b/TODO @@ -1,14 +1,16 @@ +(-) try out Kees Blom's railroad diagram generator + (-) redesign error handling (cf. Donald's mail) -(-) do MPW and THINK still not support sys_errlist? +(*) do MPW and THINK still not support sys_errlist? Indeed not (neither). (-) does MPW 3.2 need the MPW_881_BUG defined in Parser/acceler.c (-) rename MPW_3_1 define (which really means 3.x) -(-) incorporate urlparse.py, uu.py +(*) incorporate urlparse.py, uu.py -(-) rewrite instance __getattr__ etc. to store ptr in class instead of +(*) rewrite instance __getattr__ etc. to store ptr in class instead of instance -- also have separate __delattr__ (-) add warning to docs about sys.exc_traceback and sys.last_traceback. @@ -23,7 +25,7 @@ instance -- also have separate __delattr__ (-) there's no way to show the text caret after a multi-line paste? -(-) termios module +(*) termios module (*) put signal patches out separately @@ -31,7 +33,7 @@ instance -- also have separate __delattr__ (*) More MPW and Mac changes -(() Sjoerd's compileall script +(*) Sjoerd's compileall script (-) systematically create /usr/local/lib/python/-/ subdirectories, with a lib/ subdirectory containing the lib*.a @@ -39,12 +41,12 @@ instance -- also have separate __delattr__ (-) need newer DOS binary (16 bit version doesn't do default args) -(-) support for dynamically loadable libraries in makesetup and Extensions. +(*) support for dynamically loadable libraries in makesetup and Extensions. e.g. add a make rule to build .so files (unfortunately need to figure out what ld option is needed) (more appropriate for makesetup script?) -(-) Move tkinter into the standard Modules directory; Tkinter c.s. to +(*) Move tkinter into the standard Modules directory; Tkinter c.s. to Lib/tkinter etc. (???) (-) document Tk @@ -53,13 +55,13 @@ instance -- also have separate __delattr__ (-) interactive Python GUI (a la NT thingie) -(-) speedup finddfa (and classify?) +(*) speedup finddfa (and classify?) (-) more stuff under CVS (demo, extensions) -(-) Mac port of 1.1 +(*) Mac port of 1.1 -(-) Mac port of STDWIN 0.9.9 to THINK C 6.0 +(*) Mac port of STDWIN 0.9.9 to THINK C 6.0 (-) use const for char * parameters (and many more) where possible diff --git a/configure b/configure index 4bd72288fcf..656c5753361 100755 --- a/configure +++ b/configure @@ -1,8 +1,8 @@ #!/bin/sh -# From configure.in Revision: 1.5 +# From configure.in Revision: 1.6 #!/bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 1.8 +# Generated automatically using autoconf version 1.11 # Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. # This configure script is free software; you can redistribute it and/or @@ -121,7 +121,7 @@ do exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) - with_gas=1 ;; # Obsolete; use --with-gas. + with_gas=yes ;; # Obsolete; use --with-gas. -help | --help | --hel | --he) cat << EOF @@ -199,7 +199,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 1.8" + echo "configure generated by autoconf version 1.11" exit 0 ;; -with-* | --with-*) @@ -224,7 +224,7 @@ EOF ac_package=`echo $ac_package| sed 's/-/_/g'` eval "with_${ac_package}=no" ;; - --x) with_x=1 ;; # Obsolete; use --with-x. + --x) with_x=yes ;; # Obsolete; use --with-x. -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) @@ -244,10 +244,10 @@ EOF ;; *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9]//g'`"; then + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then echo "configure: warning: $ac_option: invalid host type" >&2 fi - if test "x$nonopt" -ne xNONE; then + if test "x$nonopt" != xNONE; then echo "configure: can only configure for one host and one target at a time" >&2; exit 1 fi nonopt="$ac_option" @@ -311,11 +311,12 @@ if test ! -r $srcdir/$ac_unique_file; then echo "configure: can not find sources in ${srcdir}" >&2; exit 1 fi fi - ac_ext=c -ac_cpp='${CPP} $CFLAGS' +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='${CPP}' ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS >/dev/null 2>&1' + # Don't suppress compiler output when --verbose is specified test -n "$verbose" && ac_compile=`echo "$ac_compile" | sed "s|>/dev/null 2>&1||"` @@ -1044,6 +1045,69 @@ fi rm -f conftest* +# Set name for machine-dependent library files + +if test -z "$MACHDEP" +then + ac_system=`uname -s | tr '[A-Z]' '[a-z]'` + ac_release=`uname -r | sed 's/\..*//'` + MACHDEP="$ac_system$ac_release" + case MACHDEP in + '') MACHDEP=unknown;; + esac + test -n "$verbose" && echo " setting MACHDEP to '$MACHDEP'" +fi + +# Set info about shared libraries. +# XXX This should try things out instead of testing uname! + + + + +ac_system=`uname -s` +ac_release=`uname -r` +# SO is the extension of shared libraries `(including the dot!) +# -- usually .so, .sl on HP-UX +if test -z "$SO" +then + case $ac_system in + hp*|HP*) SO=.sl;; + *) SO=.so;; + esac + test -n "$verbose" && echo " setting SO to '$SO'" +fi +# LDSHARED is the ld *command* used to create shared library +# -- "ld" on SunOS 4.x.x, "ld -G" on SunOS 5.x, "ld -shared" on IRIX 5 +if test -z "$LDSHARED" +then + case $ac_system/$ac_release in + IRIX*) LDSHARED="ld -shared";; + SunOS/4*) LDSHARED="ld";; + SunOS/5*) LDSHARED="ld -G";; + hp*|HP*) LDSHARED="ld -b";; + *) LDSHARED="ld";; + esac + test -n "$verbose" && echo " setting LDSHARED= to '$LDSHARED'" +fi +# CCSHARED are the C *flags* used to create objects to go into a shared +# library -- this is only needed for HP-UX +if test -z "$CCSHARED" +then + case $ac_system in + hp*|HP*) CCSHARED="+z";; + esac + test -n "$verbose" && echo " setting CCSHARED= to '$CCSHARED'" +fi +# LINKFORSHARED are the flags passed to the $(CC) command that links +# the python executable -- this is only needed for HP-UX +if test -z "$LINKFORSHARED" +then + case $ac_system in + hp*|HP*) LINKFORSHARED="-Wl,-E";; + esac + test -n "$verbose" && echo " setting LINKFORSHARED to '$LINKFORSHARED'" +fi + # checks for libraries ac_save_LIBS="${LIBS}" LIBS="${LIBS} -ldl" @@ -1852,7 +1916,7 @@ fi rm -f conftest* -test -n "$silent" || echo "checking for wheter we have signed char" +test -n "$silent" || echo "checking for signed char" cat > conftest.${ac_ext} < conftest.s1 # Like head -20. - sed 1,${ac_max_sh_lines}d conftest.sh > conftest.s2 # Like tail +21. + sed ${ac_max_sh_lines}q conftest.sh > conftest.s1 # Like head -9. + sed 1,${ac_max_sh_lines}d conftest.sh > conftest.s2 # Like tail +10. # Write a limited-size here document to append to conftest.sed. echo 'cat >> conftest.sed <> config.status cat conftest.s1 >> config.status @@ -2269,19 +2350,20 @@ for ac_file in .. ${CONFIG_HEADERS}; do if test "x$ac_file" != x..; then echo creating $ac_file cp $ac_given_srcdir/$ac_file.in conftest.h1 + cp conftest.sed conftest.stm while : do - ac_lines=`grep -c . conftest.sed` + ac_lines=`grep -c . conftest.stm` if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi rm -f conftest.s1 conftest.s2 conftest.h2 - sed ${ac_max_sed_lines}q conftest.sed > conftest.s1 # Like head -20. - sed 1,${ac_max_sed_lines}d conftest.sed > conftest.s2 # Like tail +21. + sed ${ac_max_sed_lines}q conftest.stm > conftest.s1 # Like head -20. + sed 1,${ac_max_sed_lines}d conftest.stm > conftest.s2 # Like tail +21. sed -f conftest.s1 < conftest.h1 > conftest.h2 - rm -f conftest.s1 conftest.h1 conftest.sed + rm -f conftest.s1 conftest.h1 conftest.stm mv conftest.h2 conftest.h1 - mv conftest.s2 conftest.sed + mv conftest.s2 conftest.stm done - rm -f conftest.sed conftest.h + rm -f conftest.stm conftest.h echo "/* $ac_file. Generated automatically by configure. */" > conftest.h cat conftest.h1 >> conftest.h rm -f conftest.h1 @@ -2294,11 +2376,13 @@ for ac_file in .. ${CONFIG_HEADERS}; do if test "x$ac_file" != x..; then mv conftest.h $ac_file fi fi; done +rm -f conftest.sed exit 0 EOF chmod +x config.status -test -n "$no_create" || ${CONFIG_SHELL-/bin/sh} config.status +# Some shells look in PATH for config.status without the "./". +test -n "$no_create" || ${CONFIG_SHELL-/bin/sh} ./config.status