summaryrefslogtreecommitdiff
path: root/gcc/fixinc/fixincl.tpl
diff options
context:
space:
mode:
authorkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-16 07:00:18 +0000
committerkorbb <korbb@138bc75d-0d04-0410-961f-82ee72b054a4>1998-10-16 07:00:18 +0000
commit6274714df409e055ca8992de91a8ed157bf77185 (patch)
tree2bc549c1d8db840b9548be3c12e7838512ef26b3 /gcc/fixinc/fixincl.tpl
parent15e55420cd1207df124a0399b2dbab9031f07027 (diff)
downloadgcc-6274714df409e055ca8992de91a8ed157bf77185.tar.gz
These files are being moved from the contrib/fixinc directory.
They have been modified somewhat to work in the new environment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23125 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fixinc/fixincl.tpl')
-rw-r--r--gcc/fixinc/fixincl.tpl169
1 files changed, 169 insertions, 0 deletions
diff --git a/gcc/fixinc/fixincl.tpl b/gcc/fixinc/fixincl.tpl
new file mode 100644
index 00000000000..04b67ab5377
--- /dev/null
+++ b/gcc/fixinc/fixincl.tpl
@@ -0,0 +1,169 @@
+[= autogen template -*- Mode: C -*-
+x =]
+/*
+[= _eval "# * " _DNE =]
+ *
+ * Install modified versions of certain ANSI-incompatible system header
+ * files which are fixed to work correctly with ANSI C and placed in a
+ * directory that GNU C will search.
+ *
+ * This script contains [=_eval fix _hilim 1 +=] fixup scripts.
+ *
+ * See README-fixinc for more information.
+ *
+[=_eval inclhack "# * " _gpl=]
+ *[=
+
+
+_FOR fix =]
+ *
+ * Description [=_eval _index 1 + "#%3d -" _printf=] [=hackname _Cap=] fix
+ */
+tSCC z[=hackname _cap=]Name[] =
+ [=hackname _cap _str=];
+/*
+ * File name selection pattern
+ */[=
+
+ _IF files _exist=]
+tSCC z[=hackname _cap=]List[] =[=
+ _FOR files=]
+ "|" [=files _str=][=
+ /files=] "|";[=
+
+ _ELSE =]
+#define z[=hackname _cap=]List (char*)NULL[=
+ _ENDIF "files _exist" =]
+/*
+ * Machine/OS name selection pattern
+ */[=
+
+ _IF mach _exist=]
+tSCC* apz[=hackname _cap=]Machs[] = {[=
+ _FOR mach =]
+ [=mach _str=],[=
+ /mach=]
+ (const char*)NULL };[=
+
+ _ELSE =]
+#define apz[=hackname _cap=]Machs (const char**)NULL[=
+ _ENDIF "files _exist" =][=
+
+ _IF exesel _exist=]
+
+/*
+ * content selection pattern
+ */[=
+ _FOR exesel =]
+tSCC z[=hackname _cap=]Select[=_eval _index=][] =
+ [=exesel _str=];[=
+ /exesel =][=
+
+ _ELIF select _exist=]
+
+/*
+ * content selection pattern
+ */[=
+ _FOR select =]
+tSCC z[=hackname _cap=]Select[=_eval _index=][] =
+ [=select _str=];[=
+ /select =][=
+ _ENDIF =][=
+
+ _IF bypass _exist=]
+
+/*
+ * content bypass pattern
+ */[=
+ _FOR bypass =]
+tSCC z[=hackname _cap=]Bypass[=_eval _index=][] =
+ [=bypass _str=];[=
+ /bypass =][=
+ _ENDIF =][=
+
+ _IF test _exist=]
+
+/*
+ * content test pattern. A shell will deal with it later.
+ */[=
+ _FOR test =]
+tSCC z[=hackname _cap=]Test[=_eval _index=][] =
+ [=test _str=];[=
+ /test =][=
+ _ENDIF =][=
+
+ _IF exesel _exist select _exist bypass _exist test _exist | | |
+=]
+
+#define [=hackname _up =]_TEST_CT [=
+ _IF exesel _exist =][=
+ _eval test _count bypass _count exesel _count + + =][=
+ _ELSE =][=
+ _eval test _count bypass _count select _count + + =][=
+ _ENDIF =]
+tTestDesc a[=hackname _cap=]Tests[] = {[=
+
+ _IF test _exist =][=
+ _FOR test=]
+ { TT_TEST, z[=hackname _cap=]Test[=_eval _index=], 0 /* unused */ },[=
+ /test =][=
+ _ENDIF =][=
+
+ _IF bypass _exist =][=
+ _FOR bypass=]
+ { TT_NEGREP, z[=hackname _cap=]Bypass[=_eval _index=], (regex_t*)NULL },[=
+ /bypass =][=
+ _ENDIF =][=
+
+ _IF exesel _exist =][=
+ _FOR exesel ,=]
+ { TT_EGREP, z[=hackname _cap=]Select[=_eval _index=], (regex_t*)NULL }[=
+ /exesel =][=
+
+ _ELIF select _exist =][=
+ _FOR select ,=]
+ { TT_EGREP, z[=hackname _cap=]Select[=_eval _index=], (regex_t*)NULL }[=
+ /select =][=
+ _ENDIF =] };[=
+ _ELSE =]
+#define [=hackname _up=]_TEST_CT 0
+#define a[=hackname _cap=]Tests (tTestDesc*)NULL[=
+ _ENDIF =]
+
+/*
+ * Fix Command Arguments for [=hackname _cap=]
+ */
+const char* apz[=hackname _cap=]Patch[] = {[=
+ _IF sed _exist =] "sed"[=_FOR sed=],
+ "-e" [=sed _str=][=/sed=][=
+ _ELIF replacement _exist =] "sed",
+ "s@[=select[]=]@[=replacement=]@"[=
+ _ELIF shell _exist =] "sh", "-c",
+ [=shell _str=][=
+ _ELSE =][=_ERROR hackname _get "Error: %s has two fixup specifications"
+ _printf =][=
+ _ENDIF=],
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *[=
+/fix=]
+ *
+ * List of all fixes
+ */
+#define REGEX_COUNT [=_eval fix.select _count
+ fix.bypass _count + =]
+#define FIX_COUNT [=_eval fix _count =]
+tFixDesc fixDescList[ [=_eval fix _count =] ] = {[=
+
+
+_FOR fix ",\n" =]
+ { z[=hackname _cap=]Name, z[=hackname _cap=]List,
+ apz[=hackname _cap=]Machs, (regex_t*)NULL,
+ [=hackname _up=]_TEST_CT, [=
+ _IF not_machine _exist =]FD_MACH_IFNOT[=
+ _ELSE =]FD_MACH_ONLY[=
+ _ENDIF =],
+ a[=hackname _cap=]Tests, apz[=hackname _cap=]Patch }[=
+
+/fix=]
+};