+#include "../sbr/m_maildir.h"
+#include "../sbr/m_mktemp.h"
+#include "mhfree.h"
+#include "mhoutsbr.h"
+
+#define MHBUILD_SWITCHES \
+ X("auto", 0, AUTOSW) \
+ X("noauto", 0, NAUTOSW) \
+ X("check", 0, CHECKSW) \
+ X("nocheck", 0, NCHECKSW) \
+ X("directives", 0, DIRECTIVES) \
+ X("nodirectives", 0, NDIRECTIVES) \
+ X("headers", 0, HEADSW) \
+ X("noheaders", 0, NHEADSW) \
+ X("list", 0, LISTSW) \
+ X("nolist", 0, NLISTSW) \
+ X("realsize", 0, SIZESW) \
+ X("norealsize", 0, NSIZESW) \
+ X("rfc934mode", 0, RFC934SW) \
+ X("norfc934mode", 0, NRFC934SW) \
+ X("verbose", 0, VERBSW) \
+ X("noverbose", 0, NVERBSW) \
+ X("disposition", 0, DISPOSW) \
+ X("nodisposition", 0, NDISPOSW) \
+ X("rcache policy", 0, RCACHESW) \
+ X("wcache policy", 0, WCACHESW) \
+ X("contentid", 0, CONTENTIDSW) \
+ X("nocontentid", 0, NCONTENTIDSW) \
+ X("headerencoding encoding-algorithm", 0, HEADERENCSW) \
+ X("autoheaderencoding", 0, AUTOHEADERENCSW) \
+ X("maxunencoded", 0, MAXUNENCSW) \
+ X("version", 0, VERSIONSW) \
+ X("help", 0, HELPSW) \
+ X("debug", -5, DEBUGSW) \
+ X("dist", 0, DISTSW) \
+
+#define X(sw, minchars, id) id,
+DEFINE_SWITCH_ENUM(MHBUILD);
+#undef X
+
+#define X(sw, minchars, id) { sw, minchars, id },
+DEFINE_SWITCH_ARRAY(MHBUILD, switches);
+#undef X
+
+/* utf-8 is for Email Address Internationalization, using SMTPUTF8. */
+#define MIMEENCODING_SWITCHES \
+ X("base64", 0, BASE64SW) \
+ X("quoted-printable", 0, QUOTEDPRINTSW) \
+ X("utf-8", 0, UTF8SW) \
+
+#define X(sw, minchars, id) id,
+DEFINE_SWITCH_ENUM(MIMEENCODING);
+#undef X
+
+#define X(sw, minchars, id) { sw, minchars, id },
+DEFINE_SWITCH_ARRAY(MIMEENCODING, encodingswitches);
+#undef X