Commit Graph

304 Commits

Author SHA1 Message Date
Jeremy Hylton 3e0055f8c6 Merge ast-branch to head
This change implements a new bytecode compiler, based on a
transformation of the parse tree to an abstract syntax defined in
Parser/Python.asdl.

The compiler implementation is not complete, but it is in stable
enough shape to run the entire test suite excepting two disabled
tests.
2005-10-20 19:59:25 +00:00
Neal Norwitz 892a33f85a Get "make install" working again after adding Lib/test/bad_coding.py
which can't be compiled.  Thanks to Mat Martineau for spotting the problem.
2005-10-04 04:32:42 +00:00
Brett Cannon 08cd598c21 Introduced EXTRA_CFLAGS as an environment variable used by the Makefile. Meant
to be used for flags that change binary compatibility.

Distutils was tweaked to also use the variable if used during compilation of
the interpreter.
2005-04-24 22:26:38 +00:00
Bob Ippolito 7026a0aeef patch [1171735] - Darwin 8's headers disable functionality when
POSIX is enabled.  This prevents the toolbox glue, all of Carbon,
and various other non-POSIX features from compiling.  The POSIX
symbols are  still used by default, so turning off the #define
doesn't hurt.

Additionally, linker flags have changed for Darwin 8, and are
different for Darwin 8/gcc4 (default) and Darwin 8/gcc3.3.

Approved by Anthony
2005-03-28 23:23:47 +00:00
Fred Drake e612c8ec81 install distutils.tests on Unix (contributed patch)
(closes SF bug #1093173)
2005-01-19 06:24:58 +00:00
Brett Cannon 516592f4ff setup.py now uses the library directories specified in LDFLAGS (``-L``
directories) and the include directories specified in CPPFLAGS (``-I``
directories) for compiling the extension modules.

This has led to the core being compiled with the values in the shell's
CPPFLAGS.  It has also removed the need for special casing to use Fink and
DarwinPorts under darwin since the needed directories can now be specified in
LDFLAGS and CPPFLAGS (e.g., DarwinPorts users can now do
``LDFLAGS=-L/opt/local/lib; CPPFLAGS=-I/opt/local/include; ./configure`` for
everything to work properly).

Parsing the values in the environment variables is done with getopt.  While optparse
would have been a nicer solution it cannot be used because of dependency issues
at execution time; optparse uses gettext which uses struct which will not have
been compiled when the code is imported.  If optparse ever makes its
importation of gettext optional by catching ImportError and setting _() to an
identity function then it can be used.
2004-12-07 00:42:59 +00:00
Martin v. Löwis 4d9559a47e Replace -soname with -h for Solaris compatibility. Fixes #1034496.
Backported to 2.3.
2004-09-26 17:26:55 +00:00
Jack Jansen b36687a483 Don't hardcode "Python" as the framework name, we have a variable for it:
$PYTHONFRAMEWORK.
2004-07-16 08:43:47 +00:00
Anthony Baxter 1e2bd5bfb6 install test/decimaltestdata as well 2004-07-12 09:25:18 +00:00
Martin v. Löwis 737ea82a5a Patch #774665: Make Python LC_NUMERIC agnostic. 2004-06-08 18:52:54 +00:00
Jack Jansen 6b08a40442 Partial fix for #887242 (link extensions with dynamic_lookup in stead
of hard linking against the framework).

If $MACOSX_DEPLOYMENT_TARGET is set, and >= 10.3, during configure we
setup extensions to link with dynamic lookup. We also record the
value in the Makefile.

Distutils checks whether a value for MACOSX_DEPLOYMENT_TARGET was
recorded in the Makefile, and if it was insists that the current
value matches.

This is only a partial fix because it only applies to 2.4, and the
"two python problem" exists with Python 2.3 shipped with MacOSX 10.3,
which we have no influence over.
2004-06-03 12:41:45 +00:00
Martin v. Löwis e440e47e91 Patch #957398: Add public API for Generator Object/Type. 2004-06-01 15:22:42 +00:00
Hye-Shik Chang 0e5e6c70e6 Ignore error status codes occurred while compiling site-packages
directory.
2004-03-18 07:51:27 +00:00
Jack Jansen 48e02e4c39 forward port of 1.136.6.2:
$(prefix) wasn't communicated to Mac/OSX/Makefile for all targets. Fixed.
2003-12-07 21:52:07 +00:00
Martin v. Löwis e3be860619 Patch #841807: Check whether a versioned libpython.so symlink is needed
in altbininstall. Backported to 2.3.
2003-11-18 19:54:20 +00:00
Raymond Hettinger a690a9967e * Migrate set() and frozenset() from the sandbox.
* Install the unittests, docs, newsitem, include file, and makefile update.
* Exercise the new functions whereever sets.py was being used.

Includes the docs for libfuncs.tex.  Separate docs for the types are
forthcoming.
2003-11-16 16:17:49 +00:00
Martin v. Löwis 2cc6c29e33 Patch #805678: Add .so symlink during make install. Backported to 2.3. 2003-09-20 10:50:48 +00:00
Jason Tishler 3076559ea5 This patch enables the building of Cygwin Python with a static core
which still supports shared extensions. It takes advantage the latest
Cygwin binutils (i.e., 20030901-1) which can export symbols from
executables:

http://cygwin.com/ml/cygwin-announce/2003-09/msg00002.html

Additionally, it finally lays to rest the following mailing list
subthread:

http://mail.python.org/pipermail/python-list/2002-May/102500.html

I tested the patch under Red Hat Linux 8.0 too
2003-09-04 11:04:06 +00:00
Martin v. Löwis 6702d8af71 Patch #770245: Pass LDFLAGS to pgen creation. 2003-07-13 10:10:42 +00:00
Jack Jansen 66b8483247 Fixed two bugs in MacOSX framework handling spotted by Edward Moy:
- In the top level Makefile, the argument to -install_name should be
  prepended with /System/Library/Frameworks/, so it is an absolute path.
- In the top level Makefile, because of 2), RUNSHARED needs to be set to
  DYLD_FRAMEWORK_PATH=<path to local framework> and $(RUNSHARED) prepended
  to the $(MAKE) lines in the frameworkinstallmaclib and
  frameworkinstallapps targets.
2003-07-04 12:14:39 +00:00
Martin v. Löwis 975302dbbe Set -d in compileall, to get proper path in case DESTDIR is not empty.
Also add force, to recompile string.pyc in DESTDIR (which would normally
compiled by running compileall.py).
2003-06-21 13:26:28 +00:00
Jack Jansen 4735b234d8 Set the executable bits when installing the shared library in a MacOSX
framework. Fixes #758112.
2003-06-20 20:36:53 +00:00
Jack Jansen a1b77584f2 Added a target frameworkinstallextras (OSX framework build specific,
and not part of a normal frameworkinstall) that installs Demo and Tools
and a readme file into /Applications/MacPython-2.3/Extras. This will
give people access to the demos and tools if they instal Python through
the binary installer.
2003-06-19 22:35:20 +00:00
Martin v. Löwis bc12262593 Properly bracket variables. Fixes part of #749911. 2003-06-14 13:11:24 +00:00
Guido van Rossum d321efda26 Install idlelib and idlelib/Icons as well. 2003-06-13 20:49:55 +00:00
Guido van Rossum b1ab4d940b Don't install Tools/idle any more. We now install Tools/scripts/idle
from setup.py.
2003-06-13 20:35:41 +00:00
Jack Jansen 9592fe9a49 Fixed the DESTDIR modifications to also allow MacOSX framework builds
to be installed to a different location. This should make the OSX binary
installer building a lot simpler.
2003-05-25 22:01:32 +00:00
Martin v. Löwis ac826aac28 Patch #738325: Install optimized idlelib files. 2003-05-16 05:40:31 +00:00
Martin v. Löwis 8f51526837 Patch #735613: Pass install-purelib to idleinstall. 2003-05-11 20:28:02 +00:00
Martin v. Löwis 3b8ee0871e Patch #718286: Support DESTDIR. 2003-05-11 20:25:35 +00:00
Jack Jansen a226b5723a Pass DIRMODE and FILEMODE to Mac/OSX/Makefile on framework builds (and
honor them). Use this when building the MacOSX binary installer to
get group-writeable files.

Ths fix works for directories and executables, not for files just yet,
because of bug #735274.
2003-05-09 15:08:39 +00:00
Skip Montanaro c9803ab855 add Guido's reasoning behind running all tests twice 2003-05-06 16:17:27 +00:00
Skip Montanaro 446ad71569 add testall target - just adds -uall to the regrtest runs 2003-05-06 15:30:20 +00:00
Guido van Rossum d3ab37f1df Changes from Jonathan Riehl to allow his pgen extension (PEP 269) to
work.  This includes some more code that used to be part of pgen in
the main parser; I'm okay with that.  I'll see if the Windows build
needs work next.
2003-04-17 14:55:42 +00:00
Jack Jansen 1fff697f8a Lib/plat-mac/lib-scriptpackages/SystemEvents added. 2003-03-31 09:39:54 +00:00
Martin v. Löwis 45ec95d4d8 Use soname option when building a shared libpython. Fixes #701823. 2003-03-30 15:37:33 +00:00
Skip Montanaro 0ed2ae46d5 include the csv package during installation 2003-03-20 23:35:38 +00:00
Jack Jansen 7b59b42a38 Added a define EXTRAMACHDEPPATH which can be used to add sys.path items
for specific platforms. Use this to add plat-mac and
plat-mac/lib-scriptpackages on MacOSX. Also tested for not having adverse
effects on Linux, and I think this code isn't used on Windows anyway.

Fixes #661521.
2003-03-17 15:44:10 +00:00
Jack Jansen b4329f3f62 Patch #696613 by Ben Laurie: use "test -L" to test for symlinks in stead
of the older (and, according to some manpages, deprecated) "test -h".
2003-03-04 10:52:39 +00:00
Jack Jansen c60968929e In make clobber also clean out the Python.framework. 2003-02-27 23:19:46 +00:00
Jack Jansen 04087b56ec In Mac OS X framework builds don't assume that the executable will be
called python.exe but actually pass it from the main Makefile to
Mac/OSX/Makefile. This makes framework builds work again on case
sensitive filesystems. Fixes bug #677753.
2003-02-25 12:41:10 +00:00
Jack Jansen d68d9295fe Fixed typo in package name that went unnoticed because of MacOSX's case-insensitive
filenames.
2003-01-21 15:05:02 +00:00
Jack Jansen f2c84d0fa7 Compile site-packages with -t, not -tt. 2003-01-21 13:50:34 +00:00
Jack Jansen 0780e470dc On MacOSX, added -prebind option to link phase for executable (and
framework, if applicable). This speeds up startup time by up to 50%.
2003-01-20 10:47:48 +00:00
Barry Warsaw 2c71ad3d72 Install email/test, email/test/data and bsddb/test subdirectories. 2003-01-20 01:13:21 +00:00
Martin v. Löwis 01f43118f7 Use RUNSHARED for python invocations. Fixes #661408. 2003-01-03 20:39:29 +00:00
Skip Montanaro decc6a47df Split OPT make variable into OPT and BASECFLAGS. The latter contains those
compiler flags which are necessary to get a clean compile.  The former is
for user-specified optimizer, debug, trace fiddling.  See patch 640843.

Add /sw/lib and /sw/include to setup.py search paths on Darwin to take
advantage of fink goodies.

Add scriptsinstall target to Makefile to install certain scripts from
Tools/scripts directory.
2003-01-01 20:07:49 +00:00
Guido van Rossum 5ee95474c1 Revert SF patch 659809 -- it causes double options that can cause breakage. 2002-12-31 13:48:29 +00:00
Jack Jansen 83f898c86c Adapted for the move of Mac/Lib to Lib/plat-mac. Makefile.pre.in now
knows about plat-mac subdirectories, and configure adds a variable
EXTRAPLATDIR. These together take care of copying Lib/plat-mac to
the destination on darwin.

Adding plat-mac is still done with a .pth file which is only created when
you do a framework build. I'm not 100% happy with this, but fixing it
really needs a functional pythonw in non-framework builds, and I don't
think I can do that before 2.3a1 (but I'll try:-).
2002-12-30 22:23:40 +00:00
Guido van Rossum acd738feb3 SF patch 659809, by Daniel Brotsky: fix Makefile.pre to use config
env.

This adds @CFLAGS@  and @CPPFLAGS@ to the end of the respective
variable definitions.  It also adds $(LDFLAGS) to the $(CC) invocation
to build $(PGEN).
2002-12-30 21:04:23 +00:00
Martin v. Löwis 8f8d1d2140 Patch #642020: Pass down prefix, BINDIR, and DESTSHARED to idleinstall. 2002-11-21 20:29:57 +00:00
Andrew M. Kuchling b9a21ad74d Add Lib/bsddb to list of installed directories 2002-11-19 13:31:16 +00:00
Neal Norwitz de1d51fc12 Fix SF # 638126, logging module not installed 2002-11-14 04:56:09 +00:00
Martin v. Löwis dc46175dc3 Add --check-tkinter to setup.py. Install IDLE. Fixes #634078. 2002-11-06 21:59:33 +00:00
Guido van Rossum d4f7da3cd7 Add .PHONY targets, to declare targets that aren't real files.
Immediate benefit: when you use "make -t" to avoid a global recompile
after a trivial header file touchup, Make will no longer create files
named all, oldsharedmods, and sharedmods.

(Not sure if I tracked down all such targets.  Not sure if I care.)
2002-10-10 15:04:04 +00:00
Guido van Rossum a29eafa614 Suppress warnings when byte-compiling the installed library modules.
This seems the sanest thing to do.
2002-08-29 15:04:37 +00:00
Guido van Rossum ed2f725f7d Whitespace normalization. 2002-08-09 19:18:25 +00:00
Jack Jansen 1403b9fecd When installing the "python" link in bindir also test for a pre-existing
symlink and remove it.
2002-08-09 14:42:57 +00:00
Jack Jansen cb4321eb17 By popular demand the frameworkinstall target now installs everything:
the framework, the MacOSX apps and the unix tools.
Most of the hard work is done by Mac/OSX/Makefile.

Also, it should now be possible to install in a different directory,
such as /tmp/dist/Library/Frameworks, for building binary installers.
The fink crowd wanted this.
2002-08-09 00:18:21 +00:00
Jack Jansen 3a451b1d19 In the altbininstall target, which is the first subtarget for "make install",
if we are running in an OSX framework enabled build directory, test that
the framework infrastructure exists. This catches the very common
error of doing "make install" in stead of "make frameworkinstall".
2002-08-06 13:40:31 +00:00
Jack Jansen c736b8df09 Use the -n option of ln in stead of -h, as it also works with other ln's
people may have (fink, gnu).
2002-08-04 21:17:20 +00:00
Martin v. Löwis 00f1e3f5a5 Patch #534304: Implement phase 1 of PEP 263. 2002-08-04 17:29:52 +00:00
Jack Jansen d5049e734f Replaced python.app target with osxapps (it builds more than
one .app nowadays) and fixed it to work.
2002-08-02 11:24:11 +00:00
Jack Jansen ea0c3828c0 - Get _environ through the NSEnviron call in a MacOSX framework. This allows
us to completely decouple the framework from the executable, so we
  can use a two-level namespace.
- Do framework builds with a twolevel namespace.
- Reorganized the code that creates the minimal framework in the build
  directory, to make it more robust against incomplete frameworks (from
  earlier aborted builds, or builds of previous Python versions).
2002-08-01 21:57:49 +00:00
Guido van Rossum fb0e545c85 Get rid of the DEFS variable. The only thing this was used for was to
pass -DHAVE_CONFIG_H to CC, and that symbol isn't used any more.
2002-07-30 19:06:51 +00:00
Jason Tishler c0f1e7749c Patch #553702: Cygwin make install patch
This patch fixes make install for Cygwin. Specifically,
it reverts to the previous behavior:

o install libpython$(VERSION)$(SO) in $(BINDIR)
o install $(LDLIBRARY) in $(LIBPL)

It also begins to remove Cygwin's dependency on
$(DLLLIBRARY) which I hope to take advantage of
when I attempt to make Cygwin as similar as possible
to the other Unix platforms (in other patches).

I tested this patch under Red Hat Linux 7.1 without
any ill effects.

BTW, I'm not the happiest using the following
test for Cygwin:

test "$(SO)" = .dll

I'm willing to update the patch to use:

case "$(MACHDEP)" in cygwin*

instead, but IMO that will look uglier.
2002-07-29 16:18:23 +00:00
Mark Hammond 8235ea1c3a Land Patch [ 566100 ] Rationalize DL_IMPORT and DL_EXPORT. 2002-07-19 06:55:41 +00:00
Jeremy Hylton 57d930bd3c Add test_zlib and test_struct to list of slow tests 2002-07-17 15:55:09 +00:00
Jack Jansen 0b06be7b0b Patch #557719 by Tony Lownds, slightly massaged by me: streamline the
OSX framework build process. Things fixed/modified:
- the filesystem case-sensitivity test now works for builds outside
  the source directory
- various other fixes for building outside the source directory
- python.app now has a target in the main Makefile
- WASTE and AquaTk are found more automatically
2002-06-21 14:48:38 +00:00
Martin v. Löwis f90ae20354 Patch #488073: AtheOS port. 2002-06-11 06:22:31 +00:00
Jason Tishler 5cc21aee0b Patch #553678: Cygwin Makefile.pre.in vestige patch
This patch removes a vestige part of the Cygwin make rules
that didn't quite make it over during the flattening of the
Makefiles. In its current form, it creates a def file but
incorrectly calls it libpython$(VERSION).dll.a which
immediately gets overwritten by the next command.
Obviously, this is useless. It appears, it was useless
in the old nested Makefile structure too. :,)
2002-05-15 11:32:35 +00:00
Martin v. Löwis d8a20d21d7 Patch #553230: Create LIBDIR if necessary. Bugfix candidate. 2002-05-08 08:59:59 +00:00
Guido van Rossum 7dab2426ca - New builtin function enumerate(x), from PEP 279. Example:
enumerate("abc") is an iterator returning (0,"a"), (1,"b"), (2,"c").
  The argument can be an arbitrary iterable object.
2002-04-26 19:40:56 +00:00
Neil Schemenauer fd1030e166 pgen now needs pymalloc 2002-04-22 03:05:25 +00:00
Martin v. Löwis 2d7e264762 Eliminate use of LIBOBJS which is an error in autoconf 2.53. 2002-04-05 16:50:53 +00:00
Guido van Rossum 77f6a65eb0 Add the 'bool' type and its values 'False' and 'True', as described in
PEP 285.  Everything described in the PEP is here, and there is even
some documentation.  I had to fix 12 unit tests; all but one of these
were printing Boolean outcomes that changed from 0/1 to False/True.
(The exception is test_unicode.py, which did a type(x) == type(y)
style comparison.  I could've fixed that with a single line using
issubtype(x, type(y)), but instead chose to be explicit about those
places where a bool is expected.

Still to do: perhaps more documentation; change standard library
modules to return False/True from predicates.
2002-04-03 22:41:51 +00:00
Martin v. Löwis 1142de3f5b Patch #527027: Allow building python as shared library. 2002-03-29 16:28:31 +00:00
Tim Peters 1221c0a435 Build obmalloc.c directly instead of #include'ing from object.c.
Also move all _PyMalloc_XXX entry points into obmalloc.c.

The Windows build works fine.
The Unix build is changed here (Makefile.pre.in), but not tested.
No other platform's build process has been fiddled.
2002-03-23 00:20:15 +00:00
Guido van Rossum c948966fc4 SF patch #524005 by Paul Eggert.
Use posixly correct sort args.

Bugfix candidate.
2002-02-28 19:26:08 +00:00
Jack Jansen 246debbbc2 Two OSX fixes related to switching Python versions in an existing sourcetree:
- Create the Python.framework/Versions/$(VERSION) dir if it doesn't exist
- Override existing symlinks in the framework.
2002-02-12 21:30:53 +00:00
Martin v. Löwis 9741dc96f3 Use BLDLIBRARY to build extension modules. Fixes #504252.
2.2.1 candidate.
2002-01-17 12:30:12 +00:00
Jack Jansen 0d1536654d When running regen for the plat directories we should use the BUILDEXT
extension, not the EXT one, as regen uses the python binary in the build
directory. Fixes #493959.
2001-12-19 09:24:40 +00:00
Jack Jansen 1999ef4973 Test wether we are building on a case-insensitive filesystem (such
as OSX HFS+) and if so add an extension to the python executable, but
only in the build directory, not on the installed python.
2001-12-06 21:47:20 +00:00
Guido van Rossum f227252c21 The parser now also needs to link with mysnprintf.o. 2001-12-04 03:54:08 +00:00
Tim Peters 1ca1296157 The parser doesn't need its own implementation of assert, and having its
own interfered with including Python.h.  Remove Python's assert.h.
2001-12-04 03:18:48 +00:00
Barry Warsaw f4c20d354c LIBSUBDIRS: Add test/data so it gets installed and test_email.py can
pass.  Closes SF # 485080
2001-12-03 18:51:41 +00:00
Martin v. Löwis 06f15bbcc4 Compute thread headers through shell expansion in configure.
Fixes #485679.
2001-12-02 13:02:32 +00:00
Martin v. Löwis 2b4d580a41 Add hotshot to LIBSUBDIRS. Fixes #484642. 2001-11-24 09:39:05 +00:00
Fred Drake 41a1b07636 Now that Misc/Makefile.pre.in is gone, do not attempt to install it. 2001-10-26 19:48:06 +00:00
Guido van Rossum 67b2659046 Patch from SF bug #473150: configure weaknesses on HP-UX (Michael Piotrowski)
1. configure doesn't handle HP-UX release numbers
    (e.g., B.11.00), resulting in MACHDEP = "hpuxB".

    2. After checking for wchar.h, configure doesn't
    include it when checking the size of wchar_t.

    (Python 2.2b1 on HP-UX 11.00)
2001-10-20 14:21:45 +00:00
Guido van Rossum 98bf58f1c6 SF patch #462296: Add attributes to os.stat results; by Nick Mathewson.
This is a big one, touching lots of files.  Some of the platforms
aren't tested yet.  Briefly, this changes the return value of the
os/posix functions stat(), fstat(), statvfs(), fstatvfs(), and the
time functions localtime(), gmtime(), and strptime() from tuples into
pseudo-sequences.  When accessed as a sequence, they behave exactly as
before.  But they also have attributes like st_mtime or tm_year.  The
stat return value, moreover, has a few platform-specific attributes
that are not available through the sequence interface (because
everybody expects the sequence to have a fixed length, these couldn't
be added there).  If your platform's struct stat doesn't define
st_blksize, st_blocks or st_rdev, they won't be accessible from Python
either.

(Still missing is a documentation update.)
2001-10-18 20:34:25 +00:00
Guido van Rossum b33e789cb8 SF patch #471894: Makefile installs pydoc incorrectly
Add --install-scripts=$(BINDIR) argument to "setup.py install"
invocation.
2001-10-17 06:26:53 +00:00
Fred Drake 502ed82125 Add dependencies for the weakref object. 2001-10-05 21:56:02 +00:00
Guido van Rossum bb29b9c952 Clarify the warning about the relative dates of Setup.dist and Setup;
Jeremy had seen the warning but not realized what he should do about
it.  Add the hint "Usually, copying Setup.dist to Setup will work."
2001-09-29 00:42:19 +00:00
Andrew M. Kuchling 76d62b4e79 Install the new compiler and email packages 2001-09-28 20:29:15 +00:00
Guido van Rossum 427ce80df6 Sort the headers in PYTHON_HEADERS alphabetically. Add
structmember.h, which was missing (and caused me a snide comment by
Tim when he fixed something I missed because of the missed dependency
:-).
2001-09-18 02:40:21 +00:00
Guido van Rossum 1140cb2b9e When MAKEFLAGS contains '-s', invoke setup.py with '-q', to silence
its normally chatty nature.

(This completes a side project to make "make -s" truly silent unless
errors occur.)
2001-09-12 18:59:25 +00:00
Jack Jansen 127e56e5e8 When frameworks are not enabled don't put an empty target in the Makefile.
Older make's can apparently choke on this.
2001-09-11 14:41:54 +00:00
Neil Schemenauer 9c63e6d682 Always compile gcmodule. 2001-08-29 23:44:38 +00:00
Guido van Rossum 9454ad7263 Add dependencies for Python/thread.c on all of the header files that
it may depend on.  It's really annoying that thread.o doesn't get
rebuilt when the .h file is changed! :-)

The dependency is on *all* the Python/thread_*.h files -- that should
be sufficient and rarely cause unneeded recompilations.
2001-08-18 21:08:22 +00:00
Jack Jansen a8278cc37e The OSX framework Headers symlink pointed the wrong way. Fixed.
Bill Fancher found this one.
2001-08-17 22:37:02 +00:00
Martin v. Löwis 339d0f720e Patch #445762: Support --disable-unicode
- Do not compile unicodeobject, unicodectype, and unicodedata if Unicode is disabled
- check for Py_USING_UNICODE in all places that use Unicode functions
- disables unicode literals, and the builtin functions
- add the types.StringTypes list
- remove Unicode literals from most tests.
2001-08-17 18:39:25 +00:00
Guido van Rossum 7cb32ae7bf Strip trailing whitespace, including two lines containing only one or
more tabs that XEmacs Makefile mode found suspicious.
2001-08-17 15:32:31 +00:00
Jack Jansen b6e9cad34c Lots of changes in the framework support:
- Made framework builds work for MacOSX. The configure arg is now
  "--enable-framework".
- Added an install target frameworkinstall which installs the framework.
- Ripped out Next/OpenStep support, which was broken anyway.
- Made the MacOSX toolbox glue dependant on a --enable-toolbox-glue
  configure arg. This should make naked darwin build work again (untested).

A few targets have been added to Makefile.pre.in, and on inspection they
look harmless to non-MacOSX machines, but it is worth checking.

Closes bug #420601 and patch #450350.
2001-08-15 01:26:28 +00:00
Martin v. Löwis ab0cad520d Pass the Makefile's value of CC and LDSHARED to the environment of setup.py.
This fixes the problem reported in bug report #438786.
2001-08-10 20:18:26 +00:00
Jack Jansen 086d22fdb4 Removed special rule for Mac/Python/macglue.o, it is not needed anymore. 2001-08-08 13:18:36 +00:00
Martin v. Löwis d429ab6df9 Take MANDIR and INCLUDEDIR from configure. Fixes bug #446671. 2001-08-02 06:20:20 +00:00
Tim Peters 6d6c1a35e0 Merge of descr-branch back into trunk. 2001-08-02 04:15:00 +00:00
Marc-André Lemburg e5006ebc9d This patch turns the Python API mismatch notice into a standard
Python warning which can be catched by means of the Python warning
framework.

It also adds two new APIs which hopefully make it easier for Python
to switch to buffer overflow safe [v]snprintf() APIs for error
reporting et al. The two new APIs are PyOS_snprintf() and
PyOS_vsnprintf() and work just like the standard ones in many
C libs. On platforms which have snprintf(), the native APIs are used,
on all other an emulation with snprintf() tries to do its best.
2001-07-31 13:24:44 +00:00
Martin v. Löwis 4f1cd8bdcb Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
Neil Schemenauer 7d4bb9f179 Add -E command line switch (ignore environment variables like PYTHONHOME
and PYTHONPATH).
2001-07-23 16:30:27 +00:00
Guido van Rossum e31c2eeb41 Thomas, I don't care about unset either, but setting PYTHONHOME=
doesn't work -- it actually prevents the extensions from being built
properly.  So I'm changing the "sharedmods" target to what I presume
it was before:
	PYTHONPATH= ./$(PYTHON) $(srcdir)/setup.py build
2001-07-19 15:17:52 +00:00
Martin v. Löwis 130fb17578 Patch #418659: Fixes for UnixWare and ReliantUnix.
back-out 1.215 of configure.in and 1.34 of Makefile.pre.in
Check for -Kpthread compiler support, and use this as the sole option
for MT if available.
2001-07-19 11:00:41 +00:00
Thomas Wouters ee6a4a28ce Avoid the use of 'unset', which isn't available on all platforms. Fixes SF
bug #442627.
2001-07-19 09:34:09 +00:00
Jack Jansen c49e5b7386 Added a MACHDEP_OBJS to the python link. Use this on MacOSX to include
Mac/macglue.c into the core interpreter. This file contains the glue code that
allows extension modules for Mac toolboxes to live in different shared libraries
but still communicate with each other. The glue code is controlled by the
USE_MAC_TOOLBOX_GLUE define.
2001-06-19 15:00:23 +00:00
Guido van Rossum 1d88c59f75 Acknowledge the existence of the 'platform' file, generated by the
Makefile and used by the setup.py script.  Ignore it in .cvsignore;
remove it in "make clobber".
2001-06-06 17:51:57 +00:00
Neil Schemenauer 89e90d67aa Separate CFLAGS and CPPFLAGS. CFLAGS should not contain preprocessor
directives, which is the role of CPPFLAGS.  Closes SF patch #414991.
2001-06-02 06:16:02 +00:00
Guido van Rossum 59d1d2b434 Iterators phase 1. This comprises:
new slot tp_iter in type object, plus new flag Py_TPFLAGS_HAVE_ITER
new C API PyObject_GetIter(), calls tp_iter
new builtin iter(), with two forms: iter(obj), and iter(function, sentinel)
new internal object types iterobject and calliterobject
new exception StopIteration
new opcodes for "for" loops, GET_ITER and FOR_ITER (also supported by dis.py)
new magic number for .pyc files
new special method for instances: __iter__() returns an iterator
iteration over dictionaries: "for x in dict" iterates over the keys
iteration over files: "for x in file" iterates over lines

TODO:

documentation
test suite
decide whether to use a different way to spell iter(function, sentinal)
decide whether "for key in dict" is a good idea
use iterators in map/filter/reduce, min/max, and elsewhere (in/not in?)
speed tuning (make next() a slot tp_next???)
2001-04-20 19:13:02 +00:00
Jeremy Hylton 12b6457e24 Fix compileall.py so that it fails on SyntaxErrors
The changes cause compilation failures in any file in the Python
installation lib directory to cause the install to fail.  It looks
like compileall.py intended to behave this way, but a change to
py_compile.py and a separate bug defeated it.

Fixes SF bug #412436

This change affects the test suite, which contains several files that
contain intentional errors.  The solution is to extend compileall.py
with the ability to skip compilation of selected files.

NB compileall.py is changed so that compile_dir() returns success only
if all recursive calls to compile_dir() also check success.
2001-04-18 01:20:21 +00:00
Guido van Rossum cd0ed971f2 Remove shared libraries as part of "make clean" rather than in "make
clobber".  This is done so that after a "make clean", setup.py will
also recompile all extensions.
2001-04-14 17:57:07 +00:00
Guido van Rossum 2242f2fbd0 Unixware 7 support by Billy G. Allie (SF patch 413011) 2001-04-11 20:58:20 +00:00
Neil Schemenauer 3f5cc20813 Use INSTALL_SCRIPT to install script files. INSTALL_PROGRAM may try to
strip them.  Closes patch #406287.
2001-04-10 23:03:35 +00:00
Guido van Rossum 4e6a7a626d Make on Alpha Tru64 5.1 (as installed on the SF compile farm) doesn't
think that a command starting with '#' is a comment, so move the one
comment in such a position (in the rule for building $(LIBRARY)) to a
harmless position.
2001-04-09 22:23:22 +00:00
Neil Schemenauer 64b1b686d1 - Remove WITH makefile variable. Its not used for anything.
- Add CONFIG_ARGS variable and use it to re-run configure rather than
  using config.status.  This prevents an infinite loop if configure
  dies while re-configuring.
2001-03-22 00:32:32 +00:00
Neil Schemenauer cf20d4f5ad Install the Python DLL with execute priviledge set. This is required for
Cygwin Python to startup correctly when in ntsec mode.  Cygwin operating in
this mode is probably not the only system with this requirement.
2001-03-16 11:50:43 +00:00
Fred Drake a1a84e7d4f Move all knowledge that $(MAINOBJ) is built in the Modules/ directory
into Makefile.pre.in; the configure script will only determine the basename
of the file.

This fixes installation of a Python built using C++, reported by Greg
Wilson.
2001-03-06 05:52:16 +00:00
Barry Warsaw 4211925453 Added `memtest' target which excludes the quicktest modules plus
test_dl, test___all__, test_fork1, and test_longexp.  All these either
take way too long with Insure or crash it.
2001-03-03 04:14:21 +00:00
Guido van Rossum cd81ea1708 Use
find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f

to remove all .py[co] files before testing, rather than just those in
the Lib/test directory.  "find" is used all over the Makefile so I
suppose it's safe; how about xargs?
2001-03-01 00:36:53 +00:00
Jeremy Hylton 4db62b1e14 Improved __future__ parser; still more to do
Makefile.pre.in: add target future.o

Include/compile.h: define PyFutureFeaters and PyNode_Future()
                   add c_future slot to struct compiling

Include/symtable.h: add st_future slot to struct symtable

Python/future.c: implementation of PyNode_Future()

Python/compile.c: use PyNode_Future() for nested_scopes support

Python/symtable.c: include compile.h to pick up PyFutureFeatures decl
2001-02-27 19:07:02 +00:00
Neil Schemenauer cf9926ca8d Change EXEEXT back to EXE in the Makefile. Other tools may depend on the name.
The name in configure is still EXEEXT because that's what autoconf calls it.
Also, replace a few occurrences of "python" with "$(PYTHON)".
2001-02-27 18:50:56 +00:00
Neil Schemenauer a35c688055 Add Vladimir Marangozov's object allocator. It is disabled by default. This
closes SF patch #401229.
2001-02-27 04:45:05 +00:00
Neil Schemenauer 40417746fa Add missing dependents of graminit.h. 2001-02-27 02:45:36 +00:00
Neil Schemenauer 7cd124c7d2 Generate grammar source files in srcdir. Ignore the error if they cannot
be created (perhaps the source directory is read-only).
2001-02-27 02:19:16 +00:00
Neil Schemenauer c5cfcb4a48 Fix bug in clean target (closes SF patch 103864 and bug 132879). The clobber
target now removes some configure files (like it did before).
2001-02-19 04:35:11 +00:00
Andrew M. Kuchling 0eb24d9328 Set PYTHONPATH when running setup.py in order to override any ambient
value for it, as suggested in bug #129854.  This prevents an old
    PYTHONPATH confusing setup.py (say, if it results in Python finding
    an old version of the Distutils)
2001-02-17 05:33:50 +00:00
Neil Schemenauer 2b2681ac3e Remove confusing explaination about altinstall target and refer to
the README file.
2001-02-16 04:16:34 +00:00
Neil Schemenauer 92538fbf85 Build grammar files in their proper place rather than moving them. This should
allow building with a read-only source tree (although I haven't tried it).
2001-02-16 03:59:53 +00:00
Neil Schemenauer 75e33892f8 Simplify linking on BeOS. Rename some files. Closes SF patch #103679. 2001-02-16 03:36:53 +00:00
Neil Schemenauer 8d3274e053 Specify directory permissions properly. Closes SF patch #103717. 2001-02-10 20:07:38 +00:00
Jeremy Hylton cb17ae8b19 Relax the rules for using 'from ... import *' and exec in the presence
of nested functions.  Either is allowed in a function if it contains
no defs or lambdas or the defs and lambdas it contains have no free
variables.  If a function is itself nested and has free variables,
either is illegal.

Revise the symtable to use a PySymtableEntryObject, which holds all
the revelent information for a scope, rather than using a bunch of
st_cur_XXX pointers in the symtable struct.  The changes simplify the
internal management of the current symtable scope and of the stack.

Added new C source file: Python/symtable.c.  (Does the Windows build
process need to be updated?)

As part of these changes, the initial _symtable module interface
introduced in 2.1a2 is replaced.  A dictionary of
PySymtableEntryObjects are returned.
2001-02-09 22:22:18 +00:00
Neil Schemenauer ac959779f0 Install shared modules enabled by Setup* in $(DESTSHARED) not
$(DESTSHARED)/Modules.
2001-02-06 14:50:27 +00:00
Neil Schemenauer e0d435777c Tweak clean targets yet again. 2001-02-03 17:16:29 +00:00
Jeremy Hylton 96da8b6d88 add compile.h and symtable.h to list of header files 2001-02-02 19:54:23 +00:00
Jeremy Hylton 26d1f14433 Undo recent exclusion of test_fork1 and test_zlib. These tests don't
trigger my arbitrary exlusion rule, which is: takes more than 10
seconds of wall clock time on my machine.  If these tests are going to
be skipped, then a boatload of slower tests should be skipped, too.
2001-02-02 18:12:16 +00:00
Fred Drake 042f3137ba Added fork1, linuxaudiodev, sunaudiodev, and zlib to the tests skipped
by the quicktest target.
2001-02-02 03:03:33 +00:00
Jeremy Hylton 2a850d91bc add quicktest target -- runs test suite except for the eight slowest tests 2001-02-01 19:51:28 +00:00
Andrew M. Kuchling bddd878cd5 Restore the automatic use of the oldsharedmods and oldsharedinstall targets 2001-01-29 20:18:59 +00:00
Sjoerd Mullender 30be8708c5 Don't use $< in normal make rules: it's not portable. Using $< in
inference rules (e.g. .c.o) is fine.
2001-01-29 09:39:14 +00:00
Neil Schemenauer 188218232d - Fix buildno dependencies (I hope).
- Change one last EXE to EXEEXT.
2001-01-27 21:42:38 +00:00
Andrew M. Kuchling 03184e2815 Remaining single-line change from patch #102409: to install shared modules,
run setup.py with the --install-platlib flag so you can override
   'prefix' when running make (e.g. make prefix=/tmp/python/usr/local install)

Instead of using mkdir to create directories, use install -d (mkdir -p
   apparently isn't portable)

Emacs make-mode reported line 371 as suspicious; removed the whitespace from
   that line.
2001-01-26 22:52:45 +00:00
Neil Schemenauer 7ac954b7f6 - Add CFLAGSFORSHARED variable. configure sets this to CCSHARED if LDLIBRARY
is a shared library.
- Add PY_CFLAGS variable (flags used to compile the interpreter)
- clobber now just removes object files, libraries and binaries
2001-01-26 16:14:41 +00:00
Neil Schemenauer f65e500594 Make module objects from Setup depend on Python.h headers. 2001-01-25 20:07:50 +00:00
Jeremy Hylton fbd849f201 PEP 227 implementation
A cell contains a reference to a single PyObject.  It could be
implemented as a mutable, one-element sequence, but the separate type
has less overhead.
2001-01-25 20:04:14 +00:00
Neil Schemenauer 85515ad979 Flat makefile based on toplevel Makefile.in and makefiles in build
subdirectories.  Those other makefiles will go away eventually.
2001-01-24 17:11:43 +00:00