summaryrefslogtreecommitdiff
path: root/app/tools/halibut/charset/enum.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/tools/halibut/charset/enum.c')
-rw-r--r--app/tools/halibut/charset/enum.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/app/tools/halibut/charset/enum.c b/app/tools/halibut/charset/enum.c
new file mode 100644
index 0000000..5a7f0f0
--- /dev/null
+++ b/app/tools/halibut/charset/enum.c
@@ -0,0 +1,28 @@
+/*
+ * enum.c - enumerate all charsets defined by the library.
+ *
+ * This file maintains a list of every other source file which
+ * contains ENUM_CHARSET definitions. It #includes each one with
+ * ENUM_CHARSETS defined, which causes those source files to do
+ * nothing at all except call the ENUM_CHARSET macro on each
+ * charset they define.
+ *
+ * This file in turn is included from various other places, with
+ * the ENUM_CHARSET macro defined to various different things. This
+ * allows us to have multiple implementations of the master charset
+ * lookup table (a static one and a dynamic one).
+ */
+
+#define ENUM_CHARSETS
+#include "sbcsdat.c"
+#include "utf8.c"
+#include "utf7.c"
+#include "utf16.c"
+#include "euc.c"
+#include "iso2022.c"
+#include "iso2022s.c"
+#include "big5enc.c"
+#include "shiftjis.c"
+#include "hz.c"
+#include "cp949.c"
+#undef ENUM_CHARSETS