view lib-src/gnudepend.pl @ 2881:0e0af7cbfd1b

[xemacs-hg @ 2005-08-01 16:28:18 by darrylo] On some (64-bit) systems, sizeof(int) != sizeof(long), and this can cause crashes because in-use lisp objects can get prematurely gc'd (and 0xdeadbeef'd). This occurs because the memory_description for the Gap_Array structure incorrectly describes some members as XD_INT's (32-bit objects), when they should actually be XD_ELEMCOUNT's and XD_BYTECOUNT's (both 64-bit objects), as that is how they are declared in the structure.
author darrylo
date Mon, 01 Aug 2005 16:28:21 +0000
parents 3ecd8885ac67
children
line wrap: on
line source

#!/usr/bin/perl

while (<>)
{
    if (/\\$/)
    {
        chop;
        $foo .= $_;
    }
    else
    {
        @foo = split (/[ \\:]+/, $foo);
        $filename = $foo[0];
	if (($filename =~ /^unex/) ||
	    ($filename =~ /^sgiplay/) ||
	    ($filename =~ /^Extern/) ||
	    ($filename =~ /^extw/))
	{
	    $foo = "";
	    next;
	}
        @foo = grep (!/\.c$/, @foo);
        @foo = grep ((s/\/.*lwlib\//\$(LWLIBSRCDIR)\//, 1), @foo);
        @foo = grep (!/lisp\.h/, @foo);
	@foo = grep (!/lisp\.h/, @foo);
	@foo = grep (!/lisp-union\.h/, @foo);
	@foo = grep (!/lisp-disunion\.h/, @foo);
	@foo = grep (!/lrecord\.h/, @foo);
	@foo = grep (!/emacsfns\.h/, @foo);
	@foo = grep (!/symeval\.h/, @foo);
	@foo = grep (!/symsinit\.h/, @foo);
	@foo = grep (!/syssignal\.h/, @foo);
	@foo = grep (!/intl\.h/, @foo);
	@foo = grep (!/tt_c\.h/, @foo);
	@foo = grep (!/descrip\.h/, @foo);
        shift @foo;
        foreach $i (0 .. $#foo)
	{
            $foo[$i] = $filename . ": " . $foo[$i];
	}
	print $filename . ": config.h\n";
        print join ("\n", @foo);
        print "\n";
        $foo = "";
    }
}