summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/pods/perlxs.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/pods/perlxs.pod')
-rw-r--r--Master/tlpkg/tlperl/lib/pods/perlxs.pod20
1 files changed, 18 insertions, 2 deletions
diff --git a/Master/tlpkg/tlperl/lib/pods/perlxs.pod b/Master/tlpkg/tlperl/lib/pods/perlxs.pod
index 5f773bbac32..415f2ad2a00 100644
--- a/Master/tlpkg/tlperl/lib/pods/perlxs.pod
+++ b/Master/tlpkg/tlperl/lib/pods/perlxs.pod
@@ -74,7 +74,7 @@ See L<perlxstut> for a tutorial on the whole extension creation process.
Note: For some extensions, Dave Beazley's SWIG system may provide a
significantly more convenient mechanism for creating the extension
-glue code. See http://www.swig.org/ for more information.
+glue code. See L<http://www.swig.org/> for more information.
=head2 On The Road
@@ -1434,10 +1434,26 @@ The XS module can use INCLUDE: to pull that file into it.
INCLUDE: Rpcb1.xsh
If the parameters to the INCLUDE: keyword are followed by a pipe (C<|>) then
-the compiler will interpret the parameters as a command.
+the compiler will interpret the parameters as a command. This feature is
+mildly deprecated in favour of the C<INCLUDE_COMMAND:> directive, as documented
+below.
INCLUDE: cat Rpcb1.xsh |
+Do not use this to run perl: C<INCLUDE: perl |> will run the perl that
+happens to be the first in your path and not necessarily the same perl that is
+used to run C<xsubpp>. See L<"The INCLUDE_COMMAND: Keyword">.
+
+=head2 The INCLUDE_COMMAND: Keyword
+
+Runs the supplied command and includes its output into the current XS
+document. C<INCLUDE_COMMAND> assigns special meaning to the C<$^X> token
+in that it runs the same perl interpreter that is running C<xsubpp>:
+
+ INCLUDE_COMMAND: cat Rpcb1.xsh
+
+ INCLUDE_COMMAND: $^X -e ...
+
=head2 The CASE: Keyword
The CASE: keyword allows an XSUB to have multiple distinct parts with each