Skip to content

Commit c8729a3

Browse files
committed
Sync with upstream: Add ext/lexbor
1 parent dc1b404 commit c8729a3

File tree

4 files changed

+231
-181
lines changed

4 files changed

+231
-181
lines changed

cmake/ext/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ set_property(
2929
date
3030
hash
3131
json
32+
lexbor
3233
pcre
3334
random
3435
reflection

cmake/ext/dom/CMakeLists.txt

Lines changed: 4 additions & 181 deletions
Original file line numberDiff line numberDiff line change
@@ -79,181 +79,7 @@ target_sources(
7979
html5_serializer.c
8080
infra.c
8181
inner_outer_html_mixin.c
82-
lexbor/lexbor/core/array_obj.c
83-
lexbor/lexbor/core/array.c
84-
lexbor/lexbor/core/avl.c
85-
lexbor/lexbor/core/bst.c
86-
lexbor/lexbor/core/conv.c
87-
lexbor/lexbor/core/diyfp.c
88-
lexbor/lexbor/core/dobject.c
89-
lexbor/lexbor/core/dtoa.c
90-
lexbor/lexbor/core/hash.c
91-
lexbor/lexbor/core/mem.c
92-
lexbor/lexbor/core/mraw.c
93-
lexbor/lexbor/core/print.c
94-
lexbor/lexbor/core/serialize.c
95-
lexbor/lexbor/core/shs.c
96-
lexbor/lexbor/core/str.c
97-
lexbor/lexbor/core/strtod.c
98-
lexbor/lexbor/css/css.c
99-
lexbor/lexbor/css/log.c
100-
lexbor/lexbor/css/parser.c
101-
lexbor/lexbor/css/selectors/pseudo_state.c
102-
lexbor/lexbor/css/selectors/pseudo.c
103-
lexbor/lexbor/css/selectors/selector.c
104-
lexbor/lexbor/css/selectors/selectors.c
105-
lexbor/lexbor/css/selectors/state.c
106-
lexbor/lexbor/css/state.c
107-
lexbor/lexbor/css/syntax/anb.c
108-
lexbor/lexbor/css/syntax/parser.c
109-
lexbor/lexbor/css/syntax/state.c
110-
lexbor/lexbor/css/syntax/syntax.c
111-
lexbor/lexbor/css/syntax/token.c
112-
lexbor/lexbor/css/syntax/tokenizer.c
113-
lexbor/lexbor/css/syntax/tokenizer/error.c
114-
lexbor/lexbor/dom/interface.c
115-
lexbor/lexbor/dom/interfaces/attr.c
116-
lexbor/lexbor/dom/interfaces/cdata_section.c
117-
lexbor/lexbor/dom/interfaces/character_data.c
118-
lexbor/lexbor/dom/interfaces/comment.c
119-
lexbor/lexbor/dom/interfaces/document_fragment.c
120-
lexbor/lexbor/dom/interfaces/document_type.c
121-
lexbor/lexbor/dom/interfaces/document.c
122-
lexbor/lexbor/dom/interfaces/element.c
123-
lexbor/lexbor/dom/interfaces/node.c
124-
lexbor/lexbor/dom/interfaces/processing_instruction.c
125-
lexbor/lexbor/dom/interfaces/shadow_root.c
126-
lexbor/lexbor/dom/interfaces/text.c
127-
lexbor/lexbor/encoding/big5.c
128-
lexbor/lexbor/encoding/decode.c
129-
lexbor/lexbor/encoding/encode.c
130-
lexbor/lexbor/encoding/encoding.c
131-
lexbor/lexbor/encoding/euc_kr.c
132-
lexbor/lexbor/encoding/gb18030.c
133-
lexbor/lexbor/encoding/iso_2022_jp_katakana.c
134-
lexbor/lexbor/encoding/jis0208.c
135-
lexbor/lexbor/encoding/jis0212.c
136-
lexbor/lexbor/encoding/range.c
137-
lexbor/lexbor/encoding/res.c
138-
lexbor/lexbor/encoding/single.c
139-
lexbor/lexbor/html/encoding.c
140-
lexbor/lexbor/html/interface.c
141-
lexbor/lexbor/html/interfaces/anchor_element.c
142-
lexbor/lexbor/html/interfaces/area_element.c
143-
lexbor/lexbor/html/interfaces/audio_element.c
144-
lexbor/lexbor/html/interfaces/base_element.c
145-
lexbor/lexbor/html/interfaces/body_element.c
146-
lexbor/lexbor/html/interfaces/br_element.c
147-
lexbor/lexbor/html/interfaces/button_element.c
148-
lexbor/lexbor/html/interfaces/canvas_element.c
149-
lexbor/lexbor/html/interfaces/d_list_element.c
150-
lexbor/lexbor/html/interfaces/data_element.c
151-
lexbor/lexbor/html/interfaces/data_list_element.c
152-
lexbor/lexbor/html/interfaces/details_element.c
153-
lexbor/lexbor/html/interfaces/dialog_element.c
154-
lexbor/lexbor/html/interfaces/directory_element.c
155-
lexbor/lexbor/html/interfaces/div_element.c
156-
lexbor/lexbor/html/interfaces/document.c
157-
lexbor/lexbor/html/interfaces/element.c
158-
lexbor/lexbor/html/interfaces/embed_element.c
159-
lexbor/lexbor/html/interfaces/field_set_element.c
160-
lexbor/lexbor/html/interfaces/font_element.c
161-
lexbor/lexbor/html/interfaces/form_element.c
162-
lexbor/lexbor/html/interfaces/frame_element.c
163-
lexbor/lexbor/html/interfaces/frame_set_element.c
164-
lexbor/lexbor/html/interfaces/head_element.c
165-
lexbor/lexbor/html/interfaces/heading_element.c
166-
lexbor/lexbor/html/interfaces/hr_element.c
167-
lexbor/lexbor/html/interfaces/html_element.c
168-
lexbor/lexbor/html/interfaces/iframe_element.c
169-
lexbor/lexbor/html/interfaces/image_element.c
170-
lexbor/lexbor/html/interfaces/input_element.c
171-
lexbor/lexbor/html/interfaces/label_element.c
172-
lexbor/lexbor/html/interfaces/legend_element.c
173-
lexbor/lexbor/html/interfaces/li_element.c
174-
lexbor/lexbor/html/interfaces/link_element.c
175-
lexbor/lexbor/html/interfaces/map_element.c
176-
lexbor/lexbor/html/interfaces/marquee_element.c
177-
lexbor/lexbor/html/interfaces/media_element.c
178-
lexbor/lexbor/html/interfaces/menu_element.c
179-
lexbor/lexbor/html/interfaces/meta_element.c
180-
lexbor/lexbor/html/interfaces/meter_element.c
181-
lexbor/lexbor/html/interfaces/mod_element.c
182-
lexbor/lexbor/html/interfaces/o_list_element.c
183-
lexbor/lexbor/html/interfaces/object_element.c
184-
lexbor/lexbor/html/interfaces/opt_group_element.c
185-
lexbor/lexbor/html/interfaces/option_element.c
186-
lexbor/lexbor/html/interfaces/output_element.c
187-
lexbor/lexbor/html/interfaces/paragraph_element.c
188-
lexbor/lexbor/html/interfaces/param_element.c
189-
lexbor/lexbor/html/interfaces/picture_element.c
190-
lexbor/lexbor/html/interfaces/pre_element.c
191-
lexbor/lexbor/html/interfaces/progress_element.c
192-
lexbor/lexbor/html/interfaces/quote_element.c
193-
lexbor/lexbor/html/interfaces/script_element.c
194-
lexbor/lexbor/html/interfaces/select_element.c
195-
lexbor/lexbor/html/interfaces/slot_element.c
196-
lexbor/lexbor/html/interfaces/source_element.c
197-
lexbor/lexbor/html/interfaces/span_element.c
198-
lexbor/lexbor/html/interfaces/style_element.c
199-
lexbor/lexbor/html/interfaces/table_caption_element.c
200-
lexbor/lexbor/html/interfaces/table_cell_element.c
201-
lexbor/lexbor/html/interfaces/table_col_element.c
202-
lexbor/lexbor/html/interfaces/table_element.c
203-
lexbor/lexbor/html/interfaces/table_row_element.c
204-
lexbor/lexbor/html/interfaces/table_section_element.c
205-
lexbor/lexbor/html/interfaces/template_element.c
206-
lexbor/lexbor/html/interfaces/text_area_element.c
207-
lexbor/lexbor/html/interfaces/time_element.c
208-
lexbor/lexbor/html/interfaces/title_element.c
209-
lexbor/lexbor/html/interfaces/track_element.c
210-
lexbor/lexbor/html/interfaces/u_list_element.c
211-
lexbor/lexbor/html/interfaces/unknown_element.c
212-
lexbor/lexbor/html/interfaces/video_element.c
213-
lexbor/lexbor/html/interfaces/window.c
214-
lexbor/lexbor/html/parser.c
215-
lexbor/lexbor/html/token_attr.c
216-
lexbor/lexbor/html/token.c
217-
lexbor/lexbor/html/tokenizer.c
218-
lexbor/lexbor/html/tokenizer/error.c
219-
lexbor/lexbor/html/tokenizer/state_comment.c
220-
lexbor/lexbor/html/tokenizer/state_doctype.c
221-
lexbor/lexbor/html/tokenizer/state_rawtext.c
222-
lexbor/lexbor/html/tokenizer/state_rcdata.c
223-
lexbor/lexbor/html/tokenizer/state_script.c
224-
lexbor/lexbor/html/tokenizer/state.c
225-
lexbor/lexbor/html/tree.c
226-
lexbor/lexbor/html/tree/active_formatting.c
227-
lexbor/lexbor/html/tree/error.c
228-
lexbor/lexbor/html/tree/insertion_mode/after_after_body.c
229-
lexbor/lexbor/html/tree/insertion_mode/after_after_frameset.c
230-
lexbor/lexbor/html/tree/insertion_mode/after_body.c
231-
lexbor/lexbor/html/tree/insertion_mode/after_frameset.c
232-
lexbor/lexbor/html/tree/insertion_mode/after_head.c
233-
lexbor/lexbor/html/tree/insertion_mode/before_head.c
234-
lexbor/lexbor/html/tree/insertion_mode/before_html.c
235-
lexbor/lexbor/html/tree/insertion_mode/foreign_content.c
236-
lexbor/lexbor/html/tree/insertion_mode/in_body.c
237-
lexbor/lexbor/html/tree/insertion_mode/in_caption.c
238-
lexbor/lexbor/html/tree/insertion_mode/in_cell.c
239-
lexbor/lexbor/html/tree/insertion_mode/in_column_group.c
240-
lexbor/lexbor/html/tree/insertion_mode/in_frameset.c
241-
lexbor/lexbor/html/tree/insertion_mode/in_head_noscript.c
242-
lexbor/lexbor/html/tree/insertion_mode/in_head.c
243-
lexbor/lexbor/html/tree/insertion_mode/in_row.c
244-
lexbor/lexbor/html/tree/insertion_mode/in_select_in_table.c
245-
lexbor/lexbor/html/tree/insertion_mode/in_select.c
246-
lexbor/lexbor/html/tree/insertion_mode/in_table_body.c
247-
lexbor/lexbor/html/tree/insertion_mode/in_table_text.c
248-
lexbor/lexbor/html/tree/insertion_mode/in_table.c
249-
lexbor/lexbor/html/tree/insertion_mode/in_template.c
250-
lexbor/lexbor/html/tree/insertion_mode/initial.c
251-
lexbor/lexbor/html/tree/insertion_mode/text.c
252-
lexbor/lexbor/html/tree/open_elements.c
253-
lexbor/lexbor/ns/ns.c
254-
lexbor/lexbor/ports/posix/lexbor/core/memory.c
255-
lexbor/lexbor/selectors-adapted/selectors.c
256-
lexbor/lexbor/tag/tag.c
82+
lexbor/selectors-adapted/selectors.c
25783
namednodemap.c
25884
namespace_compat.c
25985
node.c
@@ -262,7 +88,6 @@ target_sources(
26288
parentnode/css_selectors.c
26389
parentnode/tree.c
26490
php_dom.c
265-
php_dom.stub.php
26691
private_data.c
26792
processinginstruction.c
26893
text.c
@@ -275,18 +100,16 @@ target_sources(
275100
FILE_SET HEADERS
276101
FILES
277102
dom_ce.h
103+
$<$<PLATFORM_ID:Windows>:lexbor/selectors-adapted/selectors.h>
278104
namespace_compat.h
279105
xml_common.h
280106
xpath_callbacks.h
281107
)
282108

283-
target_include_directories(php_ext_dom PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/lexbor)
284-
285109
target_compile_definitions(
286110
php_ext_dom
287111
PRIVATE
288-
LEXBOR_STATIC
289-
$<$<AND:$<PLATFORM_ID:Windows>,$<NOT:$<IN_LIST:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY;SHARED_LIBRARY>>>:LIBXML_STATIC>
112+
$<$<AND:$<PLATFORM_ID:Windows>,$<NOT:$<IN_LIST:$<TARGET_PROPERTY:TYPE>,MODULE_LIBRARY;SHARED_LIBRARY>>>:LIBXML_STATIC;LEXBOR_STATIC>
290113
)
291114

292115
include(Packages/LibXml2)
@@ -300,7 +123,7 @@ set_package_properties(
300123

301124
target_link_libraries(php_ext_dom PRIVATE LibXml2::LibXml2)
302125

303-
add_dependencies(php_ext_dom php_ext_libxml php_ext_random)
126+
add_dependencies(php_ext_dom php_ext_lexbor php_ext_libxml php_ext_random)
304127

305128
set(HAVE_DOM TRUE)
306129

0 commit comments

Comments
 (0)