]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
And the last bit: move IDLE one level up and adjust makefiles
authorRonald Oussoren <ronaldoussoren@mac.com>
Wed, 7 Jun 2006 19:06:01 +0000 (19:06 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Wed, 7 Jun 2006 19:06:01 +0000 (19:06 +0000)
Mac/IDLE/Info.plist [new file with mode: 0644]
Mac/IDLE/Makefile.in [new file with mode: 0644]
Mac/IDLE/config-extensions.def [new file with mode: 0644]
Mac/IDLE/config-main.def [new file with mode: 0644]
Mac/IDLE/idlemain.py [new file with mode: 0644]
Makefile.pre.in
configure
configure.in

diff --git a/Mac/IDLE/Info.plist b/Mac/IDLE/Info.plist
new file mode 100644 (file)
index 0000000..bbe2ea1
--- /dev/null
@@ -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 (file)
index 0000000..7359aae
--- /dev/null
@@ -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 (file)
index 0000000..c17f068
--- /dev/null
@@ -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 (file)
index 0000000..1cdc0c5
--- /dev/null
@@ -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 (file)
index 0000000..aa75d4c
--- /dev/null
@@ -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()
index 3f37259255d25fba57eac4372aa7677e52e509cd..e63066ce4431462b8a9012dfe049e920877b5b97 100644 (file)
@@ -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:
index b2e10d49b8c99fa5053b8825d165b89448a41019..1b94a914445c74e465e1485afacb008497867790 100755 (executable)
--- a/configure
+++ b/configure
@@ -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" ;;
index be50d0797153454ed41dcb651e7f396d4b03e740..6a8bc826906c1e6e69fd33e5b8b413974c30bc4b 100644 (file)
@@ -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)