Skip to content

Commit 88e82d8

Browse files
committed
reenable lemon / full build for integration test purposes
1 parent d6d7aee commit 88e82d8

File tree

5 files changed

+28
-21
lines changed

5 files changed

+28
-21
lines changed

cmake/schema_scanner/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,23 @@ set(schema_scanner_src
2222
${SC_ROOT}/src/express/generated/expparse.c
2323
${SC_ROOT}/src/express/generated/expscan.c
2424
${SC_ROOT}/src/express/alg.c
25+
${SC_ROOT}/src/express/alloc.c
2526
${SC_ROOT}/src/express/caseitem.c
2627
${SC_ROOT}/src/express/dict.c
2728
${SC_ROOT}/src/express/entity.c
2829
${SC_ROOT}/src/express/error.c
2930
${SC_ROOT}/src/express/exp_kw.c
3031
${SC_ROOT}/src/express/expr.c
3132
${SC_ROOT}/src/express/express.c
33+
${SC_ROOT}/src/express/factory.c
3234
${SC_ROOT}/src/express/hash.c
3335
${SC_ROOT}/src/express/lexact.c
3436
${SC_ROOT}/src/express/linklist.c
3537
${SC_ROOT}/src/express/memory.c
3638
${SC_ROOT}/src/express/object.c
3739
${SC_ROOT}/src/express/info.c
3840
${SC_ROOT}/src/express/resolve.c
41+
${SC_ROOT}/src/express/resolve2.c
3942
${SC_ROOT}/src/express/schema.c
4043
${SC_ROOT}/src/express/scope.c
4144
${SC_ROOT}/src/express/stmt.c

src/express/CMakeLists.txt

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,13 @@ if(SC_GENERATE_LP_SOURCES)
4343
LEMON_TARGET(ExpParser expparse.y)
4444
PERPLEX_TARGET(ExpScanner expscan.l)
4545
ADD_PERPLEX_LEMON_DEPENDENCY(ExpScanner ExpParser)
46-
set(SCL_SO_SRCS
47-
${LEMON_ExpParser_SRC}
48-
${PERPLEX_ExpScanner_SRC}
49-
)
5046

51-
LEMON_TARGET(ExpParser_static expparse.y)
52-
PERPLEX_TARGET(ExpScanner_static expscan.l)
53-
ADD_PERPLEX_LEMON_DEPENDENCY(ExpScanner_static ExpParser_static)
54-
set(SCL_STATIC_SRCS
55-
${LEMON_ExpParser_static_SRC}
56-
${PERPLEX_ExpScanner_static_SRC}
57-
)
47+
add_library(objlib_expscan_c OBJECT ${PERPLEX_ExpScanner_SRC})
48+
set_property(TARGET objlib_expscan_c PROPERTY POSITION_INDEPENDENT_CODE ON)
49+
50+
add_library(objlib_expparse_c OBJECT ${LEMON_ExpParser_SRC})
51+
set_property(TARGET objlib_expparse_c PROPERTY POSITION_INDEPENDENT_CODE ON)
52+
5853
else(SC_GENERATE_LP_SOURCES)
5954
add_subdirectory(generated)
6055
include_directories(generated)
@@ -100,6 +95,16 @@ endforeach()
10095
list(APPEND EXPRESS_OBJS $<TARGET_OBJECTS:objlib_expscan_c>)
10196
list(APPEND EXPRESS_OBJS $<TARGET_OBJECTS:objlib_expparse_c>)
10297

98+
99+
if(SC_GENERATE_LP_SOURCES)
100+
set_property(TARGET objlib_expparse_c objlib_express_c objlib_lexact_c
101+
APPEND PROPERTY INCLUDE_DIRECTORIES "${PERPLEX_ExpScanner_INCLUDE_DIR}")
102+
set_property(TARGET objlib_expscan_c objlib_express_c objlib_lexact_c
103+
APPEND PROPERTY INCLUDE_DIRECTORIES "${LEMON_ExpParser_INCLUDE_DIR}")
104+
# OBJECT libraries are not targets, and so an explicit dependency is required
105+
set_source_files_properties(express.c lexact.c PROPERTIES OBJECT_DEPENDS "${PERPLEX_ExpScanner_HDR};${LEMON_ExpParser_HDR}")
106+
endif()
107+
103108
# TODO
104109
# Currently, fedex.c provides the main() for multiple programs. These programs
105110
# provide custom behavior by defining EXPRESSinit_init (called by fedex.c's
@@ -129,10 +134,6 @@ if($CACHE{SC_BUILD_SHARED_LIBS})
129134
endif()
130135

131136
if(SC_GENERATE_LP_SOURCES)
132-
set_property(TARGET express
133-
APPEND PROPERTY INCLUDE_DIRECTORIES "${RE2C_ExpScanner_INCLUDE_DIR}")
134-
set_property(TARGET express
135-
APPEND PROPERTY INCLUDE_DIRECTORIES "${LEMON_ExpParser_INCLUDE_DIR}")
136137
add_custom_command(TARGET express POST_BUILD
137138
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_verify.cmake
138139
)
@@ -149,10 +150,6 @@ if($CACHE{SC_BUILD_STATIC_LIBS})
149150
SC_ADDLIB(express-static STATIC SOURCES "dummy.c" ${EXPRESS_OBJS} LINK_LIBRARIES base-static)
150151

151152
if(SC_GENERATE_LP_SOURCES)
152-
set_property(TARGET express-static
153-
APPEND PROPERTY INCLUDE_DIRECTORIES "${RE2C_ExpScanner_INCLUDE_DIR}")
154-
set_property(TARGET express-static
155-
APPEND PROPERTY INCLUDE_DIRECTORIES "${LEMON_ExpParser_INCLUDE_DIR}")
156153
add_custom_command(TARGET express-static POST_BUILD
157154
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/express_verify.cmake
158155
)

src/express/expparse.y

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2439,5 +2439,8 @@ while_control(A) ::= TOK_WHILE expression(B).
24392439

24402440
%stack_overflow {
24412441
fprintf(stderr, "Express parser experienced stack overflow.\n");
2442-
fprintf(stderr, "Last token had value %x\n", yypMinor->yy0.val);
2442+
/*
2443+
* fprintf(stderr, "Last token had value %x\n", yypMinor->yy0.val);
2444+
* fprintf(stderr, "Last token had value %x\n", yypParser->yytos->minor.yy0.val);
2445+
*/
24432446
}

src/express/generated/verification_info.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Autogenerated verification information
22
set(baseline_expscan_l_md5 c86358d3e57ce6916c28a63262fad6e6)
3-
set(baseline_expparse_y_md5 6e10d377f3d2abd9cce8cc439942dc2a)
3+
set(baseline_expparse_y_md5 3722242f16c679c40323317833757a6d)
44
set(baseline_expscan_c_md5 b6b239869e4c7d169107fe45f760ffa0)
55
set(baseline_expscan_h_md5 3052c058a37045b43f96e4c04039bce3)
66
set(baseline_expparse_c_md5 c170b5e39b5fe56e2c39288fbe2b48a1)

src/express/test/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
include_directories(..)
22

3+
if(SC_GENERATE_LP_SOURCES)
4+
include_directories("${PERPLEX_ExpScanner_INCLUDE_DIR}" "${LEMON_ExpParser_INCLUDE_DIR}")
5+
endif(SC_GENERATE_LP_SOURCES)
6+
37
set(EXPRESS_CORE_OBJ
48
# base
59
$<TARGET_OBJECTS:objlib_alloc_c>

0 commit comments

Comments
 (0)