diff options
author | Robin Watts <robin.watts@artifex.com> | 2012-01-03 16:37:48 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2012-01-03 18:42:23 +0000 |
commit | 94439d77f23763d59457b9946ba35bd354ea4841 (patch) | |
tree | cf957fe1465b49c530882a0c5f8cb56f1e7f4963 /apps/mubusy.c | |
parent | a842269cb43fcb5f1d0bdd594d8d0839a7dcbdf7 (diff) | |
download | mupdf-94439d77f23763d59457b9946ba35bd354ea4841.tar.xz |
Add mubusy build
Add simple combined exe build for mupdf/muxps tools.
Diffstat (limited to 'apps/mubusy.c')
-rw-r--r-- | apps/mubusy.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/apps/mubusy.c b/apps/mubusy.c new file mode 100644 index 00000000..8e215959 --- /dev/null +++ b/apps/mubusy.c @@ -0,0 +1,54 @@ +/* + * pdfbusy -- combined exe build + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +int pdfclean_main(int argc, char *argv[]); +int pdfdraw_main(int argc, char *argv[]); +int pdfextract_main(int argc, char *argv[]); +int pdfinfo_main(int argc, char *argv[]); +int pdfshow_main(int argc, char *argv[]); +int xpsdraw_main(int argc, char *argv[]); + +static int +namematch(const char *end, const char *start, const char *match, int len) +{ + return ((end-len >= start) && (strncmp(end-len, match, len) == 0)); +} + +int main(int argc, char **argv) +{ + char *start, *end; + if (argc == 0) + { + fprintf(stderr, "No command name found!\n"); + exit(EXIT_FAILURE); + } + + end = start = argv[0]; + while (*end) + end++; + if ((end-4 >= start) && (end[-4] == '.') && (end[-3] == 'e') && (end[-2] == 'x') && (end[-1] == 'e')) + end = end-4; + if (namematch(end, start, "pdfdraw", 7)) + return pdfdraw_main(argc, argv); + if (namematch(end, start, "pdfclean", 8)) + return pdfclean_main(argc, argv); + if (namematch(end, start, "pdfextract", 10)) + return pdfextract_main(argc, argv); + if (namematch(end, start, "pdfshow", 7)) + return pdfshow_main(argc, argv); + if (namematch(end, start, "pdfinfo", 7)) + return pdfinfo_main(argc, argv); + if (namematch(end, start, "xpsdraw", 7)) + return xpsdraw_main(argc, argv); + + fprintf(stderr, "mubusy: Combined build of mupdf/muxps tools.\n\n"); + fprintf(stderr, "Invoke as one of the following:\n"); + fprintf(stderr, "\tpdfclean, pdfdraw, pdfextract, pdfinfo, pdfshow, xpsdraw.\n"); + + return 0; +} |