]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/parser.y
Added chapter on collection and container classes to contents
[wxWidgets.git] / src / common / parser.y
index d9ae9b194b5d14134c18343dff17067ecab4ef60..591c10c5513c28f21bfad922151db6c56f11644e 100644 (file)
@@ -1,4 +1,5 @@
  %{
+#include "wx/setup.h"
 #include <string.h>
 #ifdef _MSC_VER
 #include <io.h>
@@ -27,12 +28,7 @@ void yyerror(char *);
 /* You may need to put /DLEX_SCANNER in your makefile
  * if you're using LEX!
  */
-#ifdef LEX_SCANNER
-/* int yyoutput(int); */
 void yyoutput(int);
-#else
-void yyoutput(int);
-#endif
 
 #if defined(__cplusplus) || defined(__STDC__)
 #if defined(__cplusplus) && defined(__EXTERN_C__)
@@ -124,7 +120,10 @@ arg1       :       WORD
 
 %%
 
-#if (defined(__WXGTK__) || defined(__WXMOTIF__)) && !defined(NO_CONFIGURE)
+/* We include lexer.c if we are building for gtk, wine or motif
+ * and also whenever we are using configure (marked by __WX_SETUP_H__) for,
+ * for example, cross compilation. */
+#if (defined(__WXGTK__) || defined(__WXWINE__) || defined(__WXMOTIF__)) || defined(__WX_SETUP_H__) && !defined(NO_CONFIGURE)
 #include "lexer.c"
 #else
 #if (defined(__MWERKS__))
@@ -157,16 +156,26 @@ void yyerror(char *s)
  * the UNIX flex expects a proper function.
  */
 
-/* Not sure if __SC__ is the appropriate thing
- * to test
- */
-
-#ifndef __SC__
+/* At least on alphaev6-dec-osf4.0e yywrap() must be #define'd */
+#if defined( __ALPHA__ ) && !defined( __VMS__ )
+#ifndef yywrap
+#define yywrap() 1
+#endif
+#else
+/* HH: Added test for __WX_SETUP_H__ for gnuwin builds
+ * using configure */ 
+#if !defined(__SC__) && !defined(__GNUWIN32__) 
 #ifdef USE_DEFINE
 #ifndef yywrap
 #define yywrap() 1
 #endif
-#else if !defined(__alpha___) && !defined(__ultrix)
+#elif !defined(__ultrix)
+int yywrap() { return 1; }
+#elif defined(__VMS__)
+int yywrap() { return 1; }
+#endif
+#elif defined(__WX_SETUP_H__)
 int yywrap() { return 1; }
 #endif
 #endif
+