summaryrefslogtreecommitdiffstats
path: root/Doc/ext
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/ext')
-rw-r--r--Doc/ext/ext.tex22
1 files changed, 12 insertions, 10 deletions
diff --git a/Doc/ext/ext.tex b/Doc/ext/ext.tex
index 454e767..d8a3d59 100644
--- a/Doc/ext/ext.tex
+++ b/Doc/ext/ext.tex
@@ -1309,9 +1309,11 @@ otherwise you have to select it as a build option (see below). Once
configured, dynamic loading is trivial to use: when a Python program
executes \code{import spam}, the search for modules tries to find a
file \file{spammodule.o} (\file{spammodule.so} when using shared
-libraries) in the module search path, and if one is found, it is
-loaded into the executing binary and executed. Once loaded, the
-module acts just like a built-in extension module.
+libraries) in the module search path,%
+\indexiii{module}{search}{path}
+and if one is found, it is loaded into the executing binary and
+executed. Once loaded, the module acts just like a built-in extension
+module.
The advantages of dynamic loading are twofold: the ``core'' Python
binary gets smaller, and users can extend Python with their own
@@ -1411,10 +1413,10 @@ described earlier).
Note that in all cases you will have to create your own Makefile that
compiles your module file(s). This Makefile will have to pass two
\samp{-I} arguments to the \C{} compiler which will make it find the
-Python header files. If the Make variable \var{PYTHONTOP} points to
-the toplevel Python directory, your \var{CFLAGS} Make variable should
+Python header files. If the Make variable \makevar{PYTHONTOP} points to
+the toplevel Python directory, your \makevar{CFLAGS} Make variable should
contain the options \samp{-I\$(PYTHONTOP) -I\$(PYTHONTOP)/Include}.
-(Most header files are in the \file{Include} subdirectory, but the
+(Most header files are in the \file{Include/} subdirectory, but the
\file{config.h} header lives in the toplevel directory.)
@@ -1461,7 +1463,8 @@ additional \C{} flag \samp{-G0} (or \samp{-G 0}). This instructs the
assembler to generate position-independent code.
You don't need to link the resulting \file{spammodule.o} file; just
-copy it into a directory along the Python module search path.
+copy it into a directory along the Python module search path.%
+\indexiii{module}{search}{path}
The first time your extension is loaded, it takes some extra time and
a few messages may be printed. This creates a file
@@ -1486,7 +1489,8 @@ normally only \samp{-l} options or absolute pathnames of libraries
\label{gnuLinking}
Just copy \file{spammodule.o} into a directory along the Python module
-search path.
+search path.%
+\indexiii{module}{search}{path}
If your extension modules uses additional system libraries, you must
create a file \file{spammodule.libs} in the same directory as the
@@ -1495,6 +1499,4 @@ whitespace-separated absolute pathnames of libraries (\samp{.a}
files). No \samp{-l} options can be used.
-\input{ext.ind}
-
\end{document}