summaryrefslogtreecommitdiff
path: root/Porting/todo.pod
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2012-03-30 17:01:39 +0200
committerNicholas Clark <nick@ccl4.org>2012-04-24 10:51:55 +0200
commit8c422da5418e4ef5c4c9bb634fc7c518d97f0b8c (patch)
tree53aff17fe75e4a033334776d7da41145782da2e4 /Porting/todo.pod
parent5ca9d8f086c5569a14a792ee55c75478496f2a8f (diff)
downloadperl-8c422da5418e4ef5c4c9bb634fc7c518d97f0b8c.tar.gz
Update the todo entry for makedef.pl duplicating C conditional compilation.
makedef.pl has been refactored to read from embed.fnc directly, cutting out the embed.pl middleman. Correct the header filename - it's "intrpvar.h", not "interpvar.h".
Diffstat (limited to 'Porting/todo.pod')
-rw-r--r--Porting/todo.pod21
1 files changed, 10 insertions, 11 deletions
diff --git a/Porting/todo.pod b/Porting/todo.pod
index c410c050a4..20ca5e7d54 100644
--- a/Porting/todo.pod
+++ b/Porting/todo.pod
@@ -114,17 +114,16 @@ Ilya observed that use POSIX; eats memory like there's no tomorrow, and at
various times worked to cut it down. There is probably still fat to cut out -
for example POSIX passes Exporter some very memory hungry data structures.
-=head2 embed.pl/makedef.pl
-
-There is a script F<embed.pl> that generates several header files to prefix
-all of Perl's symbols in a consistent way, to provide some semblance of
-namespace support in C<C>. Functions are declared in F<embed.fnc>, variables
-in F<interpvar.h>. Quite a few of the functions and variables
-are conditionally declared there, using C<#ifdef>. However, F<embed.pl>
-doesn't understand the C macros, so the rules about which symbols are present
-when is duplicated in F<makedef.pl>. Writing things twice is bad, m'kay.
-It would be good to teach C<embed.pl> to understand the conditional
-compilation, and hence remove the duplication, and the mistakes it has caused.
+=head2 makedef.pl and conditional compilation
+
+The script F<makedef.pl> that generates the list of exported symbols on
+platforms which need this. Functions are declared in F<embed.fnc>, variables
+in F<intrpvar.h>. Quite a few of the functions and variables are conditionally
+declared there, using C<#ifdef>. However, F<makedef.pl> doesn't understand the
+C macros, so the rules about which symbols are present when is duplicated in
+the Perl code. Writing things twice is bad, m'kay. It would be good to teach
+F<.pl> to understand the conditional compilation, and hence remove the
+duplication, and the mistakes it has caused.
=head2 use strict; and AutoLoad