Commit Graph

234 Commits

Author SHA1 Message Date
Ronald Oussoren 836b039b7c Rework the build system for osx applications:
* Don't use xcodebuild for building PythonLauncher, but use a normal unix
  makefile. This makes it a lot easier to use the same build flags as for the
  rest of python (e.g. make a universal version of python launcher)
* Convert the mac makefile-s to makefile.in-s and use configure to set makefile
  variables instead of forwarding them as command-line arguments
* Add a C version of pythonw, that we you can use '#!/usr/local/bin/pythonw'
* Build IDLE.app using bundlebuilder instead of BuildApplet, that will allow
  easier modification of the bundle contents later on.
2006-05-14 19:56:34 +00:00
Ronald Oussoren 988117fd63 Patch 1471883: --enable-universalsdk on Mac OS X 2006-04-29 11:31:35 +00:00
Brett Cannon ab012af6ed Added a pycremoval rule. Called by clean, it removes all .pyc and .pyo files.
Handy to have as a separate rule from clean when mucking around with bytecode
generation.
2006-04-18 23:58:52 +00:00
Phillip J. Eby cea434c69f It's probably a good idea to actually *install* setuptools, too. ;) 2006-04-18 04:34:50 +00:00
Martin v. Löwis 4be4e657e0 Add reindent target. 2006-04-17 19:25:49 +00:00
Martin v. Löwis c90b17ec82 Patch #1161914: Add python-config. 2006-04-15 08:13:05 +00:00
Martin v. Löwis 7580149bde Patch #1355883: Build Python-ast.c and Python-ast.h
independently. Fixes #1355883.
2006-04-14 15:02:32 +00:00
Martin v. Löwis 0f48d98b74 Patch #1324762: Change --with-cxx to --with-cxx-main. 2006-04-14 14:34:26 +00:00
Thomas Heller fc9fc4764f ctypes.macholib is needed. 2006-04-03 20:10:50 +00:00
Skip Montanaro 353aa8772a Make needs to be told to install sqlite 2006-04-03 16:40:10 +00:00
Armin Rigo efb6e752cf add the ctypes.test subpackage to a normal Unix installation --
otherwise, test/test_ctypes.py fails.  What about ctypes.macholib?
2006-03-28 20:30:45 +00:00
Hye-Shik Chang dfbd34c80f Cosmetic improvement for r43247 2006-03-23 12:12:44 +00:00
Hye-Shik Chang 55f316c390 Skip to install files for empty directories; to name it, Lib/lib-old.
BSD make stops the build when it tries to expand wild cards on empty
directories.
2006-03-23 12:04:37 +00:00
Barry Warsaw d6316a9fea Add email/mime to LIBSUBDIRS. Fixes SF bug # 1454912. 2006-03-22 14:57:54 +00:00
Thomas Heller 922ff4a321 Don't delete non-autogenerated source files when cleaning up. 2006-03-16 07:33:49 +00:00
Thomas Heller d77eb1ff43 In 'make clean', delete some files that are generated by the _ctypes/libffi
configure step.
2006-03-15 08:34:38 +00:00
Martin v. Löwis bfa8bd7b65 Let the buildbot make a single pass in the test suite only. 2006-03-13 10:59:32 +00:00
Thomas Heller cf567c1b9c Changes to build the _ctypes extension module.
Based on a patch from Hye-Shik Chang.
2006-03-08 19:51:58 +00:00
Neal Norwitz df431657fd Allow buildbot to pass extra test flags to regrtest (specifically -r) via the environment. 2006-02-22 07:24:06 +00:00
Martin v. Löwis c5bf5a00a3 Always set SVNVERSION to "exported" if it otherwise fails. 2006-01-05 10:33:59 +00:00
Martin v. Löwis dea59e5755 Stop maintaining the buildno file.
Also, stop determining Unicode sizes with PyString_GET_SIZE.
2006-01-05 10:00:36 +00:00
Neal Norwitz f2d66fe1ec Try to make svnversion test more portable, based on Sjoerd's suggestion 2006-01-05 06:38:15 +00:00
Barry Warsaw 6bfd8de9e6 SF bug #1395926: Also test for svnversion command on $PATH before using it to
calculate the build number.
2006-01-03 14:30:55 +00:00
Neal Norwitz 1a196b5db8 As discussed on python-dev, don't remove Python-ast.[ch] with distclean
even though they are generated.  Since these files require Python 2.2+,
it's possible they can't be created on a fresh system.
2006-01-03 01:38:53 +00:00
Barry Warsaw ce3a9131c3 Revert most of r41765. Don't use $Revision$ in Py_GetBuildNumber(). Keep the
use of $(srcdir) in Makefile.pre.in so builds outside the source dir still
work.
2005-12-19 14:43:44 +00:00
Barry Warsaw a3bdc2c2a5 Handle a couple of use cases discussed in python-dev w.r.t. calculating the
Subversion revision number.

First, in an svn export, there will be no .svn directory, so use an in-file
$Revision$ keyword string with the keyword chrome stripped off.

Also, use $(srcdir) in the Makefile.pre.in to handle the case where Python is
build outside the source tree.
2005-12-18 22:46:35 +00:00
Barry Warsaw 2a38a86c1c Expose Subversion revision number (calculated via "svnversion .") to Python.
Add C API function Py_GetBuildNumber(), add it to the interactive prompt
banner (i.e. Py_GetBuildInfo()), and add it as the sys.build_number
attribute.  The build number is a string instead of an int because it may
contain a trailing 'M' if there are local modifications.
2005-12-18 01:27:35 +00:00
Neal Norwitz adb69fcdff Merge from ast-arena. This reduces the code in Python/ast.c by ~300 lines,
simplifies a lot of error handling code, and fixes many memory leaks.
2005-12-17 20:54:49 +00:00
Fredrik Lundh d39683396b fixed installation of xmlcore libraries (including xmlcore.etree) 2005-12-14 17:36:36 +00:00
Skip Montanaro f6a904456e delete Python-ast.[ch] in distclean 2005-11-13 15:54:15 +00:00
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