summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-09-27 13:01:55 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-09-27 13:01:55 +0000
commit34463adde84855ce10ceecdd8a683129d6f29c9d (patch)
tree85bfaa6052855102c64d3d749f676a498d817e55 /Build/source/utils/xindy
parent3606fd6b9703514c7ca6c7f5ec4e92059934c9f6 (diff)
xindy: Changes for WIN32 from Akira
git-svn-id: svn://tug.org/texlive/trunk@27827 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/xindy')
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog4
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/patch-03-win3252
-rw-r--r--Build/source/utils/xindy/xindy-2.4-PATCHES/patch-04-win32564
-rw-r--r--Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.c111
-rw-r--r--Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.l22
5 files changed, 704 insertions, 49 deletions
diff --git a/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog b/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
index e0d33a207cb..4d0ec76c8ca 100644
--- a/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
+++ b/Build/source/utils/xindy/xindy-2.4-PATCHES/ChangeLog
@@ -1,3 +1,7 @@
+2012-09-27 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-0[34]-win32 (new): Various Win32 changes (from Akira).
+
2012-06-21 Peter Breitenlohner <peb@mppmu.mpg.de>
* patch-0[12]-never-interactive (new): Added the never-interactive
diff --git a/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-03-win32 b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-03-win32
new file mode 100644
index 00000000000..68e27d8ed65
--- /dev/null
+++ b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-03-win32
@@ -0,0 +1,52 @@
+diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.4.orig/tex2xindy/tex2xindy.l xindy-2.4/tex2xindy/tex2xindy.l
+--- xindy-2.4.orig/tex2xindy/tex2xindy.l 2012-06-21 12:13:02.000000000 +0200
++++ xindy-2.4/tex2xindy/tex2xindy.l 2012-09-27 14:37:06.000000000 +0200
+@@ -89,11 +89,24 @@
+ =cut
+
+ */
++%}
+
++%top{
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <unistd.h>
++#ifdef WIN32
++# include <kpathsea/getopt.h>
++# include <fcntl.h>
++# define YY_NO_UNISTD_H 1
++# ifdef W32TeX
++# define __STDC_VERSION__ 199901L
++# endif
++#else
++# include <unistd.h>
++#endif
++}
+
++%{
+ #define QUOTE_ECHO qs(yytext)
+
+ FILE* attrfd = NULL;
+@@ -375,8 +388,13 @@
+ main(int argc, char* argv[])
+ {
+ int option;
++
++#ifdef WIN32
++ setmode (fileno(stdout), _O_BINARY);
++#else
+ extern char *optarg;
+ extern int optind, optopt;
++#endif
+
+ while ( (option=getopt(argc, argv, ":o")) != -1 ) {
+ switch (option) {
+@@ -398,7 +416,7 @@
+ if ( optind == argc - 1 ) {
+ fprintf(stderr, "Writing attribute names to file \"%s\".\n",
+ argv[optind]);
+- if ( (attrfd = fopen(argv[optind], "w")) == NULL ) {
++ if ( (attrfd = fopen(argv[optind], "wb")) == NULL ) {
+ perror (argv[optind]);
+ exit (1);
+ }
diff --git a/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-04-win32 b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-04-win32
new file mode 100644
index 00000000000..198053967e6
--- /dev/null
+++ b/Build/source/utils/xindy/xindy-2.4-PATCHES/patch-04-win32
@@ -0,0 +1,564 @@
+diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.4.orig/tex2xindy/tex2xindy.c xindy-2.4/tex2xindy/tex2xindy.c
+--- xindy-2.4.orig/tex2xindy/tex2xindy.c 2012-06-21 12:14:36.000000000 +0200
++++ xindy-2.4/tex2xindy/tex2xindy.c 2012-09-27 14:37:38.000000000 +0200
+@@ -1,5 +1,20 @@
++#line 95 "tex2xindy.l"
++#include <stdio.h>
++#include <stdlib.h>
++#ifdef WIN32
++# include <kpathsea/getopt.h>
++# include <fcntl.h>
++# define YY_NO_UNISTD_H 1
++# ifdef W32TeX
++# define __STDC_VERSION__ 199901L
++# endif
++#else
++# include <unistd.h>
++#endif
++
+
+-#line 3 "tex2xindy.c"
++
++#line 18 "tex2xindy.c"
+
+ #define YY_INT_ALIGNED short int
+
+@@ -8,7 +23,7 @@
+ #define FLEX_SCANNER
+ #define YY_FLEX_MAJOR_VERSION 2
+ #define YY_FLEX_MINOR_VERSION 5
+-#define YY_FLEX_SUBMINOR_VERSION 35
++#define YY_FLEX_SUBMINOR_VERSION 37
+ #if YY_FLEX_SUBMINOR_VERSION > 0
+ #define FLEX_BETA
+ #endif
+@@ -53,7 +68,6 @@
+ typedef unsigned char flex_uint8_t;
+ typedef unsigned short int flex_uint16_t;
+ typedef unsigned int flex_uint32_t;
+-#endif /* ! C99 */
+
+ /* Limits of integral types. */
+ #ifndef INT8_MIN
+@@ -84,6 +98,8 @@
+ #define UINT32_MAX (4294967295U)
+ #endif
+
++#endif /* ! C99 */
++
+ #endif /* ! FLEXINT_H */
+
+ #ifdef __cplusplus
+@@ -152,7 +168,12 @@
+ typedef struct yy_buffer_state *YY_BUFFER_STATE;
+ #endif
+
+-extern int yyleng;
++#ifndef YY_TYPEDEF_YY_SIZE_T
++#define YY_TYPEDEF_YY_SIZE_T
++typedef size_t yy_size_t;
++#endif
++
++extern yy_size_t yyleng;
+
+ extern FILE *yyin, *yyout;
+
+@@ -178,11 +199,6 @@
+
+ #define unput(c) yyunput( c, (yytext_ptr) )
+
+-#ifndef YY_TYPEDEF_YY_SIZE_T
+-#define YY_TYPEDEF_YY_SIZE_T
+-typedef size_t yy_size_t;
+-#endif
+-
+ #ifndef YY_STRUCT_YY_BUFFER_STATE
+ #define YY_STRUCT_YY_BUFFER_STATE
+ struct yy_buffer_state
+@@ -200,7 +216,7 @@
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+- int yy_n_chars;
++ yy_size_t yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+@@ -270,8 +286,8 @@
+
+ /* yy_hold_char holds the character lost when yytext is formed. */
+ static char yy_hold_char;
+-static int yy_n_chars; /* number of characters read into yy_ch_buf */
+-int yyleng;
++static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
++yy_size_t yyleng;
+
+ /* Points to current character in buffer. */
+ static char *yy_c_buf_p = (char *) 0;
+@@ -299,7 +315,7 @@
+
+ YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
+ YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
+-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
++YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
+
+ void *yyalloc (yy_size_t );
+ void *yyrealloc (void *,yy_size_t );
+@@ -639,10 +655,7 @@
+
+ */
+
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <unistd.h>
+-
++#line 110 "tex2xindy.l"
+ #define QUOTE_ECHO qs(yytext)
+
+ FILE* attrfd = NULL;
+@@ -735,7 +748,7 @@
+ }
+
+
+-#line 739 "tex2xindy.c"
++#line 752 "tex2xindy.c"
+
+ #define INITIAL 0
+ #define key 1
+@@ -782,7 +795,7 @@
+
+ void yyset_out (FILE * out_str );
+
+-int yyget_leng (void );
++yy_size_t yyget_leng (void );
+
+ char *yyget_text (void );
+
+@@ -832,7 +845,7 @@
+ /* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+-#define ECHO fwrite( yytext, yyleng, 1, yyout )
++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+ #endif
+
+ /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+@@ -843,7 +856,7 @@
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+ { \
+ int c = '*'; \
+- int n; \
++ size_t n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+@@ -925,10 +938,10 @@
+ register char *yy_cp, *yy_bp;
+ register int yy_act;
+
+-#line 209 "tex2xindy.l"
++#line 222 "tex2xindy.l"
+
+
+-#line 932 "tex2xindy.c"
++#line 945 "tex2xindy.c"
+
+ if ( !(yy_init) )
+ {
+@@ -1009,7 +1022,7 @@
+
+ case 1:
+ YY_RULE_SETUP
+-#line 211 "tex2xindy.l"
++#line 224 "tex2xindy.l"
+ {
+ printf("(indexentry :tkey ((\"");
+ xref_mode = 0;
+@@ -1019,7 +1032,7 @@
+ YY_BREAK
+ case 2:
+ YY_RULE_SETUP
+-#line 218 "tex2xindy.l"
++#line 231 "tex2xindy.l"
+ {
+ printf("(indexentry :tkey ((\"");
+ xref_mode = 0;
+@@ -1029,23 +1042,23 @@
+ YY_BREAK
+ case 3:
+ YY_RULE_SETUP
+-#line 225 "tex2xindy.l"
++#line 238 "tex2xindy.l"
+ { QUOTE_ECHO; }
+ YY_BREAK
+ case 4:
+ /* rule 4 can match eol */
+ YY_RULE_SETUP
+-#line 226 "tex2xindy.l"
++#line 239 "tex2xindy.l"
+ { qc(yytext[1]); lineno++; }
+ YY_BREAK
+ case 5:
+ YY_RULE_SETUP
+-#line 227 "tex2xindy.l"
++#line 240 "tex2xindy.l"
+ { qc(yytext[1]); }
+ YY_BREAK
+ case 6:
+ YY_RULE_SETUP
+-#line 228 "tex2xindy.l"
++#line 241 "tex2xindy.l"
+ {
+ printf("\")) :attr \"");
+ range = NO_RANGE;
+@@ -1054,7 +1067,7 @@
+ YY_BREAK
+ case 7:
+ YY_RULE_SETUP
+-#line 233 "tex2xindy.l"
++#line 246 "tex2xindy.l"
+ {
+ if ( glos_mode ) {
+ printf("\")) :attr \"is\" :xref (\"");
+@@ -1068,22 +1081,22 @@
+ YY_BREAK
+ case 8:
+ YY_RULE_SETUP
+-#line 243 "tex2xindy.l"
++#line 256 "tex2xindy.l"
+ { printf("\") (\""); }
+ YY_BREAK
+ case 9:
+ YY_RULE_SETUP
+-#line 244 "tex2xindy.l"
++#line 257 "tex2xindy.l"
+ { printf("\") (\""); BEGIN(key); }
+ YY_BREAK
+ case 10:
+ YY_RULE_SETUP
+-#line 245 "tex2xindy.l"
++#line 258 "tex2xindy.l"
+ { ECHO; braces++; }
+ YY_BREAK
+ case 11:
+ YY_RULE_SETUP
+-#line 246 "tex2xindy.l"
++#line 259 "tex2xindy.l"
+ {
+ if ( braces > 0 ) {
+ ECHO;
+@@ -1096,32 +1109,32 @@
+ YY_BREAK
+ case 12:
+ YY_RULE_SETUP
+-#line 256 "tex2xindy.l"
++#line 269 "tex2xindy.l"
+ { printf("\" \""); BEGIN(print); }
+ YY_BREAK
+ case 13:
+ YY_RULE_SETUP
+-#line 257 "tex2xindy.l"
++#line 270 "tex2xindy.l"
+ { multiple_err; }
+ YY_BREAK
+ case 14:
+ YY_RULE_SETUP
+-#line 259 "tex2xindy.l"
++#line 272 "tex2xindy.l"
+ { multiple_err; }
+ YY_BREAK
+ case 15:
+ YY_RULE_SETUP
+-#line 260 "tex2xindy.l"
++#line 273 "tex2xindy.l"
+ { range = OPEN_RANGE; }
+ YY_BREAK
+ case 16:
+ YY_RULE_SETUP
+-#line 261 "tex2xindy.l"
++#line 274 "tex2xindy.l"
+ { range = CLOSE_RANGE; }
+ YY_BREAK
+ case 17:
+ YY_RULE_SETUP
+-#line 262 "tex2xindy.l"
++#line 275 "tex2xindy.l"
+ { /* close :attr "... */
+ printf("\" :xref (\"");
+ if (attrfd) fprintf(attrfd, "\txref\n");
+@@ -1131,7 +1144,7 @@
+ YY_BREAK
+ case 18:
+ YY_RULE_SETUP
+-#line 268 "tex2xindy.l"
++#line 281 "tex2xindy.l"
+ {
+ if ( braces > 0 ) {
+ ECHO;
+@@ -1154,7 +1167,7 @@
+ case 19:
+ /* rule 19 can match eol */
+ YY_RULE_SETUP
+-#line 286 "tex2xindy.l"
++#line 299 "tex2xindy.l"
+ {
+ QUOTE_ECHO;
+ if (attrfd) fwrite(yytext, sizeof(char), 1, attrfd);
+@@ -1163,17 +1176,17 @@
+ YY_BREAK
+ case 20:
+ YY_RULE_SETUP
+-#line 294 "tex2xindy.l"
++#line 307 "tex2xindy.l"
+ { printf("\" \""); }
+ YY_BREAK
+ case 21:
+ YY_RULE_SETUP
+-#line 295 "tex2xindy.l"
++#line 308 "tex2xindy.l"
+ { ECHO; braces++; }
+ YY_BREAK
+ case 22:
+ YY_RULE_SETUP
+-#line 296 "tex2xindy.l"
++#line 309 "tex2xindy.l"
+ {
+ if ( braces > 1 ) {
+ ECHO;
+@@ -1189,7 +1202,7 @@
+ YY_BREAK
+ case 23:
+ YY_RULE_SETUP
+-#line 308 "tex2xindy.l"
++#line 321 "tex2xindy.l"
+ {
+ if ( braces > 0 ) {
+ ECHO;
+@@ -1203,7 +1216,7 @@
+ YY_BREAK
+ case 24:
+ YY_RULE_SETUP
+-#line 319 "tex2xindy.l"
++#line 332 "tex2xindy.l"
+ {
+ if (xref_mode) {
+ BEGIN(skiplocation);
+@@ -1215,22 +1228,22 @@
+ YY_BREAK
+ case 25:
+ YY_RULE_SETUP
+-#line 327 "tex2xindy.l"
++#line 340 "tex2xindy.l"
+ { printf("\")\n"); BEGIN(0); }
+ YY_BREAK
+ case 26:
+ YY_RULE_SETUP
+-#line 329 "tex2xindy.l"
++#line 342 "tex2xindy.l"
+ { printf(")\n"); BEGIN(0); }
+ YY_BREAK
+ case 27:
+ YY_RULE_SETUP
+-#line 330 "tex2xindy.l"
++#line 343 "tex2xindy.l"
+ { ; }
+ YY_BREAK
+ case 28:
+ YY_RULE_SETUP
+-#line 332 "tex2xindy.l"
++#line 345 "tex2xindy.l"
+ {
+ if ( omega_mode ) {
+ omega_output_utf8(2);
+@@ -1241,7 +1254,7 @@
+ YY_BREAK
+ case 29:
+ YY_RULE_SETUP
+-#line 339 "tex2xindy.l"
++#line 352 "tex2xindy.l"
+ {
+ if ( omega_mode ) {
+ omega_output_utf8(4);
+@@ -1252,7 +1265,7 @@
+ YY_BREAK
+ case 30:
+ YY_RULE_SETUP
+-#line 346 "tex2xindy.l"
++#line 359 "tex2xindy.l"
+ {
+ if ( omega_mode ) {
+ omega_output_utf8(8);
+@@ -1264,28 +1277,28 @@
+ case 31:
+ /* rule 31 can match eol */
+ YY_RULE_SETUP
+-#line 354 "tex2xindy.l"
++#line 367 "tex2xindy.l"
+ { ECHO; lineno++; }
+ YY_BREAK
+ case 32:
+ YY_RULE_SETUP
+-#line 355 "tex2xindy.l"
++#line 368 "tex2xindy.l"
+ { QUOTE_ECHO; }
+ YY_BREAK
+ case 33:
+ /* rule 33 can match eol */
+ YY_RULE_SETUP
+-#line 357 "tex2xindy.l"
++#line 370 "tex2xindy.l"
+ { lineno++; }
+ YY_BREAK
+ case 34:
+ YY_RULE_SETUP
+-#line 358 "tex2xindy.l"
++#line 371 "tex2xindy.l"
+ { ; }
+ YY_BREAK
+ case 35:
+ YY_RULE_SETUP
+-#line 359 "tex2xindy.l"
++#line 372 "tex2xindy.l"
+ {
+ fprintf(stderr,
+ "Encountered unexpected char '%c' on line %d\n",
+@@ -1294,10 +1307,10 @@
+ YY_BREAK
+ case 36:
+ YY_RULE_SETUP
+-#line 365 "tex2xindy.l"
++#line 378 "tex2xindy.l"
+ ECHO;
+ YY_BREAK
+-#line 1301 "tex2xindy.c"
++#line 1314 "tex2xindy.c"
+ case YY_STATE_EOF(INITIAL):
+ case YY_STATE_EOF(key):
+ case YY_STATE_EOF(print):
+@@ -1492,21 +1505,21 @@
+
+ else
+ {
+- int num_to_read =
++ yy_size_t num_to_read =
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+
+ /* just a shorter name for the current buffer */
+- YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
++ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+
+ int yy_c_buf_p_offset =
+ (int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+- int new_size = b->yy_buf_size * 2;
++ yy_size_t new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+@@ -1537,7 +1550,7 @@
+
+ /* Read in more data. */
+ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+- (yy_n_chars), (size_t) num_to_read );
++ (yy_n_chars), num_to_read );
+
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+ }
+@@ -1632,7 +1645,7 @@
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+ yy_is_jam = (yy_current_state == 115);
+
+- return yy_is_jam ? 0 : yy_current_state;
++ return yy_is_jam ? 0 : yy_current_state;
+ }
+
+ static void yyunput (int c, register char * yy_bp )
+@@ -1647,7 +1660,7 @@
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+- register int number_to_move = (yy_n_chars) + 2;
++ register yy_size_t number_to_move = (yy_n_chars) + 2;
+ register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+ register char *source =
+@@ -1696,7 +1709,7 @@
+
+ else
+ { /* need more input */
+- int offset = (yy_c_buf_p) - (yytext_ptr);
++ yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
+ ++(yy_c_buf_p);
+
+ switch ( yy_get_next_buffer( ) )
+@@ -1968,7 +1981,7 @@
+ */
+ static void yyensure_buffer_stack (void)
+ {
+- int num_to_alloc;
++ yy_size_t num_to_alloc;
+
+ if (!(yy_buffer_stack)) {
+
+@@ -2060,12 +2073,12 @@
+
+ /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+- * @param bytes the byte buffer to scan
+- * @param len the number of bytes in the buffer pointed to by @a bytes.
++ * @param yybytes the byte buffer to scan
++ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ *
+ * @return the newly allocated buffer state object.
+ */
+-YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
++YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
+ {
+ YY_BUFFER_STATE b;
+ char *buf;
+@@ -2152,7 +2165,7 @@
+ /** Get the length of the current token.
+ *
+ */
+-int yyget_leng (void)
++yy_size_t yyget_leng (void)
+ {
+ return yyleng;
+ }
+@@ -2300,7 +2313,7 @@
+
+ #define YYTABLES_NAME "yytables"
+
+-#line 365 "tex2xindy.l"
++#line 378 "tex2xindy.l"
+
+
+
+@@ -2315,8 +2328,13 @@
+ main(int argc, char* argv[])
+ {
+ int option;
++
++#ifdef WIN32
++ setmode (fileno(stdout), _O_BINARY);
++#else
+ extern char *optarg;
+ extern int optind, optopt;
++#endif
+
+ while ( (option=getopt(argc, argv, ":o")) != -1 ) {
+ switch (option) {
+@@ -2338,7 +2356,7 @@
+ if ( optind == argc - 1 ) {
+ fprintf(stderr, "Writing attribute names to file \"%s\".\n",
+ argv[optind]);
+- if ( (attrfd = fopen(argv[optind], "w")) == NULL ) {
++ if ( (attrfd = fopen(argv[optind], "wb")) == NULL ) {
+ perror (argv[optind]);
+ exit (1);
+ }
diff --git a/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.c b/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.c
index 158f0a9480b..0bbe8720602 100644
--- a/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.c
+++ b/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.c
@@ -1,5 +1,20 @@
+#line 95 "tex2xindy.l"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef WIN32
+# include <kpathsea/getopt.h>
+# include <fcntl.h>
+# define YY_NO_UNISTD_H 1
+# ifdef W32TeX
+# define __STDC_VERSION__ 199901L
+# endif
+#else
+# include <unistd.h>
+#endif
-#line 3 "tex2xindy.c"
+
+
+#line 18 "tex2xindy.c"
#define YY_INT_ALIGNED short int
@@ -640,10 +655,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
+#line 110 "tex2xindy.l"
#define QUOTE_ECHO qs(yytext)
FILE* attrfd = NULL;
@@ -736,7 +748,7 @@ static void omega_output_utf8 ( int width )
}
-#line 740 "tex2xindy.c"
+#line 752 "tex2xindy.c"
#define INITIAL 0
#define key 1
@@ -926,10 +938,10 @@ YY_DECL
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 209 "tex2xindy.l"
+#line 222 "tex2xindy.l"
-#line 933 "tex2xindy.c"
+#line 945 "tex2xindy.c"
if ( !(yy_init) )
{
@@ -1010,7 +1022,7 @@ do_action: /* This label is used only to access EOF actions. */
case 1:
YY_RULE_SETUP
-#line 211 "tex2xindy.l"
+#line 224 "tex2xindy.l"
{
printf("(indexentry :tkey ((\"");
xref_mode = 0;
@@ -1020,7 +1032,7 @@ YY_RULE_SETUP
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 218 "tex2xindy.l"
+#line 231 "tex2xindy.l"
{
printf("(indexentry :tkey ((\"");
xref_mode = 0;
@@ -1030,23 +1042,23 @@ YY_RULE_SETUP
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 225 "tex2xindy.l"
+#line 238 "tex2xindy.l"
{ QUOTE_ECHO; }
YY_BREAK
case 4:
/* rule 4 can match eol */
YY_RULE_SETUP
-#line 226 "tex2xindy.l"
+#line 239 "tex2xindy.l"
{ qc(yytext[1]); lineno++; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 227 "tex2xindy.l"
+#line 240 "tex2xindy.l"
{ qc(yytext[1]); }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 228 "tex2xindy.l"
+#line 241 "tex2xindy.l"
{
printf("\")) :attr \"");
range = NO_RANGE;
@@ -1055,7 +1067,7 @@ YY_RULE_SETUP
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 233 "tex2xindy.l"
+#line 246 "tex2xindy.l"
{
if ( glos_mode ) {
printf("\")) :attr \"is\" :xref (\"");
@@ -1069,22 +1081,22 @@ YY_RULE_SETUP
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 243 "tex2xindy.l"
+#line 256 "tex2xindy.l"
{ printf("\") (\""); }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 244 "tex2xindy.l"
+#line 257 "tex2xindy.l"
{ printf("\") (\""); BEGIN(key); }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 245 "tex2xindy.l"
+#line 258 "tex2xindy.l"
{ ECHO; braces++; }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 246 "tex2xindy.l"
+#line 259 "tex2xindy.l"
{
if ( braces > 0 ) {
ECHO;
@@ -1097,32 +1109,32 @@ YY_RULE_SETUP
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 256 "tex2xindy.l"
+#line 269 "tex2xindy.l"
{ printf("\" \""); BEGIN(print); }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 257 "tex2xindy.l"
+#line 270 "tex2xindy.l"
{ multiple_err; }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 259 "tex2xindy.l"
+#line 272 "tex2xindy.l"
{ multiple_err; }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 260 "tex2xindy.l"
+#line 273 "tex2xindy.l"
{ range = OPEN_RANGE; }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 261 "tex2xindy.l"
+#line 274 "tex2xindy.l"
{ range = CLOSE_RANGE; }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 262 "tex2xindy.l"
+#line 275 "tex2xindy.l"
{ /* close :attr "... */
printf("\" :xref (\"");
if (attrfd) fprintf(attrfd, "\txref\n");
@@ -1132,7 +1144,7 @@ YY_RULE_SETUP
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 268 "tex2xindy.l"
+#line 281 "tex2xindy.l"
{
if ( braces > 0 ) {
ECHO;
@@ -1155,7 +1167,7 @@ YY_RULE_SETUP
case 19:
/* rule 19 can match eol */
YY_RULE_SETUP
-#line 286 "tex2xindy.l"
+#line 299 "tex2xindy.l"
{
QUOTE_ECHO;
if (attrfd) fwrite(yytext, sizeof(char), 1, attrfd);
@@ -1164,17 +1176,17 @@ YY_RULE_SETUP
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 294 "tex2xindy.l"
+#line 307 "tex2xindy.l"
{ printf("\" \""); }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 295 "tex2xindy.l"
+#line 308 "tex2xindy.l"
{ ECHO; braces++; }
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 296 "tex2xindy.l"
+#line 309 "tex2xindy.l"
{
if ( braces > 1 ) {
ECHO;
@@ -1190,7 +1202,7 @@ YY_RULE_SETUP
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 308 "tex2xindy.l"
+#line 321 "tex2xindy.l"
{
if ( braces > 0 ) {
ECHO;
@@ -1204,7 +1216,7 @@ YY_RULE_SETUP
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 319 "tex2xindy.l"
+#line 332 "tex2xindy.l"
{
if (xref_mode) {
BEGIN(skiplocation);
@@ -1216,22 +1228,22 @@ YY_RULE_SETUP
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 327 "tex2xindy.l"
+#line 340 "tex2xindy.l"
{ printf("\")\n"); BEGIN(0); }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 329 "tex2xindy.l"
+#line 342 "tex2xindy.l"
{ printf(")\n"); BEGIN(0); }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 330 "tex2xindy.l"
+#line 343 "tex2xindy.l"
{ ; }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 332 "tex2xindy.l"
+#line 345 "tex2xindy.l"
{
if ( omega_mode ) {
omega_output_utf8(2);
@@ -1242,7 +1254,7 @@ YY_RULE_SETUP
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 339 "tex2xindy.l"
+#line 352 "tex2xindy.l"
{
if ( omega_mode ) {
omega_output_utf8(4);
@@ -1253,7 +1265,7 @@ YY_RULE_SETUP
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 346 "tex2xindy.l"
+#line 359 "tex2xindy.l"
{
if ( omega_mode ) {
omega_output_utf8(8);
@@ -1265,28 +1277,28 @@ YY_RULE_SETUP
case 31:
/* rule 31 can match eol */
YY_RULE_SETUP
-#line 354 "tex2xindy.l"
+#line 367 "tex2xindy.l"
{ ECHO; lineno++; }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 355 "tex2xindy.l"
+#line 368 "tex2xindy.l"
{ QUOTE_ECHO; }
YY_BREAK
case 33:
/* rule 33 can match eol */
YY_RULE_SETUP
-#line 357 "tex2xindy.l"
+#line 370 "tex2xindy.l"
{ lineno++; }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 358 "tex2xindy.l"
+#line 371 "tex2xindy.l"
{ ; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 359 "tex2xindy.l"
+#line 372 "tex2xindy.l"
{
fprintf(stderr,
"Encountered unexpected char '%c' on line %d\n",
@@ -1295,10 +1307,10 @@ YY_RULE_SETUP
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 365 "tex2xindy.l"
+#line 378 "tex2xindy.l"
ECHO;
YY_BREAK
-#line 1302 "tex2xindy.c"
+#line 1314 "tex2xindy.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(key):
case YY_STATE_EOF(print):
@@ -2301,7 +2313,7 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 365 "tex2xindy.l"
+#line 378 "tex2xindy.l"
@@ -2316,8 +2328,13 @@ int
main(int argc, char* argv[])
{
int option;
+
+#ifdef WIN32
+ setmode (fileno(stdout), _O_BINARY);
+#else
extern char *optarg;
extern int optind, optopt;
+#endif
while ( (option=getopt(argc, argv, ":o")) != -1 ) {
switch (option) {
@@ -2339,7 +2356,7 @@ main(int argc, char* argv[])
if ( optind == argc - 1 ) {
fprintf(stderr, "Writing attribute names to file \"%s\".\n",
argv[optind]);
- if ( (attrfd = fopen(argv[optind], "w")) == NULL ) {
+ if ( (attrfd = fopen(argv[optind], "wb")) == NULL ) {
perror (argv[optind]);
exit (1);
}
diff --git a/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.l b/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.l
index b13be608a1f..dd3ef7ee7e6 100644
--- a/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.l
+++ b/Build/source/utils/xindy/xindy-2.4/tex2xindy/tex2xindy.l
@@ -89,11 +89,24 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
=cut
*/
+%}
+%top{
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
+#ifdef WIN32
+# include <kpathsea/getopt.h>
+# include <fcntl.h>
+# define YY_NO_UNISTD_H 1
+# ifdef W32TeX
+# define __STDC_VERSION__ 199901L
+# endif
+#else
+# include <unistd.h>
+#endif
+}
+%{
#define QUOTE_ECHO qs(yytext)
FILE* attrfd = NULL;
@@ -375,8 +388,13 @@ int
main(int argc, char* argv[])
{
int option;
+
+#ifdef WIN32
+ setmode (fileno(stdout), _O_BINARY);
+#else
extern char *optarg;
extern int optind, optopt;
+#endif
while ( (option=getopt(argc, argv, ":o")) != -1 ) {
switch (option) {
@@ -398,7 +416,7 @@ main(int argc, char* argv[])
if ( optind == argc - 1 ) {
fprintf(stderr, "Writing attribute names to file \"%s\".\n",
argv[optind]);
- if ( (attrfd = fopen(argv[optind], "w")) == NULL ) {
+ if ( (attrfd = fopen(argv[optind], "wb")) == NULL ) {
perror (argv[optind]);
exit (1);
}