Subsitute in @PERL@ instead of hardcoded /usr/bin/perl. (#78355, Gareth

Tue May 14 19:53:15 2002  Owen Taylor  <otaylor@redhat.com>

        * demos/gtk-demo/geninclude.pl.in configure.in:
        Subsitute in @PERL@ instead of hardcoded
        /usr/bin/perl. (#78355, Gareth Pearce. Fix based
        on patch from Matthias Clasen)

        * gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
        instead of makeenums.pl.

        * gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
        get gdkenumtypes.h built first.
This commit is contained in:
Owen Taylor
2002-05-14 23:57:23 +00:00
committed by Owen Taylor
parent 185087e553
commit d81b18a210
11 changed files with 108 additions and 173 deletions

View File

@@ -1,3 +1,16 @@
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Tue May 14 18:41:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):

View File

@@ -1,3 +1,16 @@
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Tue May 14 18:41:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):

View File

@@ -1,3 +1,16 @@
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Tue May 14 18:41:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):

View File

@@ -1,3 +1,16 @@
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Tue May 14 18:41:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):

View File

@@ -1,3 +1,16 @@
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Tue May 14 18:41:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):

View File

@@ -1,3 +1,16 @@
Tue May 14 19:53:15 2002 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/geninclude.pl.in configure.in:
Subsitute in @PERL@ instead of hardcoded
/usr/bin/perl. (#78355, Gareth Pearce. Fix based
on patch from Matthias Clasen)
* gdk/Makefile.am: Patch from Daniel Elstner to use glib-mkenums
instead of makeenums.pl.
* gdk/{x11,linux-fb,win32}/Makefile.am: Hack to
get gdkenumtypes.h built first.
Tue May 14 18:41:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/stock-icons/Makefile.am (gtkstockpixbufs.h):

View File

@@ -310,7 +310,7 @@ AM_CONDITIONAL(DISABLE_EXPLICIT_DEPS, test $enable_explicit_deps = no)
# define a MAINT-like variable REBUILD which is set if Perl
# and awk are found, so autogenerated sources can be rebuilt
AC_CHECK_PROGS(PERL, perl5 perl)
AC_PATH_PROGS(PERL, perl5 perl)
# We would like indent, but don't require it.
AC_CHECK_PROG(INDENT, indent, indent)
@@ -1484,6 +1484,7 @@ build/win32/Makefile
build/win32/dirent/Makefile
demos/Makefile
demos/gtk-demo/Makefile
demos/gtk-demo/geninclude.pl
tests/Makefile
docs/Makefile
docs/reference/Makefile

View File

@@ -1,163 +0,0 @@
#!/usr/bin/perl -w
print <<EOT;
typedef GtkWidget *(*GDoDemoFunc) (void);
typedef struct _Demo Demo;
struct _Demo
{
gchar *title;
gchar *filename;
GDoDemoFunc func;
Demo *children;
};
EOT
for $file (@ARGV) {
my %demo;
($basename = $file) =~ s/\.c$//;
open INFO_FILE, $file or die "Cannot open '$file'\n";
$title = <INFO_FILE>;
$title =~ s@^\s*/\*\s*@@;
$title =~ s@\s*$@@;
close INFO_FILE;
print "GtkWidget *do_$basename (void);\n";
push @demos, {"title" => $title, "file" => $file,
"func" => "do_$basename"};
}
# generate a list of 'parent names'
foreach $href (@demos) {
if ($href->{"title"} =~ m|^([\w\s]+)/[\w\s]+$|) {
my $parent_name = $1;
my $do_next = 0;
# parent detected
if (defined @parents) {
foreach $foo (@parents) {
if ($foo eq $parent_name) {
$do_next = 1;
}
}
if ($do_next) {
next;
}
}
push @parents, $parent_name;
$tmp = (defined @child_arrays)?($#child_arrays + 1):0;
push @child_arrays, "child$tmp";
push @demos, {"title" => $parent_name, "file" => "NULL",
"func" => "NULL"};
}
}
if (defined @parents) {
$i = 0;
for ($i = 0; $i <= $#parents; $i++) {
$first = 1;
print "\nDemo ", $child_arrays[$i], "[] = {\n";
$j = 0;
for ($j = 0; $j <= $#demos; $j++) {
$href = $demos[$j];
if (!defined $demos[$j]) {
next;
}
if ($demos[$j]{"title"} =~ m|^$parents[$i]/([\w\s]+)$|) {
if ($first) {
$first = 0;
} else {
print ",\n";
}
print qq ( { "$1", "$demos[$j]{file}", $demos[$j]{func}, NULL });
# hack ... ugly
$demos[$j]{"title"} = "foo";
}
}
print ",\n";
print qq ( { NULL } );
print "\n};\n";
}
}
# sort @demos
@demos_old = @demos;
@demos = sort {
$a->{"title"} cmp $b->{"title"};
} @demos_old;
# sort the child arrays
if (defined @child_arrays) {
for ($i = 0; $i <= $#child_arrays; $i++) {
@foo_old = @{$child_arrays[$i]};
@{$child_arrays[$i]} = sort {
$a->{"title"} cmp $b->{"title"};
} @foo_old;
}
}
# toplevel
print "\nDemo testgtk_demos[] = {\n";
$first = 1;
foreach $href (@demos) {
$handled = 0;
# ugly evil hack
if ($href->{title} eq "foo") {
next;
}
if ($first) {
$first = 0;
} else {
print ", \n";
}
if (defined @parents) {
for ($i = 0; $i <= $#parents; $i++) {
if ($parents[$i] eq $href->{title}) {
if ($href->{file} eq 'NULL') {
print qq ( { "$href->{title}", NULL, $href->{func}, $child_arrays[$i] });
} else {
print qq ( { "$href->{title}", "$href->{file}", $href->{func}, $child_arrays[$i] });
}
$handled = 1;
last;
}
}
}
if ($handled) {
next;
}
print qq ( { "$href->{title}", "$href->{file}", $href->{func}, NULL });
}
print ",\n";
print qq ( { NULL } );
print "\n};\n";
exit 0;

View File

@@ -1,4 +1,4 @@
#!/usr/bin/perl -w
#!@PERL@ -w
print <<EOT;
typedef GtkWidget *(*GDoDemoFunc) (void);

View File

@@ -11,3 +11,4 @@ gdkenumtypes.[ch]
libgdk.la
gdkconfig.h
stamp-gc-h
stamp-gdkenumtypes.h

View File

@@ -164,7 +164,7 @@ lib_LTLIBRARIES = $(gdktargetlib)
EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-linux-fb-2.0.la libgdk-win32-2.0.la
MAINTAINERCLEANFILES =
MAINTAINERCLEANFILES = gdkenumtypes.h stamp-gdkenumtypes.h
EXTRA_HEADERS =
#
@@ -185,15 +185,33 @@ if DISABLE_EXPLICIT_DEPS
endif
#note: not gdkconfig.h
BUILT_SOURCES = stamp-gc-h @REBUILD@ gdkenumtypes.c gdkenumtypes.h
BUILT_SOURCES = stamp-gc-h @REBUILD@ gdkenumtypes.h
gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
cd $(srcdir) \
&& $(PERL) ./makeenums.pl include $(gdk_public_h_sources) > gdkenumtypes.h
# Generate built header without using automake-1.4 BUILT_SOURCES
$(libgdk_x11_2_0_la_OBJECTS) $(libgdk_linux_fb_2_0_la_OBJECTS) $(libgdk_win32_2_0_la_OBJECTS): gdkenumtypes.h
gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
cd $(srcdir) \
&& $(PERL) ./makeenums.pl cfile $(gdk_public_h_sources) > gdkenumtypes.c
$(srcdir)/gdkenumtypes.h: stamp-gdkenumtypes.h
@true
stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) Makefile
( cd $(srcdir) && glib-mkenums \
--fhead "#ifndef __GDK_ENUM_TYPES_H__\n#define __GDK_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
--fprod "/* enumerations from \"@filename@\" */\n" \
--vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
--ftail "G_END_DECLS\n\n#endif /* __GDK_ENUM_TYPES_H__ */" \
$(gdk_public_h_sources) ) >> xgen-geth \
&& (cmp -s xgen-geth $(srcdir)/gdkenumtypes.h || cp xgen-geth $(srcdir)/gdkenumtypes.h ) \
&& rm -f xgen-geth \
&& echo timestamp > $(@F)
$(srcdir)/gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) Makefile
( cd $(srcdir) && glib-mkenums \
--fhead "#define GDK_ENABLE_BROKEN\n#include \"gdk.h\"" \
--fprod "\n/* enumerations from \"@filename@\" */" \
--vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
--vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
$(gdk_public_h_sources) ) > xgen-getc \
&& cp xgen-getc $(srcdir)/gdkenumtypes.c \
&& rm -f xgen-getc
gdkconfig.h: stamp-gc-h
@if test -f gdkconfig.h; then :; \