1--- src/bdftogd.orig	2021-09-11 04:41:44 UTC
2+++ src/bdftogd
3@@ -24,6 +24,9 @@ $gdname = 'gd' . $gdname unless $gdname =~ /^gd/i;
4 my $filename = shift;
5 $filename = 'gd' . $filename unless $filename =~ /^gd/i;
6
7+my $gdfunc = $gdname;
8+$gdfunc =~ s/(.*Font)(.*)/$1Get$2/;
9+
10 if (-f "$filename.c") { die "File $filename.c already exists, won't overwrite\n"; }
11 if (-f "$filename.h") { die "File $filename.h already exists, won't overwrite\n"; }
12
13@@ -139,6 +142,10 @@ print FILEC <<"EOF";
14
15 $info
16
17+#ifdef HAVE_CONFIG_H
18+#include "config.h"
19+#endif
20+
21 #include "$filename.h"
22
23 char ${gdname}Data[] = {
24@@ -177,28 +184,40 @@ gdFont ${gdname}Rep = {
25 	${gdname}Data
26 };
27
28-gdFontPtr ${gdname} = &${gdname}Rep;
29+BGD_EXPORT_DATA_PROT gdFontPtr ${gdname} = &${gdname}Rep;
30
31-/* This file has not been truncated. */
32+BGD_DECLARE(gdFontPtr)
33+$gdfunc (void)
34+{
35+  return $gdname;
36+}
37
38+/* This file has not been truncated. */
39 EOF
40
41
42 close FILEC;
43
44 print FILEH <<"EOF";
45-
46 #ifndef $capdef
47 #define $capdef 1
48
49+#ifdef __cplusplus
50+extern "C" {
51+#endif
52+
53 $info
54
55 #include "gd.h"
56
57-extern gdFontPtr $gdname;
58+extern BGD_EXPORT_DATA_PROT  gdFontPtr $gdname;
59+BGD_DECLARE(gdFontPtr) $gdfunc(void);
60
61+#ifdef __cplusplus
62+}
63 #endif
64
65+#endif
66 EOF
67
68 1;
69