Mercurial > cpython-lru_cache-weakref
annotate Modules/tkappinit.c @ 80661:94de77bd0b4b 2.7
Issue #16194: document imp.load_dynamic problems
when read several extension modules from the same binary object file.
| author | Andrew Svetlov <andrew.svetlov@gmail.com> |
|---|---|
| date | Thu, 29 Nov 2012 19:51:28 +0200 |
| parents | b36cb4602e21 |
| children |
| rev | line source |
|---|---|
|
6621
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
1 /* appinit.c -- Tcl and Tk application initialization. |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
2 |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
3 The function Tcl_AppInit() below initializes various Tcl packages. |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
4 It is called for each Tcl interpreter created by _tkinter.create(). |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
5 It needs to be compiled with -DWITH_<package> flags for each package |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
6 that you are statically linking with. You may have to add sections |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
7 for packages not yet listed below. |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
8 |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
9 Note that those packages for which Tcl_StaticPackage() is called with |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
10 a NULL first argument are known as "static loadable" packages to |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
11 Tcl but not actually initialized. To use these, you have to load |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
12 it explicitly, e.g. tkapp.eval("load {} Blt"). |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
13 */ |
| 1691 | 14 |
|
32341
5d27269c9e33
Remove warning about implicit declaration of strcmp()
Neal Norwitz <nnorwitz@gmail.com>
parents:
31547
diff
changeset
|
15 #include <string.h> |
| 1691 | 16 #include <tcl.h> |
| 17 #include <tk.h> | |
| 18 | |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
19 #include "tkinter.h" |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
20 |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
21 #ifdef TKINTER_PROTECT_LOADTK |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
22 /* See Tkapp_TkInit in _tkinter.c for the usage of tk_load_faile */ |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
23 static int tk_load_failed; |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
24 #endif |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
25 |
| 1691 | 26 int |
|
13492
5087d1d45f1d
ANSI-fication (and test if committing files works now)
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11444
diff
changeset
|
27 Tcl_AppInit(Tcl_Interp *interp) |
| 1691 | 28 { |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
29 Tk_Window main_window; |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
30 const char *_tkinter_skip_tk_init; |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
31 #ifdef TKINTER_PROTECT_LOADTK |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
32 const char *_tkinter_tk_failed; |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
33 #endif |
| 1691 | 34 |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
35 #ifdef TK_AQUA |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
36 #ifndef MAX_PATH_LEN |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
37 #define MAX_PATH_LEN 1024 |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
38 #endif |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
39 char tclLibPath[MAX_PATH_LEN], tkLibPath[MAX_PATH_LEN]; |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
40 Tcl_Obj* pathPtr; |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
41 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
42 /* pre- Tcl_Init code copied from tkMacOSXAppInit.c */ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
43 Tk_MacOSXOpenBundleResources (interp, "com.tcltk.tcllibrary", |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
44 tclLibPath, MAX_PATH_LEN, 0); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
45 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
46 if (tclLibPath[0] != '\0') { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
47 Tcl_SetVar(interp, "tcl_library", tclLibPath, TCL_GLOBAL_ONLY); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
48 Tcl_SetVar(interp, "tclDefaultLibrary", tclLibPath, TCL_GLOBAL_ONLY); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
49 Tcl_SetVar(interp, "tcl_pkgPath", tclLibPath, TCL_GLOBAL_ONLY); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
50 } |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
51 |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
52 if (tclLibPath[0] != '\0') { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
53 Tcl_SetVar(interp, "tcl_library", tclLibPath, TCL_GLOBAL_ONLY); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
54 Tcl_SetVar(interp, "tclDefaultLibrary", tclLibPath, TCL_GLOBAL_ONLY); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
55 Tcl_SetVar(interp, "tcl_pkgPath", tclLibPath, TCL_GLOBAL_ONLY); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
56 } |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
57 #endif |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
58 if (Tcl_Init (interp) == TCL_ERROR) |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
59 return TCL_ERROR; |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
60 |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
61 #ifdef TK_AQUA |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
62 /* pre- Tk_Init code copied from tkMacOSXAppInit.c */ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
63 Tk_MacOSXOpenBundleResources (interp, "com.tcltk.tklibrary", |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
64 tkLibPath, MAX_PATH_LEN, 1); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
65 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
66 if (tclLibPath[0] != '\0') { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
67 pathPtr = Tcl_NewStringObj(tclLibPath, -1); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
68 } else { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
69 Tcl_Obj *pathPtr = TclGetLibraryPath(); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
70 } |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
71 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
72 if (tkLibPath[0] != '\0') { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
73 Tcl_Obj *objPtr; |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
74 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
75 Tcl_SetVar(interp, "tk_library", tkLibPath, TCL_GLOBAL_ONLY); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
76 objPtr = Tcl_NewStringObj(tkLibPath, -1); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
77 Tcl_ListObjAppendElement(NULL, pathPtr, objPtr); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
78 } |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
79 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
80 TclSetLibraryPath(pathPtr); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
81 #endif |
|
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
82 |
|
31547
470f95ad6750
Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents:
21322
diff
changeset
|
83 #ifdef WITH_XXX |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
84 /* Initialize modules that don't require Tk */ |
|
31547
470f95ad6750
Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents:
21322
diff
changeset
|
85 #endif |
|
470f95ad6750
Implementation of patch 869468
David Ascher <david.ascher@gmail.com>
parents:
21322
diff
changeset
|
86 |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
87 _tkinter_skip_tk_init = Tcl_GetVar(interp, |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
88 "_tkinter_skip_tk_init", TCL_GLOBAL_ONLY); |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
89 if (_tkinter_skip_tk_init != NULL && |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
90 strcmp(_tkinter_skip_tk_init, "1") == 0) { |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
91 return TCL_OK; |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
92 } |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
93 |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
94 #ifdef TKINTER_PROTECT_LOADTK |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
95 _tkinter_tk_failed = Tcl_GetVar(interp, |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
96 "_tkinter_tk_failed", TCL_GLOBAL_ONLY); |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
97 |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
98 if (tk_load_failed || ( |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
99 _tkinter_tk_failed != NULL && |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
100 strcmp(_tkinter_tk_failed, "1") == 0)) { |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
101 Tcl_SetResult(interp, TKINTER_LOADTK_ERRMSG, TCL_STATIC); |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
102 return TCL_ERROR; |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
103 } |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
104 #endif |
|
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
105 |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
106 if (Tk_Init(interp) == TCL_ERROR) { |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
107 #ifdef TKINTER_PROTECT_LOADTK |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
108 tk_load_failed = 1; |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
109 Tcl_SetVar(interp, "_tkinter_tk_failed", "1", TCL_GLOBAL_ONLY); |
|
51495
4e7ba67cfa05
Merged revisions 69473 via svnmerge from
Guilherme Polo <ggpolo@gmail.com>
parents:
49387
diff
changeset
|
110 #endif |
|
61463
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
111 return TCL_ERROR; |
|
fd25030223b0
Untabify C files. Will watch buildbots.
Antoine Pitrou <solipsis@pitrou.net>
parents:
61202
diff
changeset
|
112 } |
| 1691 | 113 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
114 main_window = Tk_MainWindow(interp); |
|
11444
90f4830e2122
Patch by Dieter Maurer to make things work for Tcl/Tk 8.1. This
Guido van Rossum <guido@python.org>
parents:
6720
diff
changeset
|
115 |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
116 #ifdef TK_AQUA |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
117 TkMacOSXInitAppleEvents(interp); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
118 TkMacOSXInitMenus(interp); |
|
21322
1852caba7014
Mods by Tony Lownds (patch 490100, slightly massaged by me) to make Tkinter
Jack Jansen <jack.jansen@cwi.nl>
parents:
13862
diff
changeset
|
119 #endif |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
120 |
| 1691 | 121 #ifdef WITH_MOREBUTTONS |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
122 { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
123 extern Tcl_CmdProc studButtonCmd; |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
124 extern Tcl_CmdProc triButtonCmd; |
| 1691 | 125 |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
126 Tcl_CreateCommand(interp, "studbutton", studButtonCmd, |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
127 (ClientData) main_window, NULL); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
128 Tcl_CreateCommand(interp, "tributton", triButtonCmd, |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
129 (ClientData) main_window, NULL); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
130 } |
| 1691 | 131 #endif |
|
5518
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
132 |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
133 #ifdef WITH_PIL /* 0.2b5 and later -- not yet released as of May 14 */ |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
134 { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
135 extern void TkImaging_Init(Tcl_Interp *); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
136 TkImaging_Init(interp); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
137 /* XXX TkImaging_Init() doesn't have the right return type */ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
138 /*Tcl_StaticPackage(interp, "Imaging", TkImaging_Init, NULL);*/ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
139 } |
|
5518
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
140 #endif |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
141 |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
142 #ifdef WITH_PIL_OLD /* 0.2b4 and earlier */ |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
143 { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
144 extern void TkImaging_Init(void); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
145 /* XXX TkImaging_Init() doesn't have the right prototype */ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
146 /*Tcl_StaticPackage(interp, "Imaging", TkImaging_Init, NULL);*/ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
147 } |
|
5518
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
148 #endif |
|
576b7d927afb
Add sections for PIL (Fred Lundh).
Guido van Rossum <guido@python.org>
parents:
4955
diff
changeset
|
149 |
|
6603
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
150 #ifdef WITH_TIX |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
151 { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
152 extern int Tix_Init(Tcl_Interp *interp); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
153 extern int Tix_SafeInit(Tcl_Interp *interp); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
154 Tcl_StaticPackage(NULL, "Tix", Tix_Init, Tix_SafeInit); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
155 } |
|
6603
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
156 #endif |
|
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
157 |
|
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
158 #ifdef WITH_BLT |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
159 { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
160 extern int Blt_Init(Tcl_Interp *); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
161 extern int Blt_SafeInit(Tcl_Interp *); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
162 Tcl_StaticPackage(NULL, "Blt", Blt_Init, Blt_SafeInit); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
163 } |
|
6621
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
164 #endif |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
165 |
|
b96aad12a150
New tkappinit supporting several popular packages.
Guido van Rossum <guido@python.org>
parents:
6603
diff
changeset
|
166 #ifdef WITH_TOGL |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
167 { |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
168 /* XXX I've heard rumors that this doesn't work */ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
169 extern int Togl_Init(Tcl_Interp *); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
170 /* XXX Is there no Togl_SafeInit? */ |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
171 Tcl_StaticPackage(NULL, "Togl", Togl_Init, NULL); |
|
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
172 } |
|
6603
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
173 #endif |
|
7a0a48d73076
Add optional support fort Tix and BLT.
Guido van Rossum <guido@python.org>
parents:
5518
diff
changeset
|
174 |
| 1691 | 175 #ifdef WITH_XXX |
| 176 | |
| 177 #endif | |
|
61465
e38335d4df91
Recorded merge of revisions 81029 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
49387
diff
changeset
|
178 return TCL_OK; |
| 1691 | 179 } |
