nokolexbor 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/ext/nokolexbor/config.h +186 -0
- data/ext/nokolexbor/extconf.rb +131 -0
- data/ext/nokolexbor/libxml/HTMLparser.h +320 -0
- data/ext/nokolexbor/libxml/SAX2.h +173 -0
- data/ext/nokolexbor/libxml/chvalid.h +230 -0
- data/ext/nokolexbor/libxml/debugXML.h +217 -0
- data/ext/nokolexbor/libxml/dict.h +81 -0
- data/ext/nokolexbor/libxml/encoding.h +232 -0
- data/ext/nokolexbor/libxml/entities.h +153 -0
- data/ext/nokolexbor/libxml/globals.h +529 -0
- data/ext/nokolexbor/libxml/hash.h +236 -0
- data/ext/nokolexbor/libxml/list.h +137 -0
- data/ext/nokolexbor/libxml/parser.h +1264 -0
- data/ext/nokolexbor/libxml/parserInternals.h +641 -0
- data/ext/nokolexbor/libxml/pattern.h +100 -0
- data/ext/nokolexbor/libxml/threads.h +94 -0
- data/ext/nokolexbor/libxml/tree.h +1315 -0
- data/ext/nokolexbor/libxml/uri.h +94 -0
- data/ext/nokolexbor/libxml/valid.h +448 -0
- data/ext/nokolexbor/libxml/xmlIO.h +369 -0
- data/ext/nokolexbor/libxml/xmlautomata.h +146 -0
- data/ext/nokolexbor/libxml/xmlerror.h +919 -0
- data/ext/nokolexbor/libxml/xmlexports.h +79 -0
- data/ext/nokolexbor/libxml/xmlmemory.h +226 -0
- data/ext/nokolexbor/libxml/xmlregexp.h +222 -0
- data/ext/nokolexbor/libxml/xmlstring.h +140 -0
- data/ext/nokolexbor/libxml/xmlversion.h +526 -0
- data/ext/nokolexbor/libxml/xpath.h +575 -0
- data/ext/nokolexbor/libxml/xpathInternals.h +632 -0
- data/ext/nokolexbor/libxml/xpointer.h +137 -0
- data/ext/nokolexbor/libxml.h +76 -0
- data/ext/nokolexbor/memory.c +39 -0
- data/ext/nokolexbor/nl_document.c +51 -0
- data/ext/nokolexbor/nl_node.c +790 -0
- data/ext/nokolexbor/nl_node_set.c +368 -0
- data/ext/nokolexbor/nl_xpath_context.c +200 -0
- data/ext/nokolexbor/nokolexbor.c +63 -0
- data/ext/nokolexbor/nokolexbor.h +37 -0
- data/ext/nokolexbor/private/buf.h +70 -0
- data/ext/nokolexbor/private/dict.h +11 -0
- data/ext/nokolexbor/private/enc.h +17 -0
- data/ext/nokolexbor/private/error.h +21 -0
- data/ext/nokolexbor/private/globals.h +9 -0
- data/ext/nokolexbor/private/memory.h +9 -0
- data/ext/nokolexbor/private/parser.h +27 -0
- data/ext/nokolexbor/private/string.h +9 -0
- data/ext/nokolexbor/private/threads.h +50 -0
- data/ext/nokolexbor/private/tree.h +18 -0
- data/ext/nokolexbor/private/xpath.h +7 -0
- data/ext/nokolexbor/timsort.h +601 -0
- data/ext/nokolexbor/xml_SAX2.c +80 -0
- data/ext/nokolexbor/xml_buf.c +363 -0
- data/ext/nokolexbor/xml_chvalid.c +334 -0
- data/ext/nokolexbor/xml_dict.c +1264 -0
- data/ext/nokolexbor/xml_encoding.c +124 -0
- data/ext/nokolexbor/xml_error.c +134 -0
- data/ext/nokolexbor/xml_globals.c +1085 -0
- data/ext/nokolexbor/xml_hash.c +1141 -0
- data/ext/nokolexbor/xml_memory.c +203 -0
- data/ext/nokolexbor/xml_parser.c +127 -0
- data/ext/nokolexbor/xml_parserInternals.c +338 -0
- data/ext/nokolexbor/xml_pattern.c +2375 -0
- data/ext/nokolexbor/xml_string.c +1051 -0
- data/ext/nokolexbor/xml_threads.c +881 -0
- data/ext/nokolexbor/xml_tree.c +148 -0
- data/ext/nokolexbor/xml_xpath.c +14743 -0
- data/lib/nokolexbor/attribute.rb +18 -0
- data/lib/nokolexbor/document.rb +6 -0
- data/lib/nokolexbor/node.rb +264 -0
- data/lib/nokolexbor/node_set.rb +124 -0
- data/lib/nokolexbor/version.rb +5 -0
- data/lib/nokolexbor/xpath_context.rb +14 -0
- data/lib/nokolexbor.rb +17 -0
- data/patches/0001-lexbor-support-text-pseudo-element.patch +137 -0
- data/patches/0002-lexbor-match-id-class-case-sensitive.patch +22 -0
- data/patches/0003-lexbor-attach-template-content-to-self.patch +13 -0
- data/vendor/lexbor/CMakeLists.txt +331 -0
- data/vendor/lexbor/config.cmake +890 -0
- data/vendor/lexbor/feature.cmake +134 -0
- data/vendor/lexbor/source/lexbor/core/array.c +208 -0
- data/vendor/lexbor/source/lexbor/core/array.h +100 -0
- data/vendor/lexbor/source/lexbor/core/array_obj.c +216 -0
- data/vendor/lexbor/source/lexbor/core/array_obj.h +134 -0
- data/vendor/lexbor/source/lexbor/core/avl.c +442 -0
- data/vendor/lexbor/source/lexbor/core/avl.h +82 -0
- data/vendor/lexbor/source/lexbor/core/base.h +86 -0
- data/vendor/lexbor/source/lexbor/core/bst.c +468 -0
- data/vendor/lexbor/source/lexbor/core/bst.h +108 -0
- data/vendor/lexbor/source/lexbor/core/bst_map.c +238 -0
- data/vendor/lexbor/source/lexbor/core/bst_map.h +87 -0
- data/vendor/lexbor/source/lexbor/core/config.cmake +12 -0
- data/vendor/lexbor/source/lexbor/core/conv.c +203 -0
- data/vendor/lexbor/source/lexbor/core/conv.h +53 -0
- data/vendor/lexbor/source/lexbor/core/core.h +35 -0
- data/vendor/lexbor/source/lexbor/core/def.h +57 -0
- data/vendor/lexbor/source/lexbor/core/diyfp.c +153 -0
- data/vendor/lexbor/source/lexbor/core/diyfp.h +258 -0
- data/vendor/lexbor/source/lexbor/core/dobject.c +187 -0
- data/vendor/lexbor/source/lexbor/core/dobject.h +92 -0
- data/vendor/lexbor/source/lexbor/core/dtoa.c +404 -0
- data/vendor/lexbor/source/lexbor/core/dtoa.h +28 -0
- data/vendor/lexbor/source/lexbor/core/fs.h +60 -0
- data/vendor/lexbor/source/lexbor/core/hash.c +476 -0
- data/vendor/lexbor/source/lexbor/core/hash.h +218 -0
- data/vendor/lexbor/source/lexbor/core/in.c +267 -0
- data/vendor/lexbor/source/lexbor/core/in.h +172 -0
- data/vendor/lexbor/source/lexbor/core/lexbor.h +35 -0
- data/vendor/lexbor/source/lexbor/core/mem.c +228 -0
- data/vendor/lexbor/source/lexbor/core/mem.h +141 -0
- data/vendor/lexbor/source/lexbor/core/mraw.c +428 -0
- data/vendor/lexbor/source/lexbor/core/mraw.h +114 -0
- data/vendor/lexbor/source/lexbor/core/perf.h +45 -0
- data/vendor/lexbor/source/lexbor/core/plog.c +73 -0
- data/vendor/lexbor/source/lexbor/core/plog.h +102 -0
- data/vendor/lexbor/source/lexbor/core/print.c +168 -0
- data/vendor/lexbor/source/lexbor/core/print.h +39 -0
- data/vendor/lexbor/source/lexbor/core/sbst.h +59 -0
- data/vendor/lexbor/source/lexbor/core/serialize.c +27 -0
- data/vendor/lexbor/source/lexbor/core/serialize.h +32 -0
- data/vendor/lexbor/source/lexbor/core/shs.c +118 -0
- data/vendor/lexbor/source/lexbor/core/shs.h +82 -0
- data/vendor/lexbor/source/lexbor/core/str.c +617 -0
- data/vendor/lexbor/source/lexbor/core/str.h +247 -0
- data/vendor/lexbor/source/lexbor/core/str_res.h +369 -0
- data/vendor/lexbor/source/lexbor/core/strtod.c +326 -0
- data/vendor/lexbor/source/lexbor/core/strtod.h +28 -0
- data/vendor/lexbor/source/lexbor/core/types.h +39 -0
- data/vendor/lexbor/source/lexbor/core/utils.c +43 -0
- data/vendor/lexbor/source/lexbor/core/utils.h +36 -0
- data/vendor/lexbor/source/lexbor/css/base.h +44 -0
- data/vendor/lexbor/source/lexbor/css/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/css/css.h +25 -0
- data/vendor/lexbor/source/lexbor/css/log.c +336 -0
- data/vendor/lexbor/source/lexbor/css/log.h +103 -0
- data/vendor/lexbor/source/lexbor/css/node.h +29 -0
- data/vendor/lexbor/source/lexbor/css/parser.c +473 -0
- data/vendor/lexbor/source/lexbor/css/parser.h +368 -0
- data/vendor/lexbor/source/lexbor/css/selectors/base.h +48 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo.c +91 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo.h +66 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_const.h +109 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_res.h +302 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.c +279 -0
- data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.h +85 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selector.c +927 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selector.h +200 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selectors.c +340 -0
- data/vendor/lexbor/source/lexbor/css/selectors/selectors.h +137 -0
- data/vendor/lexbor/source/lexbor/css/selectors/state.c +1718 -0
- data/vendor/lexbor/source/lexbor/css/selectors/state.h +79 -0
- data/vendor/lexbor/source/lexbor/css/stylesheet.h +37 -0
- data/vendor/lexbor/source/lexbor/css/syntax/anb.c +443 -0
- data/vendor/lexbor/source/lexbor/css/syntax/anb.h +45 -0
- data/vendor/lexbor/source/lexbor/css/syntax/base.h +33 -0
- data/vendor/lexbor/source/lexbor/css/syntax/parser.c +9 -0
- data/vendor/lexbor/source/lexbor/css/syntax/parser.h +25 -0
- data/vendor/lexbor/source/lexbor/css/syntax/res.h +48 -0
- data/vendor/lexbor/source/lexbor/css/syntax/state.c +2603 -0
- data/vendor/lexbor/source/lexbor/css/syntax/state.h +140 -0
- data/vendor/lexbor/source/lexbor/css/syntax/state_res.h +273 -0
- data/vendor/lexbor/source/lexbor/css/syntax/syntax.c +67 -0
- data/vendor/lexbor/source/lexbor/css/syntax/token.c +618 -0
- data/vendor/lexbor/source/lexbor/css/syntax/token.h +298 -0
- data/vendor/lexbor/source/lexbor/css/syntax/token_res.h +68 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.c +30 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.h +58 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.c +278 -0
- data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.h +121 -0
- data/vendor/lexbor/source/lexbor/dom/base.h +32 -0
- data/vendor/lexbor/source/lexbor/dom/collection.c +97 -0
- data/vendor/lexbor/source/lexbor/dom/collection.h +112 -0
- data/vendor/lexbor/source/lexbor/dom/config.cmake +3 -0
- data/vendor/lexbor/source/lexbor/dom/dom.h +29 -0
- data/vendor/lexbor/source/lexbor/dom/exception.c +18 -0
- data/vendor/lexbor/source/lexbor/dom/exception.h +73 -0
- data/vendor/lexbor/source/lexbor/dom/interface.c +110 -0
- data/vendor/lexbor/source/lexbor/dom/interface.h +88 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr.c +445 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr.h +152 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr_const.h +62 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/attr_res.h +143 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.c +55 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.h +38 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.c +110 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.h +51 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/comment.c +64 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/comment.h +42 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document.c +536 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document.h +243 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.c +36 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.h +36 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.c +125 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.h +108 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/element.c +1411 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/element.h +319 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.c +32 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.h +34 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/node.c +661 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/node.h +192 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.c +87 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.h +66 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.c +36 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.h +44 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/text.c +63 -0
- data/vendor/lexbor/source/lexbor/dom/interfaces/text.h +42 -0
- data/vendor/lexbor/source/lexbor/encoding/base.h +218 -0
- data/vendor/lexbor/source/lexbor/encoding/big5.c +42839 -0
- data/vendor/lexbor/source/lexbor/encoding/config.cmake +12 -0
- data/vendor/lexbor/source/lexbor/encoding/const.h +65 -0
- data/vendor/lexbor/source/lexbor/encoding/decode.c +3193 -0
- data/vendor/lexbor/source/lexbor/encoding/decode.h +370 -0
- data/vendor/lexbor/source/lexbor/encoding/encode.c +1931 -0
- data/vendor/lexbor/source/lexbor/encoding/encode.h +377 -0
- data/vendor/lexbor/source/lexbor/encoding/encoding.c +252 -0
- data/vendor/lexbor/source/lexbor/encoding/encoding.h +475 -0
- data/vendor/lexbor/source/lexbor/encoding/euc_kr.c +53883 -0
- data/vendor/lexbor/source/lexbor/encoding/gb18030.c +47905 -0
- data/vendor/lexbor/source/lexbor/encoding/iso_2022_jp_katakana.c +159 -0
- data/vendor/lexbor/source/lexbor/encoding/jis0208.c +22477 -0
- data/vendor/lexbor/source/lexbor/encoding/jis0212.c +15787 -0
- data/vendor/lexbor/source/lexbor/encoding/multi.h +53 -0
- data/vendor/lexbor/source/lexbor/encoding/range.c +71 -0
- data/vendor/lexbor/source/lexbor/encoding/range.h +34 -0
- data/vendor/lexbor/source/lexbor/encoding/res.c +222 -0
- data/vendor/lexbor/source/lexbor/encoding/res.h +34 -0
- data/vendor/lexbor/source/lexbor/encoding/single.c +13748 -0
- data/vendor/lexbor/source/lexbor/encoding/single.h +116 -0
- data/vendor/lexbor/source/lexbor/html/base.h +44 -0
- data/vendor/lexbor/source/lexbor/html/config.cmake +3 -0
- data/vendor/lexbor/source/lexbor/html/encoding.c +574 -0
- data/vendor/lexbor/source/lexbor/html/encoding.h +106 -0
- data/vendor/lexbor/source/lexbor/html/html.h +107 -0
- data/vendor/lexbor/source/lexbor/html/interface.c +165 -0
- data/vendor/lexbor/source/lexbor/html/interface.h +186 -0
- data/vendor/lexbor/source/lexbor/html/interface_res.h +4449 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/area_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/area_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/base_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/base_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/body_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/body_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/br_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/br_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/button_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/button_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/details_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/details_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/div_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/div_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/document.c +444 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/document.h +256 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/element.c +64 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/element.h +54 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/font_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/font_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/form_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/form_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/head_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/head_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/html_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/html_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/image_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/image_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/input_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/input_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/label_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/label_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/li_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/li_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/link_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/link_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/map_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/map_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/media_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/media_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/object_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/object_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/option_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/option_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/output_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/output_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/param_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/param_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/script_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/script_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/select_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/select_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/source_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/source_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/span_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/span_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/style_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/style_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/template_element.c +46 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/template_element.h +38 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/time_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/time_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/title_element.c +133 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/title_element.h +42 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/track_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/track_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/video_element.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/video_element.h +34 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/window.c +36 -0
- data/vendor/lexbor/source/lexbor/html/interfaces/window.h +34 -0
- data/vendor/lexbor/source/lexbor/html/node.c +14 -0
- data/vendor/lexbor/source/lexbor/html/node.h +67 -0
- data/vendor/lexbor/source/lexbor/html/parser.c +469 -0
- data/vendor/lexbor/source/lexbor/html/parser.h +170 -0
- data/vendor/lexbor/source/lexbor/html/serialize.c +1510 -0
- data/vendor/lexbor/source/lexbor/html/serialize.h +93 -0
- data/vendor/lexbor/source/lexbor/html/tag.h +103 -0
- data/vendor/lexbor/source/lexbor/html/tag_res.h +2262 -0
- data/vendor/lexbor/source/lexbor/html/token.c +386 -0
- data/vendor/lexbor/source/lexbor/html/token.h +130 -0
- data/vendor/lexbor/source/lexbor/html/token_attr.c +44 -0
- data/vendor/lexbor/source/lexbor/html/token_attr.h +67 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/error.c +28 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/error.h +141 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/res.h +4956 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state.c +2171 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state.h +225 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.c +489 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.h +27 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.c +1654 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.h +27 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.c +303 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.h +32 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.c +311 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.h +32 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.c +1209 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.h +32 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer.c +499 -0
- data/vendor/lexbor/source/lexbor/html/tokenizer.h +343 -0
- data/vendor/lexbor/source/lexbor/html/tree/active_formatting.c +241 -0
- data/vendor/lexbor/source/lexbor/html/tree/active_formatting.h +117 -0
- data/vendor/lexbor/source/lexbor/html/tree/error.c +26 -0
- data/vendor/lexbor/source/lexbor/html/tree/error.h +114 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_body.c +62 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_frameset.c +63 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_body.c +82 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_frameset.c +88 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_head.c +222 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_head.c +144 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_html.c +166 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/foreign_content.c +358 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_body.c +1974 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_caption.c +158 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_cell.c +187 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_column_group.c +194 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_frameset.c +149 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head.c +374 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head_noscript.c +121 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_row.c +211 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select.c +341 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select_in_table.c +115 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table.c +451 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_body.c +208 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_text.c +127 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_template.c +189 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/initial.c +411 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/text.c +61 -0
- data/vendor/lexbor/source/lexbor/html/tree/insertion_mode.h +135 -0
- data/vendor/lexbor/source/lexbor/html/tree/open_elements.c +251 -0
- data/vendor/lexbor/source/lexbor/html/tree/open_elements.h +105 -0
- data/vendor/lexbor/source/lexbor/html/tree/template_insertion.c +10 -0
- data/vendor/lexbor/source/lexbor/html/tree/template_insertion.h +100 -0
- data/vendor/lexbor/source/lexbor/html/tree.c +1726 -0
- data/vendor/lexbor/source/lexbor/html/tree.h +431 -0
- data/vendor/lexbor/source/lexbor/html/tree_res.h +111 -0
- data/vendor/lexbor/source/lexbor/ns/base.h +32 -0
- data/vendor/lexbor/source/lexbor/ns/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/ns/const.h +37 -0
- data/vendor/lexbor/source/lexbor/ns/ns.c +154 -0
- data/vendor/lexbor/source/lexbor/ns/ns.h +66 -0
- data/vendor/lexbor/source/lexbor/ns/res.h +97 -0
- data/vendor/lexbor/source/lexbor/ports/posix/config.cmake +11 -0
- data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/fs.c +236 -0
- data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/memory.c +33 -0
- data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/perf.c +158 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/config.cmake +18 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/fs.c +239 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/memory.c +33 -0
- data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/perf.c +81 -0
- data/vendor/lexbor/source/lexbor/selectors/base.h +30 -0
- data/vendor/lexbor/source/lexbor/selectors/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/selectors/selectors.c +1591 -0
- data/vendor/lexbor/source/lexbor/selectors/selectors.h +71 -0
- data/vendor/lexbor/source/lexbor/tag/base.h +32 -0
- data/vendor/lexbor/source/lexbor/tag/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/tag/const.h +225 -0
- data/vendor/lexbor/source/lexbor/tag/res.h +562 -0
- data/vendor/lexbor/source/lexbor/tag/tag.c +144 -0
- data/vendor/lexbor/source/lexbor/tag/tag.h +123 -0
- data/vendor/lexbor/source/lexbor/utils/base.h +32 -0
- data/vendor/lexbor/source/lexbor/utils/config.cmake +2 -0
- data/vendor/lexbor/source/lexbor/utils/http.c +534 -0
- data/vendor/lexbor/source/lexbor/utils/http.h +90 -0
- data/vendor/lexbor/source/lexbor/utils/utils.h +15 -0
- data/vendor/lexbor/source/lexbor/utils/warc.c +817 -0
- data/vendor/lexbor/source/lexbor/utils/warc.h +126 -0
- data/vendor/lexbor/utils/lexbor/css/selectors/pseudo.py +231 -0
- data/vendor/lexbor/utils/lexbor/css/selectors/tmp/const.h +21 -0
- data/vendor/lexbor/utils/lexbor/css/selectors/tmp/res.h +26 -0
- data/vendor/lexbor/utils/lexbor/css/syntax/definitions.py +49 -0
- data/vendor/lexbor/utils/lexbor/css/syntax/token_res.py +54 -0
- data/vendor/lexbor/utils/lexbor/css/syntax/tokenizer_code_map.py +36 -0
- data/vendor/lexbor/version +1 -0
- metadata +542 -0
@@ -0,0 +1,890 @@
|
|
1
|
+
################
|
2
|
+
## Dependencies
|
3
|
+
#########################
|
4
|
+
IF(NOT LEXBOR_WITHOUT_THREADS)
|
5
|
+
set(CMAKE_THREAD_PREFER_PTHREAD 1)
|
6
|
+
find_package(Threads REQUIRED)
|
7
|
+
IF(NOT CMAKE_USE_PTHREADS_INIT)
|
8
|
+
message(FATAL_ERROR "Could NOT find pthreads (missing: CMAKE_USE_PTHREADS_INIT)")
|
9
|
+
ENDIF()
|
10
|
+
ENDIF()
|
11
|
+
|
12
|
+
################
|
13
|
+
## Detect OS type
|
14
|
+
#########################
|
15
|
+
set(LEXBOR_PLATFORM "UNDEF")
|
16
|
+
|
17
|
+
IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
18
|
+
IF(EXISTS "/etc/centos-release")
|
19
|
+
set(LEXBOR_PLATFORM "CentOS")
|
20
|
+
ENDIF(EXISTS "/etc/centos-release")
|
21
|
+
|
22
|
+
IF(EXISTS "/etc/debian_version")
|
23
|
+
set(LEXBOR_PLATFORM "Debian")
|
24
|
+
ENDIF(EXISTS "/etc/debian_version")
|
25
|
+
|
26
|
+
IF(EXISTS "/etc/redhat-release")
|
27
|
+
set(LEXBOR_PLATFORM "Redhat")
|
28
|
+
ENDIF(EXISTS "/etc/redhat-release")
|
29
|
+
|
30
|
+
IF(EXISTS "/etc/fedora-release")
|
31
|
+
set(LEXBOR_PLATFORM "Redhat")
|
32
|
+
ENDIF(EXISTS "/etc/fedora-release")
|
33
|
+
|
34
|
+
IF(EXISTS "/etc/SuSE-release")
|
35
|
+
set(LEXBOR_PLATFORM "SuSe")
|
36
|
+
ENDIF(EXISTS "/etc/SuSE-release")
|
37
|
+
|
38
|
+
IF(EXISTS "/etc/gentoo-release")
|
39
|
+
set(LEXBOR_PLATFORM "Gentoo")
|
40
|
+
ENDIF(EXISTS "/etc/gentoo-release")
|
41
|
+
ENDIF()
|
42
|
+
|
43
|
+
################
|
44
|
+
## OS ports
|
45
|
+
#########################
|
46
|
+
if (WIN32)
|
47
|
+
set(LEXBOR_OS_PORT_NAME "windows_nt")
|
48
|
+
else ()
|
49
|
+
set(LEXBOR_OS_PORT_NAME "posix")
|
50
|
+
endif (WIN32)
|
51
|
+
|
52
|
+
################
|
53
|
+
## Macro
|
54
|
+
#########################
|
55
|
+
MACRO(LIST_JOIN tlist glue out)
|
56
|
+
set(value "")
|
57
|
+
set(nlist "${${tlist}}")
|
58
|
+
|
59
|
+
FOREACH(entry ${nlist})
|
60
|
+
set(value "${entry}${glue}${value}")
|
61
|
+
ENDFOREACH()
|
62
|
+
|
63
|
+
STRING(REGEX REPLACE "${glue}\$" " " value ${value})
|
64
|
+
|
65
|
+
set(${out} "${value}")
|
66
|
+
|
67
|
+
unset(value)
|
68
|
+
unset(nlist)
|
69
|
+
ENDMACRO()
|
70
|
+
|
71
|
+
MACRO(LIST_TO_COLUMN tlist column join_by out_result)
|
72
|
+
set(out "")
|
73
|
+
set(line "")
|
74
|
+
|
75
|
+
STRING(STRIP ${join_by} join_by_cls)
|
76
|
+
|
77
|
+
FOREACH(mname ${tlist})
|
78
|
+
IF(NOT "${line}" STREQUAL "")
|
79
|
+
set(tmp "${line}${join_by}${mname}")
|
80
|
+
ELSE()
|
81
|
+
set(tmp "${mname}")
|
82
|
+
ENDIF()
|
83
|
+
|
84
|
+
STRING(LENGTH "${tmp}" str_len)
|
85
|
+
|
86
|
+
IF("${str_len}" GREATER "${column}" OR "${str_len}" EQUAL "${column}")
|
87
|
+
set(out "${out}\n${line}${join_by_cls}")
|
88
|
+
|
89
|
+
set(line "")
|
90
|
+
set(tmp "${mname}")
|
91
|
+
ENDIF()
|
92
|
+
|
93
|
+
set(line ${tmp})
|
94
|
+
ENDFOREACH()
|
95
|
+
|
96
|
+
IF(NOT "${line}" STREQUAL "")
|
97
|
+
set(out "${out}\n${line}")
|
98
|
+
ENDIF()
|
99
|
+
|
100
|
+
STRING(STRIP ${out} out)
|
101
|
+
set(${out_result} ${out})
|
102
|
+
|
103
|
+
unset(line)
|
104
|
+
unset(out)
|
105
|
+
ENDMACRO()
|
106
|
+
|
107
|
+
MACRO(SUBDIRLIST_PRIVATE curdir prefix postfix to_list)
|
108
|
+
FILE(GLOB children RELATIVE ${curdir} ${curdir}/*)
|
109
|
+
|
110
|
+
FOREACH(child ${children})
|
111
|
+
IF(IS_DIRECTORY "${curdir}/${child}")
|
112
|
+
LIST(APPEND ${to_list} "${prefix}${child}${postfix}")
|
113
|
+
SUBDIRLIST_PRIVATE("${curdir}/${child}" "${prefix}${child}/" "${postfix}" ${to_list})
|
114
|
+
ENDIF()
|
115
|
+
ENDFOREACH()
|
116
|
+
ENDMACRO()
|
117
|
+
|
118
|
+
MACRO(SUBDIRLIST curdir prefix postfix out_result)
|
119
|
+
SUBDIRLIST_PRIVATE("${curdir}" "${prefix}" "${postfix}" dirlist)
|
120
|
+
|
121
|
+
SET(${out_result} ${dirlist})
|
122
|
+
ENDMACRO()
|
123
|
+
|
124
|
+
MACRO(GET_MODULES_SUB_LIST modules curdir)
|
125
|
+
FILE(GLOB children ${curdir}/ ${curdir}/*)
|
126
|
+
|
127
|
+
FOREACH(child ${children})
|
128
|
+
string(REGEX MATCH "\\.[^/]+$" MATCHSTR ${child})
|
129
|
+
|
130
|
+
IF(IS_DIRECTORY ${child} AND MATCHSTR STREQUAL "")
|
131
|
+
string(REGEX MATCH "[^/]+$" MATCHSTR ${child})
|
132
|
+
|
133
|
+
IF(NOT MATCHSTR STREQUAL "ports")
|
134
|
+
LIST(APPEND ${modules} ${MATCHSTR})
|
135
|
+
ELSE()
|
136
|
+
IF(EXISTS "${child}/${LEXBOR_OS_PORT_NAME}/config.cmake")
|
137
|
+
include("${child}/${LEXBOR_OS_PORT_NAME}/config.cmake")
|
138
|
+
ENDIF()
|
139
|
+
ENDIF()
|
140
|
+
ENDIF()
|
141
|
+
ENDFOREACH()
|
142
|
+
ENDMACRO()
|
143
|
+
|
144
|
+
MACRO(GET_MODULES_LIST modules curdir)
|
145
|
+
FILE(GLOB children ${curdir}/ ${curdir}/*)
|
146
|
+
|
147
|
+
FOREACH(child ${children})
|
148
|
+
string(REGEX MATCH "\\.[^/]+$" MATCHSTR ${child})
|
149
|
+
IF(IS_DIRECTORY ${child} AND MATCHSTR STREQUAL "")
|
150
|
+
GET_MODULES_SUB_LIST(${modules} ${dirs} ${child})
|
151
|
+
ENDIF()
|
152
|
+
ENDFOREACH()
|
153
|
+
ENDMACRO()
|
154
|
+
|
155
|
+
MACRO(INCLUDE_MODULE_CONFIG pname module module_dir)
|
156
|
+
set(conf_path "${module_dir}/config.cmake")
|
157
|
+
|
158
|
+
string(TOUPPER ${module} module_upper)
|
159
|
+
string(TOUPPER ${pname} pname_upper)
|
160
|
+
|
161
|
+
set(tmp "${pname_upper}_${module_upper}_INCLUDED")
|
162
|
+
|
163
|
+
IF("${${tmp}}" STREQUAL "")
|
164
|
+
set(${tmp} TRUE)
|
165
|
+
|
166
|
+
set(DEPENDENCIES "")
|
167
|
+
|
168
|
+
IF(EXISTS "${conf_path}")
|
169
|
+
set(CURRENT_LIB_NAME "${PROJECT_NAME}-${module}")
|
170
|
+
set(CURRENT_LIB_NAME_STATIC "${PROJECT_NAME}-${module}-static")
|
171
|
+
|
172
|
+
include("${conf_path}")
|
173
|
+
ENDIF()
|
174
|
+
|
175
|
+
IF(NOT DEPENDENCIES STREQUAL "")
|
176
|
+
STRING(REGEX REPLACE "[ \t\n]+" " " DEPENDENCIES ${DEPENDENCIES})
|
177
|
+
ENDIF()
|
178
|
+
|
179
|
+
set(tmp "${pname_upper}_${module_upper}_DEPENDENCIES")
|
180
|
+
set(${tmp} "${DEPENDENCIES}")
|
181
|
+
|
182
|
+
set(tmp "${pname_upper}_${module_upper}_TITLE")
|
183
|
+
set(${tmp} "${TITLE}")
|
184
|
+
|
185
|
+
set(tmp "${pname_upper}_${module_upper}_DESCRIPTION")
|
186
|
+
set(${tmp} "${DESCRIPTION}")
|
187
|
+
ENDIF()
|
188
|
+
ENDMACRO()
|
189
|
+
|
190
|
+
MACRO(GET_MODULE_TITLE pname module result)
|
191
|
+
string(TOUPPER ${module} module_upper)
|
192
|
+
string(TOUPPER ${pname} pname_upper)
|
193
|
+
|
194
|
+
set(${result} "${${pname_upper}_${module_upper}_TITLE}")
|
195
|
+
|
196
|
+
unset(module_upper)
|
197
|
+
unset(pname_upper)
|
198
|
+
ENDMACRO()
|
199
|
+
|
200
|
+
MACRO(GET_MODULE_DESCRIPTION pname module result)
|
201
|
+
string(TOUPPER ${module} module_upper)
|
202
|
+
string(TOUPPER ${pname} pname_upper)
|
203
|
+
|
204
|
+
set(${result} "${${pname_upper}_${module_upper}_DESCRIPTION}")
|
205
|
+
|
206
|
+
unset(module_upper)
|
207
|
+
unset(pname_upper)
|
208
|
+
ENDMACRO()
|
209
|
+
|
210
|
+
MACRO(GET_MODULE_DEPENDENCIES pname module result)
|
211
|
+
string(TOUPPER ${module} module_upper)
|
212
|
+
string(TOUPPER ${pname} pname_upper)
|
213
|
+
|
214
|
+
set(${result} "${${pname_upper}_${module_upper}_DEPENDENCIES}")
|
215
|
+
|
216
|
+
unset(module_upper)
|
217
|
+
unset(pname_upper)
|
218
|
+
ENDMACRO()
|
219
|
+
|
220
|
+
MACRO(GET_MODULE_INCLUDED pname module result)
|
221
|
+
string(TOUPPER ${module} module_upper)
|
222
|
+
string(TOUPPER ${pname} pname_upper)
|
223
|
+
|
224
|
+
set(${result} "${${pname_upper}_${module_upper}_INCLUDED}")
|
225
|
+
|
226
|
+
unset(module_upper)
|
227
|
+
unset(pname_upper)
|
228
|
+
ENDMACRO()
|
229
|
+
|
230
|
+
MACRO(GET_MODULE_RESURSES headers sources source_dir pname module)
|
231
|
+
file(GLOB_RECURSE headers "${source_dir}/${pname}/${module}/*.h")
|
232
|
+
file(GLOB_RECURSE sources "${source_dir}/${pname}/${module}/*.c")
|
233
|
+
|
234
|
+
set(port_dir_name "${source_dir}/${pname}/ports/${LEXBOR_OS_PORT_NAME}/${pname}/${module}")
|
235
|
+
|
236
|
+
IF(IS_DIRECTORY ${port_dir_name})
|
237
|
+
file(GLOB_RECURSE port_headers "${port_dir_name}/*.h")
|
238
|
+
file(GLOB_RECURSE port_sources "${port_dir_name}/*.c")
|
239
|
+
|
240
|
+
LIST(APPEND ${headers} ${port_headers})
|
241
|
+
LIST(APPEND ${sources} ${port_sources})
|
242
|
+
ENDIF()
|
243
|
+
ENDMACRO()
|
244
|
+
|
245
|
+
MACRO(GET_MODULE_VERSION major minor patch vstr source_dir pname module)
|
246
|
+
string(TOUPPER ${module} module_upper)
|
247
|
+
|
248
|
+
set(version_file "${source_dir}/${pname}/${module}/base.h")
|
249
|
+
set(version_prefix "LXB_${module_upper}_VERSION")
|
250
|
+
|
251
|
+
IF(${module} STREQUAL "core")
|
252
|
+
set(version_prefix "LEXBOR_VERSION")
|
253
|
+
ENDIF()
|
254
|
+
|
255
|
+
set(version_cache "${version_prefix}_CACHE")
|
256
|
+
|
257
|
+
IF(NOT "${${version_cache}}" STREQUAL "")
|
258
|
+
set(${vstr} "${${version_cache}}")
|
259
|
+
ELSE()
|
260
|
+
file(STRINGS ${version_file} VERSION_PARTS
|
261
|
+
REGEX "^#define[ \t]+${version_prefix}_(MAJOR|MINOR|PATCH)[ \t]+[0-9]+$")
|
262
|
+
|
263
|
+
list(GET VERSION_PARTS 0 VERSION_MAJOR_PART)
|
264
|
+
list(GET VERSION_PARTS 1 VERSION_MINOR_PART)
|
265
|
+
list(GET VERSION_PARTS 2 VERSION_PATCH_PART)
|
266
|
+
|
267
|
+
string(REGEX REPLACE "#define[ \t]+${version_prefix}_MAJOR[ \t]+([0-9]+).*" "\\1" A ${VERSION_MAJOR_PART})
|
268
|
+
string(REGEX REPLACE "#define[ \t]+${version_prefix}_MINOR[ \t]+([0-9]+).*" "\\1" B ${VERSION_MINOR_PART})
|
269
|
+
string(REGEX REPLACE "#define[ \t]+${version_prefix}_PATCH[ \t]+([0-9]+).*" "\\1" C ${VERSION_PATCH_PART})
|
270
|
+
|
271
|
+
set(${major} ${A})
|
272
|
+
set(${minor} ${B})
|
273
|
+
set(${patch} ${C})
|
274
|
+
set(${vstr} "${A}.${B}.${C}")
|
275
|
+
|
276
|
+
set(${version_cache} "${${vstr}}")
|
277
|
+
ENDIF()
|
278
|
+
ENDMACRO()
|
279
|
+
|
280
|
+
MACRO(GET_LEXBOR_VERSION major minor patch vstr)
|
281
|
+
file(STRINGS ${LEXBOR_VERSION_FILEPATH} version_part
|
282
|
+
REGEX "^LEXBOR_VERSION[ \t]*=[ \t]*[0-9.]+$")
|
283
|
+
|
284
|
+
string(REGEX REPLACE "LEXBOR_VERSION=([0-9]+).*" "\\1" AV ${version_part})
|
285
|
+
string(REGEX REPLACE "LEXBOR_VERSION[ \t]*=[ \t]*[0-9]+.([0-9]+).*" "\\1" BV ${version_part})
|
286
|
+
string(REGEX REPLACE "LEXBOR_VERSION[ \t]*=[ \t]*[0-9]+.[0-9]+.([0-9]+).*" "\\1" CV ${version_part})
|
287
|
+
|
288
|
+
set(${major} ${AV})
|
289
|
+
set(${minor} ${BV})
|
290
|
+
set(${patch} ${CV})
|
291
|
+
set(${vstr} "${AV}.${BV}.${CV}")
|
292
|
+
ENDMACRO()
|
293
|
+
|
294
|
+
MACRO(SET_MODULE_LIB_DEPENDENCIES libname deps postfix)
|
295
|
+
IF(NOT ${deps} EQUAL "")
|
296
|
+
string(REGEX REPLACE " +" ";" dep_list ${deps})
|
297
|
+
|
298
|
+
FOREACH(dep ${dep_list})
|
299
|
+
set(dep_libname "${PROJECT_NAME}-${dep}${postfix}")
|
300
|
+
|
301
|
+
add_dependencies(${libname} "${dep_libname}")
|
302
|
+
target_link_libraries(${libname} "${dep_libname}")
|
303
|
+
ENDFOREACH()
|
304
|
+
ENDIF()
|
305
|
+
ENDMACRO()
|
306
|
+
|
307
|
+
MACRO(ADD_MODULE_LIBRARY type libname version_string major)
|
308
|
+
target_link_libraries(${libname} ${CMAKE_THREAD_LIBS_INIT})
|
309
|
+
set_target_properties(${libname} PROPERTIES OUTPUT_NAME ${libname})
|
310
|
+
set_target_properties(${libname} PROPERTIES VERSION ${version_string} SOVERSION ${major})
|
311
|
+
|
312
|
+
install(TARGETS ${libname}
|
313
|
+
RUNTIME DESTINATION "${LEXBOR_INSTALL_DLL_EXE_DIR}"
|
314
|
+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
315
|
+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
316
|
+
ENDMACRO()
|
317
|
+
|
318
|
+
MACRO(INSTALL_MODULE_HEADERS header_path pname module)
|
319
|
+
set(dir_search "${header_path}/${pname}/${module}")
|
320
|
+
|
321
|
+
IF(NOT IS_DIRECTORY "${dir_search}")
|
322
|
+
message(FATAL_ERROR "Install headers: \"${dir_search}\" in not a directory.")
|
323
|
+
ENDIF()
|
324
|
+
|
325
|
+
install(DIRECTORY "${dir_search}" DESTINATION "include/${pname}"
|
326
|
+
FILES_MATCHING PATTERN "*.h")
|
327
|
+
|
328
|
+
file(GLOB header_dirs "${dir_search}/*")
|
329
|
+
|
330
|
+
FOREACH(item ${header_dirs})
|
331
|
+
IF(IS_DIRECTORY "${item}")
|
332
|
+
install(DIRECTORY "${item}" DESTINATION "include/${pname}/${module}"
|
333
|
+
FILES_MATCHING PATTERN "*.h")
|
334
|
+
ENDIF()
|
335
|
+
ENDFOREACH()
|
336
|
+
ENDMACRO()
|
337
|
+
|
338
|
+
MACRO(MODULE_PRINT module version dep)
|
339
|
+
message(STATUS "Append module: ${module} (${version})")
|
340
|
+
|
341
|
+
IF(LEXBOR_PRINT_MODULE_DEPENDENCIES)
|
342
|
+
IF(NOT ${dep} EQUAL "")
|
343
|
+
message(" dependencies: ${dep}")
|
344
|
+
ENDIF()
|
345
|
+
ENDIF()
|
346
|
+
ENDMACRO()
|
347
|
+
|
348
|
+
MACRO(EXECUTABLE_LIST name_prefix sources)
|
349
|
+
FOREACH(src ${sources})
|
350
|
+
get_filename_component(barename ${src} NAME_WE)
|
351
|
+
get_filename_component(build_dir ${src} DIRECTORY)
|
352
|
+
|
353
|
+
STRING(REGEX REPLACE "^${LEXBOR_DIR_ROOT}" "" build_dir ${build_dir})
|
354
|
+
STRING(REGEX REPLACE "^/+" "" build_dir ${build_dir})
|
355
|
+
STRING(REGEX REPLACE "/+" "_" build_exe ${build_dir})
|
356
|
+
|
357
|
+
set(exe_name "${name_prefix}${build_exe}_${barename}")
|
358
|
+
|
359
|
+
add_executable("${exe_name}" ${src})
|
360
|
+
set_target_properties("${exe_name}" PROPERTIES
|
361
|
+
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${build_dir}"
|
362
|
+
OUTPUT_NAME "${barename}")
|
363
|
+
|
364
|
+
IF(WIN32 AND LEXBOR_BUILD_SHARED)
|
365
|
+
add_custom_command(TARGET "${exe_name}"
|
366
|
+
POST_BUILD
|
367
|
+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${LEXBOR_LIB_NAME}> $<TARGET_FILE_DIR:${exe_name}>
|
368
|
+
COMMENT "Copy dll file to ${CMAKE_CURRENT_BINARY_DIR} directory" VERBATIM
|
369
|
+
)
|
370
|
+
|
371
|
+
IF(TEST_UNIT_LIB_NAME)
|
372
|
+
add_custom_command(TARGET "${exe_name}"
|
373
|
+
POST_BUILD
|
374
|
+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${TEST_UNIT_LIB_NAME}> $<TARGET_FILE_DIR:${exe_name}>
|
375
|
+
COMMENT "Copy dll file to ${CMAKE_CURRENT_BINARY_DIR} directory" VERBATIM
|
376
|
+
)
|
377
|
+
ENDIF()
|
378
|
+
ENDIF()
|
379
|
+
|
380
|
+
add_dependencies("${exe_name}" ${ARGN})
|
381
|
+
target_link_libraries("${exe_name}" ${ARGN})
|
382
|
+
ENDFOREACH()
|
383
|
+
ENDMACRO()
|
384
|
+
|
385
|
+
MACRO(APPEND_TESTS name_prefix sources)
|
386
|
+
FOREACH(src ${sources})
|
387
|
+
get_filename_component(barename ${src} NAME_WE)
|
388
|
+
get_filename_component(build_dir ${src} DIRECTORY)
|
389
|
+
|
390
|
+
STRING(REGEX REPLACE "^${CMAKE_CURRENT_SOURCE_DIR}" "/" relative_path ${build_dir})
|
391
|
+
|
392
|
+
set(relative_path "${relative_path}/${barename}")
|
393
|
+
STRING(REGEX REPLACE "^/+" "" relative_path ${relative_path})
|
394
|
+
|
395
|
+
STRING(REGEX REPLACE "/+" "_" arg_name ${relative_path})
|
396
|
+
STRING(REGEX REPLACE "^_+" "" arg_name ${arg_name})
|
397
|
+
|
398
|
+
STRING(REGEX REPLACE "^${LEXBOR_DIR_ROOT}" "" build_dir ${build_dir})
|
399
|
+
STRING(REGEX REPLACE "^/+" "" build_dir ${build_dir})
|
400
|
+
|
401
|
+
IF (NOT "${${arg_name}_arg}" STREQUAL "")
|
402
|
+
add_test("${name_prefix}${arg_name}" "${CMAKE_BINARY_DIR}/${build_dir}/${barename}"
|
403
|
+
"${${arg_name}_arg}")
|
404
|
+
ELSE()
|
405
|
+
add_test("${name_prefix}${arg_name}" "${CMAKE_BINARY_DIR}/${build_dir}/${barename}")
|
406
|
+
ENDIF()
|
407
|
+
|
408
|
+
FOREACH(i RANGE 100)
|
409
|
+
IF("${${name_prefix}${arg_name}_arg_${i}}" STREQUAL "")
|
410
|
+
break()
|
411
|
+
ENDIF()
|
412
|
+
|
413
|
+
add_test("${name_prefix}${barename}_${i}" "${CMAKE_BINARY_DIR}/${build_dir}/${barename}"
|
414
|
+
"${${arg_name}_arg_${i}}")
|
415
|
+
ENDFOREACH()
|
416
|
+
ENDFOREACH()
|
417
|
+
ENDMACRO()
|
418
|
+
|
419
|
+
MACRO(FIND_AND_APPEND_SUB_DIRS npath skip_error)
|
420
|
+
FILE(GLOB children ${npath}/ ${npath}/*)
|
421
|
+
|
422
|
+
FOREACH(child ${children})
|
423
|
+
IF(${skip_error} AND NOT EXISTS "${child}/CMakeLists.txt")
|
424
|
+
CONTINUE()
|
425
|
+
ENDIF()
|
426
|
+
|
427
|
+
string(REGEX MATCH "\\.[^/]+$" MATCHSTR ${child})
|
428
|
+
IF(IS_DIRECTORY ${child} AND MATCHSTR STREQUAL "")
|
429
|
+
string(REGEX MATCH "[^/]+$" MATCHSTR ${child})
|
430
|
+
IF(NOT MATCHSTR STREQUAL "ports")
|
431
|
+
add_subdirectory(${child})
|
432
|
+
ELSE()
|
433
|
+
IF(EXISTS "${child}/${LEXBOR_OS_PORT_NAME}/port.cmake")
|
434
|
+
message(STATUS "Include port: ${child}/${LEXBOR_OS_PORT_NAME}")
|
435
|
+
include("${child}/${LEXBOR_OS_PORT_NAME}/port.cmake")
|
436
|
+
ENDIF()
|
437
|
+
|
438
|
+
add_subdirectory("${child}/${LEXBOR_OS_PORT_NAME}")
|
439
|
+
ENDIF()
|
440
|
+
ENDIF()
|
441
|
+
ENDFOREACH()
|
442
|
+
ENDMACRO()
|
443
|
+
|
444
|
+
MACRO(MAKE_RPM_SPEC module libname out_result)
|
445
|
+
INCLUDE_MODULE_CONFIG(${PROJECT_NAME} ${module} "${LEXBOR_SOURCE_LEXBOR}/${module}")
|
446
|
+
|
447
|
+
GET_MODULE_VERSION(major minor patch version_string
|
448
|
+
"${LEXBOR_SOURCE}" "${PROJECT_NAME}" ${module})
|
449
|
+
GET_MODULE_DEPENDENCIES(${PROJECT_NAME} ${module} deps)
|
450
|
+
|
451
|
+
set(requires "")
|
452
|
+
set(requires_devel "")
|
453
|
+
|
454
|
+
IF(NOT ${deps} STREQUAL "")
|
455
|
+
string(REPLACE " " ";" deps ${deps})
|
456
|
+
ENDIF()
|
457
|
+
|
458
|
+
FOREACH(dep ${deps})
|
459
|
+
IF(${dep} STREQUAL "")
|
460
|
+
CONTINUE()
|
461
|
+
ENDIF()
|
462
|
+
|
463
|
+
GET_MODULE_VERSION(dep_major dep_minor dep_patch dep_version_string
|
464
|
+
"${LEXBOR_SOURCE}" "${PROJECT_NAME}" ${dep})
|
465
|
+
|
466
|
+
set(dep_libname "${PROJECT_NAME}-${dep}")
|
467
|
+
set(requires "${requires}Requires: lib${dep_libname} = %{epoch}:${dep_version_string}-%{release}\n")
|
468
|
+
set(requires_devel "${requires_devel}Requires: lib${dep_libname}-devel = %{epoch}:${dep_version_string}-%{release}\n")
|
469
|
+
ENDFOREACH()
|
470
|
+
|
471
|
+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/packaging/rpm/liblexbor-module.spec.in" rpm_module_in)
|
472
|
+
|
473
|
+
GET_MODULE_DESCRIPTION("${PROJECT_NAME}" ${module} desc)
|
474
|
+
|
475
|
+
STRING(REGEX REPLACE "%%NAME%%" "${module}" rpm_module_in ${rpm_module_in})
|
476
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${libname}" rpm_module_in ${rpm_module_in})
|
477
|
+
STRING(REGEX REPLACE "%%VERSION%%" "${version_string}" rpm_module_in ${rpm_module_in})
|
478
|
+
STRING(REGEX REPLACE "%%REQUIRES%%" "${requires}" rpm_module_in ${rpm_module_in})
|
479
|
+
STRING(REGEX REPLACE "%%REQUIRES_DEVEL%%" "${requires_devel}" rpm_module_in ${rpm_module_in})
|
480
|
+
STRING(REGEX REPLACE "%%DESCRIPTION%%" "${desc}" rpm_module_in ${rpm_module_in})
|
481
|
+
|
482
|
+
set(${out_result} ${rpm_module_in})
|
483
|
+
ENDMACRO()
|
484
|
+
|
485
|
+
MACRO(CREATE_RPM_SPEC_FILE)
|
486
|
+
set(modules_specs "")
|
487
|
+
set(req_modules "")
|
488
|
+
set(req_modules_devel "")
|
489
|
+
|
490
|
+
FOREACH(module ${LEXBOR_MODULES})
|
491
|
+
set(libname "${PROJECT_NAME}-${module}")
|
492
|
+
|
493
|
+
MAKE_RPM_SPEC(${module} ${libname} module_spec)
|
494
|
+
|
495
|
+
set(modules_specs "${modules_specs}${module_spec}\n")
|
496
|
+
|
497
|
+
GET_MODULE_VERSION(major minor patch version_string
|
498
|
+
"${LEXBOR_SOURCE}" "${PROJECT_NAME}" ${module})
|
499
|
+
|
500
|
+
set(req_modules "${req_modules}Requires: lib${libname} = %{epoch}:${version_string}-%{release}\n")
|
501
|
+
set(req_modules_devel "${req_modules_devel}Requires: lib${libname}-devel = %{epoch}:${version_string}-%{release}\n")
|
502
|
+
ENDFOREACH()
|
503
|
+
|
504
|
+
STRING(STRIP ${modules_specs} modules_specs)
|
505
|
+
|
506
|
+
set(sorted_modules ${LEXBOR_MODULES})
|
507
|
+
LIST(SORT sorted_modules)
|
508
|
+
|
509
|
+
LIST_TO_COLUMN("${sorted_modules}" "80" ", " modules_names)
|
510
|
+
|
511
|
+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/packaging/rpm/liblexbor.spec.in"
|
512
|
+
rpm_spec_in)
|
513
|
+
|
514
|
+
STRING(REGEX REPLACE "%%REQUIRES%%" "${req_modules}" rpm_spec_in ${rpm_spec_in})
|
515
|
+
STRING(REGEX REPLACE "%%REQUIRES_DEVEL%%" "${req_modules_devel}" rpm_spec_in ${rpm_spec_in})
|
516
|
+
STRING(REGEX REPLACE "%%MODULES_SPECS%%" "${modules_specs}" rpm_spec_in ${rpm_spec_in})
|
517
|
+
STRING(REGEX REPLACE "%%MODULES_NAMES%%" "${modules_names}" rpm_spec_in ${rpm_spec_in})
|
518
|
+
|
519
|
+
file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/packaging/rpm/liblexbor.spec"
|
520
|
+
"${rpm_spec_in}")
|
521
|
+
|
522
|
+
unset(modules_specs)
|
523
|
+
unset(req_modules)
|
524
|
+
unset(req_modules_devel)
|
525
|
+
ENDMACRO()
|
526
|
+
|
527
|
+
MACRO(CREATE_DEB_DIRS with_inc module libname arch debian_in_dir debian_dir)
|
528
|
+
file(READ "${debian_in_dir}/dirs" dirs)
|
529
|
+
file(READ "${debian_in_dir}/dev.dirs" dev_dirs)
|
530
|
+
file(READ "${debian_in_dir}/install" inst)
|
531
|
+
file(READ "${debian_in_dir}/dev.install" dev_inst)
|
532
|
+
|
533
|
+
STRING(REGEX REPLACE "%%ARCH%%" "${arch}" dirs "${dirs}")
|
534
|
+
STRING(REGEX REPLACE "%%ARCH%%" "${arch}" dev_dirs "${dev_dirs}")
|
535
|
+
STRING(REGEX REPLACE "%%ARCH%%" "${arch}" inst "${inst}")
|
536
|
+
STRING(REGEX REPLACE "%%ARCH%%" "${arch}" dev_inst "${dev_inst}")
|
537
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${libname}" inst "${inst}")
|
538
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${libname}" dev_inst "${dev_inst}")
|
539
|
+
|
540
|
+
IF(${with_inc})
|
541
|
+
IF(NOT ${module} STREQUAL "")
|
542
|
+
STRING(REGEX REPLACE "%%INCLUDES%%" "usr/include/lexbor/${module}" dev_dirs "${dev_dirs}")
|
543
|
+
STRING(REGEX REPLACE "%%INCLUDES%%" "usr/include/lexbor/${module}" dev_inst "${dev_inst}")
|
544
|
+
ELSE()
|
545
|
+
STRING(REGEX REPLACE "%%INCLUDES%%" "usr/include/lexbor" dev_dirs "${dev_dirs}")
|
546
|
+
STRING(REGEX REPLACE "%%INCLUDES%%" "usr/include/lexbor" dev_inst "${dev_inst}")
|
547
|
+
ENDIF()
|
548
|
+
ELSE()
|
549
|
+
STRING(REGEX REPLACE "%%INCLUDES%%" "" dev_dirs "${dev_dirs}")
|
550
|
+
STRING(REGEX REPLACE "%%INCLUDES%%" "" dev_inst "${dev_inst}")
|
551
|
+
ENDIF()
|
552
|
+
|
553
|
+
file(WRITE "${debian_dir}/lib${libname}.dirs" "${dirs}")
|
554
|
+
file(WRITE "${debian_dir}/lib${libname}-dev.dirs" "${dev_dirs}")
|
555
|
+
file(WRITE "${debian_dir}/lib${libname}.install" "${inst}")
|
556
|
+
file(WRITE "${debian_dir}/lib${libname}-dev.install" "${dev_inst}")
|
557
|
+
|
558
|
+
unset(dirs)
|
559
|
+
unset(dev_dirs)
|
560
|
+
unset(inst)
|
561
|
+
unset(dev_inst)
|
562
|
+
ENDMACRO()
|
563
|
+
|
564
|
+
MACRO(PACKAGE_DEB_CREATE_MAKEFILES)
|
565
|
+
set(mkdeps "")
|
566
|
+
set(mkmodules "")
|
567
|
+
|
568
|
+
# Create deps for modules
|
569
|
+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/packaging/deb/Makefile.module.in" mkmodule_in)
|
570
|
+
|
571
|
+
FOREACH(module ${LEXBOR_MODULES})
|
572
|
+
set(libname "${PROJECT_NAME}-${module}")
|
573
|
+
set(module_out "${mkmodule_in}")
|
574
|
+
set(deps_cp "")
|
575
|
+
|
576
|
+
INCLUDE_MODULE_CONFIG(${PROJECT_NAME} ${module} "${LEXBOR_SOURCE_LEXBOR}/${module}")
|
577
|
+
|
578
|
+
GET_MODULE_VERSION(major minor patch version_string
|
579
|
+
"${LEXBOR_SOURCE}" ${PROJECT_NAME} ${module})
|
580
|
+
GET_MODULE_DEPENDENCIES(${PROJECT_NAME} ${module} deps)
|
581
|
+
|
582
|
+
LIST(APPEND mkdeps "lib${libname}")
|
583
|
+
LIST(APPEND deps_cp "source/${PROJECT_NAME}/${module}")
|
584
|
+
LIST(APPEND deps_cp "source/${PROJECT_NAME}/ports/${LEXBOR_OS_PORT_NAME}/config.cmake")
|
585
|
+
|
586
|
+
set(port_path "source/${PROJECT_NAME}/ports/${LEXBOR_OS_PORT_NAME}/${PROJECT_NAME}/${module}")
|
587
|
+
|
588
|
+
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${port_path}")
|
589
|
+
LIST(APPEND deps_cp "${port_path}")
|
590
|
+
ENDIF()
|
591
|
+
|
592
|
+
IF(NOT ${deps} STREQUAL "")
|
593
|
+
string(REPLACE " " ";" deps ${deps})
|
594
|
+
|
595
|
+
FOREACH(dep ${deps})
|
596
|
+
LIST(APPEND deps_cp "source/${PROJECT_NAME}/${dep}")
|
597
|
+
|
598
|
+
set(port_path "source/${PROJECT_NAME}/ports/${LEXBOR_OS_PORT_NAME}/${PROJECT_NAME}/${dep}")
|
599
|
+
|
600
|
+
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${port_path}")
|
601
|
+
LIST(APPEND deps_cp "${port_path}")
|
602
|
+
ENDIF()
|
603
|
+
ENDFOREACH()
|
604
|
+
ENDIF()
|
605
|
+
|
606
|
+
LIST_JOIN(deps_cp " " deps_cp)
|
607
|
+
|
608
|
+
STRING(REGEX REPLACE "%%MODULE%%" "${module}" module_out "${module_out}")
|
609
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${libname}" module_out "${module_out}")
|
610
|
+
STRING(REGEX REPLACE "%%MODULE_VERSION%%" "${version_string}" module_out "${module_out}")
|
611
|
+
STRING(REGEX REPLACE "%%FOR_COPY%%" "${deps_cp}" module_out "${module_out}")
|
612
|
+
|
613
|
+
set(mkmodules "${mkmodules}\n# ${module}\n${module_out}")
|
614
|
+
ENDFOREACH()
|
615
|
+
|
616
|
+
# Create Makefile
|
617
|
+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/packaging/deb/Makefile.in" mkfile_in)
|
618
|
+
|
619
|
+
LIST_JOIN(mkdeps " " mkdeps)
|
620
|
+
STRING(REGEX REPLACE "%%MODULES_DEPS%%" "${mkdeps}" mkfile_in "${mkfile_in}")
|
621
|
+
STRING(REGEX REPLACE "%%MODULES%%" "${mkmodules}" mkfile_in "${mkfile_in}")
|
622
|
+
|
623
|
+
file(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/packaging/deb/Makefile" "${mkfile_in}")
|
624
|
+
|
625
|
+
unset(port_path)
|
626
|
+
unset(mkdeps)
|
627
|
+
unset(mkmodules)
|
628
|
+
unset(deps_cp)
|
629
|
+
unset(libname)
|
630
|
+
unset(mkfile_in)
|
631
|
+
unset(module_out)
|
632
|
+
unset(mkmodule_in)
|
633
|
+
ENDMACRO()
|
634
|
+
|
635
|
+
MACRO(PACKAGE_DEB_CREATE_DEBIAN_MAIN arch codename curdate)
|
636
|
+
set(debian_dir "${CMAKE_CURRENT_SOURCE_DIR}/packaging/deb/debian/${PROJECT_NAME}")
|
637
|
+
set(debian_in_dir "${CMAKE_CURRENT_SOURCE_DIR}/packaging/deb/debian_main_in")
|
638
|
+
|
639
|
+
message(STATUS "Create DEB files for \"${PROJECT_NAME}\": ${debian_dir}")
|
640
|
+
|
641
|
+
set(deps "${LEXBOR_MODULES}")
|
642
|
+
|
643
|
+
file(MAKE_DIRECTORY "${debian_dir}/source")
|
644
|
+
|
645
|
+
# changelog
|
646
|
+
file(READ "${debian_in_dir}/changelog" data)
|
647
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${PROJECT_NAME}" data "${data}")
|
648
|
+
STRING(REGEX REPLACE "%%VERSION%%" "${LEXBOR_VERSION_STRING}" data "${data}")
|
649
|
+
STRING(REGEX REPLACE "%%DISTRO%%" "${LEXBOR_MAKE_DISTRO_NUM}" data "${data}")
|
650
|
+
STRING(REGEX REPLACE "%%CODENAME%%" "${codename}" data "${data}")
|
651
|
+
STRING(REGEX REPLACE "%%DATE%%" "${curdate}" data "${data}")
|
652
|
+
file(WRITE "${debian_dir}/changelog" "${data}")
|
653
|
+
|
654
|
+
# compat
|
655
|
+
file(COPY "${debian_in_dir}/compat" DESTINATION "${debian_dir}")
|
656
|
+
|
657
|
+
# docs
|
658
|
+
file(COPY "${debian_in_dir}/docs" DESTINATION "${debian_dir}")
|
659
|
+
|
660
|
+
# rules
|
661
|
+
file(COPY "${debian_in_dir}/rules" DESTINATION "${debian_dir}")
|
662
|
+
|
663
|
+
# source/format
|
664
|
+
file(COPY "${debian_in_dir}/source/format" DESTINATION "${debian_dir}/source")
|
665
|
+
|
666
|
+
# control
|
667
|
+
file(READ "${debian_in_dir}/control" data)
|
668
|
+
STRING(REGEX REPLACE "%%VERSION_DISTRO%%" "${LEXBOR_VERSION_STRING}-${LEXBOR_MAKE_DISTRO_NUM}~${codename}" data "${data}")
|
669
|
+
|
670
|
+
# control -- sort modules
|
671
|
+
set(sorted_modules ${deps})
|
672
|
+
LIST(SORT sorted_modules)
|
673
|
+
|
674
|
+
LIST_TO_COLUMN("${sorted_modules}" "79" ", " modules_names)
|
675
|
+
|
676
|
+
IF(NOT ${modules_names} STREQUAL "")
|
677
|
+
STRING(REGEX REPLACE "\n" "\n " modules_names ${modules_names})
|
678
|
+
STRING(STRIP ${modules_names} modules_names)
|
679
|
+
ENDIF()
|
680
|
+
|
681
|
+
# control -- replace and save
|
682
|
+
STRING(REGEX REPLACE "%%NAME%%" "${module}" data "${data}")
|
683
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${PROJECT_NAME}" data "${data}")
|
684
|
+
STRING(REGEX REPLACE "%%MODULES_NAMES%%" "${modules_names}" data ${data})
|
685
|
+
|
686
|
+
file(WRITE "${debian_dir}/control" "${data}")
|
687
|
+
|
688
|
+
# copyright
|
689
|
+
file(READ "${debian_in_dir}/copyright" data)
|
690
|
+
|
691
|
+
set(files "")
|
692
|
+
string(TIMESTAMP year "%Y")
|
693
|
+
|
694
|
+
SUBDIRLIST("${CMAKE_CURRENT_SOURCE_DIR}/source" "source/" "/*" dirs_list)
|
695
|
+
|
696
|
+
LIST(APPEND files ${dirs_list})
|
697
|
+
LIST_JOIN(files "\n " files)
|
698
|
+
|
699
|
+
STRING(REGEX REPLACE "%%YEAR%%" "${year}" data "${data}")
|
700
|
+
STRING(REGEX REPLACE "%%FILES%%" "${files}" data "${data}")
|
701
|
+
|
702
|
+
file(WRITE "${debian_dir}/copyright" "${data}")
|
703
|
+
|
704
|
+
# dirs and install
|
705
|
+
CREATE_DEB_DIRS(TRUE "" ${PROJECT_NAME} "${arch}" "${debian_in_dir}" "${debian_dir}")
|
706
|
+
ENDMACRO()
|
707
|
+
|
708
|
+
MACRO(PACKAGE_DEB_CREATE_DEBIAN arch codename curdate)
|
709
|
+
PACKAGE_DEB_CREATE_DEBIAN_MAIN(${arch} "${codename}" "${curdate}")
|
710
|
+
|
711
|
+
FOREACH(module ${LEXBOR_MODULES})
|
712
|
+
set(libname "${PROJECT_NAME}-${module}")
|
713
|
+
set(debian_dir "${CMAKE_CURRENT_SOURCE_DIR}/packaging/deb/debian/${module}")
|
714
|
+
set(debian_in_dir "${CMAKE_CURRENT_SOURCE_DIR}/packaging/deb/debian_in")
|
715
|
+
|
716
|
+
message(STATUS "Create DEB files for \"${module}\": ${debian_dir}")
|
717
|
+
|
718
|
+
INCLUDE_MODULE_CONFIG(${PROJECT_NAME} ${module} "${LEXBOR_SOURCE_LEXBOR}/${module}")
|
719
|
+
|
720
|
+
GET_MODULE_VERSION(major minor patch version_string
|
721
|
+
"${LEXBOR_SOURCE}" ${PROJECT_NAME} ${module})
|
722
|
+
GET_MODULE_DEPENDENCIES(${PROJECT_NAME} ${module} deps)
|
723
|
+
|
724
|
+
IF(NOT "${deps}" STREQUAL "")
|
725
|
+
string(REPLACE " " ";" deps ${deps})
|
726
|
+
ENDIF()
|
727
|
+
|
728
|
+
file(MAKE_DIRECTORY "${debian_dir}/source")
|
729
|
+
|
730
|
+
# changelog
|
731
|
+
file(READ "${debian_in_dir}/changelog" data)
|
732
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${libname}" data "${data}")
|
733
|
+
STRING(REGEX REPLACE "%%VERSION%%" "${version_string}" data "${data}")
|
734
|
+
STRING(REGEX REPLACE "%%DISTRO%%" "${LEXBOR_MAKE_DISTRO_NUM}" data "${data}")
|
735
|
+
STRING(REGEX REPLACE "%%CODENAME%%" "${codename}" data "${data}")
|
736
|
+
STRING(REGEX REPLACE "%%DATE%%" "${curdate}" data "${data}")
|
737
|
+
file(WRITE "${debian_dir}/changelog" "${data}")
|
738
|
+
|
739
|
+
# compat
|
740
|
+
file(COPY "${debian_in_dir}/compat" DESTINATION "${debian_dir}")
|
741
|
+
|
742
|
+
# docs
|
743
|
+
file(COPY "${debian_in_dir}/docs" DESTINATION "${debian_dir}")
|
744
|
+
|
745
|
+
# rules
|
746
|
+
file(COPY "${debian_in_dir}/rules" DESTINATION "${debian_dir}")
|
747
|
+
|
748
|
+
# source/format
|
749
|
+
file(COPY "${debian_in_dir}/source/format" DESTINATION "${debian_dir}/source")
|
750
|
+
|
751
|
+
# control
|
752
|
+
file(READ "${debian_in_dir}/control" data)
|
753
|
+
|
754
|
+
# control -- Depends
|
755
|
+
set(version_distro "${version_string}-${LEXBOR_MAKE_DISTRO_NUM}~${codename}")
|
756
|
+
|
757
|
+
set(requires "\${misc:Depends}, \${shlibs:Depends}")
|
758
|
+
set(requires_devel "\${misc:Depends}")
|
759
|
+
set(requires_devel "lib${libname} (= ${version_distro})")
|
760
|
+
|
761
|
+
FOREACH(dep ${deps})
|
762
|
+
IF("${dep}" STREQUAL "")
|
763
|
+
CONTINUE()
|
764
|
+
ENDIF()
|
765
|
+
|
766
|
+
GET_MODULE_VERSION(dep_major dep_minor dep_patch dep_version_string
|
767
|
+
"${LEXBOR_SOURCE}" "${PROJECT_NAME}" ${dep})
|
768
|
+
|
769
|
+
set(dep_version_distro "${dep_version_string}-${LEXBOR_MAKE_DISTRO_NUM}~${codename}")
|
770
|
+
|
771
|
+
set(dep_libname "${PROJECT_NAME}-${dep}")
|
772
|
+
LIST(APPEND requires "lib${dep_libname} (= ${dep_version_distro})")
|
773
|
+
LIST(APPEND requires_devel "lib${dep_libname}-dev (= ${dep_version_distro})")
|
774
|
+
ENDFOREACH()
|
775
|
+
|
776
|
+
LIST_JOIN(requires ",\n " requires)
|
777
|
+
LIST_JOIN(requires_devel ",\n " requires_devel)
|
778
|
+
|
779
|
+
set(requires "Depends: ${requires}\n")
|
780
|
+
set(requires_devel "Depends: ${requires_devel}\n")
|
781
|
+
|
782
|
+
# control -- description
|
783
|
+
GET_MODULE_DESCRIPTION("${PROJECT_NAME}" ${module} desc)
|
784
|
+
|
785
|
+
IF(NOT "${desc}" STREQUAL "")
|
786
|
+
STRING(REGEX REPLACE "\n" "\n " desc ${desc})
|
787
|
+
STRING(STRIP ${desc} desc)
|
788
|
+
set(desc " ${desc}")
|
789
|
+
ENDIF()
|
790
|
+
|
791
|
+
IF(NOT "${desc}" STREQUAL "")
|
792
|
+
STRING(REGEX REPLACE "(^|\n) (\n|$)" "\\1 .\\2" desc ${desc})
|
793
|
+
ENDIF()
|
794
|
+
|
795
|
+
# control -- replace and save
|
796
|
+
STRING(REGEX REPLACE "%%NAME%%" "${module}" data "${data}")
|
797
|
+
STRING(REGEX REPLACE "%%LIBNAME%%" "${libname}" data "${data}")
|
798
|
+
STRING(REGEX REPLACE "%%DEPENDS%%" "${requires}" data ${data})
|
799
|
+
STRING(REGEX REPLACE "%%DEPENDS_DEVEL%%" "${requires_devel}" data ${data})
|
800
|
+
STRING(REGEX REPLACE "%%DESCRIPTION%%" "${desc}" data ${data})
|
801
|
+
|
802
|
+
file(WRITE "${debian_dir}/control" "${data}")
|
803
|
+
|
804
|
+
# copyright
|
805
|
+
file(READ "${debian_in_dir}/copyright" data)
|
806
|
+
|
807
|
+
set(files "")
|
808
|
+
set(deps_with "${deps};${module}")
|
809
|
+
string(TIMESTAMP year "%Y")
|
810
|
+
|
811
|
+
FOREACH(dep ${deps_with})
|
812
|
+
IF("${dep}" STREQUAL "")
|
813
|
+
CONTINUE()
|
814
|
+
ENDIF()
|
815
|
+
|
816
|
+
SUBDIRLIST("${CMAKE_CURRENT_SOURCE_DIR}/source/${PROJECT_NAME}/${dep}"
|
817
|
+
"source/${PROJECT_NAME}/${dep}/" "/*" dirs_list)
|
818
|
+
LIST(APPEND files "source/${PROJECT_NAME}/${dep}/*")
|
819
|
+
LIST(APPEND files ${dirs_list})
|
820
|
+
ENDFOREACH()
|
821
|
+
|
822
|
+
LIST_JOIN(files "\n " files)
|
823
|
+
|
824
|
+
STRING(REGEX REPLACE "%%NAME%%" "${module}" data "${data}")
|
825
|
+
STRING(REGEX REPLACE "%%YEAR%%" "${year}" data "${data}")
|
826
|
+
STRING(REGEX REPLACE "%%FILES%%" "${files}" data "${data}")
|
827
|
+
|
828
|
+
file(WRITE "${debian_dir}/copyright" "${data}")
|
829
|
+
|
830
|
+
# dirs and install
|
831
|
+
CREATE_DEB_DIRS(TRUE ${module} ${libname} "${arch}" "${debian_in_dir}"
|
832
|
+
"${debian_dir}")
|
833
|
+
ENDFOREACH()
|
834
|
+
|
835
|
+
unset(requires)
|
836
|
+
unset(requires_devel)
|
837
|
+
unset(dirs_list)
|
838
|
+
unset(files)
|
839
|
+
unset(year)
|
840
|
+
unset(deps)
|
841
|
+
unset(data)
|
842
|
+
unset(debian_in_dir)
|
843
|
+
unset(debian_dir)
|
844
|
+
unset(dep_libname)
|
845
|
+
unset(libname)
|
846
|
+
unset(arch)
|
847
|
+
ENDMACRO()
|
848
|
+
|
849
|
+
MACRO(CREATE_DEB_FILES)
|
850
|
+
execute_process(COMMAND "dpkg-architecture" "-qDEB_HOST_MULTIARCH"
|
851
|
+
OUTPUT_VARIABLE arch)
|
852
|
+
|
853
|
+
IF("${arch}" STREQUAL "")
|
854
|
+
message(FATAL_ERROR "Failed to get current architecture")
|
855
|
+
ENDIF()
|
856
|
+
|
857
|
+
execute_process(COMMAND "lsb_release" "-cs" OUTPUT_VARIABLE codename)
|
858
|
+
|
859
|
+
IF("${codename}" STREQUAL "")
|
860
|
+
message(FATAL_ERROR "Failed to get current codename")
|
861
|
+
ENDIF()
|
862
|
+
|
863
|
+
execute_process(COMMAND "date" "+%a, %d %b %Y %T +0300"
|
864
|
+
OUTPUT_VARIABLE curdate)
|
865
|
+
|
866
|
+
IF("${curdate}" STREQUAL "")
|
867
|
+
message(FATAL_ERROR "Failed to get current date")
|
868
|
+
ENDIF()
|
869
|
+
|
870
|
+
STRING(STRIP ${arch} arch)
|
871
|
+
STRING(STRIP ${codename} codename)
|
872
|
+
STRING(STRIP ${curdate} curdate)
|
873
|
+
|
874
|
+
PACKAGE_DEB_CREATE_MAKEFILES(${arch})
|
875
|
+
PACKAGE_DEB_CREATE_DEBIAN(${arch} "${codename}" "${curdate}")
|
876
|
+
|
877
|
+
unset(arch)
|
878
|
+
unset(codename)
|
879
|
+
unset(curdate)
|
880
|
+
ENDMACRO()
|
881
|
+
|
882
|
+
################
|
883
|
+
## ARGS
|
884
|
+
#########################
|
885
|
+
IF(LEXBOR_WITHOUT_THREADS)
|
886
|
+
message(STATUS "Build without Threads")
|
887
|
+
add_definitions(-DLEXBOR_WITHOUT_THREADS)
|
888
|
+
ELSE()
|
889
|
+
message(STATUS "Build with Threads")
|
890
|
+
ENDIF()
|