Merge lp:~zorba-coders/zorba/bug-1034582-flexlexerh into lp:zorba

Proposed by Chris Hillery
Status: Merged
Approved by: Paul J. Lucas
Approved revision: 10978
Merged at revision: 10980
Proposed branch: lp:~zorba-coders/zorba/bug-1034582-flexlexerh
Merge into: lp:zorba
Diff against target: 56 lines (+18/-6)
2 files modified
cmake_modules/CMakeUseFlex.cmake (+17/-5)
src/compiler/parser/copyparser.sh.cmake (+1/-1)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug-1034582-flexlexerh
Reviewer Review Type Date Requested Status
Paul J. Lucas Approve
Chris Hillery Approve
Review via email: mp+119075@code.launchpad.net

Commit message

Add "generation" of local copy of FlexLexer.h, to ensure it always stays in sync with the generated lexer .cpp file.

To post a comment you must log in.
Revision history for this message
Chris Hillery (ceejatec) :
review: Approve
Revision history for this message
Paul J. Lucas (paul-lucas) wrote :

Why do you copy FlexLexer.h to the top-level src directory? Why isn't it copied to build/src/compiler/parser to mirror the pre-generated location?

Revision history for this message
Paul J. Lucas (paul-lucas) wrote :

Yep, it works on Mountain Lion using the stock flex.

review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job bug-1034582-flexlexerh-2012-08-10T03-41-04.821Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'cmake_modules/CMakeUseFlex.cmake'
--- cmake_modules/CMakeUseFlex.cmake 2012-07-24 08:48:48 +0000
+++ cmake_modules/CMakeUseFlex.cmake 2012-08-10 02:20:25 +0000
@@ -29,6 +29,7 @@
2929
30IF(NOT FLEX_EXECUTABLE)30IF(NOT FLEX_EXECUTABLE)
31 MESSAGE(STATUS "Looking for flex")31 MESSAGE(STATUS "Looking for flex")
32 FIND_PATH(FLEX_INCLUDE_DIR FlexLexer.h)
32 FIND_PROGRAM(FLEX_EXECUTABLE flex)33 FIND_PROGRAM(FLEX_EXECUTABLE flex)
33 IF(FLEX_EXECUTABLE)34 IF(FLEX_EXECUTABLE)
34 EXEC_PROGRAM(35 EXEC_PROGRAM(
@@ -63,15 +64,26 @@
63 ELSE(FLEX_PREFIX_OUTPUTS)64 ELSE(FLEX_PREFIX_OUTPUTS)
64 SET(PREFIX "yy")65 SET(PREFIX "yy")
65 ENDIF(FLEX_PREFIX_OUTPUTS)66 ENDIF(FLEX_PREFIX_OUTPUTS)
67 # If we regenerate the scanner, be sure to copy the corresponding
68 # FlexLexer.h as well. Put it in the top-level src/ directory since
69 # that path is on the include-directories list; also, that way
70 # multiple flex'd files will all share the include file.
71 SET(FLEXLEXERH "${CMAKE_CURRENT_BINARY_DIR}/FlexLexer.h")
72 ADD_CUSTOM_COMMAND(
73 OUTPUT "${FLEXLEXERH}"
74 COMMAND "${CMAKE_COMMAND}"
75 ARGS -E copy_if_different
76 "${FLEX_INCLUDE_DIR}/FlexLexer.h"
77 "${FLEXLEXERH}")
66 SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${PREFIX}.cpp")78 SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${PREFIX}.cpp")
67 ADD_CUSTOM_COMMAND(79 ADD_CUSTOM_COMMAND(
68 OUTPUT "${OUTFILE}"80 OUTPUT "${OUTFILE}"
69 COMMAND "${FLEX_EXECUTABLE}"81 COMMAND "${FLEX_EXECUTABLE}"
70 ARGS -t 82 ARGS -t --debug "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
71 "--debug"83 # flex's --outfile doesn't seem to work right, so redirect stdout
72 "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"84 > "${OUTFILE}"
73 > ${OUTFILE}85 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
74 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")86 "${FLEXLEXERH}")
75 SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE)87 SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE)
76 ENDMACRO(FLEX_FILE)88 ENDMACRO(FLEX_FILE)
77ENDIF(FLEX_EXECUTABLE)89ENDIF(FLEX_EXECUTABLE)
7890
=== modified file 'src/compiler/parser/copyparser.sh.cmake'
--- src/compiler/parser/copyparser.sh.cmake 2012-07-24 08:48:48 +0000
+++ src/compiler/parser/copyparser.sh.cmake 2012-08-10 02:20:25 +0000
@@ -20,7 +20,7 @@
2020
21cp $BINARY_DIR/compiler/parser/xquery_parser.hpp $SOURCE_DIR/compiler/parser21cp $BINARY_DIR/compiler/parser/xquery_parser.hpp $SOURCE_DIR/compiler/parser
22cp $BINARY_DIR/compiler/parser/xquery_parser.cpp $SOURCE_DIR/compiler/parser22cp $BINARY_DIR/compiler/parser/xquery_parser.cpp $SOURCE_DIR/compiler/parser
23cp /usr/include/FlexLexer.h $SOURCE_DIR/compiler/parser/FlexLexer.h23cp $BINARY_DIR/FlexLexer.h $SOURCE_DIR/compiler/parser/FlexLexer.h
24sed -e 's|^#include <FlexLexer.h>|#include "compiler/parser/FlexLexer.h"|g' $BINARY_DIR/compiler/parser/xquery_scanner.cpp > $SOURCE_DIR/compiler/parser/xquery_scanner.cpp24sed -e 's|^#include <FlexLexer.h>|#include "compiler/parser/FlexLexer.h"|g' $BINARY_DIR/compiler/parser/xquery_scanner.cpp > $SOURCE_DIR/compiler/parser/xquery_scanner.cpp
2525
26echo "Copying Done!"26echo "Copying Done!"

Subscribers

People subscribed via source and target branches