lounge_lizard 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.gitmodules +3 -0
- data/.rspec +2 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/Guardfile +33 -0
- data/LICENSE.txt +21 -0
- data/README.md +50 -0
- data/Rakefile +43 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/circle.yml +14 -0
- data/ext/drafter/CHANGELOG.md +278 -0
- data/ext/drafter/Dockerfile +17 -0
- data/ext/drafter/Makefile +62 -0
- data/ext/drafter/appveyor.yml +17 -0
- data/ext/drafter/bin/drafter +0 -0
- data/ext/drafter/build/Makefile +387 -0
- data/ext/drafter/build/drafter.Makefile +6 -0
- data/ext/drafter/build/drafter.target.mk +159 -0
- data/ext/drafter/build/ext/snowcrash/libmarkdownparser.target.mk +141 -0
- data/ext/drafter/build/ext/snowcrash/libsnowcrash.target.mk +154 -0
- data/ext/drafter/build/ext/snowcrash/libsundown.target.mk +149 -0
- data/ext/drafter/build/ext/snowcrash/perf-libsnowcrash.target.mk +147 -0
- data/ext/drafter/build/ext/snowcrash/snowcrash.Makefile +6 -0
- data/ext/drafter/build/gyp-mac-tool +606 -0
- data/ext/drafter/build/libdrafter.target.mk +186 -0
- data/ext/drafter/build/libsos.target.mk +137 -0
- data/ext/drafter/build/out/Release/drafter +0 -0
- data/ext/drafter/build/out/Release/libdrafter.dylib +0 -0
- data/ext/drafter/build/out/Release/libmarkdownparser.a +0 -0
- data/ext/drafter/build/out/Release/libsnowcrash.a +0 -0
- data/ext/drafter/build/out/Release/libsos.a +0 -0
- data/ext/drafter/build/out/Release/libsundown.a +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/config.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/main.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/drafter/src/reporting.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/ConversionContext.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/NamedTypesRegistry.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractAPI.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractDataStructure.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractElementFactory.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/RefractSourceMap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/Render.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/Serialize.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeAST.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeResult.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/SerializeSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/drafter.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/drafter_private.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/ComparableVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Element.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/ExpandVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/IsExpandableVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/JSONSchemaVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/PrintVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Query.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/Registry.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/RenderJSONVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/SerializeCompactVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/SerializeVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/TypeQueryVisitor.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libdrafter/src/refract/VisitorUtils.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libmarkdownparser/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Blueprint.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/BlueprintSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/HTTP.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/HeadersParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSON.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONOneOfParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONSourcemap.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONTypeSectionParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/MSONValueMemberParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Section.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/Signature.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/UriTemplateParser.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/posix/RegexMatch.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsnowcrash/ext/snowcrash/src/snowcrash.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsos/ext/sos/src/sos.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.o +0 -0
- data/ext/drafter/build/out/Release/obj.target/libsundown/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.o +0 -0
- data/ext/drafter/circle.yml +32 -0
- data/ext/drafter/config.gypi +10 -0
- data/ext/drafter/config.mk +5 -0
- data/ext/drafter/configure +224 -0
- data/ext/drafter/drafter.gyp +189 -0
- data/ext/drafter/drafter.xcworkspace/contents.xcworkspacedata +13 -0
- data/ext/drafter/ext/snowcrash/Makefile +58 -0
- data/ext/drafter/ext/snowcrash/appveyor.yml +7 -0
- data/ext/drafter/ext/snowcrash/common.gypi +165 -0
- data/ext/drafter/ext/snowcrash/configure +197 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/Makefile +90 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/CONTRIBUTING.md +10 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile +84 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/Makefile.win +33 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/examples/smartypants.c +72 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/examples/sundown.c +80 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini.h +37 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_href_e.c +108 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/houdini_html_e.c +84 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.c +647 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html.h +77 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html/html_smartypants.c +389 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/html_block_names.txt +25 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.c +297 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/autolink.h +51 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.c +225 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/buffer.h +96 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/html_blocks.h +206 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.c +2726 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/markdown.h +147 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.c +204 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/src_map.h +58 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.c +81 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/src/stack.h +29 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/ext/sundown/sundown.def +20 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/markdown/markdown.vcproj +188 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/msvc.sln +38 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/msvc/sundown/sundown.vcproj +206 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.cc +160 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/ByteBuffer.h +90 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.cc +152 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownNode.h +103 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.cc +388 -0
- data/ext/drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.h +106 -0
- data/ext/drafter/ext/snowcrash/snowcrash.gyp +196 -0
- data/ext/drafter/ext/snowcrash/src/ActionParser.h +560 -0
- data/ext/drafter/ext/snowcrash/src/AssetParser.h +123 -0
- data/ext/drafter/ext/snowcrash/src/AttributesParser.h +123 -0
- data/ext/drafter/ext/snowcrash/src/Blueprint.cc +90 -0
- data/ext/drafter/ext/snowcrash/src/Blueprint.h +489 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintParser.h +845 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintSourcemap.cc +81 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintSourcemap.h +345 -0
- data/ext/drafter/ext/snowcrash/src/BlueprintUtility.h +111 -0
- data/ext/drafter/ext/snowcrash/src/CodeBlockUtility.h +276 -0
- data/ext/drafter/ext/snowcrash/src/DataStructureGroupParser.h +157 -0
- data/ext/drafter/ext/snowcrash/src/HTTP.cc +49 -0
- data/ext/drafter/ext/snowcrash/src/HTTP.h +108 -0
- data/ext/drafter/ext/snowcrash/src/HeadersParser.cc +117 -0
- data/ext/drafter/ext/snowcrash/src/HeadersParser.h +377 -0
- data/ext/drafter/ext/snowcrash/src/MSON.cc +272 -0
- data/ext/drafter/ext/snowcrash/src/MSON.h +405 -0
- data/ext/drafter/ext/snowcrash/src/MSONMixinParser.h +103 -0
- data/ext/drafter/ext/snowcrash/src/MSONNamedTypeParser.h +135 -0
- data/ext/drafter/ext/snowcrash/src/MSONOneOfParser.cc +132 -0
- data/ext/drafter/ext/snowcrash/src/MSONOneOfParser.h +80 -0
- data/ext/drafter/ext/snowcrash/src/MSONParameterParser.h +166 -0
- data/ext/drafter/ext/snowcrash/src/MSONPropertyMemberParser.h +106 -0
- data/ext/drafter/ext/snowcrash/src/MSONSourcemap.cc +141 -0
- data/ext/drafter/ext/snowcrash/src/MSONSourcemap.h +181 -0
- data/ext/drafter/ext/snowcrash/src/MSONTypeSectionParser.cc +209 -0
- data/ext/drafter/ext/snowcrash/src/MSONTypeSectionParser.h +213 -0
- data/ext/drafter/ext/snowcrash/src/MSONUtility.h +506 -0
- data/ext/drafter/ext/snowcrash/src/MSONValueMemberParser.cc +214 -0
- data/ext/drafter/ext/snowcrash/src/MSONValueMemberParser.h +390 -0
- data/ext/drafter/ext/snowcrash/src/ModelTable.h +87 -0
- data/ext/drafter/ext/snowcrash/src/ParameterParser.h +516 -0
- data/ext/drafter/ext/snowcrash/src/ParametersParser.h +222 -0
- data/ext/drafter/ext/snowcrash/src/PayloadParser.h +733 -0
- data/ext/drafter/ext/snowcrash/src/Platform.h +33 -0
- data/ext/drafter/ext/snowcrash/src/RegexMatch.h +32 -0
- data/ext/drafter/ext/snowcrash/src/RelationParser.h +87 -0
- data/ext/drafter/ext/snowcrash/src/ResourceGroupParser.h +297 -0
- data/ext/drafter/ext/snowcrash/src/ResourceParser.h +536 -0
- data/ext/drafter/ext/snowcrash/src/Section.cc +48 -0
- data/ext/drafter/ext/snowcrash/src/Section.h +60 -0
- data/ext/drafter/ext/snowcrash/src/SectionParser.h +246 -0
- data/ext/drafter/ext/snowcrash/src/SectionParserData.h +109 -0
- data/ext/drafter/ext/snowcrash/src/SectionProcessor.h +299 -0
- data/ext/drafter/ext/snowcrash/src/Signature.cc +75 -0
- data/ext/drafter/ext/snowcrash/src/Signature.h +103 -0
- data/ext/drafter/ext/snowcrash/src/SignatureSectionProcessor.h +442 -0
- data/ext/drafter/ext/snowcrash/src/SourceAnnotation.h +166 -0
- data/ext/drafter/ext/snowcrash/src/StringUtility.h +323 -0
- data/ext/drafter/ext/snowcrash/src/UriTemplateParser.cc +195 -0
- data/ext/drafter/ext/snowcrash/src/UriTemplateParser.h +240 -0
- data/ext/drafter/ext/snowcrash/src/ValuesParser.h +111 -0
- data/ext/drafter/ext/snowcrash/src/posix/RegexMatch.cc +99 -0
- data/ext/drafter/ext/snowcrash/src/snowcrash.cc +90 -0
- data/ext/drafter/ext/snowcrash/src/snowcrash.h +44 -0
- data/ext/drafter/ext/snowcrash/src/win/RegexMatch.cc +78 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/AUTHORS +12 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/DEPS +23 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/OWNERS +1 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/PRESUBMIT.py +137 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/buildbot_run.py +136 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/commit_queue/OWNERS +6 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/buildbot/commit_queue/cq_config.json +15 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/codereview.settings +10 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/data/win/large-pdb-shim.cc +12 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp +8 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp.bat +5 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/gyp_main.py +16 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSNew.py +340 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSProject.py +208 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSSettings.py +1096 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSToolFile.py +58 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUserFile.py +147 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUtil.py +270 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSUtil.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSVersion.py +445 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/MSVSVersion.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/__init__.py +548 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/__init__.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/common.py +608 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/common.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/easy_xml.py +157 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/flock_tool.py +54 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.py +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/__init__.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/analyzer.py +741 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/android.py +1069 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/cmake.py +1248 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/dump_dependency_json.py +99 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/eclipse.py +425 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/gypd.py +94 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/gypsh.py +56 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.py +2218 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/make.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/msvs.py +3467 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/ninja.py +2427 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/ninja.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.py +1300 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/generator/xcode.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/input.py +2899 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/input.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/mac_tool.py +605 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/msvs_emulation.py +1093 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/msvs_emulation.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ninja_syntax.py +160 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ninja_syntax.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/ordered_dict.py +289 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/simple_copy.py +46 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/simple_copy.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/win_tool.py +314 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.py +1664 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_ninja.py +276 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcode_ninja.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.py +2927 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylib/gyp/xml_fix.py +69 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/pylintrc +307 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/samples/samples +81 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/samples/samples.bat +5 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/setup.py +19 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/Xcode/Specifications/gyp.pbfilespec +27 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/Xcode/Specifications/gyp.xclangspec +226 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/emacs/gyp.el +275 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/graphviz.py +100 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_gyp.py +155 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_sln.py +169 -0
- data/ext/drafter/ext/snowcrash/tools/gyp/tools/pretty_vcproj.py +329 -0
- data/ext/drafter/ext/snowcrash/vcbuild.bat +139 -0
- data/ext/drafter/ext/sos/Makefile +62 -0
- data/ext/drafter/ext/sos/src/sos.cc +235 -0
- data/ext/drafter/ext/sos/src/sos.h +188 -0
- data/ext/drafter/ext/sos/src/sosJSON.h +121 -0
- data/ext/drafter/ext/sos/src/sosYAML.h +105 -0
- data/ext/drafter/src/ConversionContext.cc +39 -0
- data/ext/drafter/src/ConversionContext.h +34 -0
- data/ext/drafter/src/NamedTypesRegistry.cc +405 -0
- data/ext/drafter/src/NamedTypesRegistry.h +28 -0
- data/ext/drafter/src/NodeInfo.h +143 -0
- data/ext/drafter/src/RefractAPI.cc +579 -0
- data/ext/drafter/src/RefractAPI.h +28 -0
- data/ext/drafter/src/RefractDataStructure.cc +1199 -0
- data/ext/drafter/src/RefractDataStructure.h +26 -0
- data/ext/drafter/src/RefractElementFactory.cc +107 -0
- data/ext/drafter/src/RefractElementFactory.h +67 -0
- data/ext/drafter/src/RefractSourceMap.cc +29 -0
- data/ext/drafter/src/RefractSourceMap.h +57 -0
- data/ext/drafter/src/Render.cc +157 -0
- data/ext/drafter/src/Render.h +40 -0
- data/ext/drafter/src/Serialize.cc +160 -0
- data/ext/drafter/src/Serialize.h +289 -0
- data/ext/drafter/src/SerializeAST.cc +507 -0
- data/ext/drafter/src/SerializeAST.h +29 -0
- data/ext/drafter/src/SerializeResult.cc +170 -0
- data/ext/drafter/src/SerializeResult.h +34 -0
- data/ext/drafter/src/SerializeSourcemap.cc +331 -0
- data/ext/drafter/src/SerializeSourcemap.h +21 -0
- data/ext/drafter/src/Version.h +40 -0
- data/ext/drafter/src/config.cc +91 -0
- data/ext/drafter/src/config.h +38 -0
- data/ext/drafter/src/drafter.cc +137 -0
- data/ext/drafter/src/drafter.h +102 -0
- data/ext/drafter/src/drafter_private.cc +85 -0
- data/ext/drafter/src/drafter_private.h +34 -0
- data/ext/drafter/src/main.cc +137 -0
- data/ext/drafter/src/refract/AppendDecorator.h +58 -0
- data/ext/drafter/src/refract/Build.h +67 -0
- data/ext/drafter/src/refract/ComparableVisitor.cc +43 -0
- data/ext/drafter/src/refract/ComparableVisitor.h +62 -0
- data/ext/drafter/src/refract/Element.cc +409 -0
- data/ext/drafter/src/refract/Element.h +656 -0
- data/ext/drafter/src/refract/ElementFwd.h +37 -0
- data/ext/drafter/src/refract/ElementInserter.h +59 -0
- data/ext/drafter/src/refract/Exception.h +31 -0
- data/ext/drafter/src/refract/ExpandVisitor.cc +359 -0
- data/ext/drafter/src/refract/ExpandVisitor.h +58 -0
- data/ext/drafter/src/refract/FilterVisitor.h +52 -0
- data/ext/drafter/src/refract/IsExpandableVisitor.cc +140 -0
- data/ext/drafter/src/refract/IsExpandableVisitor.h +31 -0
- data/ext/drafter/src/refract/Iterate.h +160 -0
- data/ext/drafter/src/refract/JSONSchemaVisitor.cc +675 -0
- data/ext/drafter/src/refract/JSONSchemaVisitor.h +73 -0
- data/ext/drafter/src/refract/PrintVisitor.cc +164 -0
- data/ext/drafter/src/refract/PrintVisitor.h +50 -0
- data/ext/drafter/src/refract/Query.cc +13 -0
- data/ext/drafter/src/refract/Query.h +38 -0
- data/ext/drafter/src/refract/Registry.cc +114 -0
- data/ext/drafter/src/refract/Registry.h +43 -0
- data/ext/drafter/src/refract/RenderJSONVisitor.cc +255 -0
- data/ext/drafter/src/refract/RenderJSONVisitor.h +51 -0
- data/ext/drafter/src/refract/SerializeCompactVisitor.cc +167 -0
- data/ext/drafter/src/refract/SerializeCompactVisitor.h +56 -0
- data/ext/drafter/src/refract/SerializeVisitor.cc +214 -0
- data/ext/drafter/src/refract/SerializeVisitor.h +55 -0
- data/ext/drafter/src/refract/TypeQueryVisitor.cc +46 -0
- data/ext/drafter/src/refract/TypeQueryVisitor.h +110 -0
- data/ext/drafter/src/refract/Visitor.h +126 -0
- data/ext/drafter/src/refract/VisitorUtils.cc +63 -0
- data/ext/drafter/src/refract/VisitorUtils.h +231 -0
- data/ext/drafter/src/reporting.cc +263 -0
- data/ext/drafter/src/reporting.h +39 -0
- data/ext/drafter/src/stream.h +148 -0
- data/ext/drafter/tools/homebrew/drafter.rb +18 -0
- data/ext/drafter/tools/make-tarball.sh +39 -0
- data/ext/drafter/tools/refract-filter.py +96 -0
- data/ext/drafter/tools/release.sh +17 -0
- data/ext/drafter/vcbuild.bat +203 -0
- data/lib/lounge_lizard/binding.rb +29 -0
- data/lib/lounge_lizard/version.rb +3 -0
- data/lib/lounge_lizard.rb +18 -0
- data/lounge_lizard.gemspec +37 -0
- metadata +547 -0
@@ -0,0 +1,314 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
|
3
|
+
# Copyright (c) 2012 Google Inc. All rights reserved.
|
4
|
+
# Use of this source code is governed by a BSD-style license that can be
|
5
|
+
# found in the LICENSE file.
|
6
|
+
|
7
|
+
"""Utility functions for Windows builds.
|
8
|
+
|
9
|
+
These functions are executed via gyp-win-tool when using the ninja generator.
|
10
|
+
"""
|
11
|
+
|
12
|
+
import os
|
13
|
+
import re
|
14
|
+
import shutil
|
15
|
+
import subprocess
|
16
|
+
import stat
|
17
|
+
import string
|
18
|
+
import sys
|
19
|
+
|
20
|
+
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
21
|
+
|
22
|
+
# A regex matching an argument corresponding to the output filename passed to
|
23
|
+
# link.exe.
|
24
|
+
_LINK_EXE_OUT_ARG = re.compile('/OUT:(?P<out>.+)$', re.IGNORECASE)
|
25
|
+
|
26
|
+
def main(args):
|
27
|
+
executor = WinTool()
|
28
|
+
exit_code = executor.Dispatch(args)
|
29
|
+
if exit_code is not None:
|
30
|
+
sys.exit(exit_code)
|
31
|
+
|
32
|
+
|
33
|
+
class WinTool(object):
|
34
|
+
"""This class performs all the Windows tooling steps. The methods can either
|
35
|
+
be executed directly, or dispatched from an argument list."""
|
36
|
+
|
37
|
+
def _UseSeparateMspdbsrv(self, env, args):
|
38
|
+
"""Allows to use a unique instance of mspdbsrv.exe per linker instead of a
|
39
|
+
shared one."""
|
40
|
+
if len(args) < 1:
|
41
|
+
raise Exception("Not enough arguments")
|
42
|
+
|
43
|
+
if args[0] != 'link.exe':
|
44
|
+
return
|
45
|
+
|
46
|
+
# Use the output filename passed to the linker to generate an endpoint name
|
47
|
+
# for mspdbsrv.exe.
|
48
|
+
endpoint_name = None
|
49
|
+
for arg in args:
|
50
|
+
m = _LINK_EXE_OUT_ARG.match(arg)
|
51
|
+
if m:
|
52
|
+
endpoint_name = re.sub(r'\W+', '',
|
53
|
+
'%s_%d' % (m.group('out'), os.getpid()))
|
54
|
+
break
|
55
|
+
|
56
|
+
if endpoint_name is None:
|
57
|
+
return
|
58
|
+
|
59
|
+
# Adds the appropriate environment variable. This will be read by link.exe
|
60
|
+
# to know which instance of mspdbsrv.exe it should connect to (if it's
|
61
|
+
# not set then the default endpoint is used).
|
62
|
+
env['_MSPDBSRV_ENDPOINT_'] = endpoint_name
|
63
|
+
|
64
|
+
def Dispatch(self, args):
|
65
|
+
"""Dispatches a string command to a method."""
|
66
|
+
if len(args) < 1:
|
67
|
+
raise Exception("Not enough arguments")
|
68
|
+
|
69
|
+
method = "Exec%s" % self._CommandifyName(args[0])
|
70
|
+
return getattr(self, method)(*args[1:])
|
71
|
+
|
72
|
+
def _CommandifyName(self, name_string):
|
73
|
+
"""Transforms a tool name like recursive-mirror to RecursiveMirror."""
|
74
|
+
return name_string.title().replace('-', '')
|
75
|
+
|
76
|
+
def _GetEnv(self, arch):
|
77
|
+
"""Gets the saved environment from a file for a given architecture."""
|
78
|
+
# The environment is saved as an "environment block" (see CreateProcess
|
79
|
+
# and msvs_emulation for details). We convert to a dict here.
|
80
|
+
# Drop last 2 NULs, one for list terminator, one for trailing vs. separator.
|
81
|
+
pairs = open(arch).read()[:-2].split('\0')
|
82
|
+
kvs = [item.split('=', 1) for item in pairs]
|
83
|
+
return dict(kvs)
|
84
|
+
|
85
|
+
def ExecStamp(self, path):
|
86
|
+
"""Simple stamp command."""
|
87
|
+
open(path, 'w').close()
|
88
|
+
|
89
|
+
def ExecRecursiveMirror(self, source, dest):
|
90
|
+
"""Emulation of rm -rf out && cp -af in out."""
|
91
|
+
if os.path.exists(dest):
|
92
|
+
if os.path.isdir(dest):
|
93
|
+
def _on_error(fn, path, excinfo):
|
94
|
+
# The operation failed, possibly because the file is set to
|
95
|
+
# read-only. If that's why, make it writable and try the op again.
|
96
|
+
if not os.access(path, os.W_OK):
|
97
|
+
os.chmod(path, stat.S_IWRITE)
|
98
|
+
fn(path)
|
99
|
+
shutil.rmtree(dest, onerror=_on_error)
|
100
|
+
else:
|
101
|
+
if not os.access(dest, os.W_OK):
|
102
|
+
# Attempt to make the file writable before deleting it.
|
103
|
+
os.chmod(dest, stat.S_IWRITE)
|
104
|
+
os.unlink(dest)
|
105
|
+
|
106
|
+
if os.path.isdir(source):
|
107
|
+
shutil.copytree(source, dest)
|
108
|
+
else:
|
109
|
+
shutil.copy2(source, dest)
|
110
|
+
|
111
|
+
def ExecLinkWrapper(self, arch, use_separate_mspdbsrv, *args):
|
112
|
+
"""Filter diagnostic output from link that looks like:
|
113
|
+
' Creating library ui.dll.lib and object ui.dll.exp'
|
114
|
+
This happens when there are exports from the dll or exe.
|
115
|
+
"""
|
116
|
+
env = self._GetEnv(arch)
|
117
|
+
if use_separate_mspdbsrv == 'True':
|
118
|
+
self._UseSeparateMspdbsrv(env, args)
|
119
|
+
link = subprocess.Popen([args[0].replace('/', '\\')] + list(args[1:]),
|
120
|
+
shell=True,
|
121
|
+
env=env,
|
122
|
+
stdout=subprocess.PIPE,
|
123
|
+
stderr=subprocess.STDOUT)
|
124
|
+
out, _ = link.communicate()
|
125
|
+
for line in out.splitlines():
|
126
|
+
if (not line.startswith(' Creating library ') and
|
127
|
+
not line.startswith('Generating code') and
|
128
|
+
not line.startswith('Finished generating code')):
|
129
|
+
print line
|
130
|
+
return link.returncode
|
131
|
+
|
132
|
+
def ExecLinkWithManifests(self, arch, embed_manifest, out, ldcmd, resname,
|
133
|
+
mt, rc, intermediate_manifest, *manifests):
|
134
|
+
"""A wrapper for handling creating a manifest resource and then executing
|
135
|
+
a link command."""
|
136
|
+
# The 'normal' way to do manifests is to have link generate a manifest
|
137
|
+
# based on gathering dependencies from the object files, then merge that
|
138
|
+
# manifest with other manifests supplied as sources, convert the merged
|
139
|
+
# manifest to a resource, and then *relink*, including the compiled
|
140
|
+
# version of the manifest resource. This breaks incremental linking, and
|
141
|
+
# is generally overly complicated. Instead, we merge all the manifests
|
142
|
+
# provided (along with one that includes what would normally be in the
|
143
|
+
# linker-generated one, see msvs_emulation.py), and include that into the
|
144
|
+
# first and only link. We still tell link to generate a manifest, but we
|
145
|
+
# only use that to assert that our simpler process did not miss anything.
|
146
|
+
variables = {
|
147
|
+
'python': sys.executable,
|
148
|
+
'arch': arch,
|
149
|
+
'out': out,
|
150
|
+
'ldcmd': ldcmd,
|
151
|
+
'resname': resname,
|
152
|
+
'mt': mt,
|
153
|
+
'rc': rc,
|
154
|
+
'intermediate_manifest': intermediate_manifest,
|
155
|
+
'manifests': ' '.join(manifests),
|
156
|
+
}
|
157
|
+
add_to_ld = ''
|
158
|
+
if manifests:
|
159
|
+
subprocess.check_call(
|
160
|
+
'%(python)s gyp-win-tool manifest-wrapper %(arch)s %(mt)s -nologo '
|
161
|
+
'-manifest %(manifests)s -out:%(out)s.manifest' % variables)
|
162
|
+
if embed_manifest == 'True':
|
163
|
+
subprocess.check_call(
|
164
|
+
'%(python)s gyp-win-tool manifest-to-rc %(arch)s %(out)s.manifest'
|
165
|
+
' %(out)s.manifest.rc %(resname)s' % variables)
|
166
|
+
subprocess.check_call(
|
167
|
+
'%(python)s gyp-win-tool rc-wrapper %(arch)s %(rc)s '
|
168
|
+
'%(out)s.manifest.rc' % variables)
|
169
|
+
add_to_ld = ' %(out)s.manifest.res' % variables
|
170
|
+
subprocess.check_call(ldcmd + add_to_ld)
|
171
|
+
|
172
|
+
# Run mt.exe on the theoretically complete manifest we generated, merging
|
173
|
+
# it with the one the linker generated to confirm that the linker
|
174
|
+
# generated one does not add anything. This is strictly unnecessary for
|
175
|
+
# correctness, it's only to verify that e.g. /MANIFESTDEPENDENCY was not
|
176
|
+
# used in a #pragma comment.
|
177
|
+
if manifests:
|
178
|
+
# Merge the intermediate one with ours to .assert.manifest, then check
|
179
|
+
# that .assert.manifest is identical to ours.
|
180
|
+
subprocess.check_call(
|
181
|
+
'%(python)s gyp-win-tool manifest-wrapper %(arch)s %(mt)s -nologo '
|
182
|
+
'-manifest %(out)s.manifest %(intermediate_manifest)s '
|
183
|
+
'-out:%(out)s.assert.manifest' % variables)
|
184
|
+
assert_manifest = '%(out)s.assert.manifest' % variables
|
185
|
+
our_manifest = '%(out)s.manifest' % variables
|
186
|
+
# Load and normalize the manifests. mt.exe sometimes removes whitespace,
|
187
|
+
# and sometimes doesn't unfortunately.
|
188
|
+
with open(our_manifest, 'rb') as our_f:
|
189
|
+
with open(assert_manifest, 'rb') as assert_f:
|
190
|
+
our_data = our_f.read().translate(None, string.whitespace)
|
191
|
+
assert_data = assert_f.read().translate(None, string.whitespace)
|
192
|
+
if our_data != assert_data:
|
193
|
+
os.unlink(out)
|
194
|
+
def dump(filename):
|
195
|
+
sys.stderr.write('%s\n-----\n' % filename)
|
196
|
+
with open(filename, 'rb') as f:
|
197
|
+
sys.stderr.write(f.read() + '\n-----\n')
|
198
|
+
dump(intermediate_manifest)
|
199
|
+
dump(our_manifest)
|
200
|
+
dump(assert_manifest)
|
201
|
+
sys.stderr.write(
|
202
|
+
'Linker generated manifest "%s" added to final manifest "%s" '
|
203
|
+
'(result in "%s"). '
|
204
|
+
'Were /MANIFEST switches used in #pragma statements? ' % (
|
205
|
+
intermediate_manifest, our_manifest, assert_manifest))
|
206
|
+
return 1
|
207
|
+
|
208
|
+
def ExecManifestWrapper(self, arch, *args):
|
209
|
+
"""Run manifest tool with environment set. Strip out undesirable warning
|
210
|
+
(some XML blocks are recognized by the OS loader, but not the manifest
|
211
|
+
tool)."""
|
212
|
+
env = self._GetEnv(arch)
|
213
|
+
popen = subprocess.Popen(args, shell=True, env=env,
|
214
|
+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
215
|
+
out, _ = popen.communicate()
|
216
|
+
for line in out.splitlines():
|
217
|
+
if line and 'manifest authoring warning 81010002' not in line:
|
218
|
+
print line
|
219
|
+
return popen.returncode
|
220
|
+
|
221
|
+
def ExecManifestToRc(self, arch, *args):
|
222
|
+
"""Creates a resource file pointing a SxS assembly manifest.
|
223
|
+
|args| is tuple containing path to resource file, path to manifest file
|
224
|
+
and resource name which can be "1" (for executables) or "2" (for DLLs)."""
|
225
|
+
manifest_path, resource_path, resource_name = args
|
226
|
+
with open(resource_path, 'wb') as output:
|
227
|
+
output.write('#include <windows.h>\n%s RT_MANIFEST "%s"' % (
|
228
|
+
resource_name,
|
229
|
+
os.path.abspath(manifest_path).replace('\\', '/')))
|
230
|
+
|
231
|
+
def ExecMidlWrapper(self, arch, outdir, tlb, h, dlldata, iid, proxy, idl,
|
232
|
+
*flags):
|
233
|
+
"""Filter noisy filenames output from MIDL compile step that isn't
|
234
|
+
quietable via command line flags.
|
235
|
+
"""
|
236
|
+
args = ['midl', '/nologo'] + list(flags) + [
|
237
|
+
'/out', outdir,
|
238
|
+
'/tlb', tlb,
|
239
|
+
'/h', h,
|
240
|
+
'/dlldata', dlldata,
|
241
|
+
'/iid', iid,
|
242
|
+
'/proxy', proxy,
|
243
|
+
idl]
|
244
|
+
env = self._GetEnv(arch)
|
245
|
+
popen = subprocess.Popen(args, shell=True, env=env,
|
246
|
+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
247
|
+
out, _ = popen.communicate()
|
248
|
+
# Filter junk out of stdout, and write filtered versions. Output we want
|
249
|
+
# to filter is pairs of lines that look like this:
|
250
|
+
# Processing C:\Program Files (x86)\Microsoft SDKs\...\include\objidl.idl
|
251
|
+
# objidl.idl
|
252
|
+
lines = out.splitlines()
|
253
|
+
prefixes = ('Processing ', '64 bit Processing ')
|
254
|
+
processing = set(os.path.basename(x)
|
255
|
+
for x in lines if x.startswith(prefixes))
|
256
|
+
for line in lines:
|
257
|
+
if not line.startswith(prefixes) and line not in processing:
|
258
|
+
print line
|
259
|
+
return popen.returncode
|
260
|
+
|
261
|
+
def ExecAsmWrapper(self, arch, *args):
|
262
|
+
"""Filter logo banner from invocations of asm.exe."""
|
263
|
+
env = self._GetEnv(arch)
|
264
|
+
popen = subprocess.Popen(args, shell=True, env=env,
|
265
|
+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
266
|
+
out, _ = popen.communicate()
|
267
|
+
for line in out.splitlines():
|
268
|
+
if (not line.startswith('Copyright (C) Microsoft Corporation') and
|
269
|
+
not line.startswith('Microsoft (R) Macro Assembler') and
|
270
|
+
not line.startswith(' Assembling: ') and
|
271
|
+
line):
|
272
|
+
print line
|
273
|
+
return popen.returncode
|
274
|
+
|
275
|
+
def ExecRcWrapper(self, arch, *args):
|
276
|
+
"""Filter logo banner from invocations of rc.exe. Older versions of RC
|
277
|
+
don't support the /nologo flag."""
|
278
|
+
env = self._GetEnv(arch)
|
279
|
+
popen = subprocess.Popen(args, shell=True, env=env,
|
280
|
+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
281
|
+
out, _ = popen.communicate()
|
282
|
+
for line in out.splitlines():
|
283
|
+
if (not line.startswith('Microsoft (R) Windows (R) Resource Compiler') and
|
284
|
+
not line.startswith('Copyright (C) Microsoft Corporation') and
|
285
|
+
line):
|
286
|
+
print line
|
287
|
+
return popen.returncode
|
288
|
+
|
289
|
+
def ExecActionWrapper(self, arch, rspfile, *dir):
|
290
|
+
"""Runs an action command line from a response file using the environment
|
291
|
+
for |arch|. If |dir| is supplied, use that as the working directory."""
|
292
|
+
env = self._GetEnv(arch)
|
293
|
+
# TODO(scottmg): This is a temporary hack to get some specific variables
|
294
|
+
# through to actions that are set after gyp-time. http://crbug.com/333738.
|
295
|
+
for k, v in os.environ.iteritems():
|
296
|
+
if k not in env:
|
297
|
+
env[k] = v
|
298
|
+
args = open(rspfile).read()
|
299
|
+
dir = dir[0] if dir else None
|
300
|
+
return subprocess.call(args, shell=True, env=env, cwd=dir)
|
301
|
+
|
302
|
+
def ExecClCompile(self, project_dir, selected_files):
|
303
|
+
"""Executed by msvs-ninja projects when the 'ClCompile' target is used to
|
304
|
+
build selected C/C++ files."""
|
305
|
+
project_dir = os.path.relpath(project_dir, BASE_DIR)
|
306
|
+
selected_files = selected_files.split(';')
|
307
|
+
ninja_targets = [os.path.join(project_dir, filename) + '^^'
|
308
|
+
for filename in selected_files]
|
309
|
+
cmd = ['ninja.exe']
|
310
|
+
cmd.extend(ninja_targets)
|
311
|
+
return subprocess.call(cmd, shell=True, cwd=BASE_DIR)
|
312
|
+
|
313
|
+
if __name__ == '__main__':
|
314
|
+
sys.exit(main(sys.argv[1:]))
|