diff options
author | Ronald Oussoren <ronaldoussoren@mac.com> | 2006-06-07 19:06:01 (GMT) |
---|---|---|
committer | Ronald Oussoren <ronaldoussoren@mac.com> | 2006-06-07 19:06:01 (GMT) |
commit | 2db3a8f73ea74dd9403ce558e360f4583419a998 (patch) | |
tree | c4b77be7fe3c09750f806bb704e77401f22a66e0 | |
parent | 32f5d8f1b153be33be42df82eb0f04c42006db54 (diff) | |
download | cpython-2db3a8f73ea74dd9403ce558e360f4583419a998.zip cpython-2db3a8f73ea74dd9403ce558e360f4583419a998.tar.gz cpython-2db3a8f73ea74dd9403ce558e360f4583419a998.tar.bz2 |
And the last bit: move IDLE one level up and adjust makefiles
-rw-r--r-- | Mac/IDLE/Info.plist | 55 | ||||
-rw-r--r-- | Mac/IDLE/Makefile.in | 54 | ||||
-rw-r--r-- | Mac/IDLE/config-extensions.def | 88 | ||||
-rw-r--r-- | Mac/IDLE/config-main.def | 79 | ||||
-rw-r--r-- | Mac/IDLE/idlemain.py | 27 | ||||
-rw-r--r-- | Makefile.pre.in | 16 | ||||
-rwxr-xr-x | configure | 32 | ||||
-rw-r--r-- | configure.in | 24 |
8 files changed, 350 insertions, 25 deletions
diff --git a/Mac/IDLE/Info.plist b/Mac/IDLE/Info.plist new file mode 100644 index 0000000..bbe2ea1 --- /dev/null +++ b/Mac/IDLE/Info.plist @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleDocumentTypes</key> + <array> + <dict> + <key>CFBundleTypeExtensions</key> + <array> + <string>py</string> + <string>pyw</string> + </array> + <key>CFBundleTypeIconFile</key> + <string>PythonSource.icns</string> + <key>CFBundleTypeName</key> + <string>Python Script</string> + <key>CFBundleTypeRole</key> + <string>Editor</string> + </dict> + <dict> + <key>CFBundleTypeExtensions</key> + <array> + <string>pyc</string> + <string>pyo</string> + </array> + <key>CFBundleTypeIconFile</key> + <string>PythonCompiled.icns</string> + <key>CFBundleTypeName</key> + <string>Python Bytecode Document</string> + <key>CFBundleTypeRole</key> + <string>Editor</string> + </dict> + </array> + <key>CFBundleExecutable</key> + <string>IDLE</string> + <key>CFBundleGetInfoString</key> + <string>2.5, © 001-2006 Python Software Foundation</string> + <key>CFBundleIconFile</key> + <string>IDLE.icns</string> + <key>CFBundleIdentifier</key> + <string>org.python.IDLE</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>IDLE</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>2.5</string> + <key>CFBundleVersion</key> + <string>2.5</string> +</dict> +</plist> diff --git a/Mac/IDLE/Makefile.in b/Mac/IDLE/Makefile.in new file mode 100644 index 0000000..7359aae --- /dev/null +++ b/Mac/IDLE/Makefile.in @@ -0,0 +1,54 @@ +prefix=@prefix@ +CC=@CC@ +LD=@CC@ +BASECFLAGS=@BASECFLAGS@ +OPT=@OPT@ +CFLAGS=$(BASECFLAGS) $(OPT) +LDFLAGS=@LDFLAGS@ +srcdir= @srcdir@ +VERSION= @VERSION@ +UNIVERSALSDK=@UNIVERSALSDK@ +builddir= ../.. + +RUNSHARED= @RUNSHARED@ +BUILDEXE= @BUILDEXEEXT@ +BUILDPYTHON= $(builddir)/python$(BUILDEXE) + +# Deployment target selected during configure, to be checked +# by distutils +MACOSX_DEPLOYMENT_TARGET=@CONFIGURE_MACOSX_DEPLOYMENT_TARGET@ +@EXPORT_MACOSX_DEPLOYMENT_TARGET@export MACOSX_DEPLOYMENT_TARGET + +BUNDLEBULDER=$(srcdir)/../../Lib/plat-mac/bundlebuilder.py + +PYTHONAPPSDIR=/Applications/MacPython $(VERSION) + +all: IDLE.app + +install: IDLE.app $(srcdir)/config-main.def $(srcdir)/config-extensions.def + test -d "$(DESTDIR)$(PYTHONAPPSDIR)" || mkdir -p "$(DESTDIR)$(PYTHONAPPSDIR)" + -test -d "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app" && rm -r "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app" + cp -PR IDLE.app "$(DESTDIR)$(PYTHONAPPSDIR)" + touch "$(DESTDIR)$(PYTHONAPPSDIR)/IDLE.app" + cp $(srcdir)/config-main.def "$(DESTDIR)$(prefix)/lib/python$(VERSION)/idlelib/config-main.def" + cp $(srcdir)/config-extensions.def "$(DESTDIR)$(prefix)/lib/python$(VERSION)/idlelib/config-extensions.def" + +clean: + rm -rf IDLE.app + +IDLE.app: \ + $(srcdir)/../Icons/IDLE.icns $(srcdir)/idlemain.py \ + $(srcdir)/../Icons/PythonSource.icns \ + $(srcdir)/../Icons/PythonCompiled.icns + rm -fr IDLE.app + $(RUNSHARED) $(BUILDPYTHON) $(BUNDLEBULDER) \ + --builddir=. \ + --name=IDLE \ + --link-exec \ + --plist=$(srcdir)/Info.plist \ + --mainprogram=$(srcdir)/idlemain.py \ + --iconfile=$(srcdir)/../Icons/IDLE.icns \ + --resource=$(srcdir)/../Icons/PythonSource.icns \ + --resource=$(srcdir)/../Icons/PythonCompiled.icns \ + --python=$(prefix)/Resources/Python.app/Contents/MacOS/Python \ + build diff --git a/Mac/IDLE/config-extensions.def b/Mac/IDLE/config-extensions.def new file mode 100644 index 0000000..c17f068 --- /dev/null +++ b/Mac/IDLE/config-extensions.def @@ -0,0 +1,88 @@ +# config-extensions.def +# +# IDLE reads several config files to determine user preferences. This +# file is the default configuration file for IDLE extensions settings. +# +# Each extension must have at least one section, named after the extension +# module. This section must contain an 'enable' item (=1 to enable the +# extension, =0 to disable it), it may contain 'enable_editor' or 'enable_shell' +# items, to apply it only to editor/shell windows, and may also contain any +# other general configuration items for the extension. +# +# Each extension must define at least one section named ExtensionName_bindings +# or ExtensionName_cfgBindings. If present, ExtensionName_bindings defines +# virtual event bindings for the extension that are not user re-configurable. +# If present, ExtensionName_cfgBindings defines virtual event bindings for the +# extension that may be sensibly re-configured. +# +# If there are no keybindings for a menus' virtual events, include lines like +# <<toggle-code-context>>= (See [CodeContext], below.) +# +# Currently it is necessary to manually modify this file to change extension +# key bindings and default values. To customize, create +# ~/.idlerc/config-extensions.cfg and append the appropriate customized +# section(s). Those sections will override the defaults in this file. +# +# Note: If a keybinding is already in use when the extension is +# loaded, the extension's virtual event's keybinding will be set to ''. +# +# See config-keys.def for notes on specifying keys and extend.txt for +# information on creating IDLE extensions. + +[FormatParagraph] +enable=1 +[FormatParagraph_cfgBindings] +format-paragraph=<Option-Key-q> + +[AutoExpand] +enable=1 +[AutoExpand_cfgBindings] +expand-word=<Option-Key-slash> + +[ZoomHeight] +enable=1 +[ZoomHeight_cfgBindings] +zoom-height=<Option-Key-0> + +[ScriptBinding] +enable=1 +[ScriptBinding_cfgBindings] +run-module=<Key-F5> +check-module=<Option-Key-x> + +[CallTips] +enable=1 +[CallTips_cfgBindings] +force-open-calltip=<Control-Key-backslash> +[CallTips_bindings] +try-open-calltip=<KeyRelease-parenleft> +refresh-calltip=<KeyRelease-parenright> <KeyRelease-0> + +[ParenMatch] +enable=1 +style= expression +flash-delay= 500 +bell= 1 +[ParenMatch_cfgBindings] +flash-paren=<Control-Key-0> +[ParenMatch_bindings] +paren-closed=<KeyRelease-parenright> <KeyRelease-bracketright> <KeyRelease-braceright> + +[AutoComplete] +enable=1 +popupwait=2000 +[AutoComplete_cfgBindings] +force-open-completions=<Control-Key-space> +[AutoComplete_bindings] +autocomplete=<Key-Tab> +try-open-completions=<KeyRelease-period> <KeyRelease-slash> <KeyRelease-backslash> + +[CodeContext] +enable=1 +enable_shell=0 +numlines=3 +visible=0 +bgcolor=LightGray +fgcolor=Black +[CodeContext_bindings] +toggle-code-context= diff --git a/Mac/IDLE/config-main.def b/Mac/IDLE/config-main.def new file mode 100644 index 0000000..1cdc0c5 --- /dev/null +++ b/Mac/IDLE/config-main.def @@ -0,0 +1,79 @@ +# IDLE reads several config files to determine user preferences. This +# file is the default config file for general idle settings. +# +# When IDLE starts, it will look in +# the following two sets of files, in order: +# +# default configuration +# --------------------- +# config-main.def the default general config file +# config-extensions.def the default extension config file +# config-highlight.def the default highlighting config file +# config-keys.def the default keybinding config file +# +# user configuration +# ------------------- +# ~/.idlerc/config-main.cfg the user general config file +# ~/.idlerc/config-extensions.cfg the user extension config file +# ~/.idlerc/config-highlight.cfg the user highlighting config file +# ~/.idlerc/config-keys.cfg the user keybinding config file +# +# On Windows2000 and Windows XP the .idlerc directory is at +# Documents and Settings\<username>\.idlerc +# +# On Windows98 it is at c:\.idlerc +# +# Any options the user saves through the config dialog will be saved to +# the relevant user config file. Reverting any general setting to the +# default causes that entry to be wiped from the user file and re-read +# from the default file. User highlighting themes or keybinding sets are +# retained unless specifically deleted within the config dialog. Choosing +# one of the default themes or keysets just applies the relevant settings +# from the default file. +# +# Additional help sources are listed in the [HelpFiles] section and must be +# viewable by a web browser (or the Windows Help viewer in the case of .chm +# files). These sources will be listed on the Help menu. The pattern is +# <sequence_number = menu item;/path/to/help/source> +# You can't use a semi-colon in a menu item or path. The path will be platform +# specific because of path separators, drive specs etc. +# +# It is best to use the Configuration GUI to set up additional help sources! +# Example: +#1 = My Extra Help Source;/usr/share/doc/foo/index.html +#2 = Another Help Source;/path/to/another.pdf + +[General] +editor-on-startup= 0 +autosave= 0 +print-command-posix=lpr %s +print-command-win=start /min notepad /p %s +delete-exitfunc= 1 + +[EditorWindow] +width= 80 +height= 40 +font= courier +font-size= 10 +font-bold= 0 +encoding= none + +[FormatParagraph] +paragraph=70 + +[Indent] +use-spaces= 1 +num-spaces= 4 + +[Theme] +default= 1 +name= IDLE Classic + +[Keys] +default= 1 +name= IDLE Classic Mac + +[History] +cyclic=1 + +[HelpFiles] diff --git a/Mac/IDLE/idlemain.py b/Mac/IDLE/idlemain.py new file mode 100644 index 0000000..aa75d4c --- /dev/null +++ b/Mac/IDLE/idlemain.py @@ -0,0 +1,27 @@ +""" +Bootstrap script for IDLE as an application bundle. +""" +import sys, os + +from idlelib.PyShell import main + +# Change the current directory the user's home directory, that way we'll get +# a more useful default location in the open/save dialogs. +os.chdir(os.path.expanduser('~/Documents')) + + +# Make sure sys.executable points to the python interpreter inside the +# framework, instead of at the helper executable inside the application +# bundle (the latter works, but doesn't allow access to the window server) +sys.executable = os.path.join(sys.prefix, 'bin', 'python') + +# Look for the -psn argument that the launcher adds and remove it, it will +# only confuse the IDLE startup code. +for idx, value in enumerate(sys.argv): + if value.startswith('-psn_'): + del sys.argv[idx] + break + +#argvemulator.ArgvCollector().mainloop() +if __name__ == '__main__': + main() diff --git a/Makefile.pre.in b/Makefile.pre.in index 3f37259..e63066ce 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -374,7 +374,7 @@ libpython$(VERSION).sl: $(LIBRARY_OBJS) # This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary # minimal framework (not including the Lib directory and such) in the current # directory. -RESSRCDIR=$(srcdir)/Mac/OSXResources/framework +RESSRCDIR=$(srcdir)/Mac/Resources/framework $(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): \ $(LIBRARY) \ $(RESSRCDIR)/Info.plist \ @@ -897,7 +897,7 @@ sharedinstall: # Here are a couple of targets for MacOSX again, to install a full # framework-based Python. frameworkinstall installs everything, the # subtargets install specific parts. Much of the actual work is offloaded to -# the Makefile in Mac/OSX +# the Makefile in Mac # # # This target is here for backward compatiblity, previous versions of Python @@ -938,25 +938,23 @@ frameworkinstallstructure: $(LDLIBRARY) # This installs Mac/Lib into the framework frameworkinstallmaclib: - cd Mac/OSX && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)" + cd Mac && $(MAKE) installmacsubtree DESTDIR="$(DESTDIR)" # This installs the IDE, the Launcher and other apps into /Applications frameworkinstallapps: - cd Mac/OSX && $(MAKE) installapps DESTDIR="$(DESTDIR)" + cd Mac && $(MAKE) installapps DESTDIR="$(DESTDIR)" # This install the unix python and pythonw tools in /usr/local/bin frameworkinstallunixtools: - cd Mac/OSX && $(MAKE) installunixtools DESTDIR="$(DESTDIR)" + cd Mac && $(MAKE) installunixtools DESTDIR="$(DESTDIR)" frameworkaltinstallunixtools: - cd Mac/OSX && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)" + cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)" # This installs the Demos and Tools into the applications directory. # It is not part of a normal frameworkinstall frameworkinstallextras: - $(MAKE) -f Mac/OSX/Makefile installextras \ - $(RUNSHARED) BUILDPYTHON=./$(BUILDPYTHON) DIRMODE=$(DIRMODE) FILEMODE=$(FILEMODE) \ - srcdir=$(srcdir) builddir=. DESTDIR=$(DESTDIR) + cd Mac && Make installextras DESTDIR="$(DESTDIR)" # This installs a few of the useful scripts in Tools/scripts scriptsinstall: @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 46608 . +# From configure.in Revision: 46700 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for python 2.5. # @@ -1447,7 +1447,11 @@ if test "${enable_framework+set}" = set; then FRAMEWORKINSTALLLAST= FRAMEWORKALTINSTALLFIRST= FRAMEWORKALTINSTALLLAST= - FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + if test "x${prefix}" = "xNONE"; then + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" + else + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + fi enable_framework= ;; *) @@ -1459,16 +1463,20 @@ if test "${enable_framework+set}" = set; then FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools" FRAMEWORKALTINSTALLFIRST="${FRAMEWORKINSTALLFIRST} bininstall maninstall" FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools" - FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + if test "x${prefix}" = "xNONE" ; then + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" + else + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + fi prefix=$PYTHONFRAMEWORKINSTALLDIR/Versions/$VERSION # Add makefiles for Mac specific code to the list of output # files: - ac_config_files="$ac_config_files Mac/OSX/Makefile" + ac_config_files="$ac_config_files Mac/Makefile" - ac_config_files="$ac_config_files Mac/OSX/PythonLauncher/Makefile" + ac_config_files="$ac_config_files Mac/PythonLauncher/Makefile" - ac_config_files="$ac_config_files Mac/OSX/IDLE/Makefile" + ac_config_files="$ac_config_files Mac/IDLE/Makefile" esac @@ -1482,7 +1490,11 @@ else FRAMEWORKINSTALLLAST= FRAMEWORKALTINSTALLFIRST= FRAMEWORKALTINSTALLLAST= - FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + if test "x${prefix}" = "xNONE" ; then + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" + else + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + fi enable_framework= fi; @@ -22477,9 +22489,9 @@ for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. - "Mac/OSX/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mac/OSX/Makefile" ;; - "Mac/OSX/PythonLauncher/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mac/OSX/PythonLauncher/Makefile" ;; - "Mac/OSX/IDLE/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mac/OSX/IDLE/Makefile" ;; + "Mac/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mac/Makefile" ;; + "Mac/PythonLauncher/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mac/PythonLauncher/Makefile" ;; + "Mac/IDLE/Makefile" ) CONFIG_FILES="$CONFIG_FILES Mac/IDLE/Makefile" ;; "Makefile.pre" ) CONFIG_FILES="$CONFIG_FILES Makefile.pre" ;; "Modules/Setup.config" ) CONFIG_FILES="$CONFIG_FILES Modules/Setup.config" ;; "pyconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS pyconfig.h" ;; diff --git a/configure.in b/configure.in index be50d07..6a8bc82 100644 --- a/configure.in +++ b/configure.in @@ -101,7 +101,11 @@ AC_ARG_ENABLE(framework, FRAMEWORKINSTALLLAST= FRAMEWORKALTINSTALLFIRST= FRAMEWORKALTINSTALLLAST= - FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + if test "x${prefix}" = "xNONE"; then + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" + else + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + fi enable_framework= ;; *) @@ -113,14 +117,18 @@ AC_ARG_ENABLE(framework, FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools" FRAMEWORKALTINSTALLFIRST="${FRAMEWORKINSTALLFIRST} bininstall maninstall" FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools" - FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + if test "x${prefix}" = "xNONE" ; then + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" + else + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + fi prefix=$PYTHONFRAMEWORKINSTALLDIR/Versions/$VERSION # Add makefiles for Mac specific code to the list of output # files: - AC_CONFIG_FILES(Mac/OSX/Makefile) - AC_CONFIG_FILES(Mac/OSX/PythonLauncher/Makefile) - AC_CONFIG_FILES(Mac/OSX/IDLE/Makefile) + AC_CONFIG_FILES(Mac/Makefile) + AC_CONFIG_FILES(Mac/PythonLauncher/Makefile) + AC_CONFIG_FILES(Mac/IDLE/Makefile) esac ],[ PYTHONFRAMEWORK= @@ -131,7 +139,11 @@ AC_ARG_ENABLE(framework, FRAMEWORKINSTALLLAST= FRAMEWORKALTINSTALLFIRST= FRAMEWORKALTINSTALLLAST= - FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + if test "x${prefix}" = "xNONE" ; then + FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" + else + FRAMEWORKUNIXTOOLSPREFIX="${prefix}" + fi enable_framework= ]) AC_SUBST(PYTHONFRAMEWORK) |