Skip to content

Commit c0adad5

Browse files
committed
fix exports and shared compilation
1 parent ffabfc7 commit c0adad5

File tree

3 files changed

+66
-61
lines changed

3 files changed

+66
-61
lines changed

ext/dom/config.w32

+4
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ if (PHP_DOM == "yes") {
1818

1919
if (!PHP_DOM_SHARED) {
2020
ADD_FLAG("CFLAGS_DOM", "/D LIBXML_STATIC ");
21+
} else {
22+
if (!CHECK_LIB("libxml2.lib", "dom")) {
23+
WARNING("dom support can't be enabled, libxml is not found")
24+
}
2125
}
2226
PHP_INSTALL_HEADERS("ext/dom", "xml_common.h");
2327
} else {

ext/dom/dom_ce.h

+31-30
Original file line numberDiff line numberDiff line change
@@ -21,38 +21,39 @@
2121
#ifndef DOM_CE_H
2222
#define DOM_CE_H
2323

24-
extern zend_class_entry *dom_domexception_class_entry;
25-
extern zend_class_entry *dom_domstringlist_class_entry;
26-
extern zend_class_entry *dom_namelist_class_entry;
27-
extern zend_class_entry *dom_domimplementationlist_class_entry;
28-
extern zend_class_entry *dom_domimplementationsource_class_entry;
29-
extern zend_class_entry *dom_domimplementation_class_entry;
30-
extern zend_class_entry *dom_documentfragment_class_entry;
31-
extern zend_class_entry *dom_document_class_entry;
32-
extern zend_class_entry *dom_nodelist_class_entry;
33-
extern zend_class_entry *dom_namednodemap_class_entry;
34-
extern zend_class_entry *dom_characterdata_class_entry;
35-
extern zend_class_entry *dom_attr_class_entry;
36-
extern zend_class_entry *dom_element_class_entry;
37-
extern zend_class_entry *dom_text_class_entry;
38-
extern zend_class_entry *dom_comment_class_entry;
39-
extern zend_class_entry *dom_typeinfo_class_entry;
40-
extern zend_class_entry *dom_userdatahandler_class_entry;
41-
extern zend_class_entry *dom_domerror_class_entry;
42-
extern zend_class_entry *dom_domerrorhandler_class_entry;
43-
extern zend_class_entry *dom_domlocator_class_entry;
44-
extern zend_class_entry *dom_domconfiguration_class_entry;
45-
extern zend_class_entry *dom_cdatasection_class_entry;
46-
extern zend_class_entry *dom_documenttype_class_entry;
47-
extern zend_class_entry *dom_notation_class_entry;
48-
extern zend_class_entry *dom_entity_class_entry;
49-
extern zend_class_entry *dom_entityreference_class_entry;
50-
extern zend_class_entry *dom_processinginstruction_class_entry;
51-
extern zend_class_entry *dom_string_extend_class_entry;
24+
extern PHP_DOM_EXPORT zend_class_entry *dom_node_class_entry;
25+
extern PHP_DOM_EXPORT zend_class_entry *dom_domexception_class_entry;
26+
extern PHP_DOM_EXPORT zend_class_entry *dom_domstringlist_class_entry;
27+
extern PHP_DOM_EXPORT zend_class_entry *dom_namelist_class_entry;
28+
extern PHP_DOM_EXPORT zend_class_entry *dom_domimplementationlist_class_entry;
29+
extern PHP_DOM_EXPORT zend_class_entry *dom_domimplementationsource_class_entry;
30+
extern PHP_DOM_EXPORT zend_class_entry *dom_domimplementation_class_entry;
31+
extern PHP_DOM_EXPORT zend_class_entry *dom_documentfragment_class_entry;
32+
extern PHP_DOM_EXPORT zend_class_entry *dom_document_class_entry;
33+
extern PHP_DOM_EXPORT zend_class_entry *dom_nodelist_class_entry;
34+
extern PHP_DOM_EXPORT zend_class_entry *dom_namednodemap_class_entry;
35+
extern PHP_DOM_EXPORT zend_class_entry *dom_characterdata_class_entry;
36+
extern PHP_DOM_EXPORT zend_class_entry *dom_attr_class_entry;
37+
extern PHP_DOM_EXPORT zend_class_entry *dom_element_class_entry;
38+
extern PHP_DOM_EXPORT zend_class_entry *dom_text_class_entry;
39+
extern PHP_DOM_EXPORT zend_class_entry *dom_comment_class_entry;
40+
extern PHP_DOM_EXPORT zend_class_entry *dom_typeinfo_class_entry;
41+
extern PHP_DOM_EXPORT zend_class_entry *dom_userdatahandler_class_entry;
42+
extern PHP_DOM_EXPORT zend_class_entry *dom_domerror_class_entry;
43+
extern PHP_DOM_EXPORT zend_class_entry *dom_domerrorhandler_class_entry;
44+
extern PHP_DOM_EXPORT zend_class_entry *dom_domlocator_class_entry;
45+
extern PHP_DOM_EXPORT zend_class_entry *dom_domconfiguration_class_entry;
46+
extern PHP_DOM_EXPORT zend_class_entry *dom_cdatasection_class_entry;
47+
extern PHP_DOM_EXPORT zend_class_entry *dom_documenttype_class_entry;
48+
extern PHP_DOM_EXPORT zend_class_entry *dom_notation_class_entry;
49+
extern PHP_DOM_EXPORT zend_class_entry *dom_entity_class_entry;
50+
extern PHP_DOM_EXPORT zend_class_entry *dom_entityreference_class_entry;
51+
extern PHP_DOM_EXPORT zend_class_entry *dom_processinginstruction_class_entry;
52+
extern PHP_DOM_EXPORT zend_class_entry *dom_string_extend_class_entry;
5253
#if defined(LIBXML_XPATH_ENABLED)
53-
extern zend_class_entry *dom_xpath_class_entry;
54+
extern PHP_DOM_EXPORT zend_class_entry *dom_xpath_class_entry;
5455
#endif
55-
extern zend_class_entry *dom_namespace_node_class_entry;
56+
extern PHP_DOM_EXPORT zend_class_entry *dom_namespace_node_class_entry;
5657

5758
#endif /* DOM_CE_H */
5859

ext/dom/php_dom.c

+31-31
Original file line numberDiff line numberDiff line change
@@ -36,39 +36,39 @@
3636
#define PHP_XPTR 2
3737

3838
/* {{{ class entries */
39-
zend_class_entry *dom_node_class_entry;
40-
zend_class_entry *dom_domexception_class_entry;
41-
zend_class_entry *dom_domstringlist_class_entry;
42-
zend_class_entry *dom_namelist_class_entry;
43-
zend_class_entry *dom_domimplementationlist_class_entry;
44-
zend_class_entry *dom_domimplementationsource_class_entry;
45-
zend_class_entry *dom_domimplementation_class_entry;
46-
zend_class_entry *dom_documentfragment_class_entry;
47-
zend_class_entry *dom_document_class_entry;
48-
zend_class_entry *dom_nodelist_class_entry;
49-
zend_class_entry *dom_namednodemap_class_entry;
50-
zend_class_entry *dom_characterdata_class_entry;
51-
zend_class_entry *dom_attr_class_entry;
52-
zend_class_entry *dom_element_class_entry;
53-
zend_class_entry *dom_text_class_entry;
54-
zend_class_entry *dom_comment_class_entry;
55-
zend_class_entry *dom_typeinfo_class_entry;
56-
zend_class_entry *dom_userdatahandler_class_entry;
57-
zend_class_entry *dom_domerror_class_entry;
58-
zend_class_entry *dom_domerrorhandler_class_entry;
59-
zend_class_entry *dom_domlocator_class_entry;
60-
zend_class_entry *dom_domconfiguration_class_entry;
61-
zend_class_entry *dom_cdatasection_class_entry;
62-
zend_class_entry *dom_documenttype_class_entry;
63-
zend_class_entry *dom_notation_class_entry;
64-
zend_class_entry *dom_entity_class_entry;
65-
zend_class_entry *dom_entityreference_class_entry;
66-
zend_class_entry *dom_processinginstruction_class_entry;
67-
zend_class_entry *dom_string_extend_class_entry;
39+
PHP_DOM_EXPORT zend_class_entry *dom_node_class_entry;
40+
PHP_DOM_EXPORT zend_class_entry *dom_domexception_class_entry;
41+
PHP_DOM_EXPORT zend_class_entry *dom_domstringlist_class_entry;
42+
PHP_DOM_EXPORT zend_class_entry *dom_namelist_class_entry;
43+
PHP_DOM_EXPORT zend_class_entry *dom_domimplementationlist_class_entry;
44+
PHP_DOM_EXPORT zend_class_entry *dom_domimplementationsource_class_entry;
45+
PHP_DOM_EXPORT zend_class_entry *dom_domimplementation_class_entry;
46+
PHP_DOM_EXPORT zend_class_entry *dom_documentfragment_class_entry;
47+
PHP_DOM_EXPORT zend_class_entry *dom_document_class_entry;
48+
PHP_DOM_EXPORT zend_class_entry *dom_nodelist_class_entry;
49+
PHP_DOM_EXPORT zend_class_entry *dom_namednodemap_class_entry;
50+
PHP_DOM_EXPORT zend_class_entry *dom_characterdata_class_entry;
51+
PHP_DOM_EXPORT zend_class_entry *dom_attr_class_entry;
52+
PHP_DOM_EXPORT zend_class_entry *dom_element_class_entry;
53+
PHP_DOM_EXPORT zend_class_entry *dom_text_class_entry;
54+
PHP_DOM_EXPORT zend_class_entry *dom_comment_class_entry;
55+
PHP_DOM_EXPORT zend_class_entry *dom_typeinfo_class_entry;
56+
PHP_DOM_EXPORT zend_class_entry *dom_userdatahandler_class_entry;
57+
PHP_DOM_EXPORT zend_class_entry *dom_domerror_class_entry;
58+
PHP_DOM_EXPORT zend_class_entry *dom_domerrorhandler_class_entry;
59+
PHP_DOM_EXPORT zend_class_entry *dom_domlocator_class_entry;
60+
PHP_DOM_EXPORT zend_class_entry *dom_domconfiguration_class_entry;
61+
PHP_DOM_EXPORT zend_class_entry *dom_cdatasection_class_entry;
62+
PHP_DOM_EXPORT zend_class_entry *dom_documenttype_class_entry;
63+
PHP_DOM_EXPORT zend_class_entry *dom_notation_class_entry;
64+
PHP_DOM_EXPORT zend_class_entry *dom_entity_class_entry;
65+
PHP_DOM_EXPORT zend_class_entry *dom_entityreference_class_entry;
66+
PHP_DOM_EXPORT zend_class_entry *dom_processinginstruction_class_entry;
67+
PHP_DOM_EXPORT zend_class_entry *dom_string_extend_class_entry;
6868
#if defined(LIBXML_XPATH_ENABLED)
69-
zend_class_entry *dom_xpath_class_entry;
69+
PHP_DOM_EXPORT zend_class_entry *dom_xpath_class_entry;
7070
#endif
71-
zend_class_entry *dom_namespace_node_class_entry;
71+
PHP_DOM_EXPORT zend_class_entry *dom_namespace_node_class_entry;
7272
/* }}} */
7373

7474
zend_object_handlers dom_object_handlers;

0 commit comments

Comments
 (0)