makedef.pl: Don't export inline fcns
authorKarl Williamson <public@khwilliamson.com>
Fri, 8 Feb 2013 21:00:09 +0000 (14:00 -0700)
committerKarl Williamson <public@khwilliamson.com>
Fri, 8 Feb 2013 21:44:24 +0000 (14:44 -0700)
An inline function is static to the file it is defined in.  But they can
be part of the public API if they are in #included header files and
defined in embed.fnc.  Normally such functions are written to the export
list on platforms that have this, but since they are static, you get a
linkage error.  This commit suppresses the writing of inline functions

makedef.pl

index 4376842..6c1b8f3 100644 (file)
@@ -743,7 +743,7 @@ if ($define{'USE_PERLIO'}) {
     foreach (@$embed) {
        my ($flags, $retval, $func, @args) = @$_;
        next unless $func;
-       if ($flags =~ /[AX]/ && $flags !~ /[xm]/ || $flags =~ /b/) {
+       if ($flags =~ /[AX]/ && $flags !~ /[xmi]/ || $flags =~ /b/) {
            # public API, so export
 
            # If a function is defined twice, for example before and after