MOVED jsdoc to roojspacker
authorAlan Knowles <alan@roojs.com>
Fri, 15 Feb 2019 05:32:01 +0000 (13:32 +0800)
committerAlan Knowles <alan@roojs.com>
Fri, 15 Feb 2019 05:32:01 +0000 (13:32 +0800)
jsdoc

82 files changed:
roojspacker/.h [new file with mode: 0644]
roojspacker/.vapi [new file with mode: 0644]
roojspacker/CMakeFiles/CMakeDirectoryInformation.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/progress.marks [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/DependInfo.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/build.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/cmake_clean.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend.internal [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/progress.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala.dir/DependInfo.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala.dir/build.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala.dir/cmake_clean.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala.dir/depend.internal [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala.dir/depend.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker--vala.dir/progress.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/C.includecache [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/DependInfo.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/build.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/cmake_clean.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/depend.internal [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/depend.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/flags.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/link.txt [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-.dir/progress.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/DependInfo.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/build.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/cmake_clean.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend.internal [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/progress.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/DependInfo.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/build.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/cmake_clean.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/depend.internal [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/depend.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/progress.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/C.includecache [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/DependInfo.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/build.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/cmake_clean.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/depend.internal [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/depend.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/flags.make [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/link.txt [new file with mode: 0644]
roojspacker/CMakeFiles/roojspacker-1.2.dir/progress.make [new file with mode: 0644]
roojspacker/CMakeFiles/typelib.dir/DependInfo.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/typelib.dir/build.make [new file with mode: 0644]
roojspacker/CMakeFiles/typelib.dir/cmake_clean.cmake [new file with mode: 0644]
roojspacker/CMakeFiles/typelib.dir/depend.internal [new file with mode: 0644]
roojspacker/CMakeFiles/typelib.dir/depend.make [new file with mode: 0644]
roojspacker/CMakeFiles/typelib.dir/progress.make [new file with mode: 0644]
roojspacker/CMakeLists.txt [new file with mode: 0644]
roojspacker/Collapse.vala [new file with mode: 0644]
roojspacker/CompressWhite.vala [new file with mode: 0644]
roojspacker/DocBuilder.vala [new file with mode: 0644]
roojspacker/DocComment.vala [new file with mode: 0644]
roojspacker/DocParser.vala [new file with mode: 0644]
roojspacker/DocTag.vala [new file with mode: 0644]
roojspacker/Identifier.vala [new file with mode: 0644]
roojspacker/Lang.vala [new file with mode: 0644]
roojspacker/Packer.vala [new file with mode: 0644]
roojspacker/PackerRun.vala [new file with mode: 0644]
roojspacker/PrettyPrint.vala [new file with mode: 0644]
roojspacker/Scope.vala [new file with mode: 0644]
roojspacker/ScopeParser.vala [new file with mode: 0644]
roojspacker/Symbol.vala [new file with mode: 0644]
roojspacker/SymbolSet.vala [new file with mode: 0644]
roojspacker/TextStream.vala [new file with mode: 0644]
roojspacker/Token.vala [new file with mode: 0644]
roojspacker/TokenReader.vala [new file with mode: 0644]
roojspacker/TokenStream.vala [new file with mode: 0644]
roojspacker/Walker.vala [new file with mode: 0644]
roojspacker/cmake_install.cmake [new file with mode: 0644]
roojspacker/libroojspacker-1.2.so [new symlink]
roojspacker/libroojspacker-1.2.so.. [new file with mode: 0755]
roojspacker/libroojspacker-1.2.so... [new symlink]
roojspacker/roojspacker--vala/fast-vapis.stamp [new file with mode: 0644]
roojspacker/roojspacker--vala/stamp [new file with mode: 0644]
roojspacker/roojspacker-1.2-vala/fast-vapis.stamp [new file with mode: 0644]
roojspacker/roojspacker-1.2-vala/stamp [new file with mode: 0644]
roojspacker/roojspacker.pc.in [new file with mode: 0644]

diff --git a/roojspacker/.h b/roojspacker/.h
new file mode 100644 (file)
index 0000000..05a77b3
--- /dev/null
@@ -0,0 +1,902 @@
+/* .h generated by valac 0.36.6, the Vala compiler, do not modify */
+
+
+#ifndef ___HOME_ALAN_GITLIVE_ROOJSPACKER_JSDOC__H__
+#define ___HOME_ALAN_GITLIVE_ROOJSPACKER_JSDOC__H__
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gio/gio.h>
+#include <json-glib/json-glib.h>
+
+G_BEGIN_DECLS
+
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+typedef struct _JSDOCTokenStreamPrivate JSDOCTokenStreamPrivate;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+
+#define JSDOC_TYPE_COLLAPSE (jsdoc_collapse_get_type ())
+#define JSDOC_COLLAPSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_COLLAPSE, JSDOCCollapse))
+#define JSDOC_COLLAPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_COLLAPSE, JSDOCCollapseClass))
+#define JSDOC_IS_COLLAPSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_COLLAPSE))
+#define JSDOC_IS_COLLAPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_COLLAPSE))
+#define JSDOC_COLLAPSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_COLLAPSE, JSDOCCollapseClass))
+
+typedef struct _JSDOCCollapse JSDOCCollapse;
+typedef struct _JSDOCCollapseClass JSDOCCollapseClass;
+typedef struct _JSDOCCollapsePrivate JSDOCCollapsePrivate;
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+typedef struct _JSDOCIdentifierPrivate JSDOCIdentifierPrivate;
+
+#define JSDOC_TYPE_SCOPE (jsdoc_scope_get_type ())
+#define JSDOC_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE, JSDOCScope))
+#define JSDOC_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+#define JSDOC_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE))
+#define JSDOC_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE))
+#define JSDOC_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+
+typedef struct _JSDOCScope JSDOCScope;
+typedef struct _JSDOCScopeClass JSDOCScopeClass;
+
+#define JSDOC_TYPE_LANGCLASS (jsdoc_langclass_get_type ())
+#define JSDOC_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_Class))
+#define JSDOC_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+#define JSDOC_IS_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_IS_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_LANGCLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+
+typedef struct _JSDOCLang_Class JSDOCLang_Class;
+typedef struct _JSDOCLang_ClassClass JSDOCLang_ClassClass;
+typedef struct _JSDOCLang_ClassPrivate JSDOCLang_ClassPrivate;
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+typedef struct _JSDOCPackerPrivate JSDOCPackerPrivate;
+
+#define JSDOC_TYPE_PACKER_RUN (jsdoc_packer_run_get_type ())
+#define JSDOC_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRun))
+#define JSDOC_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+#define JSDOC_IS_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_IS_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_PACKER_RUN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+
+typedef struct _JSDOCPackerRun JSDOCPackerRun;
+typedef struct _JSDOCPackerRunClass JSDOCPackerRunClass;
+
+#define JSDOC_PACKER_TYPE_RESULT_TYPE (jsdoc_packer_result_type_get_type ())
+
+#define JSDOC_TYPE_SCOPE_PARSER (jsdoc_scope_parser_get_type ())
+#define JSDOC_SCOPE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParser))
+#define JSDOC_SCOPE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParserClass))
+#define JSDOC_IS_SCOPE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE_PARSER))
+#define JSDOC_IS_SCOPE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE_PARSER))
+#define JSDOC_SCOPE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParserClass))
+
+typedef struct _JSDOCScopeParser JSDOCScopeParser;
+typedef struct _JSDOCScopeParserClass JSDOCScopeParserClass;
+typedef struct _JSDOCScopeParserPrivate JSDOCScopeParserPrivate;
+
+#define JSDOC_TYPE_SCOPE_PARSER_MODE (jsdoc_scope_parser_mode_get_type ())
+typedef struct _JSDOCScopePrivate JSDOCScopePrivate;
+
+#define JSDOC_TYPE_TEXT_STREAM_CHAR (jsdoc_text_stream_char_get_type ())
+#define JSDOC_TEXT_STREAM_CHAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM_CHAR, JSDOCTextStreamChar))
+#define JSDOC_TEXT_STREAM_CHAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM_CHAR, JSDOCTextStreamCharClass))
+#define JSDOC_IS_TEXT_STREAM_CHAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM_CHAR))
+#define JSDOC_IS_TEXT_STREAM_CHAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM_CHAR))
+#define JSDOC_TEXT_STREAM_CHAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM_CHAR, JSDOCTextStreamCharClass))
+
+typedef struct _JSDOCTextStreamChar JSDOCTextStreamChar;
+typedef struct _JSDOCTextStreamCharClass JSDOCTextStreamCharClass;
+typedef struct _JSDOCTextStreamCharPrivate JSDOCTextStreamCharPrivate;
+
+#define JSDOC_TYPE_TEXT_STREAM (jsdoc_text_stream_get_type ())
+#define JSDOC_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStream))
+#define JSDOC_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+#define JSDOC_IS_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_IS_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_TEXT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+
+typedef struct _JSDOCTextStream JSDOCTextStream;
+typedef struct _JSDOCTextStreamClass JSDOCTextStreamClass;
+typedef struct _JSDOCTextStreamPrivate JSDOCTextStreamPrivate;
+
+#define JSDOC_TYPE_TOKEN_ARRAY (jsdoc_token_array_get_type ())
+#define JSDOC_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArray))
+#define JSDOC_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+#define JSDOC_IS_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_IS_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_TOKEN_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+
+typedef struct _JSDOCTokenArray JSDOCTokenArray;
+typedef struct _JSDOCTokenArrayClass JSDOCTokenArrayClass;
+typedef struct _JSDOCTokenArrayPrivate JSDOCTokenArrayPrivate;
+
+#define JSDOC_TYPE_TOKEN_READER (jsdoc_token_reader_get_type ())
+#define JSDOC_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReader))
+#define JSDOC_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+#define JSDOC_IS_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_IS_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_TOKEN_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+
+typedef struct _JSDOCTokenReader JSDOCTokenReader;
+typedef struct _JSDOCTokenReaderClass JSDOCTokenReaderClass;
+typedef struct _JSDOCTokenReaderPrivate JSDOCTokenReaderPrivate;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+typedef struct _JSDOCTokenKeyMapPrivate JSDOCTokenKeyMapPrivate;
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+typedef struct _JSDOCPackerRunPrivate JSDOCPackerRunPrivate;
+
+#define JSDOC_TYPE_WALKER (jsdoc_walker_get_type ())
+#define JSDOC_WALKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_WALKER, JSDOCWalker))
+#define JSDOC_WALKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_WALKER, JSDOCWalkerClass))
+#define JSDOC_IS_WALKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_WALKER))
+#define JSDOC_IS_WALKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_WALKER))
+#define JSDOC_WALKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_WALKER, JSDOCWalkerClass))
+
+typedef struct _JSDOCWalker JSDOCWalker;
+typedef struct _JSDOCWalkerClass JSDOCWalkerClass;
+typedef struct _JSDOCWalkerPrivate JSDOCWalkerPrivate;
+
+#define JSDOC_TYPE_SYMBOL_SET (jsdoc_symbol_set_get_type ())
+#define JSDOC_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSet))
+#define JSDOC_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+#define JSDOC_IS_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_IS_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_SYMBOL_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+
+typedef struct _JSDOCSymbolSet JSDOCSymbolSet;
+typedef struct _JSDOCSymbolSetClass JSDOCSymbolSetClass;
+typedef struct _JSDOCSymbolSetPrivate JSDOCSymbolSetPrivate;
+
+#define JSDOC_TYPE_SYMBOL (jsdoc_symbol_get_type ())
+#define JSDOC_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbol))
+#define JSDOC_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+#define JSDOC_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL))
+#define JSDOC_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL))
+#define JSDOC_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+
+typedef struct _JSDOCSymbol JSDOCSymbol;
+typedef struct _JSDOCSymbolClass JSDOCSymbolClass;
+
+#define JSDOC_TYPE_DOC_COMMENT (jsdoc_doc_comment_get_type ())
+#define JSDOC_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment))
+#define JSDOC_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+#define JSDOC_IS_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_IS_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_DOC_COMMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+
+typedef struct _JSDOCDocComment JSDOCDocComment;
+typedef struct _JSDOCDocCommentClass JSDOCDocCommentClass;
+typedef struct _JSDOCDocCommentPrivate JSDOCDocCommentPrivate;
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+
+#define JSDOC_TYPE_DOC_TAG_TITLE (jsdoc_doc_tag_title_get_type ())
+
+#define JSDOC_TYPE_DOC_PARSER (jsdoc_doc_parser_get_type ())
+#define JSDOC_DOC_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_PARSER, JSDOCDocParser))
+#define JSDOC_DOC_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_PARSER, JSDOCDocParserClass))
+#define JSDOC_IS_DOC_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_PARSER))
+#define JSDOC_IS_DOC_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_PARSER))
+#define JSDOC_DOC_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_PARSER, JSDOCDocParserClass))
+
+typedef struct _JSDOCDocParser JSDOCDocParser;
+typedef struct _JSDOCDocParserClass JSDOCDocParserClass;
+typedef struct _JSDOCDocParserPrivate JSDOCDocParserPrivate;
+typedef struct _JSDOCDocTagPrivate JSDOCDocTagPrivate;
+typedef struct _JSDOCSymbolPrivate JSDOCSymbolPrivate;
+
+struct _JSDOCTokenStream {
+       GObject parent_instance;
+       JSDOCTokenStreamPrivate * priv;
+       GeeArrayList* tokens;
+       gint cursor;
+};
+
+struct _JSDOCTokenStreamClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCCollapse {
+       JSDOCTokenStream parent_instance;
+       JSDOCCollapsePrivate * priv;
+};
+
+struct _JSDOCCollapseClass {
+       JSDOCTokenStreamClass parent_class;
+};
+
+typedef enum  {
+       JSDOC_COMPRESS_WHITE_ERROR_BRACE
+} JSDOCCompressWhiteError;
+#define JSDOC_COMPRESS_WHITE_ERROR jsdoc_compress_white_error_quark ()
+struct _JSDOCIdentifier {
+       GObject parent_instance;
+       JSDOCIdentifierPrivate * priv;
+       gchar* name;
+       gint refcount;
+       gchar* mungedValue;
+       JSDOCScope* scope;
+       gboolean toMunge;
+};
+
+struct _JSDOCIdentifierClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCLang_Class {
+       GObject parent_instance;
+       JSDOCLang_ClassPrivate * priv;
+};
+
+struct _JSDOCLang_ClassClass {
+       GObjectClass parent_class;
+};
+
+typedef enum  {
+       JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+       JSDOC_TOKEN_NAME_BREAK,
+       JSDOC_TOKEN_NAME_CASE,
+       JSDOC_TOKEN_NAME_CATCH,
+       JSDOC_TOKEN_NAME_CONST,
+       JSDOC_TOKEN_NAME_CONTINUE,
+       JSDOC_TOKEN_NAME_DEFAULT,
+       JSDOC_TOKEN_NAME_DELETE,
+       JSDOC_TOKEN_NAME_DO,
+       JSDOC_TOKEN_NAME_ELSE,
+       JSDOC_TOKEN_NAME_FALSE,
+       JSDOC_TOKEN_NAME_FINALLY,
+       JSDOC_TOKEN_NAME_FOR,
+       JSDOC_TOKEN_NAME_FUNCTION,
+       JSDOC_TOKEN_NAME_IF,
+       JSDOC_TOKEN_NAME_IN,
+       JSDOC_TOKEN_NAME_INSTANCEOF,
+       JSDOC_TOKEN_NAME_NEW,
+       JSDOC_TOKEN_NAME_NULL,
+       JSDOC_TOKEN_NAME_RETURN,
+       JSDOC_TOKEN_NAME_SWITCH,
+       JSDOC_TOKEN_NAME_THIS,
+       JSDOC_TOKEN_NAME_THROW,
+       JSDOC_TOKEN_NAME_TRUE,
+       JSDOC_TOKEN_NAME_TRY,
+       JSDOC_TOKEN_NAME_TYPEOF,
+       JSDOC_TOKEN_NAME_VOID,
+       JSDOC_TOKEN_NAME_WHILE,
+       JSDOC_TOKEN_NAME_WITH,
+       JSDOC_TOKEN_NAME_VAR,
+       JSDOC_TOKEN_NAME_EVAL,
+       JSDOC_TOKEN_NAME_NAME,
+       JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+       JSDOC_TOKEN_NAME_JSDOC,
+       JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+       JSDOC_TOKEN_NAME_SEMICOLON,
+       JSDOC_TOKEN_NAME_COMMA,
+       JSDOC_TOKEN_NAME_HOOK,
+       JSDOC_TOKEN_NAME_COLON,
+       JSDOC_TOKEN_NAME_OR,
+       JSDOC_TOKEN_NAME_AND,
+       JSDOC_TOKEN_NAME_BITWISE_OR,
+       JSDOC_TOKEN_NAME_BITWISE_XOR,
+       JSDOC_TOKEN_NAME_BITWISE_AND,
+       JSDOC_TOKEN_NAME_STRICT_EQ,
+       JSDOC_TOKEN_NAME_EQ,
+       JSDOC_TOKEN_NAME_ASSIGN,
+       JSDOC_TOKEN_NAME_STRICT_NE,
+       JSDOC_TOKEN_NAME_NE,
+       JSDOC_TOKEN_NAME_LSH,
+       JSDOC_TOKEN_NAME_LE,
+       JSDOC_TOKEN_NAME_LT,
+       JSDOC_TOKEN_NAME_URSH,
+       JSDOC_TOKEN_NAME_RSH,
+       JSDOC_TOKEN_NAME_GE,
+       JSDOC_TOKEN_NAME_GT,
+       JSDOC_TOKEN_NAME_INCREMENT,
+       JSDOC_TOKEN_NAME_DECREMENT,
+       JSDOC_TOKEN_NAME_PLUS,
+       JSDOC_TOKEN_NAME_MINUS,
+       JSDOC_TOKEN_NAME_MUL,
+       JSDOC_TOKEN_NAME_DIV,
+       JSDOC_TOKEN_NAME_MOD,
+       JSDOC_TOKEN_NAME_NOT,
+       JSDOC_TOKEN_NAME_BITWISE_NOT,
+       JSDOC_TOKEN_NAME_DOT,
+       JSDOC_TOKEN_NAME_LEFT_BRACE,
+       JSDOC_TOKEN_NAME_RIGHT_BRACE,
+       JSDOC_TOKEN_NAME_LEFT_CURLY,
+       JSDOC_TOKEN_NAME_RIGHT_CURLY,
+       JSDOC_TOKEN_NAME_LEFT_PAREN,
+       JSDOC_TOKEN_NAME_RIGHT_PAREN,
+       JSDOC_TOKEN_NAME_SPACE,
+       JSDOC_TOKEN_NAME_NEWLINE,
+       JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+       JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+       JSDOC_TOKEN_NAME_OCTAL,
+       JSDOC_TOKEN_NAME_DECIMAL,
+       JSDOC_TOKEN_NAME_HEX_DEC,
+       JSDOC_TOKEN_NAME_REGX,
+       JSDOC_TOKEN_NAME_START_OF_STREAM,
+       JSDOC_TOKEN_NAME_END_OF_STREAM,
+       JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+typedef enum  {
+       JSDOC_LANG_ERROR_ArgumentError
+} JSDOCLangError;
+#define JSDOC_LANG_ERROR jsdoc_lang_error_quark ()
+struct _JSDOCPacker {
+       GObject parent_instance;
+       JSDOCPackerPrivate * priv;
+       GeeArrayList* files;
+       gchar* activeFile;
+       gchar* outstr;
+       JSDOCPackerRun* config;
+       GeeHashMap* result_count;
+       GeeHashMap* result;
+};
+
+struct _JSDOCPackerClass {
+       GObjectClass parent_class;
+};
+
+typedef enum  {
+       JSDOC_PACKER_RESULT_TYPE_err,
+       JSDOC_PACKER_RESULT_TYPE_warn
+} JSDOCPackerResultType;
+
+typedef enum  {
+       JSDOC_PACKER_ERROR_ArgumentError
+} JSDOCPackerError;
+#define JSDOC_PACKER_ERROR jsdoc_packer_error_quark ()
+struct _JSDOCScopeParser {
+       GObject parent_instance;
+       JSDOCScopeParserPrivate * priv;
+};
+
+struct _JSDOCScopeParserClass {
+       GObjectClass parent_class;
+};
+
+typedef enum  {
+       JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE,
+       JSDOC_SCOPE_PARSER_MODE_PASS2_SYMBOL_TREE
+} JSDOCScopeParserMode;
+
+struct _JSDOCScope {
+       GObject parent_instance;
+       JSDOCScopePrivate * priv;
+       JSDOCScope* parent;
+       GeeArrayList* subScopes;
+       gchar* ident;
+};
+
+struct _JSDOCScopeClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCTextStreamChar {
+       GObject parent_instance;
+       JSDOCTextStreamCharPrivate * priv;
+       gchar c;
+       gboolean eof;
+};
+
+struct _JSDOCTextStreamCharClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCTextStream {
+       GObject parent_instance;
+       JSDOCTextStreamPrivate * priv;
+};
+
+struct _JSDOCTextStreamClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCTokenArray {
+       GObject parent_instance;
+       JSDOCTokenArrayPrivate * priv;
+       GeeArrayList* tokens;
+};
+
+struct _JSDOCTokenArrayClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCTokenReader {
+       GObject parent_instance;
+       JSDOCTokenReaderPrivate * priv;
+       gboolean collapseWhite;
+       gboolean keepDocs;
+       gboolean keepWhite;
+       gboolean keepComments;
+       gboolean sepIdents;
+       gchar* filename;
+       gboolean ignoreBadGrammer;
+};
+
+struct _JSDOCTokenReaderClass {
+       GObjectClass parent_class;
+};
+
+typedef enum  {
+       JSDOC_TOKENREADER_ERROR_ArgumentError,
+       JSDOC_TOKENREADER_ERROR_SyntaxError
+} JSDOCTokenReader_Error;
+#define JSDOC_TOKENREADER_ERROR jsdoc_tokenreader_error_quark ()
+typedef enum  {
+       JSDOC_TOKEN_STREAM_ERROR_ArgumentError
+} JSDOCTokenStreamError;
+#define JSDOC_TOKEN_STREAM_ERROR jsdoc_token_stream_error_quark ()
+struct _JSDOCTokenKeyMap {
+       GObject parent_instance;
+       JSDOCTokenKeyMapPrivate * priv;
+       JSDOCToken* key;
+       GeeArrayList* vals;
+};
+
+struct _JSDOCTokenKeyMapClass {
+       GObjectClass parent_class;
+};
+
+typedef enum  {
+       JSDOC_TOKEN_TYPE_TOKN,
+       JSDOC_TOKEN_TYPE_KEYW,
+       JSDOC_TOKEN_TYPE_NAME,
+       JSDOC_TOKEN_TYPE_COMM,
+       JSDOC_TOKEN_TYPE_PUNC,
+       JSDOC_TOKEN_TYPE_WHIT,
+       JSDOC_TOKEN_TYPE_STRN,
+       JSDOC_TOKEN_TYPE_NUMB,
+       JSDOC_TOKEN_TYPE_REGX,
+       JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+struct _JSDOCToken {
+       GObject parent_instance;
+       JSDOCTokenPrivate * priv;
+       gint id;
+       gchar* data;
+       JSDOCTokenType type;
+       JSDOCTokenName name;
+       gint line;
+       gchar* prefix;
+       gchar* outData;
+       JSDOCIdentifier* identifier;
+       GeeArrayList* items;
+       GeeHashMap* props;
+       GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCPackerRun {
+       GApplication parent_instance;
+       JSDOCPackerRunPrivate * priv;
+       gchar* opt_target;
+       gchar* opt_debug_target;
+       gchar* opt_real_basedir;
+       gchar* opt_doc_target;
+       gchar* opt_doc_template_dir;
+       gboolean opt_doc_include_private;
+       gboolean opt_debug;
+       gboolean opt_skip_scope;
+       gboolean opt_keep_whitespace;
+       gboolean opt_dump_tokens;
+       gboolean opt_clean_cache;
+       gchar* opt_doc_ext;
+};
+
+struct _JSDOCPackerRunClass {
+       GApplicationClass parent_class;
+};
+
+struct _JSDOCWalker {
+       GObject parent_instance;
+       JSDOCWalkerPrivate * priv;
+};
+
+struct _JSDOCWalkerClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCSymbolSet {
+       GObject parent_instance;
+       JSDOCSymbolSetPrivate * priv;
+};
+
+struct _JSDOCSymbolSetClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCDocComment {
+       GObject parent_instance;
+       JSDOCDocCommentPrivate * priv;
+       gboolean isUserComment;
+       gboolean hasTags;
+       gchar* src;
+       GeeArrayList* tags;
+};
+
+struct _JSDOCDocCommentClass {
+       GObjectClass parent_class;
+};
+
+typedef enum  {
+       JSDOC_DOC_TAG_TITLE_NO_VALUE,
+       JSDOC_DOC_TAG_TITLE_PARAM,
+       JSDOC_DOC_TAG_TITLE_PROPERTY,
+       JSDOC_DOC_TAG_TITLE_CFG,
+       JSDOC_DOC_TAG_TITLE_EXAMPLE,
+       JSDOC_DOC_TAG_TITLE_SINGLETON,
+       JSDOC_DOC_TAG_TITLE_AUTHOR,
+       JSDOC_DOC_TAG_TITLE_METHOD,
+       JSDOC_DOC_TAG_TITLE_DESC,
+       JSDOC_DOC_TAG_TITLE_OVERVIEW,
+       JSDOC_DOC_TAG_TITLE_SINCE,
+       JSDOC_DOC_TAG_TITLE_CONSTANT,
+       JSDOC_DOC_TAG_TITLE_VERSION,
+       JSDOC_DOC_TAG_TITLE_DEPRECATED,
+       JSDOC_DOC_TAG_TITLE_SEE,
+       JSDOC_DOC_TAG_TITLE_CLASS,
+       JSDOC_DOC_TAG_TITLE_NAMESPACE,
+       JSDOC_DOC_TAG_TITLE_CONSTRUCTOR,
+       JSDOC_DOC_TAG_TITLE_STATIC,
+       JSDOC_DOC_TAG_TITLE_INNER,
+       JSDOC_DOC_TAG_TITLE_FIELD,
+       JSDOC_DOC_TAG_TITLE_FUNCTION,
+       JSDOC_DOC_TAG_TITLE_EVENT,
+       JSDOC_DOC_TAG_TITLE_NAME,
+       JSDOC_DOC_TAG_TITLE_RETURN,
+       JSDOC_DOC_TAG_TITLE_THROWS,
+       JSDOC_DOC_TAG_TITLE_REQUIRES,
+       JSDOC_DOC_TAG_TITLE_TYPE,
+       JSDOC_DOC_TAG_TITLE_PRIVATE,
+       JSDOC_DOC_TAG_TITLE_IGNORE,
+       JSDOC_DOC_TAG_TITLE_ARGUMENTS,
+       JSDOC_DOC_TAG_TITLE_EXTENDS,
+       JSDOC_DOC_TAG_TITLE_DEFAULT,
+       JSDOC_DOC_TAG_TITLE_MEMBEROF,
+       JSDOC_DOC_TAG_TITLE_PUBLIC,
+       JSDOC_DOC_TAG_TITLE_SCOPE,
+       JSDOC_DOC_TAG_TITLE_SCOPEALIAS
+} JSDOCDocTagTitle;
+
+struct _JSDOCDocParser {
+       GObject parent_instance;
+       JSDOCDocParserPrivate * priv;
+};
+
+struct _JSDOCDocParserClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCDocTag {
+       GObject parent_instance;
+       JSDOCDocTagPrivate * priv;
+       JSDOCDocTagTitle title;
+       gchar* type;
+       gchar* name;
+       gboolean isOptional;
+       gchar* defaultValue;
+       gchar* desc;
+       GeeArrayList* optvalues;
+       gchar* memberOf;
+};
+
+struct _JSDOCDocTagClass {
+       GObjectClass parent_class;
+};
+
+struct _JSDOCSymbol {
+       GObject parent_instance;
+       JSDOCSymbolPrivate * priv;
+       GeeArrayList* augments;
+       GeeArrayList* methods;
+       GeeArrayList* properties;
+       GeeArrayList* returns;
+       GeeArrayList* childClasses;
+       GeeArrayList* inheritsFrom;
+       GeeHashMap* cfgs;
+       JSDOCDocComment* comment;
+       gchar* alias;
+       gchar* desc;
+       gchar* isa;
+       gboolean isEvent;
+       gboolean isConstant;
+       gboolean isIgnored;
+       gboolean isInner;
+       gboolean isNamespace;
+       gboolean isPrivate;
+       gboolean isStatic;
+       gchar* memberOf;
+};
+
+struct _JSDOCSymbolClass {
+       GObjectClass parent_class;
+};
+
+
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+GType jsdoc_collapse_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+JSDOCCollapse* jsdoc_collapse_new (GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename);
+JSDOCCollapse* jsdoc_collapse_construct (GType object_type, GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename);
+GQuark jsdoc_compress_white_error_quark (void);
+gchar* jsdoc_CompressWhite (JSDOCTokenStream* ts, JSDOCPacker* packer, gboolean keepWhite);
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_scope_get_type (void) G_GNUC_CONST;
+JSDOCIdentifier* jsdoc_identifier_new (const gchar* name, JSDOCScope* scope);
+JSDOCIdentifier* jsdoc_identifier_construct (GType object_type, const gchar* name, JSDOCScope* scope);
+GType jsdoc_langclass_get_type (void) G_GNUC_CONST;
+JSDOCLang_Class* jsdoc_langclass_new (void);
+JSDOCLang_Class* jsdoc_langclass_construct (GType object_type);
+gboolean jsdoc_langclass_isBuiltin (JSDOCLang_Class* self, const gchar* name);
+gchar* jsdoc_langclass_whitespace (JSDOCLang_Class* self, const gchar* ch);
+gchar* jsdoc_langclass_newline (JSDOCLang_Class* self, const gchar* ch);
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+GQuark jsdoc_lang_error_quark (void);
+JSDOCTokenName jsdoc_langclass_keyword (JSDOCLang_Class* self, const gchar* word, GError** error);
+JSDOCTokenName* jsdoc_langclass_matching (JSDOCLang_Class* self, JSDOCTokenName name, GError** error);
+gboolean jsdoc_langclass_isKeyword (JSDOCLang_Class* self, const gchar* word);
+JSDOCTokenName jsdoc_langclass_puncFirstString (JSDOCLang_Class* self, gchar ch);
+JSDOCTokenName jsdoc_langclass_puncString (JSDOCLang_Class* self, const gchar* ch);
+gboolean jsdoc_langclass_isNumber (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isHexDec (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isWordString (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isWordChar (JSDOCLang_Class* self, gchar c);
+gboolean jsdoc_langclass_isSpace (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isSpaceC (JSDOCLang_Class* self, gchar str);
+gboolean jsdoc_langclass_isNewline (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isNewlineC (JSDOCLang_Class* self, gchar str);
+gboolean jsdoc_langclass_isBoolean (JSDOCLang_Class* self, const gchar* str);
+extern JSDOCLang_Class* jsdoc_Lang;
+GType jsdoc_packer_run_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_result_type_get_type (void) G_GNUC_CONST;
+gchar* jsdoc_packer_result_type_to_string (JSDOCPackerResultType self);
+JSDOCPacker* jsdoc_packer_new (JSDOCPackerRun* config);
+JSDOCPacker* jsdoc_packer_construct (GType object_type, JSDOCPackerRun* config);
+void jsdoc_packer_logError (JSDOCPacker* self, JSDOCPackerResultType type, const gchar* filename, gint line, const gchar* message);
+gboolean jsdoc_packer_hasErrors (JSDOCPacker* self, const gchar* fn);
+void jsdoc_packer_dumpErrors (JSDOCPacker* self, JSDOCPackerResultType type);
+void jsdoc_packer_loadSourceIndexes (JSDOCPacker* self, GeeArrayList* indexes);
+void jsdoc_packer_loadFiles (JSDOCPacker* self, gchar** fs, int fs_length1);
+void jsdoc_packer_loadFile (JSDOCPacker* self, const gchar* f);
+GQuark jsdoc_packer_error_quark (void);
+gchar* jsdoc_packer_pack (JSDOCPacker* self, const gchar* target, const gchar* targetDebug, GError** error);
+void jsdoc_packer_loadSourceIndex (JSDOCPacker* self, const gchar* in_srcfile);
+gchar* jsdoc_packer_packFile (JSDOCPacker* self, const gchar* str, const gchar* fn, const gchar* minfile);
+gchar* jsdoc_packer_md5 (JSDOCPacker* self, const gchar* str);
+GType jsdoc_scope_parser_get_type (void) G_GNUC_CONST;
+JSDOCScopeParser* jsdoc_scope_parser_new (JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename);
+JSDOCScopeParser* jsdoc_scope_parser_construct (GType object_type, JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename);
+void jsdoc_scope_parser_buildSymbolTree (JSDOCScopeParser* self);
+void jsdoc_scope_parser_mungeSymboltree (JSDOCScopeParser* self);
+void jsdoc_scope_parser_printWarnings (JSDOCScopeParser* self);
+GType jsdoc_scope_parser_mode_get_type (void) G_GNUC_CONST;
+extern GeeArrayList* jsdoc_scope_builtin;
+extern GeeArrayList* jsdoc_scope_skips;
+extern gchar** jsdoc_scope_ones;
+extern gint jsdoc_scope_ones_length1;
+extern gchar** jsdoc_scope_twos;
+extern gint jsdoc_scope_twos_length1;
+JSDOCScope* jsdoc_scope_new (gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+JSDOCScope* jsdoc_scope_construct (GType object_type, gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+void jsdoc_scope_dump (JSDOCScope* self, const gchar* indent);
+JSDOCIdentifier* jsdoc_scope_declareIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token);
+JSDOCIdentifier* jsdoc_scope_getIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token);
+void jsdoc_scope_addHint (JSDOCScope* self, const gchar* varName, const gchar* varType);
+void jsdoc_scope_preventMunging (JSDOCScope* self);
+gchar** jsdoc_scope_getUsedSymbols (JSDOCScope* self, int* result_length1);
+void jsdoc_scope_addToParentScope (JSDOCScope* self, const gchar* ident);
+gboolean jsdoc_scope_isProtectedVar (JSDOCScope* self, const gchar* ident);
+void jsdoc_scope_munge (JSDOCScope* self);
+extern gint jsdoc_Scope_gid;
+GType jsdoc_text_stream_char_get_type (void) G_GNUC_CONST;
+JSDOCTextStreamChar* jsdoc_text_stream_char_new (gchar val, gboolean eof);
+JSDOCTextStreamChar* jsdoc_text_stream_char_construct (GType object_type, gchar val, gboolean eof);
+GType jsdoc_text_stream_get_type (void) G_GNUC_CONST;
+JSDOCTextStream* jsdoc_text_stream_new (const gchar* text);
+JSDOCTextStream* jsdoc_text_stream_construct (GType object_type, const gchar* text);
+gchar* jsdoc_text_stream_lookS (JSDOCTextStream* self, gint n);
+gchar jsdoc_text_stream_lookC (JSDOCTextStream* self, gint n);
+gboolean jsdoc_text_stream_lookEOF (JSDOCTextStream* self, gint n);
+gchar* jsdoc_text_stream_nextS (JSDOCTextStream* self, gint n);
+gchar jsdoc_text_stream_nextC (JSDOCTextStream* self);
+GType jsdoc_token_array_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_reader_get_type (void) G_GNUC_CONST;
+JSDOCTokenArray* jsdoc_token_array_new (JSDOCPacker* packer, JSDOCTokenReader* reader);
+JSDOCTokenArray* jsdoc_token_array_construct (GType object_type, JSDOCPacker* packer, JSDOCTokenReader* reader);
+JSDOCToken* jsdoc_token_array_last (JSDOCTokenArray* self);
+JSDOCToken* jsdoc_token_array_lastSym (JSDOCTokenArray* self);
+void jsdoc_token_array_push (JSDOCTokenArray* self, JSDOCToken* t);
+JSDOCToken* jsdoc_token_array_pop (JSDOCTokenArray* self);
+JSDOCToken* jsdoc_token_array_get (JSDOCTokenArray* self, gint i);
+void jsdoc_token_array_dump (JSDOCTokenArray* self);
+gint jsdoc_token_array_get_length (JSDOCTokenArray* self);
+JSDOCTokenReader* jsdoc_token_reader_new (JSDOCPacker* packer);
+JSDOCTokenReader* jsdoc_token_reader_construct (GType object_type, JSDOCPacker* packer);
+JSDOCTokenArray* jsdoc_token_reader_tokenize (JSDOCTokenReader* self, JSDOCTextStream* stream);
+gint jsdoc_token_reader_findPuncToken (JSDOCTokenReader* self, JSDOCTokenArray* tokens, const gchar* data, gint n);
+JSDOCToken* jsdoc_token_reader_lastSym (JSDOCTokenReader* self, JSDOCTokenArray* tokens, gint n);
+gboolean jsdoc_token_reader_read_word (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_punc (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_space (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_newline (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_mlcomment (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_slcomment (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_dbquote (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_snquote (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_numb (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_hex (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_regx (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+GQuark jsdoc_tokenreader_error_quark (void);
+JSDOCTokenStream* jsdoc_token_stream_new (GeeArrayList* tokens);
+JSDOCTokenStream* jsdoc_token_stream_construct (GType object_type, GeeArrayList* tokens);
+GeeArrayList* jsdoc_token_stream_toArray (JSDOCTokenStream* self);
+void jsdoc_token_stream_rewind (JSDOCTokenStream* self);
+JSDOCToken* jsdoc_token_stream_look (JSDOCTokenStream* self, gint n, gboolean considerWhitespace);
+JSDOCToken* jsdoc_token_stream_lookAny (JSDOCTokenStream* self, gint n);
+gint jsdoc_token_stream_lookFor (JSDOCTokenStream* self, const gchar* data);
+JSDOCToken* jsdoc_token_stream_lookTok (JSDOCTokenStream* self, gint n);
+JSDOCToken* jsdoc_token_stream_next (JSDOCTokenStream* self);
+GQuark jsdoc_token_stream_error_quark (void);
+GeeArrayList* jsdoc_token_stream_nextM (JSDOCTokenStream* self, gint howMany, GError** error);
+JSDOCToken* jsdoc_token_stream_nextTok (JSDOCTokenStream* self);
+JSDOCToken* jsdoc_token_stream_nextNonSpace (JSDOCTokenStream* self);
+GeeArrayList* jsdoc_token_stream_balance (JSDOCTokenStream* self, JSDOCTokenName in_start, GError** error);
+JSDOCToken* jsdoc_token_stream_getMatchingTokenEnd (JSDOCTokenStream* self, JSDOCTokenName end);
+JSDOCToken* jsdoc_token_stream_getMatchingToken (JSDOCTokenStream* self, JSDOCTokenName start, gint depth);
+GeeArrayList* jsdoc_token_stream_remaining (JSDOCTokenStream* self);
+void jsdoc_token_stream_printRange (JSDOCTokenStream* self, gint start, gint end);
+void jsdoc_token_stream_dump (JSDOCTokenStream* self, gint start, gint end);
+void jsdoc_token_stream_dumpAll (JSDOCTokenStream* self, const gchar* indent);
+void jsdoc_token_stream_dumpAllFlat (JSDOCTokenStream* self);
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+JSDOCTokenKeyMap* jsdoc_token_key_map_new (void);
+JSDOCTokenKeyMap* jsdoc_token_key_map_construct (GType object_type);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+JSDOCToken* jsdoc_token_new (const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+JSDOCToken* jsdoc_token_construct (GType object_type, const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+gchar* jsdoc_token_asString (JSDOCToken* self);
+void jsdoc_token_dump (JSDOCToken* self, const gchar* indent);
+gchar* jsdoc_token_toRaw (JSDOCToken* self, gint lvl);
+gboolean jsdoc_token_isName (JSDOCToken* self, JSDOCTokenName what);
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what);
+JSDOCPackerRun* jsdoc_packer_run_singleton (void);
+JSDOCPackerRun* jsdoc_packer_run_new (void);
+JSDOCPackerRun* jsdoc_packer_run_construct (GType object_type);
+void jsdoc_packer_run_parseArgs (JSDOCPackerRun* self, gchar** args, int args_length1);
+void jsdoc_packer_run_runPack (JSDOCPackerRun* self);
+GType jsdoc_walker_get_type (void) G_GNUC_CONST;
+JSDOCWalker* jsdoc_walker_new (JSDOCTokenStream* ts);
+JSDOCWalker* jsdoc_walker_construct (GType object_type, JSDOCTokenStream* ts);
+void jsdoc_walker_buildSymbolTree (JSDOCWalker* self);
+GType jsdoc_symbol_set_get_type (void) G_GNUC_CONST;
+JSDOCSymbolSet* jsdoc_symbol_set_new (void);
+JSDOCSymbolSet* jsdoc_symbol_set_construct (GType object_type);
+GeeArrayList* jsdoc_symbol_set_keys (JSDOCSymbolSet* self);
+GType jsdoc_symbol_get_type (void) G_GNUC_CONST;
+GeeArrayList* jsdoc_symbol_set_values (JSDOCSymbolSet* self);
+gboolean jsdoc_symbol_set_hasSymbol (JSDOCSymbolSet* self, const gchar* alias);
+void jsdoc_symbol_set_addSymbol (JSDOCSymbolSet* self, JSDOCSymbol* symbol);
+JSDOCSymbol* jsdoc_symbol_set_getSymbol (JSDOCSymbolSet* self, const gchar* alias);
+void jsdoc_symbol_set_deleteSymbol (JSDOCSymbolSet* self, const gchar* alias);
+gchar* jsdoc_symbol_set_renameSymbol (JSDOCSymbolSet* self, const gchar* oldName, const gchar* newName);
+void jsdoc_symbol_set_relate (JSDOCSymbolSet* self);
+gboolean jsdoc_symbol_set_isBuiltin (const gchar* name);
+GeeHashMap* jsdoc_symbol_set_get__index (JSDOCSymbolSet* self);
+GType jsdoc_doc_comment_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+extern gchar* jsdoc_doc_comment_shared;
+JSDOCDocComment* jsdoc_doc_comment_new (const gchar* comment);
+JSDOCDocComment* jsdoc_doc_comment_construct (GType object_type, const gchar* comment);
+gchar* jsdoc_doc_comment_unwrapComment (const gchar* comment);
+GType jsdoc_doc_tag_title_get_type (void) G_GNUC_CONST;
+GeeArrayList* jsdoc_doc_comment_getTag (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+gchar* jsdoc_doc_comment_getTagAsString (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+GType jsdoc_doc_parser_get_type (void) G_GNUC_CONST;
+extern gchar* jsdoc_doc_parser_currentSourceFile;
+JSDOCSymbolSet* jsdoc_doc_parser_symbols (void);
+void jsdoc_doc_parser_parse (JSDOCTokenStream* ts, const gchar* srcFile);
+void jsdoc_doc_parser_addSymbol (JSDOCSymbol* symbol);
+JSDOCSymbol* jsdoc_doc_parser_addBuiltin (const gchar* name);
+void jsdoc_doc_parser_finish (void);
+JSDOCDocParser* jsdoc_doc_parser_new (void);
+JSDOCDocParser* jsdoc_doc_parser_construct (GType object_type);
+gchar* jsdoc_doc_tag_asString (JSDOCDocTag* self);
+JSDOCDocTag* jsdoc_doc_tag_new (const gchar* in_src);
+JSDOCDocTag* jsdoc_doc_tag_construct (GType object_type, const gchar* in_src);
+JsonArray* jsdoc_doc_tag_optvalue_as_json_array (JSDOCDocTag* self);
+extern gboolean jsdoc_symbol_regex_init;
+extern gchar* jsdoc_symbol_srcFile;
+gchar* jsdoc_symbol_asString (JSDOCSymbol* self);
+void jsdoc_symbol_initArrays (JSDOCSymbol* self);
+JSDOCSymbol* jsdoc_symbol_new_new_builtin (const gchar* name);
+JSDOCSymbol* jsdoc_symbol_construct_new_builtin (GType object_type, const gchar* name);
+JSDOCSymbol* jsdoc_symbol_new_new_populate_with_args (const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+JSDOCSymbol* jsdoc_symbol_construct_new_populate_with_args (GType object_type, const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+gboolean jsdoc_symbol_is (JSDOCSymbol* self, const gchar* what);
+gboolean jsdoc_symbol_isaClass (JSDOCSymbol* self);
+gboolean jsdoc_symbol_isBuiltin (JSDOCSymbol* self);
+void jsdoc_symbol_inherit (JSDOCSymbol* self, JSDOCSymbol* symbol);
+void jsdoc_symbol_addMember (JSDOCSymbol* self, JSDOCSymbol* symbol);
+void jsdoc_symbol_addDocTag (JSDOCSymbol* self, JSDOCDocTag* docTag);
+void jsdoc_symbol_addConfig (JSDOCSymbol* self, JSDOCDocTag* docTag);
+GeeArrayList* jsdoc_symbol_configToArray (JSDOCSymbol* self);
+gchar* jsdoc_symbol_makeFuncSkel (JSDOCSymbol* self);
+gchar* jsdoc_symbol_makeMethodSkel (JSDOCSymbol* self);
+JsonArray* jsdoc_symbol_paramsToJson (JSDOCSymbol* self);
+JsonArray* jsdoc_symbol_returnsToJson (JSDOCSymbol* self);
+JSDOCSymbol* jsdoc_symbol_new (void);
+JSDOCSymbol* jsdoc_symbol_construct (GType object_type);
+void jsdoc_symbol_set_private_name (JSDOCSymbol* self, const gchar* value);
+const gchar* jsdoc_symbol_get_name (JSDOCSymbol* self);
+GeeArrayList* jsdoc_symbol_get_params (JSDOCSymbol* self);
+
+
+G_END_DECLS
+
+#endif
diff --git a/roojspacker/.vapi b/roojspacker/.vapi
new file mode 100644 (file)
index 0000000..a3faaf0
--- /dev/null
@@ -0,0 +1,481 @@
+/* .vapi generated by valac 0.36.6, do not modify. */
+
+namespace JSDOC {
+       [CCode (cheader_filename = ".h")]
+       public class Collapse : JSDOC.TokenStream {
+               public Collapse (Gee.ArrayList<JSDOC.Token> tokens, JSDOC.Packer pk, string filename);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class DocComment : GLib.Object {
+               public bool hasTags;
+               public bool isUserComment;
+               public static string shared;
+               public string src;
+               public Gee.ArrayList<JSDOC.DocTag> tags;
+               public DocComment (string comment = "");
+               public Gee.ArrayList<JSDOC.DocTag> getTag (JSDOC.DocTagTitle tagTitle);
+               public string getTagAsString (JSDOC.DocTagTitle tagTitle);
+               public static string unwrapComment (string comment);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class DocParser : GLib.Object {
+               public static string currentSourceFile;
+               public DocParser ();
+               public static JSDOC.Symbol addBuiltin (string name);
+               public static void addSymbol (JSDOC.Symbol symbol);
+               public static void finish ();
+               public static void parse (JSDOC.TokenStream ts, string srcFile);
+               public static JSDOC.SymbolSet symbols ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public class DocTag : GLib.Object {
+               public string defaultValue;
+               public string desc;
+               public bool isOptional;
+               public string memberOf;
+               public string name;
+               public Gee.ArrayList<string> optvalues;
+               public JSDOC.DocTagTitle title;
+               public string type;
+               public DocTag (string in_src);
+               public string asString ();
+               public Json.Array optvalue_as_json_array ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public class Identifier : GLib.Object {
+               public string mungedValue;
+               public string name;
+               public int refcount;
+               public JSDOC.Scope scope;
+               public bool toMunge;
+               public Identifier (string name, JSDOC.Scope scope);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class Lang_Class : GLib.Object {
+               public Lang_Class ();
+               public bool isBoolean (string str);
+               public bool isBuiltin (string name);
+               public bool isHexDec (string str);
+               public bool isKeyword (string word);
+               public bool isNewline (string str);
+               public bool isNewlineC (char str);
+               public bool isNumber (string str);
+               public bool isSpace (string str);
+               public bool isSpaceC (char str);
+               public bool isWordChar (char c);
+               public bool isWordString (string str);
+               public JSDOC.TokenName keyword (string word) throws JSDOC.LangError;
+               public JSDOC.TokenName? matching (JSDOC.TokenName name) throws JSDOC.LangError;
+               public string newline (string ch);
+               public JSDOC.TokenName puncFirstString (char ch);
+               public JSDOC.TokenName puncString (string ch);
+               public string whitespace (string ch);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class Packer : GLib.Object {
+               public enum ResultType {
+                       err,
+                       warn;
+                       public string to_string ();
+               }
+               public string activeFile;
+               public JSDOC.PackerRun config;
+               public Gee.ArrayList<string> files;
+               public string outstr;
+               public Gee.HashMap<string,Gee.HashMap<string,Gee.HashMap<int,Gee.ArrayList<string>>>> result;
+               public Gee.HashMap<string,int> result_count;
+               public Packer (JSDOC.PackerRun config);
+               public void dumpErrors (JSDOC.Packer.ResultType type);
+               public bool hasErrors (string fn);
+               public void loadFile (string f);
+               public void loadFiles (string[] fs);
+               public void loadSourceIndex (string in_srcfile);
+               public void loadSourceIndexes (Gee.ArrayList<string> indexes);
+               public void logError (JSDOC.Packer.ResultType type, string filename, int line, string message);
+               public string md5 (string str);
+               public string pack (string target, string targetDebug = "") throws JSDOC.PackerError;
+               public string packFile (string str, string fn, string minfile);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class PackerRun : GLib.Application {
+               public bool opt_clean_cache;
+               public bool opt_debug;
+               public string opt_debug_target;
+               public string opt_doc_ext;
+               public bool opt_doc_include_private;
+               public string opt_doc_target;
+               public string opt_doc_template_dir;
+               public bool opt_dump_tokens;
+               public bool opt_keep_whitespace;
+               public string opt_real_basedir;
+               public bool opt_skip_scope;
+               public string opt_target;
+               public PackerRun ();
+               public void parseArgs (string[] args);
+               public void runPack ();
+               public static JSDOC.PackerRun singleton ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public class Scope : GLib.Object {
+               public static Gee.ArrayList<string> builtin;
+               public string ident;
+               public static string[] ones;
+               public JSDOC.Scope parent;
+               public static Gee.ArrayList<string> skips;
+               public Gee.ArrayList<JSDOC.Scope> subScopes;
+               public static string[] twos;
+               public Scope (int braceN, JSDOC.Scope? parent, int startTokN, string lastIdent, JSDOC.Token? token);
+               public void addHint (string varName, string varType);
+               public void addToParentScope (string ident);
+               public JSDOC.Identifier declareIdentifier (string symbol, JSDOC.Token token);
+               public void dump (string indent = "");
+               public JSDOC.Identifier? getIdentifier (string symbol, JSDOC.Token token);
+               public string[] getUsedSymbols ();
+               public bool isProtectedVar (string ident);
+               public void munge ();
+               public void preventMunging ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public class ScopeParser : GLib.Object {
+               public ScopeParser (JSDOC.TokenStream ts, JSDOC.Packer packer, string filename);
+               public void buildSymbolTree ();
+               public void mungeSymboltree ();
+               public void printWarnings ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public class Symbol : GLib.Object {
+               public string alias;
+               public Gee.ArrayList<string> augments;
+               public Gee.HashMap<string,JSDOC.DocTag> cfgs;
+               public Gee.ArrayList<string> childClasses;
+               public JSDOC.DocComment comment;
+               public string desc;
+               public Gee.ArrayList<string> inheritsFrom;
+               public bool isConstant;
+               public bool isEvent;
+               public bool isIgnored;
+               public bool isInner;
+               public bool isNamespace;
+               public bool isPrivate;
+               public bool isStatic;
+               public string isa;
+               public string memberOf;
+               public Gee.ArrayList<JSDOC.Symbol> methods;
+               public Gee.ArrayList<JSDOC.Symbol> properties;
+               public static bool regex_init;
+               public Gee.ArrayList<JSDOC.DocTag> returns;
+               public static string srcFile;
+               public Symbol ();
+               public void addConfig (JSDOC.DocTag docTag);
+               public void addDocTag (JSDOC.DocTag docTag);
+               public void addMember (JSDOC.Symbol symbol);
+               public string asString ();
+               public Gee.ArrayList<JSDOC.DocTag> configToArray ();
+               public void inherit (JSDOC.Symbol symbol);
+               public void initArrays ();
+               public bool @is (string what);
+               public bool isBuiltin ();
+               public bool isaClass ();
+               public string makeFuncSkel ();
+               public string makeMethodSkel ();
+               public Symbol.new_builtin (string name);
+               public Symbol.new_populate_with_args (string name, Gee.ArrayList<string> @params, string isa, JSDOC.DocComment comment);
+               public Json.Array paramsToJson ();
+               public Json.Array returnsToJson ();
+               public string name { get; }
+               public Gee.ArrayList<JSDOC.DocTag> @params { get; }
+               public string private_name { set; }
+       }
+       [CCode (cheader_filename = ".h")]
+       public class SymbolSet : GLib.Object {
+               public SymbolSet ();
+               public void addSymbol (JSDOC.Symbol symbol);
+               public void deleteSymbol (string alias);
+               public JSDOC.Symbol? getSymbol (string alias);
+               public bool hasSymbol (string alias);
+               public static bool isBuiltin (string name);
+               public Gee.ArrayList<string> keys ();
+               public void relate ();
+               public string renameSymbol (string oldName, string newName);
+               public Gee.ArrayList<JSDOC.Symbol> values ();
+               public Gee.HashMap<string,JSDOC.Symbol> _index { get; }
+       }
+       [CCode (cheader_filename = ".h")]
+       public class TextStream : GLib.Object {
+               public TextStream (string text = "");
+               public char lookC (int n = 0);
+               public bool lookEOF (int n = 0);
+               public string lookS (int n = 0);
+               public char nextC ();
+               public string nextS (int n = 1);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class TextStreamChar : GLib.Object {
+               public char c;
+               public bool eof;
+               public TextStreamChar (char val, bool eof = false);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class Token : GLib.Object {
+               public string data;
+               public int id;
+               public JSDOC.Identifier identifier;
+               public Gee.ArrayList<Gee.ArrayList<JSDOC.Token>> items;
+               public Gee.ArrayList<string> keyseq;
+               public int line;
+               public JSDOC.TokenName name;
+               public string outData;
+               public string prefix;
+               public Gee.HashMap<string,JSDOC.TokenKeyMap> props;
+               public JSDOC.TokenType type;
+               public Token (string data, JSDOC.TokenType type, JSDOC.TokenName name, int line = -1);
+               public string asString ();
+               public void dump (string indent);
+               public bool isName (JSDOC.TokenName what);
+               public bool isType (JSDOC.TokenType what);
+               public string toRaw (int lvl = 0);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class TokenArray : GLib.Object {
+               public Gee.ArrayList<JSDOC.Token> tokens;
+               public TokenArray (JSDOC.Packer? packer, JSDOC.TokenReader reader);
+               public void dump ();
+               public new JSDOC.Token @get (int i);
+               public JSDOC.Token? last ();
+               public JSDOC.Token? lastSym ();
+               public JSDOC.Token? pop ();
+               public void push (JSDOC.Token t);
+               public int length { get; }
+       }
+       [CCode (cheader_filename = ".h")]
+       public class TokenKeyMap : GLib.Object {
+               public JSDOC.Token key;
+               public Gee.ArrayList<JSDOC.Token> vals;
+               public TokenKeyMap ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public class TokenReader : GLib.Object {
+               public bool collapseWhite;
+               public string filename;
+               public bool ignoreBadGrammer;
+               public bool keepComments;
+               public bool keepDocs;
+               public bool keepWhite;
+               public bool sepIdents;
+               public TokenReader (JSDOC.Packer? packer);
+               public int findPuncToken (JSDOC.TokenArray tokens, string data, int n);
+               public JSDOC.Token? lastSym (JSDOC.TokenArray tokens, int n);
+               public bool read_dbquote (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_hex (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_mlcomment (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_newline (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_numb (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_punc (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_regx (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_slcomment (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_snquote (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_space (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public bool read_word (JSDOC.TextStream stream, JSDOC.TokenArray tokens);
+               public JSDOC.TokenArray tokenize (JSDOC.TextStream stream);
+       }
+       [CCode (cheader_filename = ".h")]
+       public class TokenStream : GLib.Object {
+               public int cursor;
+               protected Gee.ArrayList<JSDOC.Token> tokens;
+               public TokenStream (Gee.ArrayList<JSDOC.Token> tokens);
+               public Gee.ArrayList<JSDOC.Token> balance (JSDOC.TokenName in_start) throws JSDOC.TokenStreamError;
+               public void dump (int start, int end);
+               public void dumpAll (string indent);
+               public void dumpAllFlat ();
+               public JSDOC.Token? getMatchingToken (JSDOC.TokenName start, int depth = 0);
+               public JSDOC.Token? getMatchingTokenEnd (JSDOC.TokenName end);
+               public JSDOC.Token? look (int n, bool considerWhitespace);
+               public JSDOC.Token lookAny (int n);
+               public int lookFor (string data);
+               public JSDOC.Token lookTok (int n);
+               public JSDOC.Token? next ();
+               public Gee.ArrayList<JSDOC.Token>? nextM (int howMany) throws JSDOC.TokenStreamError;
+               public JSDOC.Token? nextNonSpace ();
+               public JSDOC.Token? nextTok ();
+               public void printRange (int start, int end);
+               public Gee.ArrayList<JSDOC.Token> remaining ();
+               public void rewind ();
+               public Gee.ArrayList<JSDOC.Token> toArray ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public class Walker : GLib.Object {
+               public Walker (JSDOC.TokenStream ts);
+               public void buildSymbolTree ();
+       }
+       [CCode (cheader_filename = ".h")]
+       public enum DocTagTitle {
+               NO_VALUE,
+               PARAM,
+               PROPERTY,
+               CFG,
+               EXAMPLE,
+               SINGLETON,
+               AUTHOR,
+               METHOD,
+               DESC,
+               OVERVIEW,
+               SINCE,
+               CONSTANT,
+               VERSION,
+               DEPRECATED,
+               SEE,
+               CLASS,
+               NAMESPACE,
+               CONSTRUCTOR,
+               STATIC,
+               INNER,
+               FIELD,
+               FUNCTION,
+               EVENT,
+               NAME,
+               RETURN,
+               THROWS,
+               REQUIRES,
+               TYPE,
+               PRIVATE,
+               IGNORE,
+               ARGUMENTS,
+               EXTENDS,
+               DEFAULT,
+               MEMBEROF,
+               PUBLIC,
+               SCOPE,
+               SCOPEALIAS
+       }
+       [CCode (cheader_filename = ".h")]
+       public enum ScopeParserMode {
+               BUILDING_SYMBOL_TREE,
+               PASS2_SYMBOL_TREE
+       }
+       [CCode (cheader_filename = ".h")]
+       public enum TokenName {
+               UNKNOWN_TOKEN,
+               BREAK,
+               CASE,
+               CATCH,
+               CONST,
+               CONTINUE,
+               DEFAULT,
+               DELETE,
+               DO,
+               ELSE,
+               FALSE,
+               FINALLY,
+               FOR,
+               FUNCTION,
+               IF,
+               IN,
+               INSTANCEOF,
+               NEW,
+               NULL,
+               RETURN,
+               SWITCH,
+               THIS,
+               THROW,
+               TRUE,
+               TRY,
+               TYPEOF,
+               VOID,
+               WHILE,
+               WITH,
+               VAR,
+               EVAL,
+               NAME,
+               MULTI_LINE_COMM,
+               JSDOC,
+               SINGLE_LINE_COMM,
+               SEMICOLON,
+               COMMA,
+               HOOK,
+               COLON,
+               OR,
+               AND,
+               BITWISE_OR,
+               BITWISE_XOR,
+               BITWISE_AND,
+               STRICT_EQ,
+               EQ,
+               ASSIGN,
+               STRICT_NE,
+               NE,
+               LSH,
+               LE,
+               LT,
+               URSH,
+               RSH,
+               GE,
+               GT,
+               INCREMENT,
+               DECREMENT,
+               PLUS,
+               MINUS,
+               MUL,
+               DIV,
+               MOD,
+               NOT,
+               BITWISE_NOT,
+               DOT,
+               LEFT_BRACE,
+               RIGHT_BRACE,
+               LEFT_CURLY,
+               RIGHT_CURLY,
+               LEFT_PAREN,
+               RIGHT_PAREN,
+               SPACE,
+               NEWLINE,
+               DOUBLE_QUOTE,
+               SINGLE_QUOTE,
+               OCTAL,
+               DECIMAL,
+               HEX_DEC,
+               REGX,
+               START_OF_STREAM,
+               END_OF_STREAM,
+               UNKNOWN
+       }
+       [CCode (cheader_filename = ".h")]
+       public enum TokenType {
+               TOKN,
+               KEYW,
+               NAME,
+               COMM,
+               PUNC,
+               WHIT,
+               STRN,
+               NUMB,
+               REGX,
+               VOID
+       }
+       [CCode (cheader_filename = ".h")]
+       public errordomain CompressWhiteError {
+               BRACE
+       }
+       [CCode (cheader_filename = ".h")]
+       public errordomain LangError {
+               ArgumentError
+       }
+       [CCode (cheader_filename = ".h")]
+       public errordomain PackerError {
+               ArgumentError
+       }
+       [CCode (cheader_filename = ".h")]
+       public errordomain TokenReader_Error {
+               ArgumentError,
+               SyntaxError
+       }
+       [CCode (cheader_filename = ".h")]
+       public errordomain TokenStreamError {
+               ArgumentError
+       }
+       [CCode (cheader_filename = ".h")]
+       public static JSDOC.Lang_Class Lang;
+       [CCode (cheader_filename = ".h")]
+       public static int Scope_gid;
+       [CCode (cheader_filename = ".h")]
+       public static string CompressWhite (JSDOC.TokenStream ts, JSDOC.Packer packer, bool keepWhite);
+}
diff --git a/roojspacker/CMakeFiles/CMakeDirectoryInformation.cmake b/roojspacker/CMakeFiles/CMakeDirectoryInformation.cmake
new file mode 100644 (file)
index 0000000..c5bc8a9
--- /dev/null
@@ -0,0 +1,16 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/alan/gitlive/roojspacker")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/alan/gitlive/roojspacker")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
diff --git a/roojspacker/CMakeFiles/progress.marks b/roojspacker/CMakeFiles/progress.marks
new file mode 100644 (file)
index 0000000..900731f
--- /dev/null
@@ -0,0 +1 @@
+64
diff --git a/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/DependInfo.cmake b/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/DependInfo.cmake
new file mode 100644 (file)
index 0000000..19fab21
--- /dev/null
@@ -0,0 +1,11 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+# The set of files for implicit dependencies of each language:
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/build.make b/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/build.make
new file mode 100644 (file)
index 0000000..9361430
--- /dev/null
@@ -0,0 +1,220 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/alan/gitlive/roojspacker
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/alan/gitlive/roojspacker
+
+# Utility rule file for roojspacker--vala-fast-vapis.
+
+# Include the progress variables for this target.
+include jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/progress.make
+
+jsdoc/CMakeFiles/roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/fast-vapis.stamp
+
+
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Token.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi.stamp
+jsdoc/roojspacker--vala/fast-vapis.stamp: jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi.stamp
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating fast VAPIs for roojspacker--vala"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/fast-vapis.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi.stamp: jsdoc/Collapse.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Collapse.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi.stamp: jsdoc/CompressWhite.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/CompressWhite.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi.stamp: jsdoc/Identifier.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Identifier.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi.stamp: jsdoc/Lang.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Lang.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi.stamp: jsdoc/Packer.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Packer.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi.stamp: jsdoc/ScopeParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/ScopeParser.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi.stamp: jsdoc/Scope.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Scope.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi.stamp: jsdoc/TextStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/TextStream.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi.stamp: jsdoc/TokenReader.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/TokenReader.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi.stamp: jsdoc/TokenStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/TokenStream.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Token.vapi.stamp: jsdoc/Token.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Token.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi.stamp: jsdoc/PackerRun.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/PackerRun.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi.stamp: jsdoc/Walker.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Walker.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi.stamp: jsdoc/SymbolSet.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/SymbolSet.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi.stamp: jsdoc/DocBuilder.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocBuilder.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi.stamp: jsdoc/DocComment.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocComment.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi.stamp: jsdoc/DocParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocParser.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi.stamp: jsdoc/DocTag.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocTag.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi.stamp: jsdoc/PrettyPrint.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/PrettyPrint.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi.stamp: jsdoc/Symbol.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Symbol.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi.stamp
+
+roojspacker--vala-fast-vapis: jsdoc/CMakeFiles/roojspacker--vala-fast-vapis
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/fast-vapis.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Token.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi.stamp
+roojspacker--vala-fast-vapis: jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/build.make
+
+.PHONY : roojspacker--vala-fast-vapis
+
+# Rule to build all files generated by this target.
+jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/build: roojspacker--vala-fast-vapis
+
+.PHONY : jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/build
+
+jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/clean:
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -P CMakeFiles/roojspacker--vala-fast-vapis.dir/cmake_clean.cmake
+.PHONY : jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/clean
+
+jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend:
+       cd /home/alan/gitlive/roojspacker && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : jsdoc/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend
+
diff --git a/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/cmake_clean.cmake b/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/cmake_clean.cmake
new file mode 100644 (file)
index 0000000..5ce8c59
--- /dev/null
@@ -0,0 +1,29 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/roojspacker--vala-fast-vapis"
+  "roojspacker--vala/fast-vapis.stamp"
+  "roojspacker--vala/build/jsdoc/Collapse.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/CompressWhite.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/Identifier.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/Lang.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/Packer.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/ScopeParser.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/Scope.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/TextStream.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/TokenReader.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/TokenStream.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/Token.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/PackerRun.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/Walker.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/SymbolSet.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/DocBuilder.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/DocComment.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/DocParser.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/DocTag.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/PrettyPrint.vapi.stamp"
+  "roojspacker--vala/build/jsdoc/Symbol.vapi.stamp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/roojspacker--vala-fast-vapis.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend.internal b/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend.internal
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend.make b/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/depend.make
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/progress.make b/roojspacker/CMakeFiles/roojspacker--vala-fast-vapis.dir/progress.make
new file mode 100644 (file)
index 0000000..b0e3364
--- /dev/null
@@ -0,0 +1,22 @@
+CMAKE_PROGRESS_1 = 46
+CMAKE_PROGRESS_2 = 47
+CMAKE_PROGRESS_3 = 48
+CMAKE_PROGRESS_4 = 49
+CMAKE_PROGRESS_5 = 50
+CMAKE_PROGRESS_6 = 51
+CMAKE_PROGRESS_7 = 52
+CMAKE_PROGRESS_8 = 53
+CMAKE_PROGRESS_9 = 54
+CMAKE_PROGRESS_10 = 55
+CMAKE_PROGRESS_11 = 56
+CMAKE_PROGRESS_12 = 57
+CMAKE_PROGRESS_13 = 58
+CMAKE_PROGRESS_14 = 59
+CMAKE_PROGRESS_15 = 60
+CMAKE_PROGRESS_16 = 61
+CMAKE_PROGRESS_17 = 62
+CMAKE_PROGRESS_18 = 63
+CMAKE_PROGRESS_19 = 64
+CMAKE_PROGRESS_20 = 65
+CMAKE_PROGRESS_21 = 66
+
diff --git a/roojspacker/CMakeFiles/roojspacker--vala.dir/DependInfo.cmake b/roojspacker/CMakeFiles/roojspacker--vala.dir/DependInfo.cmake
new file mode 100644 (file)
index 0000000..a552db0
--- /dev/null
@@ -0,0 +1,17 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+# The set of files for implicit dependencies of each language:
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/alan/gitlive/roojspacker/jsdoc/.h" "/home/alan/gitlive/roojspacker/jsdoc/.vapi"
+  )
+
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/roojspacker/CMakeFiles/roojspacker--vala.dir/build.make b/roojspacker/CMakeFiles/roojspacker--vala.dir/build.make
new file mode 100644 (file)
index 0000000..9e78b6d
--- /dev/null
@@ -0,0 +1,251 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/alan/gitlive/roojspacker
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/alan/gitlive/roojspacker
+
+# Utility rule file for roojspacker--vala.
+
+# Include the progress variables for this target.
+include jsdoc/CMakeFiles/roojspacker--vala.dir/progress.make
+
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/.vapi
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/.h
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Collapse.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Identifier.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Lang.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Packer.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Scope.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/TextStream.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Token.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Walker.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocComment.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocParser.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocTag.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c.stamp
+jsdoc/CMakeFiles/roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Symbol.c.stamp
+
+
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Collapse.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Identifier.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Lang.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Packer.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Scope.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/TextStream.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Token.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Walker.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/DocComment.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/DocParser.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/DocTag.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c.stamp
+jsdoc/roojspacker--vala/stamp: jsdoc/roojspacker--vala/build/jsdoc/Symbol.c.stamp
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating sources from Vala for roojspacker--vala"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/stamp
+
+jsdoc/.vapi:
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating .vapi, .h"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -C --vapi /home/alan/gitlive/roojspacker/jsdoc/.vapi --header /home/alan/gitlive/roojspacker/jsdoc/.h --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+
+jsdoc/.h: jsdoc/.vapi
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/.h
+
+jsdoc/roojspacker--vala/build/jsdoc/Collapse.c.stamp: jsdoc/Collapse.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Collapse.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c.stamp: jsdoc/CompressWhite.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/CompressWhite.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Identifier.c.stamp: jsdoc/Identifier.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Identifier.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Lang.c.stamp: jsdoc/Lang.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Lang.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Packer.c.stamp: jsdoc/Packer.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Packer.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c.stamp: jsdoc/ScopeParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/ScopeParser.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Scope.c.stamp: jsdoc/Scope.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Scope.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/TextStream.c.stamp: jsdoc/TextStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/TextStream.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c.stamp: jsdoc/TokenReader.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/TokenReader.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c.stamp: jsdoc/TokenStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/TokenStream.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Token.c.stamp: jsdoc/Token.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Token.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c.stamp: jsdoc/PackerRun.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/PackerRun.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Walker.c.stamp: jsdoc/Walker.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Walker.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c.stamp: jsdoc/SymbolSet.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/SymbolSet.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c.stamp: jsdoc/DocBuilder.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocBuilder.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocComment.c.stamp: jsdoc/DocComment.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocComment.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocParser.c.stamp: jsdoc/DocParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocParser.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/DocTag.c.stamp: jsdoc/DocTag.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocTag.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c.stamp: jsdoc/PrettyPrint.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/PrettyPrint.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c.stamp
+
+jsdoc/roojspacker--vala/build/jsdoc/Symbol.c.stamp: jsdoc/Symbol.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_22) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Symbol.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c.stamp
+
+roojspacker--vala: jsdoc/CMakeFiles/roojspacker--vala
+roojspacker--vala: jsdoc/roojspacker--vala/stamp
+roojspacker--vala: jsdoc/.vapi
+roojspacker--vala: jsdoc/.h
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Collapse.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Identifier.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Lang.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Packer.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Scope.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/TextStream.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Token.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Walker.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocComment.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocParser.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/DocTag.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c.stamp
+roojspacker--vala: jsdoc/roojspacker--vala/build/jsdoc/Symbol.c.stamp
+roojspacker--vala: jsdoc/CMakeFiles/roojspacker--vala.dir/build.make
+
+.PHONY : roojspacker--vala
+
+# Rule to build all files generated by this target.
+jsdoc/CMakeFiles/roojspacker--vala.dir/build: roojspacker--vala
+
+.PHONY : jsdoc/CMakeFiles/roojspacker--vala.dir/build
+
+jsdoc/CMakeFiles/roojspacker--vala.dir/clean:
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -P CMakeFiles/roojspacker--vala.dir/cmake_clean.cmake
+.PHONY : jsdoc/CMakeFiles/roojspacker--vala.dir/clean
+
+jsdoc/CMakeFiles/roojspacker--vala.dir/depend:
+       cd /home/alan/gitlive/roojspacker && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker--vala.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : jsdoc/CMakeFiles/roojspacker--vala.dir/depend
+
diff --git a/roojspacker/CMakeFiles/roojspacker--vala.dir/cmake_clean.cmake b/roojspacker/CMakeFiles/roojspacker--vala.dir/cmake_clean.cmake
new file mode 100644 (file)
index 0000000..d52d134
--- /dev/null
@@ -0,0 +1,31 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/roojspacker--vala"
+  "roojspacker--vala/stamp"
+  ".vapi"
+  ".h"
+  "roojspacker--vala/build/jsdoc/Collapse.c.stamp"
+  "roojspacker--vala/build/jsdoc/CompressWhite.c.stamp"
+  "roojspacker--vala/build/jsdoc/Identifier.c.stamp"
+  "roojspacker--vala/build/jsdoc/Lang.c.stamp"
+  "roojspacker--vala/build/jsdoc/Packer.c.stamp"
+  "roojspacker--vala/build/jsdoc/ScopeParser.c.stamp"
+  "roojspacker--vala/build/jsdoc/Scope.c.stamp"
+  "roojspacker--vala/build/jsdoc/TextStream.c.stamp"
+  "roojspacker--vala/build/jsdoc/TokenReader.c.stamp"
+  "roojspacker--vala/build/jsdoc/TokenStream.c.stamp"
+  "roojspacker--vala/build/jsdoc/Token.c.stamp"
+  "roojspacker--vala/build/jsdoc/PackerRun.c.stamp"
+  "roojspacker--vala/build/jsdoc/Walker.c.stamp"
+  "roojspacker--vala/build/jsdoc/SymbolSet.c.stamp"
+  "roojspacker--vala/build/jsdoc/DocBuilder.c.stamp"
+  "roojspacker--vala/build/jsdoc/DocComment.c.stamp"
+  "roojspacker--vala/build/jsdoc/DocParser.c.stamp"
+  "roojspacker--vala/build/jsdoc/DocTag.c.stamp"
+  "roojspacker--vala/build/jsdoc/PrettyPrint.c.stamp"
+  "roojspacker--vala/build/jsdoc/Symbol.c.stamp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/roojspacker--vala.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/roojspacker/CMakeFiles/roojspacker--vala.dir/depend.internal b/roojspacker/CMakeFiles/roojspacker--vala.dir/depend.internal
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker--vala.dir/depend.make b/roojspacker/CMakeFiles/roojspacker--vala.dir/depend.make
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker--vala.dir/progress.make b/roojspacker/CMakeFiles/roojspacker--vala.dir/progress.make
new file mode 100644 (file)
index 0000000..2af9999
--- /dev/null
@@ -0,0 +1,23 @@
+CMAKE_PROGRESS_1 = 24
+CMAKE_PROGRESS_2 = 25
+CMAKE_PROGRESS_3 = 26
+CMAKE_PROGRESS_4 = 27
+CMAKE_PROGRESS_5 = 28
+CMAKE_PROGRESS_6 = 29
+CMAKE_PROGRESS_7 = 30
+CMAKE_PROGRESS_8 = 31
+CMAKE_PROGRESS_9 = 32
+CMAKE_PROGRESS_10 = 33
+CMAKE_PROGRESS_11 = 34
+CMAKE_PROGRESS_12 = 35
+CMAKE_PROGRESS_13 = 36
+CMAKE_PROGRESS_14 = 37
+CMAKE_PROGRESS_15 = 38
+CMAKE_PROGRESS_16 = 39
+CMAKE_PROGRESS_17 = 40
+CMAKE_PROGRESS_18 = 41
+CMAKE_PROGRESS_19 = 42
+CMAKE_PROGRESS_20 = 43
+CMAKE_PROGRESS_21 = 44
+CMAKE_PROGRESS_22 = 45
+
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/C.includecache b/roojspacker/CMakeFiles/roojspacker-.dir/C.includecache
new file mode 100644 (file)
index 0000000..d8b9d83
--- /dev/null
@@ -0,0 +1,270 @@
+#IncludeRegexLine: ^[  ]*[#%][         ]*(include|import)[     ]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform: 
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+json-glib/json-glib.h
+-
+gio/gio.h
+-
+glib/gstdio.h
+-
+sys/stat.h
+-
+sys/types.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+gio/gio.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+json-glib/json-glib.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+gio/gio.h
+-
+glib/gstdio.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c
+glib.h
+-
+glib-object.h
+-
+gio/gio.h
+-
+stdlib.h
+-
+string.h
+-
+stdio.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+json-glib/json-glib.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+stdio.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/DependInfo.cmake b/roojspacker/CMakeFiles/roojspacker-.dir/DependInfo.cmake
new file mode 100644 (file)
index 0000000..e4d6fd8
--- /dev/null
@@ -0,0 +1,46 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "C"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_C
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o"
+  )
+set(CMAKE_C_COMPILER_ID "GNU")
+
+# The include file search paths:
+set(CMAKE_C_TARGET_INCLUDE_PATH
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-.so" "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-.so.1.2"
+  "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-.so.1.2.0" "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-.so.1.2"
+  )
+
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/build.make b/roojspacker/CMakeFiles/roojspacker-.dir/build.make
new file mode 100644 (file)
index 0000000..6b971fe
--- /dev/null
@@ -0,0 +1,393 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/alan/gitlive/roojspacker
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/alan/gitlive/roojspacker
+
+# Include any dependencies generated for this target.
+include jsdoc/CMakeFiles/roojspacker-.dir/depend.make
+
+# Include the progress variables for this target.
+include jsdoc/CMakeFiles/roojspacker-.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o: jsdoc/roojspacker--vala/build/jsdoc/Collapse.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o: jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o: jsdoc/roojspacker--vala/build/jsdoc/Identifier.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o: jsdoc/roojspacker--vala/build/jsdoc/Lang.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o: jsdoc/roojspacker--vala/build/jsdoc/Packer.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o: jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o: jsdoc/roojspacker--vala/build/jsdoc/Scope.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o: jsdoc/roojspacker--vala/build/jsdoc/TextStream.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o: jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o: jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o: jsdoc/roojspacker--vala/build/jsdoc/Token.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o: jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o: jsdoc/roojspacker--vala/build/jsdoc/Walker.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o: jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocComment.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocParser.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocTag.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o: jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.s
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o: jsdoc/CMakeFiles/roojspacker-.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o: jsdoc/roojspacker--vala/build/jsdoc/Symbol.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Building C object jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c > CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.i
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c -o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.s
+
+# Object files for target roojspacker-
+roojspacker___OBJECTS = \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o" \
+"CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o"
+
+# External object files for target roojspacker-
+roojspacker___EXTERNAL_OBJECTS =
+
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/build.make
+jsdoc/libroojspacker-.so.1.2: /usr/lib/x86_64-linux-gnu/libgio-2.0.so
+jsdoc/libroojspacker-.so.1.2: /usr/lib/x86_64-linux-gnu/libgobject-2.0.so
+jsdoc/libroojspacker-.so.1.2: /usr/lib/x86_64-linux-gnu/libglib-2.0.so
+jsdoc/libroojspacker-.so.1.2: jsdoc/CMakeFiles/roojspacker-.dir/link.txt
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Linking C shared library libroojspacker-.so"
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/roojspacker-.dir/link.txt --verbose=$(VERBOSE)
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -E cmake_symlink_library libroojspacker-.so.1.2 libroojspacker-.so.1.2.0 libroojspacker-.so
+
+jsdoc/libroojspacker-.so.1.2.0: jsdoc/libroojspacker-.so.1.2
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/libroojspacker-.so.1.2.0
+
+jsdoc/libroojspacker-.so: jsdoc/libroojspacker-.so.1.2
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/libroojspacker-.so
+
+# Rule to build all files generated by this target.
+jsdoc/CMakeFiles/roojspacker-.dir/build: jsdoc/libroojspacker-.so
+
+.PHONY : jsdoc/CMakeFiles/roojspacker-.dir/build
+
+jsdoc/CMakeFiles/roojspacker-.dir/clean:
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -P CMakeFiles/roojspacker-.dir/cmake_clean.cmake
+.PHONY : jsdoc/CMakeFiles/roojspacker-.dir/clean
+
+jsdoc/CMakeFiles/roojspacker-.dir/depend:
+       cd /home/alan/gitlive/roojspacker && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : jsdoc/CMakeFiles/roojspacker-.dir/depend
+
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/cmake_clean.cmake b/roojspacker/CMakeFiles/roojspacker-.dir/cmake_clean.cmake
new file mode 100644 (file)
index 0000000..dc458f6
--- /dev/null
@@ -0,0 +1,31 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o"
+  "CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o"
+  "libroojspacker-.pdb"
+  "libroojspacker-.so.1.2"
+  "libroojspacker-.so"
+  "libroojspacker-.so.1.2.0"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/roojspacker-.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/depend.internal b/roojspacker/CMakeFiles/roojspacker-.dir/depend.internal
new file mode 100644 (file)
index 0000000..18c5cb5
--- /dev/null
@@ -0,0 +1,43 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Collapse.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocComment.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocParser.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/DocTag.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Identifier.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Lang.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Packer.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Scope.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Symbol.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TextStream.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Token.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker--vala/build/jsdoc/Walker.c
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/depend.make b/roojspacker/CMakeFiles/roojspacker-.dir/depend.make
new file mode 100644 (file)
index 0000000..e7b956e
--- /dev/null
@@ -0,0 +1,43 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o: jsdoc/roojspacker--vala/build/jsdoc/Collapse.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o: jsdoc/roojspacker--vala/build/jsdoc/CompressWhite.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocBuilder.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocComment.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocParser.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o: jsdoc/roojspacker--vala/build/jsdoc/DocTag.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o: jsdoc/roojspacker--vala/build/jsdoc/Identifier.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o: jsdoc/roojspacker--vala/build/jsdoc/Lang.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o: jsdoc/roojspacker--vala/build/jsdoc/Packer.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o: jsdoc/roojspacker--vala/build/jsdoc/PackerRun.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o: jsdoc/roojspacker--vala/build/jsdoc/PrettyPrint.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o: jsdoc/roojspacker--vala/build/jsdoc/Scope.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o: jsdoc/roojspacker--vala/build/jsdoc/ScopeParser.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o: jsdoc/roojspacker--vala/build/jsdoc/Symbol.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o: jsdoc/roojspacker--vala/build/jsdoc/SymbolSet.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o: jsdoc/roojspacker--vala/build/jsdoc/TextStream.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o: jsdoc/roojspacker--vala/build/jsdoc/Token.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o: jsdoc/roojspacker--vala/build/jsdoc/TokenReader.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o: jsdoc/roojspacker--vala/build/jsdoc/TokenStream.c
+
+jsdoc/CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o: jsdoc/roojspacker--vala/build/jsdoc/Walker.c
+
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/flags.make b/roojspacker/CMakeFiles/roojspacker-.dir/flags.make
new file mode 100644 (file)
index 0000000..38d0eb4
--- /dev/null
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# compile C with /usr/bin/cc
+C_FLAGS =  -Wno-incompatible-pointer-types -g -fPIC   -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gee-0.8 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/json-glib-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread
+
+C_DEFINES = -Droojspacker__EXPORTS
+
+C_INCLUDES = 
+
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/link.txt b/roojspacker/CMakeFiles/roojspacker-.dir/link.txt
new file mode 100644 (file)
index 0000000..8555289
--- /dev/null
@@ -0,0 +1 @@
+/usr/bin/cc -fPIC  -Wno-incompatible-pointer-types -g  -shared -Wl,-soname,libroojspacker-.so.1.2.0 -o libroojspacker-.so.1.2 CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Collapse.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/CompressWhite.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Identifier.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Lang.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Packer.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/ScopeParser.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Scope.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TextStream.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenReader.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/TokenStream.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Token.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PackerRun.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Walker.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/SymbolSet.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocBuilder.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocComment.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocParser.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/DocTag.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/PrettyPrint.c.o CMakeFiles/roojspacker-.dir/roojspacker--vala/build/jsdoc/Symbol.c.o -lgee-0.8 -lgthread-2.0 -ljson-glib-1.0 /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so 
diff --git a/roojspacker/CMakeFiles/roojspacker-.dir/progress.make b/roojspacker/CMakeFiles/roojspacker-.dir/progress.make
new file mode 100644 (file)
index 0000000..91f4bb1
--- /dev/null
@@ -0,0 +1,22 @@
+CMAKE_PROGRESS_1 = 3
+CMAKE_PROGRESS_2 = 4
+CMAKE_PROGRESS_3 = 5
+CMAKE_PROGRESS_4 = 6
+CMAKE_PROGRESS_5 = 7
+CMAKE_PROGRESS_6 = 8
+CMAKE_PROGRESS_7 = 9
+CMAKE_PROGRESS_8 = 10
+CMAKE_PROGRESS_9 = 11
+CMAKE_PROGRESS_10 = 12
+CMAKE_PROGRESS_11 = 13
+CMAKE_PROGRESS_12 = 14
+CMAKE_PROGRESS_13 = 15
+CMAKE_PROGRESS_14 = 16
+CMAKE_PROGRESS_15 = 17
+CMAKE_PROGRESS_16 = 18
+CMAKE_PROGRESS_17 = 19
+CMAKE_PROGRESS_18 = 20
+CMAKE_PROGRESS_19 = 21
+CMAKE_PROGRESS_20 = 22
+CMAKE_PROGRESS_21 = 23
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/DependInfo.cmake b/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/DependInfo.cmake
new file mode 100644 (file)
index 0000000..19fab21
--- /dev/null
@@ -0,0 +1,11 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+# The set of files for implicit dependencies of each language:
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/build.make b/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/build.make
new file mode 100644 (file)
index 0000000..4cacd6d
--- /dev/null
@@ -0,0 +1,220 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/alan/gitlive/roojspacker
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/alan/gitlive/roojspacker
+
+# Utility rule file for roojspacker-1.2-vala-fast-vapis.
+
+# Include the progress variables for this target.
+include jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/progress.make
+
+jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/fast-vapis.stamp
+
+
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi.stamp
+jsdoc/roojspacker-1.2-vala/fast-vapis.stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi.stamp
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating fast VAPIs for roojspacker-1.2-vala"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/fast-vapis.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi.stamp: jsdoc/Collapse.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Collapse.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi.stamp: jsdoc/CompressWhite.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/CompressWhite.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi.stamp: jsdoc/Identifier.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Identifier.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi.stamp: jsdoc/Lang.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Lang.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi.stamp: jsdoc/Packer.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Packer.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi.stamp: jsdoc/ScopeParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/ScopeParser.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi.stamp: jsdoc/Scope.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Scope.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi.stamp: jsdoc/TextStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/TextStream.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi.stamp: jsdoc/TokenReader.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/TokenReader.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi.stamp: jsdoc/TokenStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/TokenStream.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi.stamp: jsdoc/Token.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Token.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi.stamp: jsdoc/PackerRun.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/PackerRun.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi.stamp: jsdoc/Walker.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Walker.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi.stamp: jsdoc/SymbolSet.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/SymbolSet.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi.stamp: jsdoc/DocBuilder.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocBuilder.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi.stamp: jsdoc/DocComment.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocComment.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi.stamp: jsdoc/DocParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocParser.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi.stamp: jsdoc/DocTag.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/DocTag.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi.stamp: jsdoc/PrettyPrint.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/PrettyPrint.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi.stamp: jsdoc/Symbol.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Generating fast VAPI /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac /home/alan/gitlive/roojspacker/jsdoc/Symbol.vala --fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi.stamp
+
+roojspacker-1.2-vala-fast-vapis: jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/fast-vapis.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi.stamp
+roojspacker-1.2-vala-fast-vapis: jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/build.make
+
+.PHONY : roojspacker-1.2-vala-fast-vapis
+
+# Rule to build all files generated by this target.
+jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/build: roojspacker-1.2-vala-fast-vapis
+
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/build
+
+jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/clean:
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -P CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/cmake_clean.cmake
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/clean
+
+jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend:
+       cd /home/alan/gitlive/roojspacker && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/cmake_clean.cmake b/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/cmake_clean.cmake
new file mode 100644 (file)
index 0000000..a6bb04c
--- /dev/null
@@ -0,0 +1,29 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/roojspacker-1.2-vala-fast-vapis"
+  "roojspacker-1.2-vala/fast-vapis.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Collapse.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Identifier.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Lang.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Packer.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Scope.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/TextStream.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Token.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Walker.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocComment.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocParser.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocTag.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Symbol.vapi.stamp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend.internal b/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend.internal
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend.make b/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/depend.make
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/progress.make b/roojspacker/CMakeFiles/roojspacker-1.2-vala-fast-vapis.dir/progress.make
new file mode 100644 (file)
index 0000000..b0e3364
--- /dev/null
@@ -0,0 +1,22 @@
+CMAKE_PROGRESS_1 = 46
+CMAKE_PROGRESS_2 = 47
+CMAKE_PROGRESS_3 = 48
+CMAKE_PROGRESS_4 = 49
+CMAKE_PROGRESS_5 = 50
+CMAKE_PROGRESS_6 = 51
+CMAKE_PROGRESS_7 = 52
+CMAKE_PROGRESS_8 = 53
+CMAKE_PROGRESS_9 = 54
+CMAKE_PROGRESS_10 = 55
+CMAKE_PROGRESS_11 = 56
+CMAKE_PROGRESS_12 = 57
+CMAKE_PROGRESS_13 = 58
+CMAKE_PROGRESS_14 = 59
+CMAKE_PROGRESS_15 = 60
+CMAKE_PROGRESS_16 = 61
+CMAKE_PROGRESS_17 = 62
+CMAKE_PROGRESS_18 = 63
+CMAKE_PROGRESS_19 = 64
+CMAKE_PROGRESS_20 = 65
+CMAKE_PROGRESS_21 = 66
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/DependInfo.cmake b/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/DependInfo.cmake
new file mode 100644 (file)
index 0000000..a552db0
--- /dev/null
@@ -0,0 +1,17 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+# The set of files for implicit dependencies of each language:
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/alan/gitlive/roojspacker/jsdoc/.h" "/home/alan/gitlive/roojspacker/jsdoc/.vapi"
+  )
+
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/build.make b/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/build.make
new file mode 100644 (file)
index 0000000..1a6a4d4
--- /dev/null
@@ -0,0 +1,251 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/alan/gitlive/roojspacker
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/alan/gitlive/roojspacker
+
+# Utility rule file for roojspacker-1.2-vala.
+
+# Include the progress variables for this target.
+include jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/progress.make
+
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/.vapi
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/.h
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.stamp
+jsdoc/CMakeFiles/roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c.stamp
+
+
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.stamp
+jsdoc/roojspacker-1.2-vala/stamp: jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c.stamp
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating sources from Vala for roojspacker-1.2-vala"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/stamp
+
+jsdoc/.vapi:
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating .vapi, .h"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -C --vapi /home/alan/gitlive/roojspacker/jsdoc/.vapi --header /home/alan/gitlive/roojspacker/jsdoc/.h --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+
+jsdoc/.h: jsdoc/.vapi
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/.h
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c.stamp: jsdoc/Collapse.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Collapse.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.stamp: jsdoc/CompressWhite.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/CompressWhite.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c.stamp: jsdoc/Identifier.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Identifier.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c.stamp: jsdoc/Lang.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Lang.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c.stamp: jsdoc/Packer.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Packer.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.stamp: jsdoc/ScopeParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/ScopeParser.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c.stamp: jsdoc/Scope.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Scope.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c.stamp: jsdoc/TextStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/TextStream.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.stamp: jsdoc/TokenReader.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/TokenReader.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.stamp: jsdoc/TokenStream.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/TokenStream.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c.stamp: jsdoc/Token.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Token.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.stamp: jsdoc/PackerRun.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/PackerRun.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c.stamp: jsdoc/Walker.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Walker.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.stamp: jsdoc/SymbolSet.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/SymbolSet.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.stamp: jsdoc/DocBuilder.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocBuilder.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c.stamp: jsdoc/DocComment.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocComment.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c.stamp: jsdoc/DocParser.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocParser.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c.stamp: jsdoc/DocTag.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/DocTag.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.stamp: jsdoc/PrettyPrint.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/PrettyPrint.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.stamp
+
+jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c.stamp: jsdoc/Symbol.vala
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_22) "Generating /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -d /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc -C /home/alan/gitlive/roojspacker/jsdoc/Symbol.vala --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --pkg json-glib-1.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cmake -E touch /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c.stamp
+
+roojspacker-1.2-vala: jsdoc/CMakeFiles/roojspacker-1.2-vala
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/stamp
+roojspacker-1.2-vala: jsdoc/.vapi
+roojspacker-1.2-vala: jsdoc/.h
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.stamp
+roojspacker-1.2-vala: jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c.stamp
+roojspacker-1.2-vala: jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/build.make
+
+.PHONY : roojspacker-1.2-vala
+
+# Rule to build all files generated by this target.
+jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/build: roojspacker-1.2-vala
+
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/build
+
+jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/clean:
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -P CMakeFiles/roojspacker-1.2-vala.dir/cmake_clean.cmake
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/clean
+
+jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/depend:
+       cd /home/alan/gitlive/roojspacker && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2-vala.dir/depend
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/cmake_clean.cmake b/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/cmake_clean.cmake
new file mode 100644 (file)
index 0000000..60ee8b6
--- /dev/null
@@ -0,0 +1,31 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/roojspacker-1.2-vala"
+  "roojspacker-1.2-vala/stamp"
+  ".vapi"
+  ".h"
+  "roojspacker-1.2-vala/build/jsdoc/Collapse.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Identifier.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Lang.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Packer.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Scope.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/TextStream.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/TokenReader.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/TokenStream.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Token.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/PackerRun.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Walker.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocComment.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocParser.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/DocTag.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.stamp"
+  "roojspacker-1.2-vala/build/jsdoc/Symbol.c.stamp"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/roojspacker-1.2-vala.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/depend.internal b/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/depend.internal
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/depend.make b/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/depend.make
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/progress.make b/roojspacker/CMakeFiles/roojspacker-1.2-vala.dir/progress.make
new file mode 100644 (file)
index 0000000..2af9999
--- /dev/null
@@ -0,0 +1,23 @@
+CMAKE_PROGRESS_1 = 24
+CMAKE_PROGRESS_2 = 25
+CMAKE_PROGRESS_3 = 26
+CMAKE_PROGRESS_4 = 27
+CMAKE_PROGRESS_5 = 28
+CMAKE_PROGRESS_6 = 29
+CMAKE_PROGRESS_7 = 30
+CMAKE_PROGRESS_8 = 31
+CMAKE_PROGRESS_9 = 32
+CMAKE_PROGRESS_10 = 33
+CMAKE_PROGRESS_11 = 34
+CMAKE_PROGRESS_12 = 35
+CMAKE_PROGRESS_13 = 36
+CMAKE_PROGRESS_14 = 37
+CMAKE_PROGRESS_15 = 38
+CMAKE_PROGRESS_16 = 39
+CMAKE_PROGRESS_17 = 40
+CMAKE_PROGRESS_18 = 41
+CMAKE_PROGRESS_19 = 42
+CMAKE_PROGRESS_20 = 43
+CMAKE_PROGRESS_21 = 44
+CMAKE_PROGRESS_22 = 45
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/C.includecache b/roojspacker/CMakeFiles/roojspacker-1.2.dir/C.includecache
new file mode 100644 (file)
index 0000000..c920575
--- /dev/null
@@ -0,0 +1,270 @@
+#IncludeRegexLine: ^[  ]*[#%][         ]*(include|import)[     ]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform: 
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+json-glib/json-glib.h
+-
+gio/gio.h
+-
+glib/gstdio.h
+-
+sys/stat.h
+-
+sys/types.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+gio/gio.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+json-glib/json-glib.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+gio/gio.h
+-
+glib/gstdio.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c
+glib.h
+-
+glib-object.h
+-
+gio/gio.h
+-
+stdlib.h
+-
+string.h
+-
+stdio.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+gee.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+json-glib/json-glib.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c
+glib.h
+-
+glib-object.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+stdio.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
+/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c
+glib.h
+-
+glib-object.h
+-
+gee.h
+-
+stdlib.h
+-
+string.h
+-
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/DependInfo.cmake b/roojspacker/CMakeFiles/roojspacker-1.2.dir/DependInfo.cmake
new file mode 100644 (file)
index 0000000..d665eb7
--- /dev/null
@@ -0,0 +1,46 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  "C"
+  )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_C
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o"
+  "/home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c" "/home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o"
+  )
+set(CMAKE_C_COMPILER_ID "GNU")
+
+# The include file search paths:
+set(CMAKE_C_TARGET_INCLUDE_PATH
+  )
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-1.2.so" "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-1.2.so.."
+  "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-1.2.so..." "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-1.2.so.."
+  )
+
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/build.make b/roojspacker/CMakeFiles/roojspacker-1.2.dir/build.make
new file mode 100644 (file)
index 0000000..bcda990
--- /dev/null
@@ -0,0 +1,393 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/alan/gitlive/roojspacker
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/alan/gitlive/roojspacker
+
+# Include any dependencies generated for this target.
+include jsdoc/CMakeFiles/roojspacker-1.2.dir/depend.make
+
+# Include the progress variables for this target.
+include jsdoc/CMakeFiles/roojspacker-1.2.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_16) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_17) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_18) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_19) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.s
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o: jsdoc/CMakeFiles/roojspacker-1.2.dir/flags.make
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_20) "Building C object jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o   -c /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.i: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.i"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c > CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.i
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.s: cmake_force
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.s"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c -o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.s
+
+# Object files for target roojspacker-1.2
+roojspacker__1_2_OBJECTS = \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o" \
+"CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o"
+
+# External object files for target roojspacker-1.2
+roojspacker__1_2_EXTERNAL_OBJECTS =
+
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/build.make
+jsdoc/libroojspacker-1.2.so..: /usr/lib/x86_64-linux-gnu/libgio-2.0.so
+jsdoc/libroojspacker-1.2.so..: /usr/lib/x86_64-linux-gnu/libgobject-2.0.so
+jsdoc/libroojspacker-1.2.so..: /usr/lib/x86_64-linux-gnu/libglib-2.0.so
+jsdoc/libroojspacker-1.2.so..: jsdoc/CMakeFiles/roojspacker-1.2.dir/link.txt
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_21) "Linking C shared library libroojspacker-1.2.so"
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/roojspacker-1.2.dir/link.txt --verbose=$(VERBOSE)
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -E cmake_symlink_library libroojspacker-1.2.so.. libroojspacker-1.2.so... libroojspacker-1.2.so
+
+jsdoc/libroojspacker-1.2.so...: jsdoc/libroojspacker-1.2.so..
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/libroojspacker-1.2.so...
+
+jsdoc/libroojspacker-1.2.so: jsdoc/libroojspacker-1.2.so..
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/libroojspacker-1.2.so
+
+# Rule to build all files generated by this target.
+jsdoc/CMakeFiles/roojspacker-1.2.dir/build: jsdoc/libroojspacker-1.2.so
+
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2.dir/build
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/clean:
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -P CMakeFiles/roojspacker-1.2.dir/cmake_clean.cmake
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2.dir/clean
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/depend:
+       cd /home/alan/gitlive/roojspacker && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/roojspacker-1.2.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : jsdoc/CMakeFiles/roojspacker-1.2.dir/depend
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/cmake_clean.cmake b/roojspacker/CMakeFiles/roojspacker-1.2.dir/cmake_clean.cmake
new file mode 100644 (file)
index 0000000..e3f0d53
--- /dev/null
@@ -0,0 +1,31 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o"
+  "CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o"
+  "libroojspacker-1.2.pdb"
+  "libroojspacker-1.2.so.."
+  "libroojspacker-1.2.so"
+  "libroojspacker-1.2.so..."
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang C)
+  include(CMakeFiles/roojspacker-1.2.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/depend.internal b/roojspacker/CMakeFiles/roojspacker-1.2.dir/depend.internal
new file mode 100644 (file)
index 0000000..7c6434b
--- /dev/null
@@ -0,0 +1,43 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o
+ /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/depend.make b/roojspacker/CMakeFiles/roojspacker-1.2.dir/depend.make
new file mode 100644 (file)
index 0000000..e30ea8f
--- /dev/null
@@ -0,0 +1,43 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.c
+
+jsdoc/CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o: jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.c
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/flags.make b/roojspacker/CMakeFiles/roojspacker-1.2.dir/flags.make
new file mode 100644 (file)
index 0000000..9ec3c62
--- /dev/null
@@ -0,0 +1,10 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# compile C with /usr/bin/cc
+C_FLAGS =  -Wno-incompatible-pointer-types -g -fPIC   -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gee-0.8 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/json-glib-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread
+
+C_DEFINES = -Droojspacker_1_2_EXPORTS
+
+C_INCLUDES = 
+
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/link.txt b/roojspacker/CMakeFiles/roojspacker-1.2.dir/link.txt
new file mode 100644 (file)
index 0000000..a4e4ac9
--- /dev/null
@@ -0,0 +1 @@
+/usr/bin/cc -fPIC  -Wno-incompatible-pointer-types -g  -shared -Wl,-soname,libroojspacker-1.2.so... -o libroojspacker-1.2.so.. CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Collapse.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/CompressWhite.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Identifier.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Lang.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Packer.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/ScopeParser.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Scope.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TextStream.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenReader.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/TokenStream.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Token.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PackerRun.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Walker.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/SymbolSet.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocBuilder.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocComment.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocParser.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/DocTag.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.c.o CMakeFiles/roojspacker-1.2.dir/roojspacker-1.2-vala/build/jsdoc/Symbol.c.o -lgee-0.8 -lgthread-2.0 -ljson-glib-1.0 /usr/lib/x86_64-linux-gnu/libgio-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libglib-2.0.so 
diff --git a/roojspacker/CMakeFiles/roojspacker-1.2.dir/progress.make b/roojspacker/CMakeFiles/roojspacker-1.2.dir/progress.make
new file mode 100644 (file)
index 0000000..91f4bb1
--- /dev/null
@@ -0,0 +1,22 @@
+CMAKE_PROGRESS_1 = 3
+CMAKE_PROGRESS_2 = 4
+CMAKE_PROGRESS_3 = 5
+CMAKE_PROGRESS_4 = 6
+CMAKE_PROGRESS_5 = 7
+CMAKE_PROGRESS_6 = 8
+CMAKE_PROGRESS_7 = 9
+CMAKE_PROGRESS_8 = 10
+CMAKE_PROGRESS_9 = 11
+CMAKE_PROGRESS_10 = 12
+CMAKE_PROGRESS_11 = 13
+CMAKE_PROGRESS_12 = 14
+CMAKE_PROGRESS_13 = 15
+CMAKE_PROGRESS_14 = 16
+CMAKE_PROGRESS_15 = 17
+CMAKE_PROGRESS_16 = 18
+CMAKE_PROGRESS_17 = 19
+CMAKE_PROGRESS_18 = 20
+CMAKE_PROGRESS_19 = 21
+CMAKE_PROGRESS_20 = 22
+CMAKE_PROGRESS_21 = 23
+
diff --git a/roojspacker/CMakeFiles/typelib.dir/DependInfo.cmake b/roojspacker/CMakeFiles/typelib.dir/DependInfo.cmake
new file mode 100644 (file)
index 0000000..9af738b
--- /dev/null
@@ -0,0 +1,18 @@
+# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+  )
+# The set of files for implicit dependencies of each language:
+
+# Pairs of files generated by the same build rule.
+set(CMAKE_MULTIPLE_OUTPUT_PAIRS
+  "/home/alan/gitlive/roojspacker/jsdoc/.gir" "/home/alan/gitlive/roojspacker/jsdoc/.vapi"
+  "/home/alan/gitlive/roojspacker/jsdoc/.h" "/home/alan/gitlive/roojspacker/jsdoc/.vapi"
+  )
+
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+  )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/roojspacker/CMakeFiles/typelib.dir/build.make b/roojspacker/CMakeFiles/typelib.dir/build.make
new file mode 100644 (file)
index 0000000..3686e42
--- /dev/null
@@ -0,0 +1,94 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Remove some rules from gmake that .SUFFIXES does not remove.
+SUFFIXES =
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+# The shell in which to execute make rules.
+SHELL = /bin/sh
+
+# The CMake executable.
+CMAKE_COMMAND = /usr/bin/cmake
+
+# The command to remove a file.
+RM = /usr/bin/cmake -E remove -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = /home/alan/gitlive/roojspacker
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = /home/alan/gitlive/roojspacker
+
+# Utility rule file for typelib.
+
+# Include the progress variables for this target.
+include jsdoc/CMakeFiles/typelib.dir/progress.make
+
+jsdoc/CMakeFiles/typelib: jsdoc/.typelib
+
+
+jsdoc/.typelib: jsdoc/.gir
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating .typelib"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/g-ir-compiler -o /home/alan/gitlive/roojspacker/jsdoc/.typelib /home/alan/gitlive/roojspacker/jsdoc/.gir
+
+jsdoc/.vapi:
+       @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/alan/gitlive/roojspacker/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating .vapi, .gir, .h"
+       cd /home/alan/gitlive/roojspacker/jsdoc && /usr/bin/valac -C --vapi /home/alan/gitlive/roojspacker/jsdoc/.vapi --gir .gir --library roojspacker-1.2-vala --shared-library libroojspacker-1.2-vala.so --header /home/alan/gitlive/roojspacker/jsdoc/.h --pkg glib-2.0 --pkg gobject-2.0 --pkg gee-0.8 --pkg posix --pkg gio-2.0 --target-glib=2.38 -g --thread --vapidir=/home/alan/gitlive/roojspacker/vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Collapse.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/CompressWhite.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Identifier.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Lang.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Packer.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/ScopeParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Scope.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TextStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenReader.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/TokenStream.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Token.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PackerRun.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Walker.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/SymbolSet.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocBuilder.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocComment.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocParser.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/DocTag.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/PrettyPrint.vapi --use-fast-vapi /home/alan/gitlive/roojspacker/jsdoc/roojspacker-1.2-vala/build/jsdoc/Symbol.vapi
+
+jsdoc/.gir: jsdoc/.vapi
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/.gir
+
+jsdoc/.h: jsdoc/.vapi
+       @$(CMAKE_COMMAND) -E touch_nocreate jsdoc/.h
+
+typelib: jsdoc/CMakeFiles/typelib
+typelib: jsdoc/.typelib
+typelib: jsdoc/.vapi
+typelib: jsdoc/.gir
+typelib: jsdoc/.h
+typelib: jsdoc/CMakeFiles/typelib.dir/build.make
+
+.PHONY : typelib
+
+# Rule to build all files generated by this target.
+jsdoc/CMakeFiles/typelib.dir/build: typelib
+
+.PHONY : jsdoc/CMakeFiles/typelib.dir/build
+
+jsdoc/CMakeFiles/typelib.dir/clean:
+       cd /home/alan/gitlive/roojspacker/jsdoc && $(CMAKE_COMMAND) -P CMakeFiles/typelib.dir/cmake_clean.cmake
+.PHONY : jsdoc/CMakeFiles/typelib.dir/clean
+
+jsdoc/CMakeFiles/typelib.dir/depend:
+       cd /home/alan/gitlive/roojspacker && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker /home/alan/gitlive/roojspacker/jsdoc /home/alan/gitlive/roojspacker/jsdoc/CMakeFiles/typelib.dir/DependInfo.cmake --color=$(COLOR)
+.PHONY : jsdoc/CMakeFiles/typelib.dir/depend
+
diff --git a/roojspacker/CMakeFiles/typelib.dir/cmake_clean.cmake b/roojspacker/CMakeFiles/typelib.dir/cmake_clean.cmake
new file mode 100644 (file)
index 0000000..c24ad67
--- /dev/null
@@ -0,0 +1,12 @@
+file(REMOVE_RECURSE
+  "CMakeFiles/typelib"
+  ".typelib"
+  ".vapi"
+  ".gir"
+  ".h"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang )
+  include(CMakeFiles/typelib.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/roojspacker/CMakeFiles/typelib.dir/depend.internal b/roojspacker/CMakeFiles/typelib.dir/depend.internal
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/typelib.dir/depend.make b/roojspacker/CMakeFiles/typelib.dir/depend.make
new file mode 100644 (file)
index 0000000..c88d4b1
--- /dev/null
@@ -0,0 +1,3 @@
+# CMAKE generated file: DO NOT EDIT!
+# Generated by "Unix Makefiles" Generator, CMake Version 3.12
+
diff --git a/roojspacker/CMakeFiles/typelib.dir/progress.make b/roojspacker/CMakeFiles/typelib.dir/progress.make
new file mode 100644 (file)
index 0000000..bfbf6b1
--- /dev/null
@@ -0,0 +1,3 @@
+CMAKE_PROGRESS_1 = 71
+CMAKE_PROGRESS_2 = 72
+
diff --git a/roojspacker/CMakeLists.txt b/roojspacker/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c9b1324
--- /dev/null
@@ -0,0 +1,181 @@
+#
+#
+# Library Target: linked against executable and tests.
+
+# Generate a config.vala file, which can be used for version
+# information and feature detection.
+#configure_file(
+#    "${CMAKE_CURRENT_SOURCE_DIR}/config.vala.in"
+#    "${CMAKE_CURRENT_BINARY_DIR}/config.vala"
+#    @ONLY)
+
+# You can re-type these if you prefer; putting them in variables makes
+# it easier to reuse them, and helps explain what each command needs
+# to include.
+
+# The name of the C header, without the trailing ".h"
+set(ROOJSPACKER_HEADER ${PROJECT_NAME})
+
+# These are the Vala sources you want to build your library out of.
+set(ROOJSPACKER_VALA_SOURCES
+    Collapse.vala 
+    CompressWhite.vala 
+    Identifier.vala 
+    Lang.vala 
+    Packer.vala 
+    ScopeParser.vala 
+    Scope.vala 
+    TextStream.vala 
+    TokenReader.vala 
+    TokenStream.vala 
+    Token.vala 
+    PackerRun.vala 
+    Walker.vala 
+    SymbolSet.vala 
+    DocBuilder.vala 
+    DocComment.vala 
+    DocParser.vala 
+    DocTag.vala 
+    PrettyPrint.vala 
+    Symbol.vala
+)
+
+# Any dependencies.  Note that it isn't actually necessary to add
+# glib-2.0 or gobject-2.0 (it is done implicitly), but for this
+# template project we don't actually depend on anything else, so we
+# added it for illustrative purposes.
+set(ROOJSPACKER_VALA_PACKAGES
+    glib-2.0  
+    gobject-2.0  
+    gee-0.8 
+    posix 
+    gio-2.0
+    json-glib-1.0
+)
+
+# Compile Vala -> C
+vala_precompile_target(
+    "${ROOJSPACKER_LIBRARY_NAME}-vala"
+    ROOJSPACKER_C_SOURCES
+    PACKAGES ${ROOJSPACKER_VALA_PACKAGES}
+    VAPI "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_PKG_NAME}.vapi"
+#    GIR "${ROOJSPACKER_GIR_NAME}.gir"
+    HEADER "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_PKG_NAME}.h"
+    ${ROOJSPACKER_VALA_SOURCES})
+
+# Compile the library.
+#
+# By default, we create and install a shared library.  If you don't
+# want to do that, you can change "SHARED" in the below function call
+# to "STATIC".
+add_library(${ROOJSPACKER_LIBRARY_NAME}
+    SHARED
+    ${ROOJSPACKER_C_SOURCES})
+
+# Make sure the Vala sources are compiled to C before attempting to
+# build the library.
+add_dependencies("${ROOJSPACKER_LIBRARY_NAME}" "${ROOJSPACKER_LIBRARY_NAME}-vala")
+
+# Generate a .gitignore
+file(WRITE  ".gitignore" "# Automatically generated by CMake, do not modify.\n")
+foreach(file
+    ".gitignore"
+    "${CMAKE_SHARED_LIBRARY_PREFIX}${ROOJSPACKER_LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}*"
+    "${CMAKE_STATIC_LIBRARY_PREFIX}${ROOJSPACKER_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
+    "${CMAKE_SHARED_LIBRARY_PREFIX}${ROOJSPACKER_LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${ROOJSPACKER_VERSION_API}"
+    "${CMAKE_SHARED_LIBRARY_PREFIX}${ROOJSPACKER_LIBRARY_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${ROOJSPACKER_VERSION_API}.${ROOJSPACKER_VERSION_REVISION}"
+    "${ROOJSPACKER_PKG_NAME}.pc"
+    "config.vala")
+  file(APPEND ".gitignore" "/${file}\n")
+endforeach(file)
+foreach(file ${ROOJSPACKER_C_SOURCES})
+  string(REPLACE "${CMAKE_CURRENT_BINARY_DIR}/" "" file ${file})
+  file(APPEND ".gitignore" "/${file}\n")
+endforeach(file)
+
+# Define the gettext domain
+#set_property (TARGET ${ROOJSPACKER_LIBRARY_NAME}
+#    APPEND PROPERTY COMPILE_DEFINITIONS GETTEXT_PACKAGE="${GETTEXT_PACKAGE}")
+
+# If you don't want to build and install a shared library, comment out
+# (or remove) everything below this point.
+
+# Set the library's version information
+set_target_properties (${ROOJSPACKER_LIBRARY_NAME} PROPERTIES
+    SOVERSION "${ROOJSPACKER_SOVERSION_CURRENT}.${ROOJSPACKER_SOVERSION_REVISION}.${ROOJSPACKER_SOVERSION_AGE}"
+    VERSION   "${ROOJSPACKER_SOVERSION_CURRENT}.${ROOJSPACKER_SOVERSION_REVISION}")
+
+# GObject Introspection support
+#find_package(GObjectIntrospection REQUIRED)
+# Gir Repositories support
+#find_file(GIREPOSITORY_FILE GObject-2.0.gir /usr/share/gir-1.0 )
+#if(GIREPOSITORY_FILE)
+#else()
+#    message(FATAL_ERROR "Package libgirepository-dev not found.")
+#endif()
+
+# We already had valac write a GIR, now we need to compile it to a
+# typelib.
+#gobject_introspection_compile(
+#  "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_GIR_NAME}.typelib"
+#  "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_GIR_NAME}.gir")
+
+# Telling CMake you want to install a file doesn't actually get it to
+# *build* that file.  The workaround is to add a custom target which
+# is always built and depens on the file we want to install.
+#add_custom_target(typelib ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_GIR_NAME}.typelib")
+
+# Install our typelib
+#install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_GIR_NAME}.typelib"
+#    DESTINATION "${GI_TYPELIB_DIR}")
+
+# Install our GIR
+#install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_GIR_NAME}.gir"
+#    DESTINATION "${GI_REPOSITORY_DIR}")
+
+# Install our VAPI
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_PKG_NAME}.vapi
+    DESTINATION ${CMAKE_INSTALL_DATADIR}/vala/vapi)
+
+# Install the library
+install (TARGETS ${ROOJSPACKER_LIBRARY_NAME}
+    RUNTIME DESTINATION bin ${CMAKE_INSTALL_BINDIR}  # On Windows, the DLL goes in the same place as the executables
+    LIBRARY DESTINATION lib ${CMAKE_INSTALL_LIBDIR}  # This is where shared libraries (*.so on Linux, *.dynlib on OS X)
+    ARCHIVE DESTINATION lib ${CMAKE_INSTALL_LIBDIR}) # Finally, this is where static libraries (*.a) go
+
+# Install the C header
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_PKG_NAME}.h
+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/)
+
+# Install our VAPI
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_PKG_NAME}.vapi
+    DESTINATION ${CMAKE_INSTALL_DATADIR}/vala/vapi)
+
+# Generate and install a pkg-config file
+configure_file (
+    "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.pc.in"
+    "${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_PKG_NAME}.pc"
+    @ONLY)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${ROOJSPACKER_PKG_NAME}.pc
+  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+
+# Generate documentation
+find_package(Valadoc)
+if(${VALADOC_FOUND})
+    valadoc_generate(html
+        PACKAGE_NAME ${ROOJSPACKER_PKG_NAME}
+        PACKAGE_VERSION "${ROOJSPACKER_VERSION_MAJOR}.${ROOJSPACKER_VERSION_MINOR}.${ROOJSPACKER_VERSION_REVISION}"
+        SOURCES ${ROOJSPACKER_VALA_SOURCES}
+        PACKAGES ${ROOJSPACKER_VALA_PACKAGES})
+    valadoc_generate(devhelp
+        DOCLET devhelp
+        PACKAGE_NAME ${ROOJSPACKER_PKG_NAME}
+        PACKAGE_VERSION "${ROOJSPACKER_VERSION_MAJOR}.${ROOJSPACKER_VERSION_MINOR}.${ROOJSPACKER_VERSION_REVISION}"
+        SOURCES ${ROOJSPACKER_VALA_SOURCES}
+        PACKAGES ${ROOJSPACKER_VALA_PACKAGES})
+
+    install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/devhelp/${ROOJSPACKER_PKG_NAME}"
+        DESTINATION "${CMAKE_INSTALL_DATADIR}/devhelp/books")
+    add_custom_target(doc ALL
+        DEPENDS html devhelp)
+endif()
\ No newline at end of file
diff --git a/roojspacker/Collapse.vala b/roojspacker/Collapse.vala
new file mode 100644 (file)
index 0000000..37810c3
--- /dev/null
@@ -0,0 +1,305 @@
+
+/**
+ * 
+ * base class for parsing segments of token array..
+ * 
+ * 
+ * We want to make parsing the whole thing easy..
+ * 
+ * so we do various tricks:
+ * 
+ * 
+ * a) white space collased
+ *    wsPrefix 
+ * b)  toks
+ *     { } - collapse into first element.
+       ( ) - collapse into first element.
+       [ ] - collapse into first element.
+ * c) items = , seperation within the above..
+ * 
+ * usage: x = new Collapse(token_array)
+ * 
+ * 
+ * 
+ * 
+ */ 
+
+namespace JSDOC {
+
+       public class  Collapse : TokenStream  {
+
+               Packer packer;
+               string filename;
+       
+               public Collapse(Gee.ArrayList<Token> tokens, Packer pk, string filename) 
+               {
+                   base(tokens);
+                   
+                   this.packer = pk;
+                   this.filename = filename;
+                   
+                   
+                   
+                   this.spaces();
+                   
+                   var ar = this.collapse(this.tokens);
+                   
+                   this.tokens = ar;
+                   
+                  // console.dump(ar);
+                   
+               }
+               
+               // put spaces into prefix of tokens..
+    
+        void spaces () 
+        {
+            var ar = new Gee.ArrayList<Token>();
+            var pref =  new Gee.ArrayList<Token>();
+            
+                       
+            
+            for (var i = 0; i < this.tokens.size; i ++) {
+                var tok = this.tokens[i];
+                if (tok.isType(TokenType.COMM) || tok.isType(TokenType.WHIT)) {
+                    pref.add(tok);
+                    continue;
+                }
+                tok.prefix = "";
+                if (pref.size > 0) {
+                       foreach(var e in pref) {
+                        tok.prefix += e.data;
+                    }
+                    pref =  new Gee.ArrayList<Token>(); // reset pref..
+                }
+                
+                ar.add(tok);
+                
+
+                
+            }
+            this.tokens = ar;
+            
+        }
+        
+        
+        
+        Gee.ArrayList<Token>  collapse(Gee.ArrayList<Token>  ar) 
+        {
+            
+            var st = new TokenStream(ar);
+            var ret = new Gee.ArrayList<Token>();
+            var last_is_object_def = false;
+            
+            while (true) {
+                var  tok = st.look(1,true);
+                if (tok == null) {
+                  //  Seed.print(TokenStream.toString(ret));
+                    return ret;
+                }
+                // console.log(tok.data);
+                
+                //print("COL: %s\n", tok.asString());
+                
+                switch(tok.type) {
+                    case TokenType.VOID: 
+                        return ret; //EOF
+                        
+                        
+                    case TokenType.KEYW: 
+                    case TokenType.TOKN:
+                    case TokenType.NAME:
+                    case TokenType.STRN:
+                    case TokenType.NUMB:
+                    case TokenType.REGX:
+                               if (last_is_object_def) {
+                               
+                                       this.packer.logError(Packer.ResultType.err, this.filename, tok.line, 
+                                                       "Syntax error - found non punctuation after object close brace");
+                                       
+                                       
+                               
+                                       //GLib.error("Syntax error - found non punctuation after object close brace\n%s", tok.asString());
+                               }
+                    
+                               var nn = st.next();
+                               if (nn != null) { 
+                               ret.add(nn);
+                        }
+                        last_is_object_def = false;
+                        continue;
+                        
+                    case TokenType.PUNC:
+                        switch (tok.data) {
+                            case "[":
+                            case "{":
+                            case "(":
+                                last_is_object_def = false;
+                                var start = st.cursor;
+                                //st.next(); << no need to shift, balance will start at first character..
+                                
+                                var add = st.balance(tok.name);
+                                
+                               // print("BALANCE returned %d items\n", add.size);
+                                
+                                
+                               // if (!add) {
+                                    //console.dump(tok);
+                                    //console.dump(start + '...' + st.cursor);
+                                    //console.dump(st.tokens);
+                                 
+                                //}
+                                if (add.size > 0) {
+                                               add.remove_at(0);  // remove the first element... (as it's the 
+                                }
+                                //Seed.print("ADD");
+                                //Seed.print(JSON.stringify(add, null,4));
+                                
+                                
+                                
+                                var toks = add.size > 0 ? this.collapse(add) : add;
+                                
+                                tok.items = new Gee.ArrayList<Gee.ArrayList<Token>>(); //?? needed?
+                                tok.props = new Gee.HashMap<string,TokenKeyMap>();
+                                 
+                                
+                                if (tok.data != "{") {
+                                    // paramters or array elements..
+                                    tok.items = this.toItems(toks, ",");
+                                    if (tok.data == "]") {   // ) can be folowed with lots of things...
+                                           last_is_object_def = true;
+                                    }
+                                } else {
+                                    // check for types.. it could be a list of statements.. or object
+                                    // format "{" "xXXX" ":" << looks for the ':'.. seems to work.. not sure if it's foolproof...
+                                    
+                                    var ost = new  TokenStream(toks);
+                                    //console.dump(ost.look(2,true) );
+                                    if (ost.look(2,true) != null && ost.look(2,true).data == ":") {
+                                               // object properties...
+                                                                               this.toProps(toks,tok);
+                                                                               last_is_object_def = true;
+                                    } else {
+                                        // list of statemetns..
+                                        tok.items = this.toItems(toks, ";{");;
+                                    }
+                                    
+                                    
+                                }
+                                 
+                                
+                                
+                                
+                                
+                                
+                                
+                                //Seed.print(" ADD : " + add.length  +  " ITEMS: " + tok.items.length);
+                                
+                                ret.add(tok);
+                                
+                                continue;
+                   
+                            default:
+                                   last_is_object_def = false;
+                                ret.add(st.next());
+                                continue;
+                        }
+                       print("OOPS");
+                        continue;
+                    default : 
+                       print("OOPS" + tok.type.to_string());
+                        continue;
+                }
+            }
+                
+                
+            
+            
+            
+            
+            
+            
+            
+            
+        }
+        // array of arrays of tokens
+        Gee.ArrayList<Gee.ArrayList<Token>>  toItems(Gee.ArrayList<Token>  ar, string sep)
+        {
+            var ret = new Gee.ArrayList<Gee.ArrayList<Token>>() ;
+            var g =  new Gee.ArrayList<Token>() ;
+              
+            for (var i = 0; i < ar.size; i ++) {
+                if (sep.index_of(ar.get(i).data) < 0) {
+                    g.add(ar.get(i));
+                    continue;
+                }
+                // var a=..., b =...
+                if ((ar.get(i).data != ";") && g.size> 0  && (g[0].name == TokenName.VAR)) {;
+                    g.add(ar.get(i));
+                    continue;
+                }
+                
+                g.add(ar.get(i));
+                ret.add(g);
+                g =  new Gee.ArrayList<Token>() ;
+                
+            }
+            // last..
+            if (g.size > 0) {
+                ret.add(g);
+            }
+            return ret;
+            
+        }
+        
+        Gee.HashMap<string,TokenKeyMap> toProps (Gee.ArrayList<Token> ar, Token tok)
+        {
+            
+            var ret = new Gee.HashMap<string,TokenKeyMap>();
+                       
+                       var keyseq = new Gee.ArrayList<string>();
+               
+            var g = new TokenKeyMap();
+               
+            
+            var k = "";
+            var state = 0;
+            for (var i = 0; i < ar.size; i ++) {
+                
+                switch(state) {
+                    case 0:
+                        k = ar.get(i).data;
+                        g.key = ar.get(i);
+                        keyseq.add(k);
+                        state = 1;
+                        continue;
+                    case 1:
+                        state =2; // should be ':'
+                        continue;
+                    case 2:
+                        g.vals.add( ar.get(i));
+                        if ( ar.get(i).data != ",") {
+                            continue;
+                        }
+                        ret.set(k, g);
+                        g = new TokenKeyMap();
+                        state = 0;
+                        continue;
+                   
+                }
+            }
+             // last.. - if g.val.length is 0 then it's a trailing ','...
+             // we should really throw a syntax error in that case..
+            if (k.length > 0 && g.vals.size > 0) {
+                ret.set(k, g);
+            }
+            tok.props = ret;
+            tok.keyseq = keyseq;
+            return ret;
+            
+            
+        }
+
+       }   
+    
+}
diff --git a/roojspacker/CompressWhite.vala b/roojspacker/CompressWhite.vala
new file mode 100644 (file)
index 0000000..a3971af
--- /dev/null
@@ -0,0 +1,354 @@
+/**
+ * 
+ * pack a javascript file, and return a shorter version!
+ * 
+ * a bit picky at present with ; and crlf reading...
+ * @arg ts {TokenStream} 
+   @arg packer {Packer} 
+ */
+namespace JSDOC 
+{
+       public errordomain CompressWhiteError {
+            BRACE
+    }
+        
+       public string CompressWhite (TokenStream ts, Packer packer, bool keepWhite) // throws CompressWhiteError,TokenStreamError
+       {
+               //keepWhite = keepWhite || false;
+               ts.rewind();
+               //ts.dumpAllFlat(); GLib.Process.exit(1);
+               
+               //var str = File.read(fn);
+               var rep_var = 1;
+       
+       
+       
+               while (true) {
+                       var tok = ts.next();
+                       if (tok == null) {
+                           break;
+                       }
+                       if (tok.type == TokenType.WHIT) {
+                          
+                           continue;
+                           //if (tok._isDoc) {
+                           //    continue;
+                           //}
+                           // just spaces, not \n!
+                           //if (tok.data.indexOf("\n") < 0) {
+                           //    continue;
+                          // }
+                           
+                           
+                       }
+                       if (tok.data == "}")  {
+                           
+                           if (ts.lookTok(0).type == TokenType.NAME && ts.look(1,true).name == TokenName.NEWLINE) {
+                               ts.look(0,true).outData = ts.look(0,true).data+"\n";
+                           }
+                           // restore.. 
+                           
+                           continue;
+                       }
+                       // add semi-colon's where linebreaks are used... - not foolproof yet.!
+                       if (tok.type == TokenType.NAME)  {
+                           //var tokident = ts.look(-1).data + tok.data + ts.look(1).data +  ts.look(2).data;
+                           // a = new function() {} 
+                           if (ts.lookTok(1).data == "=" && ts.lookTok(2).name == TokenName.NEW  && 
+                               ts.lookTok(3).name == TokenName.FUNCTION) {
+                               // freeze time.. 
+                               var cu = ts.cursor;
+                               
+                               ts.balance(TokenName.LEFT_PAREN); //"(");
+                               
+                               
+                               ts.balance(TokenName.LEFT_CURLY); //"{");
+                               // if next is not ';' -> make it so...
+                               
+                               if (ts.lookTok(1).data != ";"  && ts.lookTok(1).data != "}" && ts.lookTok(1).name == TokenName.NEWLINE) {
+                                   ts.look(0,true).outData = ts.lookTok(0).data +";";
+                               }
+                               // restore.. 
+                               ts.cursor = cu;
+                               continue;
+                           }
+                           // a = function() { ... -- add a semi colon a tthe end if not one there..
+                              
+                           if (ts.lookTok(1).data == "=" &&  ts.lookTok(2).name == TokenName.FUNCTION) {
+                               // freeze time.. 
+                               //println("got = function() ");
+                               tok = ts.nextTok();
+                               tok = ts.nextTok();
+                               
+                               //tok = ts.next();
+                                var cu = ts.cursor;
+                                       //print("NEXT = should be brac: %s\n", ts.lookTok(1).asString());
+                                         
+                              //print("cursor = %d", ts.cursor);
+                                 
+                               if (ts.lookTok(1).data != "(" || ts.balance(TokenName.LEFT_PAREN /*"("*/).size < 1 ){
+                                       print("balance ( issue on line %d\n", ts.toArray().get(cu).line);
+                                   ts.dump(cu-40, cu+2);
+                                   print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+                                   ts.dump(cu+2, cu+40);
+                                   
+                                   throw new CompressWhiteError.BRACE( "could not find end lbrace!!!" );
+                               }
+                               //print("cursor = %d", ts.cursor);
+                               //print("CUR = should be ): %s\n", ts.lookTok(0).asString());
+
+                               tok = ts.nextTok();
+                               //print("CUR = should be {: %s\n", ts.lookTok(0).asString());                           
+                               cu = ts.cursor; // set the cursor to here.. so the next bit of the code will check inside the method.
+                               
+                               //print("cursor = %d", ts.cursor);
+                              // print("AFTER BALANCE (");
+                               //ts.dump(cu, ts.cursor);
+                               
+                               
+                               ts.cursor--; // cursor at the (
+                               if (tok.data != "{" || ts.balance(TokenName.LEFT_CURLY /*"("*/).size < 1 ){
+
+                                   ts.dump(cu-40, cu);
+                                   print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+                                   ts.dump(cu, cu+40);
+                                   
+                                   throw new CompressWhiteError.BRACE( "could not find end lbrace!!!");
+                               }
+                               //print('FN: '+ts.tokens[cu].toString());
+                               //print('F1: '+ts.lookTok(1).toString());
+                               //print('F2: '+ts.look(1,true).toString());
+                               
+                               // if next is not ';' -> make it so...
+                               // although this var a=function(){},v,c; causes 
+                               if (ts.lookTok(1).data != ";" && ts.lookTok(1).data != "}" && ts.look(1,true).name == TokenName.NEWLINE) {
+                                   
+                                   ts.look(0,true).outData = ts.look(0,true).data+";";
+                                  // print("ADDING SEMI: " + ts.look(0).toString());
+                                   //ts.dump(cu, ts.cursor+2);
+                               }
+                               
+                                //ts.dump(cu, ts.cursor+2);
+                               // restore.. 
+                               ts.cursor = cu;
+                               continue;
+                           }
+                           // next item is a name..
+                           if ((ts.lookTok(1).type == TokenType.NAME || ts.lookTok(1).type == TokenType.KEYW ) 
+                                               &&  ts.look(1,true).name == TokenName.NEWLINE) {
+                               // preserve linebraek
+                               ts.look(0,true).outData = ts.look(0,true).data+"\n";
+                           }
+                           // method call followed by name..
+                           if (ts.lookTok(1).data == "(")  {
+                               var cu = ts.cursor;
+                               
+                                ts.balance(TokenName.LEFT_PAREN); //"(");
+                                // although this var a=function(){},v,c; causes 
+                               
+                               if (ts.lookTok(1).type == TokenType.NAME && ts.look(1,true).name == TokenName.NEWLINE) {
+                               
+                                   ts.look(0,true).outData = ts.look(0,true).data+"\n";
+                               }
+                               // restore.. 
+                               ts.cursor = cu;
+                               continue;
+                           }
+                           
+                           
+                           // function a () { ... };
+                               /*
+                           if (ts.look(-1).isTypeN(Script.TOKfunction) &&  ts.look(1).isTypeN(Script.TOKlparen)) {
+                               // freeze time.. 
+                               //println("got = function() ");
+                               var cu = ts.cursor;
+                               
+                               ts.balance("lparen");
+                               ts.balance("lbrace");
+                               // if next is not ';' -> make it so...
+                               // although this var a=function(){},v,c; causes 
+                               if (!ts.look(1).isData(';') && !ts.look(1).isData('}') && ts.look(1,true).isLineBreak()) {
+                                   ts.cur().outData = ts.cur().data+";";
+                               }
+                               // restore.. 
+                               ts.cursor = cu;
+                               continue;
+                           }
+                           */
+                           
+                           // a = { ....
+                               
+                           if (ts.lookTok(1).data == "=" &&  ts.lookTok(2).data == "{") {
+                               // freeze time.. 
+                               //println("----------*** 3 *** --------------");
+                               var cu = ts.cursor;
+                               ;
+                               if (ts.balance(TokenName.LEFT_CURLY /*"{" */).size < 1 ){
+
+                                   ts.dump(cu-40, cu);
+                                   print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+                                   ts.dump(cu, cu+40);
+                                   
+                                   throw new CompressWhiteError.BRACE("could not find end lbrace!!!");
+                               }
+                               // if next is not ';' -> make it so...
+                               
+                               if (ts.lookTok(1).data != ";" && ts.lookTok(1).data != "}" && ts.look(1,true).name==TokenName.NEWLINE) {
+                                   ts.look(0,true).outData = ts.look(0,true).data +";";
+                               }
+                               // restore.. 
+                               ts.cursor = cu;
+                               continue;
+                           }
+                           
+                           // any more??
+                           // a = function(....) { } 
+                         
+                       }
+                       
+                       
+                       
+                        
+                       //println("got Token: " + tok.type);
+                       
+                       
+                       
+                       switch(tok.name) {
+                           // things that need space appending
+                           case TokenName.FUNCTION:
+                           case TokenName.BREAK:
+                           case TokenName.CONTINUE:
+                               // if next item is a identifier..
+                               if (ts.lookTok(1).type == TokenType.NAME || Regex.match_simple("^[a-z]+$", ts.lookTok(1).data, GLib.RegexCompileFlags.CASELESS) ) { // as include is a keyword for us!!
+                                  tok.outData =  tok.data + " ";
+                               }
+                               continue;
+                               
+                               
+                           case TokenName.RETURN: // if next item is not a semi; (or }
+                               if (ts.lookTok(1).data == ";" || ts.lookTok(1).data == "}") {
+                                   continue;
+                               }
+                               tok.outData =  tok.data + " ";
+                               
+                               continue;
+                           
+                               
+                           case TokenName.ELSE: // if next item is not a semi; (or }
+                               if (ts.lookTok(1).name != TokenName.IF) {
+                                   continue;
+                               }
+                               // add a space if next element is 'IF'
+                               tok.outData =  tok.data + " ";
+                               continue;
+                           
+                           case TokenName.INCREMENT: //"++": // if previous was a plus or next is a + add a space..
+                           case TokenName.DECREMENT: //"--": // if previous was a - or next is a - add a space..
+                           
+                               var p = (tok.data == "--" ? "-" : "+"); 
+                           
+                               if (ts.lookTok(1).data == p) {
+                                   tok.outData =  tok.data + " ";
+                               }
+                               if (ts.lookTok(-1).data == p) {
+                                   tok.outData =  " " +  tok.data;
+                                   
+                               }
+                               continue;
+                           
+                           case TokenName.IN: // before and after?? 
+                           case TokenName.INSTANCEOF:
+                               
+                               tok.outData = " " + tok.data + " ";
+                               continue;
+                           
+                           case TokenName.VAR: // always after..
+                           case TokenName.NEW:
+                           case TokenName.DELETE:
+                           case TokenName.THROW:
+                           case TokenName.CASE:
+                           case TokenName.CONST:
+                           case TokenName.VOID:
+                               tok.outData =  tok.data + " ";
+                               
+                               continue;
+                               
+                           case TokenName.TYPEOF: // what about typeof(
+                               if (ts.lookTok(1).data != "(") {
+                                   tok.outData =  tok.data + " ";
+                               }
+                               continue;
+                            case TokenName.SEMICOLON: //";":
+                               //remove semicolon before brace -- 
+                               //if(ts.look(1).isTypeN(Script.TOKrbrace)) {
+                               //    tok.outData = '';
+                              // }
+                               continue;
+                          
+                           default:
+                               continue;
+                       }
+               }
+       
+               ts.rewind();
+       
+               // NOW OUTPUT THE THING.
+               //var f = new File(minfile, File.NEW);
+       
+               var outstr = "";
+               var outoff = 0;
+               //try { out.length = ts.slen; } catch (e) {} // prealloc.
+       
+
+               Token tok;
+               while (true) {
+                       
+                       tok = keepWhite ? ts.next() : ts.nextTok();
+                       
+                       if (tok == null) {
+                           break;
+                       }
+                       if (tok.type == TokenType.COMM) {
+                           tok.outData = "\n";
+                       }
+                       
+                       ///print(tok.type + ':' + tok.data);
+                       
+                       if (tok.type == TokenType.NAME  &&
+                                tok.identifier != null  &&
+                           tok.identifier.mungedValue.length > 0) {
+                           //f.write(tok.identifier.mungedValue);
+                           //print("MUNGED: " + tok.identifier.mungedValue);
+                           outstr += tok.identifier.mungedValue;
+                           continue;
+                       }
+                       
+                       // at this point we can apply a text translation kit...
+                       // NOT SUPPORTED..
+                       //if ((tok.type == "STRN") && (tok.name== "DOUBLE_QUOTE")) {
+                       //    if (packer && packer.stringHandler) {
+                       //        outstr += packer.stringHandler(tok);
+                       //        continue;
+                       //    }
+                       //}
+                
+                       outstr += tok.outData != "" ? tok.outData : tok.data;
+                       
+                       if ((tok.name == TokenName.SEMICOLON || tok.name == TokenName.RIGHT_CURLY) && (outstr.length - outoff > 255)) {
+                           outoff = outstr.length;
+                           outstr += "\n";
+                       }
+               }
+               //f.close();
+               /*
+               // remove the last ';' !!!
+               if (out.substring(out.length-1) == ';') {
+                       return out.substring(0,out.length-1);
+                  }
+               */
+               return outstr;
+       
+       }
+        
+}
\ No newline at end of file
diff --git a/roojspacker/DocBuilder.vala b/roojspacker/DocBuilder.vala
new file mode 100644 (file)
index 0000000..bc281c5
--- /dev/null
@@ -0,0 +1,801 @@
+
+namespace JSDOC 
+{
+
+       class DocBuilder : Object 
+       {
+               
+               // extractable via JSON?
+               public string VERSION = "1.0.0" ;
+               
+               private SymbolSet symbolSet;
+               
+               private Packer packer;
+       
+               public DocBuilder (Packer p) 
+               {
+                       
+                       GLib.debug("Roo JsDoc Toolkit started  at %s ",  (new GLib.DateTime.now_local()).format("Y/m/d H:i:s"));
+                       
+                       this.packer = p;
+        
+                   //if (PackerRun.singleton().opt_tmp_dir != null && !FileUtils.test(PackerRun.singleton().opt_tmp_dir, GLib.FileTest.IS_DIR)) {   
+                   //    Posix.mkdir(PackerRun.singleton().opt_tmp_dir, 0700);
+                   //}
+        
+       
+                   this.parseSrcFiles();
+                   
+                   this.symbolSet = DocParser.symbols();
+                    
+                   // this currently uses the concept of publish.js...
+                   
+                   this.publish();
+        
+        
+               }
+               
+        
+               
+               /**
+                * Parse the source files.
+                * 
+                */
+               private void parseSrcFiles() 
+               {
+                  
+                   
+                   
+                   //var useCache = PackerRun.opt_cache_dir == null ;
+                   //var cacheFile = "";
+                   
+                   for (var i = 0, l = this.packer.files.size; i < l; i++) {
+                       
+                       var srcFile = this.packer.files.get(i);
+                       GLib.debug("Parsing source File: %s", srcFile);
+                    /*   
+                       if (useCache) {
+                       
+                               cacheFile = PackerRun.opt_cache_dir + srcFile.replace("/", '_') + ".cache";
+                                   
+                                   //print(cacheFile);
+                                   // disabled at present!@!!
+                                   
+                                   if (GLib.FileUtils.test(cacheFile, GLib.FileTest.EXISTS)) {
+                                       // check filetime?
+                                       var cache_mt = File.new_for_path (cacheFile).queryInfo(FileAttribute.TIME_MODIFIED,
+                                                           GLib.FileQueryInfoFlags.NONE, null).
+                                                           get_modification_time();
+                                       var original_mt = File.new_for_path (sourceInfo).queryInfo(FileAttribute.TIME_MODIFIED,
+                                                           GLib.FileQueryInfoFlags.NONE, null).
+                                                           get_modification_time();
+                                       // this check does not appear to work according to the doc's - need to check it out.
+                                      
+                                       if (cache_mt > original_mt) { // cached time  > original time!
+                                           // use the cached mtimes..
+                                           GLib.debug("Read %s" , cacheFile);
+                                                       var parser = new Json.Parser();
+                                           parser.load_from_file(cacheFile);
+                                           var ar = parser.get_root ().get_array();
+
+                                           for(var i = 0;i < ar.get_length();i++) {
+                                                       var o = ar.get_object_element(i);
+                                                       var sym = JSON.gobject_from_data(typeof(Symbol), o) as Symbol;
+                                                       DocParser.symbols.add(sym);
+                                               }
+                                               continue;
+                                       }
+                           }
+                       }
+                      */ 
+                       var src = "";
+                       try {
+                           GLib.debug("reading : %s" , srcFile);
+                           GLib.FileUtils.get_contents(srcFile, out src);
+                       }
+                       catch(GLib.FileError e) {
+                           GLib.debug("Can't read source file '%s': %s", srcFile, e.message);
+                           continue;
+                       }
+
+                         
+                       
+                       var tr = new  TokenReader(this.packer);
+                               tr.keepDocs = true;
+                               tr.keepWhite = true;
+                               tr.keepComments = true;
+                               tr.sepIdents = false;
+                               tr.collapseWhite = false;
+                               tr.filename = src;
+                       
+
+                       var toks = tr.tokenize( new TextStream(src) );
+                       if (PackerRun.singleton().opt_dump_tokens) {
+                                       toks.dump();
+                                       return;
+                                       //GLib.Process.exit(0);
+                               }
+                       
+                       
+                       var ts = new TokenStream(toks.tokens);
+                   
+                   
+                   
+                                
+                       DocParser.parse(ts, srcFile);
+                       /*
+                       if (useCache) {
+                               
+                               var ar = DocParser.symbolsToObject(srcFile);
+                               
+                               var builder = new Json.Builder ();
+                               builder.begin_array ();
+                               for (var i=0;i<ar.size;i++) {
+                               
+                                               builder.add_object_value (ar.get(i));
+                                       }
+                                       builder.end_array ();
+                                       Json.Generator generator = new Json.Generator ();
+                                       Json.Node root = builder.get_root ();
+                                       generator.set_root (root);
+                                       generator.pretty=  true;
+                                       generator.ident = 2;
+                                       generator.to_file(cacheFile);
+                       
+                        
+                           
+                                }
+                                */
+                   }
+                   
+                    
+                   
+                   DocParser.finish();
+               }
+               /*
+
+            //var txs =
+            
+            var tr = new  TokenReader(this.packer);
+                       tr.keepDocs = true;
+                       tr.keepWhite = true;
+                       tr.keepComments = true;
+                       tr.sepIdents = false;
+                       tr.collapseWhite = false;
+                       tr.filename = src;
+            
+
+            var toks = tr.tokenize( new TextStream(src));
+            if (PackerRun.opt_dump_tokens) {
+                               toks.dump();
+                               return "";
+                               //GLib.Process.exit(0);
+                       }
+            
+            
+            var ts = new TokenStream(toks);
+        
+        
+        
+                     
+            DocParser.parse(ts, srcFile);
+            
+            if (useCache) {
+                       
+                       var ar = DocParser.symbolsToObject(srcFile);
+                       
+                       var builder = new Json.Builder ();
+               builder.begin_array ();
+               for (var i=0;i<ar.size;i++) {
+               
+                                       builder.add_object_value (ar.get(i));
+                               }
+                               builder.end_array ();
+                               Json.Generator generator = new Json.Generator ();
+                               Json.Node root = builder.get_root ();
+                               generator.set_root (root);
+                               generator.pretty=  true;
+                               generator.ident = 2;
+                               generator.to_file(cacheFile);
+            
+             
+                
+    //         }
+        }
+        
+        
+        
+        Parser.finish();
+    }
+    
+     */
+       string tempdir;
+        
+               void publish() 
+               {
+                   GLib.debug("Publishing");
+                    
+                   // link!!!
+                   this.tempdir = GLib.DirUtils.make_tmp("roopackerXXXXXX");
+                   
+                   GLib.debug("Making directories");
+                   if (!FileUtils.test (PackerRun.singleton().opt_doc_target,FileTest.IS_DIR )) {
+                       Posix.mkdir(PackerRun.singleton().opt_doc_target,0755);
+                   }
+                   if (!FileUtils.test(PackerRun.singleton().opt_doc_target+"/symbols",FileTest.IS_DIR)) {
+                       Posix.mkdir(PackerRun.singleton().opt_doc_target+"/symbols",0755);
+                   }
+                   if (!FileUtils.test(PackerRun.singleton().opt_doc_target+"/src",FileTest.IS_DIR)) {
+                       Posix.mkdir(PackerRun.singleton().opt_doc_target+"/src",0755);
+                   }
+                   if (!FileUtils.test(PackerRun.singleton().opt_doc_target +"/json",FileTest.IS_DIR)) {
+                       Posix.mkdir(PackerRun.singleton().opt_doc_target +"/json",0755);
+                   }
+                   
+                   GLib.debug("Copying files from static: %s " , PackerRun.singleton().opt_doc_template_dir);
+                   // copy everything in 'static' into 
+                   
+                   if (PackerRun.singleton().opt_doc_template_dir  != null) {
+                               
+                               var iter = GLib.File.new_for_path(
+                                               PackerRun.singleton().opt_doc_template_dir + "/static"
+                                       ).enumerate_children (
+                                       "standard::*",
+                                       FileQueryInfoFlags.NOFOLLOW_SYMLINKS, 
+                                       null);
+                               FileInfo info;
+                               
+                               while ( (info = iter.next_file (null)) != null) {
+                                       if (info.get_file_type () == FileType.DIRECTORY) {
+                                               continue;
+                                       } 
+                                       var src = File.new_for_path(info.get_name());
+                                   GLib.debug("Copy %s to %s/%s" ,
+                                        info.get_name() ,
+                                         PackerRun.singleton().opt_doc_target , src.get_basename());                   
+                               
+                                       src.copy(
+                                               GLib.File.new_for_path(
+                                                       PackerRun.singleton().opt_doc_target + "/" + src.get_basename()
+                                               ),
+                                               GLib.FileCopyFlags.OVERWRITE
+                                       );
+                               }
+               
+                       }                   
+                   GLib.debug("Setting up templates");
+                    
+                   
+                   
+                   var symbols = this.symbolSet.values();
+                   
+                   var files = this.packer.files;
+                   
+                   for (var i = 0, l = files.size; i < l; i++) {
+                       var file = files.get(i);
+                      // var targetDir = PackerRun.singleton().opt_doc_target + "/symbols/src/";
+                       this.makeSrcFile(file);
+                   }
+                   //print(JSON.stringify(symbols,null,4));
+                   var classes = new Gee.ArrayList<Symbol>();
+                   
+                   foreach(var symbol in symbols) {
+                               if (symbol.isaClass()) { 
+                                       classes.add(symbol);
+                               }
+                   }    
+                   classes.sort( (a,b) => {
+                               return a.alias.collate(b.alias); 
+                       });
+                    
+                    //GLib.debug("classTemplate Process : all classes");
+                       
+                  // var classesIndex = classesTemplate.process(classes); // kept in memory
+                   
+                   GLib.debug("iterate classes");
+                  
+                   var jsonAll = new Json.Object(); 
+                   
+                   for (var i = 0, l = classes.size; i < l; i++) {
+                       var symbol = classes.get(i);
+                       var output = "";
+                       
+                       GLib.debug("classTemplate Process : %s" , symbol.alias);
+                       
+                       
+                       var   class_gen = new Json.Generator ();
+                           var  class_root = new Json.Node(Json.NodeType.OBJECT);
+                               class_root.init_object(this.class_to_json(symbol));
+                               class_gen.set_root (class_root);
+                               class_gen.pretty=  true;
+                               class_gen.indent = 2;
+                               GLib.warning("writing JSON:  %s", PackerRun.singleton().opt_doc_target+"/symbols/" +symbol.alias+".json");
+                               this.writeJson(class_gen, PackerRun.singleton().opt_doc_target+"/symbols/" +symbol.alias+".json");
+                       
+                       jsonAll.set_object_member(symbol.alias,  this.publishJSON(symbol));
+
+                   }
+                   
+                   // outptu class truee
+                   
+                   var   class_tree_gen = new Json.Generator ();
+           var  class_tree_root = new Json.Node(Json.NodeType.ARRAY);
+                       class_tree_root.init_array(this.class_tree(classes));
+                       class_tree_gen.set_root (class_tree_root);
+                       class_tree_gen.pretty=  true;
+                       class_tree_gen.indent = 2;
+                       GLib.warning("writing JSON:  %s", PackerRun.singleton().opt_doc_target+"/tree.json");
+                       this.writeJson(class_tree_gen,PackerRun.singleton().opt_doc_target+"/tree.json");
+                       size_t class_tree_l;
+                       //GLib.debug("JSON: %s", class_tree_gen.to_data(out class_tree_l));
+                   
+                   
+                   
+                   /*---- this is our 'builder' json file.. -- a full list of objects+functions */
+                   
+                   
+                   var   generator = new Json.Generator ();
+           var  root = new Json.Node(Json.NodeType.OBJECT);
+                       root.init_object(jsonAll);
+                       generator.set_root (root);
+                       generator.pretty=  true;
+                       generator.indent = 2;
+                       GLib.warning("writing JSON:  %s", PackerRun.singleton().opt_doc_target+"/json/roodata.json");
+                       
+                       
+                       this.writeJson(generator,PackerRun.singleton().opt_doc_target+"/json/roodata.json");
+                       size_t l;
+                       //GLib.debug("JSON: %s", generator.to_data(out l));
+                   
+                   
+                    
+                   
+                   GLib.debug("build index");
+                  
+                   
+                   
+               }
+               
+               Json.Object class_to_json (Symbol cls)
+               {
+                       var ret = new Json.Object();
+                       ret.set_string_member("name", cls.alias);
+                       var ag = new Json.Array();
+                       ret.set_array_member("augments", ag);                   
+                       for(var ii = 0, il = cls.augments.size; ii < il; ii++) {
+                  var contributer = this.symbolSet.getSymbol(cls.augments[ii]);
+                  if (contributer == null) {
+                       continue;
+                       }
+                  ag.add_string_element(contributer.alias);
+            }
+            ret.set_string_member("name", cls.alias);  
+            ret.set_string_member("desc", cls.desc);
+               ret.set_boolean_member("isSingleton", cls.comment.getTag(DocTagTitle.SINGLETON).size > 0);
+               ret.set_boolean_member("isStatic", cls.isa != "CONSTRUCTOR");
+               ret.set_boolean_member("isBuiltin", cls.isBuiltin());
+               
+               // needded so that the class can fake a ctor..
+            ret.set_string_member("memberOf", cls.name);
+                       ret.set_string_member("example", cls.comment.getTagAsString(DocTagTitle.EXAMPLE));
+                   ret.set_string_member("deprecated", // as depricated is used as a flag...
+                                       cls.comment.getTag(DocTagTitle.DEPRECATED).size > 0 ? 
+                                       "This has been deprecated: "+  cls.comment.getTagAsString(DocTagTitle.DEPRECATED) : 
+                               "");
+               ret.set_string_member("since", cls.comment.getTagAsString(DocTagTitle.SINCE));
+               ret.set_string_member("see", cls.comment.getTagAsString(DocTagTitle.SINCE));
+                       // not supported or used yet?
+                       //add.set_string_member("exceptions", m.comment.getTagAsString(DocTagTitle.EXCEPTIONS));
+                       //add.set_string_member("requires", m.comment.getTagAsString(DocTagTitle.REQUIRES));
+               ret.set_array_member("params", cls.paramsToJson());
+               ret.set_array_member("returns", new Json.Array()); 
+                               
+                       //ret.set_string_member("desc", cls.comment.getTagAsString(DocTagTitle.DESC));
+               /// fixme - @see ... any others..
+                       
+                       var props = new Json.Array(); 
+                       ret.set_array_member("config", props);
+                       var cfgProperties = cls.configToArray();
+                       for(var i =0; i < cfgProperties.size;i++) {
+                       var p = cfgProperties.get(i);
+                       var add = new Json.Object();
+                       add.set_string_member("name",p.name);
+                       add.set_string_member("type",p.type);
+                       add.set_string_member("desc",p.desc);
+                       add.set_string_member("memberOf",  p.memberOf);
+                       add.set_array_member("values",p.optvalues.size > 0 ? p.optvalue_as_json_array() : new Json.Array());
+                       props.add_object_element(add );
+                   }
+                    
+                   // methods
+
+                        
+                       var methods = new Json.Array();
+                       ret.set_array_member("methods", methods);                    
+                   foreach(var m in cls.methods) {
+                       if (m.isEvent || m.isIgnored) {
+                               continue;
+                       }
+                       
+                       var add = new Json.Object();
+                       add.set_string_member("name",m.name);
+                       //add.set_string_member("type","function");
+                       add.set_string_member("desc",m.desc);
+                       //add.set_string_member("sig", m.makeMethodSkel());
+                       add.set_boolean_member("isStatic", m.isStatic);
+                       add.set_boolean_member("isConstructor", m.isa == "CONSTRUCTOR");
+                       add.set_boolean_member("isPrivate", m.isPrivate);
+                       //add.set_string_member("instanceOf", m.comment.getTagAsString(DocTagTitle.INSTANCEOF));
+                       add.set_string_member("memberOf", m.memberOf);
+                       add.set_string_member("example", m.comment.getTagAsString(DocTagTitle.EXAMPLE));
+                       add.set_string_member("deprecated", // as depricated is used as a flag...
+                                       m.comment.getTag(DocTagTitle.DEPRECATED).size > 0 ? 
+                                       "This has been deprecated: "+  m.comment.getTagAsString(DocTagTitle.DEPRECATED) : 
+                                       "");
+                       add.set_string_member("since", m.comment.getTagAsString(DocTagTitle.SINCE));
+                       add.set_string_member("see", m.comment.getTagAsString(DocTagTitle.SINCE));
+                       // not supported or used yet?
+                       //add.set_string_member("exceptions", m.comment.getTagAsString(DocTagTitle.EXCEPTIONS));
+                       //add.set_string_member("requires", m.comment.getTagAsString(DocTagTitle.REQUIRES));
+                       add.set_array_member("params", m.paramsToJson());
+                       add.set_array_member("returns", m.returnsToJson());
+                       
+                       /// fixme - @see ... any others..
+                         
+                       
+                       methods.add_object_element(add);
+                   }
+                   
+                   
+                       var events = new Json.Array();
+                       ret.set_array_member("events", events);              
+                   foreach(var m in cls.methods) {
+                       if (!m.isEvent || m.isIgnored) {
+                               continue;
+                       }
+                       
+                       var add = new Json.Object();
+                       add.set_string_member("name",m.name.substring(1)); // all prefixed with '*'...
+                       //add.set_string_member("type","function");
+                       add.set_string_member("desc",m.desc);
+                       //add.set_string_member("sig", m.makeMethodSkel());
+
+                       add.set_string_member("memberOf", m.memberOf);
+                       add.set_string_member("example", m.comment.getTagAsString(DocTagTitle.EXAMPLE));
+                       add.set_string_member("deprecated", // as depricated is used as a flag...
+                                       m.comment.getTag(DocTagTitle.DEPRECATED).size > 0 ? 
+                                       "This has been deprecated: "+  m.comment.getTagAsString(DocTagTitle.DEPRECATED) : 
+                                       "");
+                       add.set_string_member("since", m.comment.getTagAsString(DocTagTitle.SINCE));
+                       add.set_string_member("see", m.comment.getTagAsString(DocTagTitle.SINCE));
+                       // not supported or used yet?
+                       //add.set_string_member("exceptions", m.comment.getTagAsString(DocTagTitle.EXCEPTIONS));
+                       //add.set_string_member("requires", m.comment.getTagAsString(DocTagTitle.REQUIRES));
+                       
+                       add.set_array_member("params", m.paramsToJson());
+                       add.set_array_member("returns", m.returnsToJson());
+                       
+                       /// fixme - @see ... any others..
+                         
+                       
+                       events.add_object_element(add);
+                   }
+                   
+                       
+                       
+               
+                       return ret;
+               }
+               /**
+               * needed as Json dumps .xXXX into same directory as it writes...
+               */
+               void writeJson(Json.Generator g, string fname)
+               {
+                               var tmp = this.tempdir + GLib.Path.get_basename(fname);
+                               g.to_file(tmp);
+                               
+                               if (GLib.FileUtils.test(fname, GLib.FileTest.EXISTS)) {
+                                       string new_data, old_data;
+                                       FileUtils.get_contents(tmp, out new_data);
+                                       FileUtils.get_contents(fname, out old_data);
+                                       if (old_data == new_data) {
+                                               GLib.File.new_for_path(tmp).delete();
+                                               return;
+                                       }
+                          }
+                               
+                       GLib.File.new_for_path(tmp).move( File.new_for_path(fname), GLib.FileCopyFlags.OVERWRITE);
+                     
+               }
+               
+               /**
+                * JSON files are lookup files for the documentation
+                * - can be used by IDE's or AJAX based doc tools
+                * 
+                * 
+                */
+               Json.Object publishJSON (Symbol data)
+               {
+                   // what we need to output to be usefull...
+                   // a) props..
+                   var cfgProperties = new Gee.ArrayList<DocTag>();
+                   if (data.comment.getTag(DocTagTitle.SINGLETON).size < 1) {
+                        cfgProperties = data.configToArray();
+                        cfgProperties.sort((a,b) =>{
+                               return a.name.collate(b.name);
+                       }); 
+                       
+                   } 
+                   
+                   var props = new Json.Array(); 
+                   //println(cfgProperties.toSource());
+                   
+                   for(var i =0; i < cfgProperties.size;i++) {
+                       var p = cfgProperties.get(i);
+                       var add = new Json.Object();
+                       add.set_string_member("name",p.name);
+                       add.set_string_member("type",p.type);
+                       add.set_string_member("desc",p.desc);
+                       add.set_string_member("memberOf", p.memberOf == data.alias ? "" : p.memberOf);
+                           
+                       if (p.optvalues.size > 0) {
+                               add.set_array_member("desc",p.optvalue_as_json_array());
+                       }
+                       
+                       props.add_object_element(add );
+                   }
+                   
+                   ///// --- events
+                   var ownEvents = new Gee.ArrayList<Symbol>();
+                   for(var i =0; i < data.methods.size;i++) {
+                               var e = data.methods.get(i);
+                               if (e.isEvent && !e.isIgnored) {
+                                       ownEvents.add(e);
+                               }
+                       }; 
+                       ownEvents.sort((a,b) => {
+                               return a.name.collate(b.name);
+                       });
+                   
+                   var events = new Json.Array();
+                    
+                   for(var i =0; i < ownEvents.size;i++) {
+                       var m = ownEvents.get(i);
+                       var add = new Json.Object();
+                       add.set_string_member("name",m.name.substring(1,-1)); // remove'*' on events..
+                       add.set_string_member("type","function");
+                       add.set_string_member("desc",m.desc);
+                       add.set_string_member("sig", m.makeFuncSkel());
+                       add.set_string_member("memberOf", m.memberOf == data.alias ? "" : m.memberOf);                  
+                       events.add_object_element(add);
+                   } 
+                    
+                   // methods
+                   var ownMethods = new Gee.ArrayList<Symbol>();
+                   for(var i =0; i < data.methods.size;i++) {
+                               var e = data.methods.get(i);
+                               if (!e.isEvent && !e.isIgnored) {
+                                       ownMethods.add(e);
+                               }
+                       };
+                       ownMethods.sort((a,b) => {
+                               return a.name.collate(b.name);
+                       });
+                   
+                       var methods = new Json.Array();
+                    
+                   for(var i =0; i < ownMethods.size;i++) {
+                       var m = ownMethods.get(i);
+                       var add = new Json.Object();
+                       add.set_string_member("name",m.name);
+                       add.set_string_member("type","function");
+                       add.set_string_member("desc",m.desc);
+                       add.set_string_member("sig", m.makeMethodSkel());
+                       add.set_boolean_member("static", m.isStatic);
+                       add.set_string_member("memberOf", m.memberOf == data.alias ? "" : m.memberOf);  
+                       methods.add_object_element(add);
+                   }
+                    
+                   //println(props.toSource());
+                   // we need to output:
+                   //classname => {
+                   //    propname => 
+                   //        type=>
+                   //        desc=>
+                   //    }
+                       var ret =  new Json.Object();
+                       ret.set_array_member("props", props);
+                       ret.set_array_member("events", events);
+                       ret.set_array_member("methods", methods);
+               
+                   return ret;
+                   
+                   
+                   // b) methods
+                   // c) events
+                   
+                   
+               }
+               Gee.HashMap<string,Json.Object> class_tree_map;
+               Json.Array class_tree_top;
+               
+               Json.Object? class_tree_new_obj(string name, bool is_class, out bool is_new) 
+               {
+               if (this.class_tree_map.has_key(name)) {
+                       var ret = this.class_tree_map.get(name);
+                       if (!ret.get_boolean_member("is_class") && is_class) {
+                               ret.set_boolean_member("is_class", is_class);
+                       }
+                       is_new = false;
+                       return ret; // no need to do anything
+               
+               }
+               
+               GLib.debug("Class Tree: new object %s", name);
+               var add =  new Json.Object();
+               add.set_string_member("name", name);
+               add.set_array_member("cn", new Json.Array());
+               add.set_boolean_member("is_class", is_class);
+               this.class_tree_map.set(name, add);
+               var bits = name.split(".");
+               if (bits.length == 1) {
+                       // top level..
+                       this.class_tree_top.add_object_element(add);
+                        
+               } 
+               is_new = true;
+               
+                       return add;
+               
+               }
+               
+               void class_tree_make_parents(  Json.Object add)
+               {
+                       var name = add.get_string_member("name");
+                       var bits = name.split(".");
+               if (bits.length < 2) {
+                       return;
+               }
+               // got aaa.bb or aaa.bb.cc
+               // find the parent..
+               string[] nn = {};
+               for(var i=0; i < bits.length-1; i++) {
+                       nn += bits[i];
+               }
+               var pname = string.joinv(".", nn);
+               GLib.debug("Class Tree: adding to parent %s => %s", name, pname); 
+                        
+                       // no parent found.. make one..
+                       bool is_new;
+                       var parent = this.class_tree_new_obj(pname, false, out is_new); 
+                       parent.get_array_member("cn").add_object_element(add);
+                       if (is_new) {
+                               this.class_tree_make_parents(  parent);
+                       }
+               
+               
+               }
+               Json.Array class_tree (Gee.ArrayList<Symbol> classes )
+               {
+               
+               
+                   // produce a tree array that can be used to render the navigation.
+                   /*
+                   should produce:
+                   
+                   [
+                       {
+                               name : Roo,
+                               desc : ....
+                               is_class : true,
+                               cn : [
+                                       {
+                                               name : 'Roo.util',
+                                               basename : 'util',
+                                               is_class : false,
+                                               cn : [
+                                                       {
+                                                               ....
+                   
+                   to do this, we will need to create the objects in a hashmap
+                   Roo.util => Json.Object
+                   
+                   */
+                   this.class_tree_top = new Json.Array();
+                   this.class_tree_map = new Gee.HashMap<string,Json.Object>();
+                   foreach (var cls in classes) {
+                       if(cls.alias.length < 1 || cls.alias == "this" || cls.alias == "_global_") {
+                               continue;
+                       }
+                       bool is_new;
+                       var add =  this.class_tree_new_obj(cls.alias, cls.methods.size > 0 ? true : false,out is_new);
+                               if (add != null) {
+                                       this.class_tree_make_parents( add);
+                               }
+                       
+                   }
+                   
+                    return this.class_tree_top;
+                   
+               }
+               
+               
+               // in Link (js) ???
+               string srcFileRelName(string sourceFile)
+               {
+                       var rp = Posix.realpath(sourceFile);
+                       return rp.substring(PackerRun.singleton().opt_real_basedir.length);
+               }
+               string srcFileFlatName(string sourceFile)
+               {
+                   var name = this.srcFileRelName(sourceFile);
+                   name = /\.\.?[\/]/.replace(name, name.length, 0, "");
+                   name = name.replace("/", "_").replace(":", "_") + ".html";
+                   return name;
+               }
+               
+               
+               void makeSrcFile(string sourceFile) 
+               {
+                   // this stuff works...
+                   
+                  
+                   
+                       // this check does not appear to work according to the doc's - need to check it out.
+              
+                 
+                   var name = this.srcFileFlatName(sourceFile);
+                   
+                   GLib.debug("Write Source file : %s/src/%s", 
+               PackerRun.singleton().opt_doc_target, name);
+               var str = "";
+               FileUtils.get_contents(sourceFile, out str);
+                   var pretty = PrettyPrint.toPretty(str); 
+                    var fname = PackerRun.singleton().opt_doc_target+"/src/" + name;
+                   
+                   var tmp = this.tempdir + GLib.Path.get_basename(fname);
+                   FileUtils.set_contents(
+                       tmp, 
+                       "<html><head>" +
+                       "<title>" + this.srcFileRelName(sourceFile) + "</title>" +
+                       "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/highlight-js.css\"/>" + 
+                       "</head><body class=\"highlightpage\">" +
+                       pretty +
+                       "</body></html>");
+                       
+                   // same content?
+                    if (GLib.FileUtils.test(fname, GLib.FileTest.EXISTS)) {
+                               string new_data, old_data;
+                               FileUtils.get_contents(tmp, out new_data);
+                               FileUtils.get_contents(fname, out old_data);
+                               if (old_data == new_data) {
+                                       GLib.File.new_for_path(tmp).delete();
+                                       return;
+                               }
+                    }
+                       
+               GLib.File.new_for_path(tmp).move( File.new_for_path(fname), GLib.FileCopyFlags.OVERWRITE);
+                     
+                   
+                   
+
+               }
+       }
+                
+}
+  
+
+
+
+
+
+
+
+
+
diff --git a/roojspacker/DocComment.vala b/roojspacker/DocComment.vala
new file mode 100644 (file)
index 0000000..e89ae76
--- /dev/null
@@ -0,0 +1,199 @@
+/**
+ * Create a new DocComment. This takes a raw documentation comment,
+ * and wraps it in useful accessors.
+ * @class Represents a documentation comment object.
+ * 
+ */ 
+namespace JSDOC 
+{
+       public class DocComment : Object
+       {
+               public bool isUserComment  = true;
+               public bool hasTags             = false;
+               public string src          = "";
+               //string meta       =  "";
+               //Gee.ArrayList<string> tagTexts;
+               public Gee.ArrayList<DocTag>    tags;
+       
+               static GLib.Regex has_tag_regex;
+               static GLib.Regex tag_regex;
+               static GLib.Regex comment_line_start_regex;
+               static GLib.Regex comment_line_start_white_space_regex;
+               static GLib.Regex comment_needs_desc_regex;
+                /**
+                * Used to store the currently shared tag text.
+                * not sure where we use this yet..
+                * but i think it's related to merging multiple comments together...
+                */
+
+               public static string    shared = "";
+               
+               static bool done_init = false;
+       
+               static void initRegex()
+               {
+                       if (DocComment.done_init) {
+                               return;
+                       }
+                       DocComment.has_tag_regex = new GLib.Regex("^\\s*@\\s*\\S+"); // multiline?
+
+                       DocComment.tag_regex = new GLib.Regex("(^|[\\r\\n])\\s*@"); // empty line, then @ or starting with @?
+                       
+
+                       DocComment.comment_line_start_regex = new GLib.Regex("(^\\/\\*\\*|\\*\\/$)");
+                       DocComment.comment_line_start_white_space_regex = new GLib.Regex("\\s*\\* ?");
+                       DocComment.comment_needs_desc_regex = new GLib.Regex("\\s*@(class|event|property)");
+                       
+                       DocComment.done_init = true;
+               }
+        
+               public DocComment (string comment = "") 
+               {
+                   
+                   DocComment.initRegex();
+                    
+                   GLib.debug("parse comment : %s", comment);
+                   this.tags          = new Gee.ArrayList<DocTag>();
+
+                   
+                
+               if (comment.strip() == "") {
+                   comment = "/** @desc */";
+                   this.isUserComment = false;
+               }
+               
+               this.src = DocComment.unwrapComment(comment);
+               
+               //println(this.src);
+               
+               // looks like #+ support???
+               /*
+               this.meta = "";
+               if (this.src.indexOf("#") == 0) {
+                   this.src.match(/#(.+[+-])([\s\S]*)$/);
+                   if (RegExp.$1) this.meta = RegExp.$1;
+                   if (RegExp.$2) this.src = RegExp.$2;
+               }
+               */
+               this.hasTags = /^\s*@\s*\S+/.match(this.src);
+
+               this.fixDesc();
+               
+               //if (typeof JSDOC.PluginManager != "undefined") {
+               //    JSDOC.PluginManager.run("onDocCommentSrc", this);
+               //}
+               
+               this.src = DocComment.shared+"\n"+this.src;
+
+                       //var tagTexts      = new Gee.ArrayList<string>();
+               
+               var bits = /(^|[\r\n])\s*@/.split(this.src);
+                       for(int i=0; i<bits.length; i++) {
+                               var sa = bits[i];
+                               if (sa.strip().length >0) {
+                                       this.tags.add(new DocTag(sa));
+                                       // tagTexts.add(sa); // ?? strip again?
+                               }
+                       }
+                       
+                                       
+               
+           }
+               
+                  
+                   
+               /**
+                * Remove slash-star comment wrapper from a raw comment string.
+                *  @type String
+                */
+               public static string  unwrapComment( string comment) 
+               {
+                    if (comment.length < 1) {
+                                return "";
+                        }
+                        
+                        var ret = /^\/\*\*|\*\/$/.replace(
+                                       comment, comment.length, 0, "", 0 ); //GLib.RegexMatchFlags.NEWLINE_ANYCRLF );
+                        
+                        ret = /(^|[\r\n])\s*\* ?/.replace(ret, ret.length, 0, "\n"  ); //);
+                    
+                   return ret.strip();
+                }
+           /**
+               If no @desc tag is provided, this function will add it.
+            */
+           void fixDesc() 
+           {
+               //if (this.meta && this.meta != "@+") return;
+               
+               
+               
+               // does not have any @ lines..
+               // -- skip comments without @!!
+               if (!this.hasTags) {
+                   this.src = "@desc "+ this.src;
+                   // TAGS that are not \n prefixed!! ...
+                   // does not make sense....???
+                   //this.src = this.src.replace(/@\s*type/g, '\n@type'); 
+               
+                   return;
+               }
+               // kdludge for stuff...
+               //this.src = this.src.replace(/@\s*type/g, '\n@type'); 
+               
+               // only apply @desc fix to classes..
+               if (!DocComment.comment_needs_desc_regex.match(this.src,GLib.RegexMatchFlags.NEWLINE_ANYCRLF) ) {
+                   return;
+               }
+               // if no desc - add it on the first line that is not a @
+               var lines = this.src.split("\n");
+               var nsrc = "";
+               var gotf = false;
+               
+               for(var i =0; i < lines.length;i++) {
+                   var line = lines[i];
+                   if (gotf) {
+                       nsrc += line + "\n";
+                       continue;
+                   }
+                   if (DocComment.has_tag_regex.match(line)) { // line with @
+                       nsrc += line + "\n";
+                       continue;
+                   }
+                   gotf = true;
+                   nsrc += "@desc " + line + "\n";
+                   
+               }
+                
+               this.src = nsrc;
+               
+                
+               
+           }
+                 
+                
+           public Gee.ArrayList<DocTag> getTag ( DocTagTitle tagTitle) {
+                       var ret = new Gee.ArrayList<DocTag>();
+               foreach(var tag in this.tags) {
+                       if (tag.title == tagTitle) {
+                               ret.add(tag);
+                       }
+                       }
+                       return ret;
+           }
+            public string getTagAsString ( DocTagTitle tagTitle) {
+                       string[] ret =  {};
+               foreach(var tag in this.tags) {
+                       if (tag.title == tagTitle) {
+                               ret += tag.desc;
+                       }
+                       }
+                       return string.joinv("\n", ret);
+           }   
+       }
+}
+
diff --git a/roojspacker/DocParser.vala b/roojspacker/DocParser.vala
new file mode 100644 (file)
index 0000000..ccfcc86
--- /dev/null
@@ -0,0 +1,183 @@
+
+namespace JSDOC
+{
+       public class DocParser : Object 
+       {
+               // options - should they bee in PackerRun?
+               static bool ignoreAnonymous =            true; 
+               static bool treatUnderscoredAsPrivate = true;
+               static bool explain=             false;
+               
+               static bool has_init = false;
+               static Walker walker ;
+           private static SymbolSet? _symbols = null;
+           
+           public static SymbolSet symbols() {
+               if (DocParser._symbols == null) {
+                               GLib.debug("init symbols?");
+                               DocParser._symbols = new  SymbolSet();
+                               //DocParser._symbols.ref(); // not sure why, by symbols keeps getting blanked.?
+                       }
+               return DocParser._symbols;
+           }
+           static Gee.HashMap<string,SymbolSet>? _filesSymbols = null;
+           
+           static Gee.HashMap<string,SymbolSet> filesSymbols() 
+           {
+               if (DocParser._filesSymbols == null) {
+                               GLib.debug("init _filesSymbols?");
+                               DocParser._filesSymbols = new     Gee.HashMap<string,SymbolSet>();
+                       }
+               return DocParser._filesSymbols;
+               
+           }
+                   
+           public static string currentSourceFile;
+    
+
+               
+                
+               
+               
+               public static void parse(TokenStream ts, string srcFile) 
+               {
+                   DocParser.currentSourceFile = srcFile;
+                   // not a nice way to set stuff...
+                  
+                   DocComment.shared = ""; // shared comments don't cross file boundaries
+                    
+                   DocParser.filesSymbols().set(srcFile, new SymbolSet());
+                   
+                   //Options.LOG.inform("Parser - run walker");
+                   walker = new  Walker(ts);
+                   walker.buildSymbolTree();
+                    
+                   
+                   
+                   //this.walker.walk(ts); // adds to our symbols
+                  // throw "done sym tree";
+                   //Options.LOG.inform("Parser - checking symbols");
+                   // filter symbols by option 
+                   foreach (var p in DocParser.symbols().keys()) {
+                       var symbol = DocParser.symbols().getSymbol(p);
+                       
+                      // print(JSON.stringify(symbol, null,4));
+                       
+                       if (symbol == null) continue;
+                       
+                       if (symbol.isPrivate) {
+                           DocParser.symbols().deleteSymbol(symbol.alias);
+                           DocParser.filesSymbols().get(srcFile).deleteSymbol(symbol.alias);
+                           continue;
+                       }
+                        
+                       if (symbol.is("FILE") || symbol.is("GLOBAL")) {
+                           continue;
+                       }
+                      
+                       
+                       if (symbol.alias.substring(symbol.alias.length-1) == "#") { // we don't document prototypes - this should not happen..
+                           
+                           print("Deleting Symbols (alias ends in #): " + symbol.alias);
+                           
+                           DocParser.symbols().deleteSymbol(symbol.alias);
+                           DocParser.filesSymbols().get(srcFile).deleteSymbol(symbol.alias);
+                       
+                       }
+                   }
+                   //print(prettyDump(toQDump(this.filesSymbols[Symbol.srcFile]._index,'{','}')));
+                   //print("AfterParse: " + this.symbols.keys().toSource().split(",").join(",\n   "));
+                   return; //this.symbols.toArray();
+               }
+
+       
+               public static void addSymbol(Symbol symbol) 
+               {
+                   //print("PARSER addSYMBOL : " + symbol.alias);
+                   
+                       // if a symbol alias is documented more than once the last one with the user docs wins
+                       if (DocParser.symbols().hasSymbol(symbol.alias)) {
+                               var oldSymbol = DocParser.symbols().getSymbol(symbol.alias);
+                        
+                               if (oldSymbol.comment.isUserComment && !oldSymbol.comment.hasTags) {
+                                       if (symbol.comment.isUserComment) { // old and new are both documented
+                                               GLib.debug("The symbol '%s' is documented more than once.",symbol.alias);
+                                               // we use the new one???
+                                       } else { // old is documented but new isn't
+                                               return;
+                                       }
+                               }
+                       }
+               
+                       // we don't document anonymous things
+                       if (DocParser.ignoreAnonymous && symbol.name.index_of("$anonymous\b") > -1) {
+                                return;
+                       }
+
+                       // uderscored things may be treated as if they were marked private, this cascades
+                       //if (DocParser.treatUnderscoredAsPrivate && symbol.name.match(/[.#-]_[^.#-]+$/)) {
+                       //      symbol.isPrivate = true;
+                       //}
+                
+                       // -p flag is required to document private things
+                       if ((symbol.isInner || symbol.isPrivate) && !PackerRun.singleton().opt_doc_include_private) {
+                                return;
+                       }
+               
+                       // ignored things are not documented, this doesn't cascade
+                       if (symbol.isIgnored) {
+                               return;
+                       } 
+                   // add it to the file's list... (for dumping later..)
+                   if (DocParser.currentSourceFile != null) {
+                       DocParser.filesSymbols().get(DocParser.currentSourceFile).addSymbol(symbol);
+                   }
+                 
+                       DocParser.symbols().addSymbol(symbol);
+               }
+       
+               public static Symbol addBuiltin(string name) 
+               {
+                       var builtin = new Symbol.new_builtin(name);
+                   DocParser.addSymbol(builtin);
+                       return builtin;
+               }
+       
+               
+               public static  void finish() {
+                       
+
+                       DocParser.symbols().relate();           
+               
+                       // make a litle report about what was found
+                       /*
+                       if (this.conf.explain) {
+                               var symbols = this.symbols.toArray();
+                               var srcFile = "";
+                               for (var i = 0, l = symbols.length; i < l; i++) {
+                                       var symbol = symbols[i];
+                                       if (srcFile != symbol.srcFile) {
+                                               srcFile = symbol.srcFile;
+                                               print("\n"+srcFile+"\n-------------------");
+                                       }
+                                       print(i+":\n  alias => "+symbol.alias + "\n  name => "+symbol.name+ "\n  isa => "+symbol.isa + "\n  memberOf => " + symbol.memberOf + "\n  isStatic => " + symbol.isStatic + ",  isInner => " + symbol.isInner);
+                               }
+                               print("-------------------\n");
+                       }
+                       */
+               }
+               /**
+                * return symbols so they can be serialized.
+                */
+               SymbolSet symbolsToObject(string srcFile)
+               {
+
+                   return DocParser.filesSymbols().get(srcFile);
+
+               }
+
+       }
+}
\ No newline at end of file
diff --git a/roojspacker/DocTag.vala b/roojspacker/DocTag.vala
new file mode 100644 (file)
index 0000000..49545a6
--- /dev/null
@@ -0,0 +1,304 @@
+
+
+namespace JSDOC 
+{
+       public enum DocTagTitle
+       {
+               NO_VALUE,
+               PARAM,
+               PROPERTY,
+               CFG,
+               EXAMPLE,
+               SINGLETON,
+               AUTHOR,
+               METHOD,
+               DESC,
+               OVERVIEW,
+               SINCE,
+               CONSTANT,
+               VERSION,
+               DEPRECATED,
+               SEE,
+               CLASS,
+               NAMESPACE,
+               CONSTRUCTOR,
+               STATIC,
+               
+               INNER,
+               FIELD,
+               FUNCTION,
+               EVENT,
+               NAME,
+               RETURN,
+               THROWS,
+               REQUIRES,
+               TYPE,
+               PRIVATE,
+               IGNORE,
+               ARGUMENTS,
+               EXTENDS,
+               DEFAULT,
+               MEMBEROF,
+               PUBLIC,
+               SCOPE,
+               SCOPEALIAS
+  
+       }
+       
+       errordomain DocTagException {
+               NO_TITLE,
+               INVALID_TITLE,
+               INVALID_NAME,
+               INVALID_TYPE
+       }
+
+
+       public class DocTag : Object 
+       {
+
+               public DocTagTitle title = DocTagTitle.NO_VALUE;
+               public string type = "";  // eg.. boolean / string etc..., may be xxxx|bbbb - eg. optional types
+               public string name = ""; // eg. "title" << a property name etc...
+               public bool isOptional = false;
+               public string defaultValue = "";
+               public string desc = "";
+               public Gee.ArrayList<string> optvalues;
+               public string memberOf = ""; // set by add addMember..
+
+               public string asString()
+               {
+                       return "DocTag: title=%s name=%s type=%s  desc=%s".printf(
+                               this.title.to_string(),
+                               this.name,
+                               this.type,
+                               this.desc
+                       );
+               }
+       
+                        
+       
+       
+               public DocTag (string in_src)
+               {
+                   
+                   GLib.debug("Parsing Tag: %s", in_src);
+                   
+                    
+                   
+                   
+                   this.optvalues = new Gee.ArrayList<string>();
+                   
+                   var src = in_src;
+                       
+            try {
+                src = this.nibbleTitle(src);
+                
+                src = this.nibbleType(src);
+                
+
+                // only some tags are allowed to have names.
+                if (
+                       this.title == DocTagTitle.PARAM ||
+                       this.title == DocTagTitle.PROPERTY || 
+                       this.title == DocTagTitle.CFG) { // @config is deprecated
+                    src = this.nibbleName(src);
+                }
+            }
+            catch(DocTagException e) {
+                GLib.debug("Failed to parse tag: '%s' = error = %s", in_src, e.message);
+                // only throw if in 'strict'??
+                //throw e;
+                return;
+            }
+            
+            // if type == @cfg, and matches (|....|...)
+            
+            src = src.strip();
+            MatchInfo mi = null;
+            
+            if (this.title ==  DocTagTitle.CFG && /^\([^)]+\)/.match_all(src, 0, out mi )) {
+                               var ms = mi.fetch(0);
+                               if (ms.contains("|")) {
+                                       var ar = ms.split("|");
+                                       for (var i =0 ; i < ar.length;i++) {
+                                               optvalues.add(ar[i].strip());
+                                       }
+                                       src = src.substring(ms.length, src.length - ms.length);                   
+                    
+                } 
+                
+            }
+            
+            
+            this.desc = src; // whatever is left
+            
+            // example tags need to have whitespace preserved
+            if (this.title != DocTagTitle.EXAMPLE) {
+                       this.desc = this.desc.strip();
+               }
+            
+
+               
+       
+
+               }
+       
+       
+               /**
+                   Find and shift off the title of a tag.
+                   @param {string} src
+                   @return src
+                */
+               private string nibbleTitle (string src) throws DocTagException
+               {
+                   //GLib.debug("nibbleTitle: %s", src);
+                   MatchInfo mi;
+                    
+                   if(! /^\s*(\S+)\s*(?:\s([\s\S]*))?$/.match_full(src, src.length, 0, 0, out mi) || 
+                           mi.get_match_count() < 2)  {
+                               throw new DocTagException.NO_TITLE("missing title");
+                               return src;
+                   }
+                   
+                   //GLib.debug("nibbleTitle: regexmatches %d : %s",
+                   //           mi.get_match_count(), 
+                   //           mi.fetch(1).up());
+                   
+                   EnumClass enumc = (EnumClass) typeof (DocTagTitle).class_ref ();
+
+                   unowned EnumValue? eval = enumc.get_value_by_name ( "JSDOC_DOC_TAG_TITLE_"+  mi.fetch(1).up());
+                   if (eval == null) {
+                               throw new DocTagException.INVALID_TITLE("title not supported ??");
+                               return src;
+                   }
+                   this.title = (DocTagTitle) eval.value;
+                   return mi.get_match_count() > 2 ? mi.fetch(2) : "";
+
+               }
+                
+                 /**
+            Find and shift off the type of a tag.
+            @requires frame/String.js
+            @param {string} src
+            @return src
+         */
+       private string nibbleType(string src) 
+        {
+                   MatchInfo mi;
+            if(! /^\s*\{/.match_all(src, 0, out mi)) {
+                  return src;
+           }
+            int start;
+            int stop;
+              
+                       this.balance(src,'{', '}', out start, out stop);
+                       //GLib.debug("nibble type: %s %d, %d", src, start,stop);
+            if (stop == -1) {
+                throw new DocTagException.INVALID_TYPE("Malformed comment tag ignored. Tag type requires an opening { and a closing }: ") ;
+                return src;
+            }
+            this.type = src.substring(start+1,stop-1).strip();
+            this.type = this.type.replace(",", "|"); // multiples can be separated by , or |
+            return src.substring(stop+1, -1);
+            
+        }
+         
+         
+         
+        /**
+            Find and shift off the name of a tag.
+            @requires frame/String.js
+            @param {string} src
+            @return src
+         */
+               private string nibbleName( string in_src) throws DocTagException
+        {
+
+           
+            var src = in_src.strip();
+            //GLib.debug("nibbleName: %s", in_src);
+            
+            // is optional?
+            if (src.get(0) == '[') {
+                       int start, stop;
+                 this.balance(src,'[', ']', out start, out stop);
+                if (stop == -1) {
+                    throw new  DocTagException.INVALID_NAME("Malformed comment tag ignored. Tag optional name requires an opening [ and a closing ]: ");
+                    return src;
+                }
+                this.name = src.substring(start+1, stop).strip();
+                this.isOptional = true;
+                
+                src = src.substring(stop+1);
+                
+                // has default value?
+                var nameAndValue = this.name.split("=");
+                if (nameAndValue.length > 1) {
+                       var oname = this.name;
+                    this.name = nameAndValue[0].strip();
+
+                    this.defaultValue = oname.substring( nameAndValue[0].length + 1 , nameAndValue[0].length + 1 - oname.length); /// what about
+                }
+                GLib.debug("got name %s", this.name);                
+                return src.substring(stop+1, stop+1-src.length);
+            }
+                       // not encased with [ ]
+
+                   MatchInfo mi;
+
+            if (/^(\S+)(?:\s([\s\S]*))?$/.match_full(src, src.length, 0, 0,  out mi)) {
+                       this.name = mi.fetch(1);
+                       GLib.debug("got name %s", this.name);
+                               return mi.get_match_count() > 2 ? mi.fetch(2) : "";
+            }
+               
+
+            return src;
+        }
+         
+         
+        private void balance(string str, char open, char close, out int start, out int stop) {
+            start = 0;
+            stop  =-1;
+            while (str.get(start) != open) {
+                if (start == str.length) {
+                       return;
+                       }
+                start++;
+            }
+            
+            stop = start +1;
+            var balance = 1;
+            while (stop < str.length) {
+                if (str.get(stop) == open) balance++;
+                if (str.get(stop) == close) balance--;
+                if (balance == 0) break;
+                stop++;
+                if (stop == str.length) {
+                       stop = -1;
+                       return;
+                       }
+            }
+            
+
+               }
+               
+               public Json.Array optvalue_as_json_array()
+               {
+                       var ret = new Json.Array();
+                       foreach (var str in this.optvalues ) {
+                               ret.add_string_element(str);
+                       }
+                       return ret;
+                       
+                       
+               }
+               
+       }
+}
+       
+       
\ No newline at end of file
diff --git a/roojspacker/Identifier.vala b/roojspacker/Identifier.vala
new file mode 100644 (file)
index 0000000..b0584e2
--- /dev/null
@@ -0,0 +1,35 @@
+
+
+/**
+ * @class  Identifier
+ * holds details about identifiers and their replacement values
+ * used by the packer..
+ * 
+ */
+
+namespace JSDOC 
+{
+    public class  Identifier  : Object 
+    {
+               
+               public string name;
+               public int refcount = 1; // used?
+               public string mungedValue; // should be at least 1?!?!
+               public Scope scope ;  // script of fn scope..
+               public bool toMunge = true;
+       
+       
+
+               public  Identifier(string name, Scope scope) {
+                  // print("NEW IDENT: " + name);
+                       this.name = name;
+                       this.scope = scope;
+                       this.mungedValue = "";
+               //      this.identifiers = {}; <<< used where?
+       
+               }
+       }
+       
+}
+
diff --git a/roojspacker/Lang.vala b/roojspacker/Lang.vala
new file mode 100644 (file)
index 0000000..0161220
--- /dev/null
@@ -0,0 +1,308 @@
+//<script type="text/javscript">
+
+/**
+       @namespace
+*/
+// test
+// valac gitlive/app.Builder.js/JsRender/Lang.vala --pkg gee-1.0 -o /tmp/Lang ;/tmp/Lang
+
+/*
+void main () {
+    new JsRender.Lang_Class();
+    print(JsRender.Lang.keyword("delete") + "\n");
+}
+*/
+
+namespace JSDOC {
+
+       public errordomain LangError {
+            ArgumentError
+    }
+
+    public Lang_Class Lang = null;
+    
+    public class Lang_Class : Object {
+        
+        GLib.List<string> coreObjects;
+        Gee.HashMap<string,string> whitespaceNames;
+        Gee.HashMap<string,string> newlineNames;
+        
+       
+        
+        public Lang_Class ()
+        {
+            if (Lang != null) {
+                //print("lang not null\n");
+                return;
+            }
+            //print("init\n");
+            this.init();
+            //print("init Lang");
+            Lang = this;
+            Lang.ref();
+            
+        }
+        
+        
+        public bool isBuiltin(string  name) {
+            return (this.coreObjects.index(name) > -1);
+        }
+        
+        public string whitespace (string ch) {
+            return this.whitespaceNames.get(ch);
+        }
+        public string  newline (string ch) {
+            return this.newlineNames.get(ch);
+        }
+        public TokenName keyword(string word) throws LangError {
+        
+               switch(word) {
+                           case "break": return TokenName.BREAK;
+                               case "case": return TokenName.CASE;
+                               case "catch": return TokenName.CATCH;
+                               case "const": return TokenName.VAR;
+                               case "continue": return TokenName.CONTINUE;
+                               case "default": return TokenName.DEFAULT;
+                               case "delete": return TokenName.DELETE;
+                               case "do": return TokenName.DO;
+                               case "else": return TokenName.ELSE;
+                               case "eval": return TokenName.EVAL;
+                               case "false": return TokenName.FALSE;
+                               case "finally": return TokenName.FINALLY;
+                               case "for": return TokenName.FOR;
+                               case "function": return TokenName.FUNCTION;
+                               case "if": return TokenName.IF;
+                               case "in": return TokenName.IN;
+                               case "instanceof": return TokenName.INSTANCEOF;
+                               case "new": return TokenName.NEW;
+                               case "null": return TokenName.NULL;
+                               case "return": return TokenName.RETURN;
+                               case "switch": return TokenName.SWITCH;
+                               case "this": return TokenName.THIS;
+                               case "throw": return TokenName.THROW;
+                               case "true": return TokenName.TRUE;
+                               case "try": return TokenName.TRY;
+                               case "typeof": return TokenName.TYPEOF;
+                               case "void": return TokenName.VOID;
+                               case "while": return TokenName.WHILE;
+                               case "with": return TokenName.WITH;
+                               case "var": return TokenName.VAR;
+                       
+                               default: 
+                                       throw new LangError.ArgumentError("invalid keyword : %s", word);
+                       }
+          
+        }
+        
+        public TokenName? matching(TokenName name) throws LangError
+        {
+        
+            
+            switch(name) {
+                               case TokenName.LEFT_PAREN: return TokenName.RIGHT_PAREN;
+                               case TokenName.RIGHT_PAREN: return TokenName.LEFT_PAREN;
+                               case TokenName.LEFT_CURLY: return TokenName.RIGHT_CURLY;
+                               case TokenName.RIGHT_CURLY: return TokenName.LEFT_CURLY;
+                               case TokenName.LEFT_BRACE: return TokenName.RIGHT_BRACE;
+                               case TokenName.RIGHT_BRACE: return TokenName.LEFT_BRACE;
+               default:
+                      throw new LangError.ArgumentError("invalid matching character : %s", name.to_string());
+                               
+                               return null;
+           };
+        
+            //return this.matchingNames.get(name);
+        }
+        
+        public bool isKeyword(string word) {
+                       try {
+                               var x = this.keyword(word);
+                               return true;
+            } catch (LangError e) {
+                       return false;
+               }
+        }
+        /*
+               public TokenName punc (string ch) throws LangError 
+               {
+                       var x = this.puncNull(ch);
+                       if (x == null) {
+                               throw new LangError.ArgumentError("invalid punctuation character : %s",ch);
+                       }
+                       return x;
+               
+        }
+        public bool isPunc(string ch) {
+               return this.puncNull(ch) != null;
+        }
+        */
+        public TokenName puncFirstString (char ch)
+        {
+        
+               switch(ch) {
+                               case ';': return TokenName.SEMICOLON;
+                               case ',': return TokenName.COMMA;
+                               case '?': return TokenName.HOOK;
+                               case ':': return TokenName.COLON;
+                               case '|': return TokenName.BITWISE_OR;                          
+                               case '^': return TokenName.BITWISE_XOR;
+                               case '&': return TokenName.BITWISE_AND;
+                               case '=': return TokenName.ASSIGN;
+                               case '<': return TokenName.LT;
+                               case '>': return TokenName.GT;
+                               case '+': return TokenName.PLUS;
+                               case '-': return TokenName.MINUS;
+                               case '*': return TokenName.MUL;
+                               case '/': return TokenName.DIV;
+                               case '%': return TokenName.MOD;
+                               case '!': return TokenName.NOT;
+                               case '~': return TokenName.BITWISE_NOT;
+                               case '0': return TokenName.DOT;
+                               case '[': return TokenName.LEFT_BRACE;
+                               case ']': return TokenName.RIGHT_BRACE;
+                               case '{': return TokenName.LEFT_CURLY;
+                               case '}': return TokenName.RIGHT_CURLY;
+                               case '(': return TokenName.LEFT_PAREN;
+                               case ')': return TokenName.RIGHT_PAREN;
+                       }
+                       return TokenName.UNKNOWN;
+               }
+        public TokenName puncString (string ch)
+        {
+        
+               switch(ch) {
+                                                               
+                               case "||": return TokenName.OR;
+                               case "&&": return TokenName.AND;
+                               case "==": return TokenName.EQ;
+                               case "!=": return TokenName.NE;
+                               case "<<": return TokenName.LSH;
+                               case "<=": return TokenName.LE;
+                               case ">>": return TokenName.RSH;
+                               case ">=": return TokenName.GE;
+                               case "++": return TokenName.INCREMENT;
+                               case "--": return TokenName.DECREMENT;
+                               
+                               
+                               case "===": return TokenName.STRICT_EQ;
+                               case "!==": return TokenName.STRICT_NE;
+                               case ">>>": return TokenName.URSH;
+                               
+                               
+                       default:
+                               return TokenName.UNKNOWN;
+                                
+                               
+                       }        
+         
+        }
+         
+        
+        
+        public bool isNumber (string str) {
+            return Regex.match_simple("^(\\.[0-9]|[0-9]+\\.|[0-9])[0-9]*([eE][+-]?[0-9]+)?$",str);
+        }
+    
+        public bool  isHexDec (string str) {
+            return Regex.match_simple("^0x[0-9A-Fa-f]+$",str);
+        }
+    
+        public bool isWordString (string str) {
+            return Regex.match_simple("^[a-zA-Z0-9$_.]+$", str);
+        }
+        public bool isWordChar (char  c) {
+               return 
+                       (c >= 'a' && c <= 'z')
+                       ||
+                       (c >= 'A' && c <= 'Z')
+                       ||
+                       (c >= '0' && c <= '9')
+                       ||
+                       c == '$' || c == '.' || c == '_' ;
+        }
+    
+        public bool isSpace (string str) {
+            return this.whitespaceNames.get(str) != null;
+        }
+           public bool isSpaceC (char str) {
+                       var s = str.to_string();
+            return this.whitespaceNames.get(s) != null;
+        }
+        
+        public bool isNewline (string str) {
+            return this.newlineNames.get(str) != null;
+               }          
+        public bool isNewlineC (char str) {
+               var s =str.to_string();
+            return this.newlineNames.get(s) != null;
+        }
+           public bool isBoolean (string str) {
+                       var ss = str.down();
+            return ss == "false" || ss == "true";
+        }
+        
+         
+        
+        void init() {
+            
+            this.coreObjects = new GLib.List<string>();
+            
+            this.whitespaceNames = new Gee.HashMap<string,string>();
+            this.newlineNames = new Gee.HashMap<string,string>();
+            
+            
+            
+            
+            
+            string[] co = { "_global_", "Array", "Boolean", "Date", "Error", 
+                "Function", "Math", "Number", "Object", "RegExp", "String" };
+            for(var i =0; i< co.length;i++ ) {
+                this.coreObjects.append(co[i]);
+                //this.match_strings.add(co[i]);
+            }
+            string[] ws =  {
+                " :SPACE",
+                "\f:FORMFEED",
+                "\t:TAB" //,
+              //  "\u0009:UNICODE_TAB",
+              //  "\u000A:UNICODE_NBR",
+              //  "\u0008:VERTICAL_TAB"
+            };
+            for(var i =0; i< ws.length;i++ ) {
+                var x = ws[i].split(":");
+                this.whitespaceNames.set(x[0],x[1]);
+            }
+            
+            ws = {
+                "\n:NEWLINE",
+                "\r:RETURN" //,
+    //            "\u000A:UNICODE_LF",
+      //          "\u000D:UNICODE_CR",
+        //        "\u2029:UNICODE_PS",
+          //      "\u2028:UNICODE_LS"
+            };
+            for(var i =0; i< ws.length;i++ ) {
+                var x = ws[i].split(":");
+                this.newlineNames.set(x[0],x[1]);
+            }
+            
+
+                // << was keywords here...
+                //this.match_strings.add(x[0].substring(1));
+            
+        
+      
+  
+        
+           
+           
+           
+           
+        }
+        
+        
+    }
+}
\ No newline at end of file
diff --git a/roojspacker/Packer.vala b/roojspacker/Packer.vala
new file mode 100644 (file)
index 0000000..de38574
--- /dev/null
@@ -0,0 +1,627 @@
+/**
+ * @namespace JSDOC
+ * @class  Packer
+ * Create a new packer
+ * 
+ * Use with pack.js 
+ * 
+ * 
+ * Usage:
+ * <code>
+ *
+var x = new  JSON.Packer(target, debugTarget);
+
+x.files = an array of files
+x.srcfiles = array of files (that list other files...) << not supported?
+x.target = "output.pathname.js"
+x.debugTarget = "output.pathname.debug.js"
+
+  
+    
+x.pack();  // writes files  etc..
+    
+ *</code> 
+ *
+ * Notes for improving compacting:
+ *  if you add a jsdoc comment 
+ * <code>
+ * /**
+ *   eval:var:avarname
+ *   eval:var:bvarname
+ *   ....
+ * </code>
+ * directly before an eval statement, it will compress all the code around the eval, 
+ * and not rename the variables 'avarname'
+ * 
+ * Dont try running this on a merged uncompressed large file - it's used to be horrifically slow. not sure about now..
+ * Best to use lot's of small classes, and use it to merge, as it will cache the compaction
+ * 
+ * 
+ * 
+ * Notes for translation
+ *  - translation relies on you using double quotes for strings if they need translating
+ *  - single quoted strings are ignored.
+ * 
+ * Generation of indexFiles
+ *   - translateIndex = the indexfile
+ * 
+ * 
+ * 
+ * 
+
+ */
+namespace JSDOC 
+{
+       public errordomain PackerError {
+            ArgumentError
+    }
+    
+    
+       public class Packer : Object 
+       {
+               /**
+               * @cfg {String} target to write files to - must be full path.
+               */
+               string target = "";
+               GLib.FileOutputStream targetStream = null;
+               /**
+                * @cfg {String} debugTarget target to write files debug version to (uncompacted)- must be full path.
+                */
+               string targetDebug = "";
+               
+
+               GLib.FileOutputStream targetDebugStream  = null;
+               /**
+                * @cfg {String} tmpDir  (optional) where to put the temporary files. 
+                *      if you set this, then files will not be cleaned up
+                *  
+                *  at present we need tmpfiles - as we compile multiple files into one.
+                *  we could do this in memory now, as I suspect vala will not be as bad as javascript for leakage...
+                *
+                */
+               //public string tmpDir = "/tmp";  // FIXME??? in ctor?
+       
+        
+                
+               // list of files to compile...
+               public Gee.ArrayList<string> files;
+               
+               /**
+               * @cfg activeFile ??? used???
+               */
+                
+               public string activeFile = "";
+                       
+               public  string outstr = ""; // if no target is specified - then this will contain the result
+               
+               public PackerRun config;
+               
+               public Packer(PackerRun config)
+               {
+                       this.config = config;
+#if HAVE_JSON_GLIB
+                       this.result = new Json.Object();
+#else
+                       this.result_count = new  Gee.HashMap <string,int>();
+               
+                       this.result =  new Gee.HashMap<
+                               string /* errtype*/ , Gee.HashMap<string /*fn*/,     Gee.HashMap<int /*line*/, Gee.ArrayList<string>>>
+                       >();
+       
+#endif                 
+                       this.files = new Gee.ArrayList<string>();
+                       
+                       new Lang_Class(); ///initilizaze lang..
+                       
+                       //this.tmp = Glib.get_tmp_dir(); // do we have to delete this?
+                       
+                        
+               }
+               
+               
+               // this could be another class really..
+               
+               public enum ResultType { 
+                       err , 
+                       warn;
+                       public string to_string() { 
+                               switch(this) {
+                                       case err: return "ERR";
+                                       case warn: return "WARN";
+                                       default: assert_not_reached();
+                               }
+                       
+                         }
+                 }
+               /**
+               *  result of complication - a JSON object containing warnings / errors etc..
+               *  FORMAT:
+               *     warn-TOTAL : X  (number of warnings.
+               *     err-TOTAL: X  (number of errors) << this indicates failure...
+               *     warn : {
+               *            FILENAME : {
+               *                  line : [ Errors,Errors,.... ]
+               *     err : {
+               *           .. sane format..
+               *
+               */
+               
+#if HAVE_JSON_GLIB
+               
+               public Json.Object result;   // output - what's the complication result
+
+               public void  logError(ResultType type, string filename, int line, string message) {
+                        
+                        if (!this.result.has_member(type.to_string()+"-TOTAL")) {
+                                this.result.set_int_member(type.to_string()+"-TOTAL", 1);
+                        } else {
+                               this.result.set_int_member(type.to_string()+"-TOTAL", 
+                                       this.result.get_int_member(type.to_string()+"-TOTAL") +1 
+                               );
+                        }
+                        
+                        
+                        if (!this.result.has_member(type.to_string())) {
+                                this.result.set_object_member(type.to_string(), new Json.Object());
+                        }
+                        var t = this.result.get_object_member(type.to_string());
+                        if (!t.has_member(filename)) {
+                                t.set_object_member(filename, new Json.Object());
+                        }
+                        var tt = t.get_object_member(filename);
+                        if (!tt.has_member(line.to_string())) {
+                                tt.set_array_member(line.to_string(), new Json.Array());
+                        }
+                        var tl = tt.get_array_member(line.to_string());
+                        tl.add_string_element(message);
+                        
+               }
+               
+               public bool hasErrors(string fn)
+               {
+                        if (!this.result.has_member(ResultType.err.to_string())) {
+                                return false;
+                        }
+                        
+                        if (fn.length < 1) {
+                               return true;
+                        }
+                        var t = this.result.get_object_member(ResultType.err.to_string());
+                        
+                        if (t.has_member(fn)) {
+                                return true;
+                        }
+                        return false;
+               }
+               public void dumpErrors(ResultType type)
+               {
+                        if (!this.result.has_member(type.to_string())) {
+                                return;
+                        }
+                       var t = this.result.get_object_member(type.to_string());
+                       t.foreach_member((obj, filename, node) => {
+                                       var linelist = node.dup_object();
+                                       linelist.foreach_member((linelistobj, linestr, nodear) => {
+                                               var errors=  nodear.dup_array();
+                                               errors.foreach_element((errorar, ignore, nodestr) => {
+                                                       print("%s: %s:%s %s\n", type.to_string(), filename, linestr, nodestr.get_string());
+                                               });
+                                       });
+                       
+                       });
+               }
+#else
+               public Gee.HashMap <string,int> result_count;   // output - what's the complication result
+               
+               public Gee.HashMap<
+                               string /* errtype*/ , Gee.HashMap<string /*fn*/,     Gee.HashMap<int /*line*/, Gee.ArrayList<string>>>
+               > result;
+
+               public void  logError(ResultType type, string filename, int line, string message) {
+                        
+                        
+                        if (!this.result_count.has_key(type.to_string()+"-TOTAL")) {
+                                this.result_count.set(type.to_string()+"-TOTAL", 1);
+                        } else {
+                               this.result_count.set(type.to_string()+"-TOTAL",                                 
+                                       this.result_count.get(type.to_string()+"-TOTAL") +1
+                               );
+                        }
+                        
+                        
+                        
+                        if (!this.result.has_key(type.to_string())) {
+                                this.result.set(type.to_string(),
+                                        new Gee.HashMap<string /*fn*/,     Gee.HashMap<int /*line*/, Gee.ArrayList<string>>>()
+                                );
+                        }
+                        var t = this.result.get(type.to_string());
+                        if (!t.has_key(filename)) {
+                                t.set(filename, new  Gee.HashMap<int /*line*/, Gee.ArrayList<string>>());
+                        }
+                        var tt = t.get(filename);
+                        if (!tt.has_key(line)) {
+                                tt.set(line, new Gee.ArrayList<string>());
+                        }
+                        var tl = tt.get(line);
+                        tl.add(message);
+                        
+               }
+               
+               public bool hasErrors(string fn)
+               {
+                        if (!this.result.has_key(ResultType.err.to_string())) {
+                                return false;
+                        }
+                        
+                        if (fn.length < 1) {
+                               return true;
+                        }
+                        var t = this.result.get(ResultType.err.to_string());
+                        
+                        if (t.has_key(fn)) {
+                                return true;
+                        }
+                        return false;
+               }
+               public void dumpErrors(ResultType type)
+               {
+                        if (!this.result.has_key(type.to_string())) {
+                                return;
+                        }
+                       var t = this.result.get(type.to_string());
+                       foreach(string filename in t.keys) {
+                               var node = t.get(filename);
+                               foreach(int line in node.keys) {
+                                       var errors = node.get(line);
+                                       foreach(string errstr in errors) {
+                                                       print("%s: %s:%d %s\n", type.to_string(), filename, line, errstr);
+                                       }
+                               }
+                       
+                       }
+               }
+
+
+#endif
+               
+               
+               
+               public void loadSourceIndexes(Gee.ArrayList<string> indexes)
+               {
+                       foreach(var f in indexes) {
+                               this.loadSourceIndex(f);
+                       }
+               }
+               
+               public void loadFiles(string[] fs)
+               {
+                       // fixme -- prefix baseDir?
+                       foreach(var f in fs) {
+                           GLib.debug("add File: %s", f);
+                               this.files.add(f); //?? easier way?
+                       }
+               }
+               public void loadFile(string f)
+               {
+                   // fixme -- prefix baseDir?
+                   GLib.debug("add File: %s", f);
+                       this.files.add(f); 
+                       GLib.debug("FILE LEN: %d", this.files.size);
+               }
+                
+               
+               public string pack(string target, string targetDebug = "") throws PackerError 
+               {
+                   this.target = target;
+                       this.targetDebug  = targetDebug;
+                   
+                   if (this.files.size < 1) {
+                               throw new PackerError.ArgumentError("No Files loaded before pack() called");
+                       }
+                       if (this.target.length > 0 ) {
+                               this.targetStream = File.new_for_path(this.target).replace(null, false,FileCreateFlags.NONE);
+                       }
+                       if (this.targetDebug.length > 0 ) {
+                               this.targetDebugStream = File.new_for_path(this.targetDebug).replace(null, false,FileCreateFlags.NONE);
+                       }
+                       return this.packAll();
+               }
+               
+  
+                
+          
+               /**
+                * load a dependancy list -f option
+                * @param {String} srcfile sourcefile to parse
+                * 
+                */
+               
+               public void loadSourceIndex(string in_srcfile)
+               {
+                   
+                   var srcfile = in_srcfile;
+                   if (srcfile[0] != '/') {
+                               srcfile = config.opt_real_basedir + in_srcfile;
+                       }
+                   string str;
+                   FileUtils.get_contents(srcfile,out str);
+                   
+                   var lines = str.split("\n");
+                   for(var i =0; i < lines.length;i++) {
+                           var f = lines[i].strip();
+                       if (f.length < 1 ||
+                               Regex.match_simple ("^/", f) ||
+                               !Regex.match_simple ("[a-zA-Z]+", f) 
+                       ){
+                               continue; // blank comment or not starting with a-z
+                       }
+                       
+                       if (Regex.match_simple ("\\.js$", f)) {
+                           this.files.add( f);
+                           // js file..
+                           continue;
+                       }
+                       
+                               // this maps Roo.bootstrap.XXX to Roo/bootstrap/xxx.js
+                               // should we prefix? =- or should this be done elsewhere?
+                               
+                       var add = f.replace(".", "/") + ".js";
+                       
+                       if (add[0] != '/') {
+                                       add = config.opt_real_basedir + add;
+                               }
+                       
+                       if (this.files.contains(add)) {
+                           continue;
+                       }
+                       
+                       
+                       
+                       this.files.add( add );
+                       
+                   }
+               }
+               
+    
+               private string packAll()   // do the packing (run from constructor)
+               {
+                   
+                   //this.transOrigFile= bpath + '/../lang.en.js'; // needs better naming...
+                   //File.write(this.transfile, "");
+                   if (this.target.length > 0) {
+                       this.targetStream.write("".data);
+                   }
+                   
+                   if (this.targetDebugStream != null) {
+                           this.targetDebugStream.write("".data);
+                   }
+                   
+                   
+                   var tmpDir = GLib.DirUtils.make_tmp("roojspacker_XXXXXX");
+                   
+                   foreach(var file in this.files) {
+                       
+                       print("reading %s\n",file );
+                       
+                       if (!FileUtils.test (file, FileTest.EXISTS) || FileUtils.test (file, FileTest.IS_DIR)) {
+                           print("SKIP (is not a file) %s\n ", file);
+                           continue;
+                       }
+                      
+                               var loaded_string = false;
+                               string file_contents = "";
+                       // debug Target
+                       
+                       if (this.targetDebugStream !=null) {
+                               
+                               FileUtils.get_contents(file,out file_contents);
+                           this.targetDebugStream.write(file_contents.data);
+                           loaded_string = false;
+                       }
+                       // it's a good idea to check with 0 compression to see if the code can parse!!
+                       
+                       // debug file..
+                       //File.append(dout, str +"\n"); 
+                       
+                  
+                       
+                       var minfile = tmpDir + "/" + file.replace("/", ".");
+                       
+                       
+                       // let's see if we have a min file already?
+                       // this might happen if tmpDir is set .. 
+
+                       
+                       if ( FileUtils.test (minfile, FileTest.EXISTS)) {
+                                
+                               var otv = File.new_for_path(file).query_info (FileAttribute.TIME_MODIFIED, 0).get_modification_time();
+                               var mtv = File.new_for_path(minfile).query_info (FileAttribute.TIME_MODIFIED, 0).get_modification_time();
+                                       
+                                        
+                          // print("%s : compare : Cache file  %s to Orignal Time %s\n", file, mtv.to_iso8601(), otv.to_iso8601());
+                           if (mtv.tv_usec > otv.tv_usec) {
+                               continue; // file is newer or the same time..
+                               
+                           }
+                           
+                       }
+                        
+                       print("COMPRESSING to %s\n", minfile);
+                       //var codeComp = pack(str, 10, 0, 0);
+                       if (config.opt_clean_cache && FileUtils.test (minfile, FileTest.EXISTS)) {
+                           FileUtils.remove(minfile);
+                       }
+                       if (!loaded_string) {
+                               FileUtils.get_contents(file,out file_contents);
+                       }
+
+                        this.packFile(file_contents, file, minfile);
+                        
+                     
+                   }
+                   
+                   // at this point if we have errors, we should stop..
+
+                                           
+                       this.dumpErrors(ResultType.warn);
+                       this.dumpErrors(ResultType.err); // since they are fatal - display them last...
+                       
+                       
+                       
+                       
+                       if (config.opt_dump_tokens || this.hasErrors("")) {
+                                
+                               GLib.Process.exit(0);
+                       }
+                   print("MERGING SOURCE\n");
+                   
+                   for(var i=0; i < this.files.size; i++)  {
+                       var file = this.files[i];
+                       var minfile = tmpDir + "/" + file.replace("/", ".");
+                       
+                       
+                       if ( !FileUtils.test(minfile, FileTest.EXISTS)) {
+                               print("skipping source %s - does not exist\n", minfile);
+                           continue;
+                       }
+                       string str;
+                       FileUtils.get_contents(minfile, out str);
+                       print("using MIN FILE  %s\n", minfile);
+                       if (str.length > 0) {
+                           if (this.targetStream != null) {
+                                       this.targetStream.write(("// " + 
+                                               ( (file.length > config.opt_real_basedir.length) ? file.substring(config.opt_real_basedir.length)  : file ) + 
+                                               "\n").data); 
+
+                                       this.targetStream.write((str + "\n").data); 
+
+                           } else {
+                               this.outstr += "//" + 
+                                       ( (file.length > config.opt_real_basedir.length) ? file.substring(config.opt_real_basedir.length)  : file ) +  "\n";
+                               this.outstr += "//" +  file  +"\n";
+
+                                    this.outstr += str + "\n";
+                           }
+                           
+                       }
+                       if (config.opt_clean_cache) {
+                           FileUtils.remove(minfile);
+                       }
+                       
+                   }
+                   if (config.opt_clean_cache) {
+                               FileUtils.remove(tmpDir);
+                       }
+                   
+                   if (this.target.length > 0 ) {
+                           print("Output file: " + this.target);
+                   }
+                   if (this.targetDebug.length > 0) {
+                                print("Output debug file: %s\n" , this.targetDebug);
+                       }
+            
+
+            
+                       // OUTPUT should be handled by PackerRun (so that this can be used as a library...)
+                       if (this.outstr.length > 0 ) {
+                return this.outstr;
+                       //      stdout.printf ("%s", this.outstr);
+                       }
+                   return "";
+               
+               
+               }
+               /**
+                * Core packing routine  for a file
+                * 
+                * @param str - str source text..
+                * @param fn - filename (for reference?)
+                * @param minfile - min file location...
+                * 
+                */
+
+               public  string packFile  (string str,string fn, string minfile)  
+               {
+
+                       var tr = new  TokenReader(this);
+                       tr.keepDocs =true;
+                       tr.keepWhite = true;
+                       tr.keepComments = true;
+                       tr.sepIdents = true;
+                       tr.collapseWhite = false;
+                       tr.filename = fn;
+                       // we can load translation map here...
+               
+                       TokenArray toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
+               
+                       if (config.opt_dump_tokens) {
+                               toks.dump();
+                               return "";
+                               //GLib.Process.exit(0);
+                       }
+               
+                       this.activeFile = fn;
+               
+                       // and replace if we are generating a different language..
+               
+
+                       //var ts = new TokenStream(toks);
+                       //print(JSON.stringify(toks, null,4 )); Seed.quit();
+                       var ts = new Collapse(toks.tokens, this, fn);
+                       
+                       //ts.dumpAll("");                       print("Done collaps"); Process.exit(1);
+                       
+                  // print(JSON.stringify(ts.tokens, null,4 )); Seed.quit();
+                       //return;//
+                       if (!config.opt_skip_scope) {
+                               var sp = new ScopeParser(ts, this, fn);
+                               //sp.packer = this;
+                               sp.buildSymbolTree();
+                               sp.mungeSymboltree();
+                       
+                       
+                               sp.printWarnings();
+                       }
+                       
+                       
+                       //print(sp.warnings.join("\n"));
+                       //(new TokenStream(toks.tokens)).dumpAll(""); GLib.Process.exit(1);
+                       // compress works on the original array - in theory the replacements have already been done by now 
+                       var outf = CompressWhite(new TokenStream(toks.tokens), this, config.opt_keep_whitespace); // do not kill whitespace..
+               
+                       
+       //              debug("RESULT: \n %s\n", outf);
+                       
+                       
+                       
+                       if (outf.length > 0 && minfile.length > 0 && !this.hasErrors(fn)) {
+                               FileUtils.set_contents(minfile, outf);
+                                
+                       }  
+
+               
+                       return outf;
+               
+               
+                        
+               }
+                
+
+               public string md5(string str)
+               {
+               
+                       return GLib.Checksum.compute_for_string(GLib.ChecksumType.MD5, str);
+               
+               }
+    
+        //stringHandler : function(tok) -- not used...
+    }
+    
+}
diff --git a/roojspacker/PackerRun.vala b/roojspacker/PackerRun.vala
new file mode 100644 (file)
index 0000000..1ff926f
--- /dev/null
@@ -0,0 +1,370 @@
+
+/** 
+
+  THIS IS THE ENTRY POINT...
+
+  the application
+  -- in theory this code  can be used as a library... but this is the standard command line version...
+  
+  
+  valac  --vapidir=/usr/share/vala/vapi 
+     --vapidir=/usr/share/vala/vapi 
+    --vapidir=/usr/share/vala-0.30/vapi 
+        --thread  -g  
+      JSDOC/Lang.vala JSDOC/TextStream.vala JSDOC/TokenReader.vala JSDOC/Token.vala JSDOC/TokenStream.vala JSDOC/Packer.vala 
+      JSDOC/Collapse.vala JSDOC/ScopeParser.vala JSDOC/Scope.vala JSDOC/Identifier.vala JSDOC/CompressWhite.vala 
+       JSDOC/PackerRun.vala --pkg glib-2.0 --pkg gee-1.0 --pkg gio-2.0 --pkg posix -o /tmp/jspack --target-glib=2.32  -X -lm
+
+  
+*/
+
+JSDOC.PackerRun _PackerRun;
+
+namespace JSDOC
+{
+       // --------------- <<<<<<< <MAIN HERE....
+       
+#if HAVE_OLD_GLIB
+       public class PackerRun : Object 
+#else
+       public class PackerRun : Application    
+#endif
+       {
+               public  string opt_target = null;
+               public string opt_debug_target = null;
+//             public  string opt_tmpdir = null;
+               private  string opt_basedir = null;
+               
+               /**
+               * @cfg baseDir -- prefix the files listed in indexfiles with this.
+               */
+                
+               public  string opt_real_basedir = null; // USE this one it's calcuated based on current path..
+               
+               public  string opt_doc_target = null;
+               public  string opt_doc_template_dir = null;
+               public  bool opt_doc_include_private = false;           
+                               
+               [CCode (array_length = false, array_null_terminated = true)]
+               private string[]? opt_files = null;
+               [CCode (array_length = false, array_null_terminated = true)]
+               private  string[]? opt_files_from = null;
+               
+               
+               public  bool opt_debug = false;
+               
+                /**
+                * @cfg {Boolean} opt_skip_scope (optional) skip Scope parsing and replacement.
+                *    usefull for debugging...
+                */
+               public  bool opt_skip_scope = false;
+               
+               /**
+                * @cfg {Boolean} opt_keep_whitespace (optional) do not remove white space in output.
+                *    usefull for debugging compressed files.
+                */
+               
+               public  bool opt_keep_whitespace = false;       
+               
+                       /**
+                * @cfg {Boolean} opt_dump_tokens (optional) read the first file and dump the tokens.
+                *    usefull for debugging...
+                */
+               
+               public  bool opt_dump_tokens = false;   
+               
+                  
+               /**
+                * @cfg {Boolean} opt_clean_cache  (optional) clean up temp files after done - 
+                *    Defaults to false if you set tmpDir, otherwise true.
+                */
+               
+               public  bool opt_clean_cache = true;    
+               
+               // not actually an option yet..
+               
+               public  string opt_doc_ext = "html";
+               
+               public static PackerRun singleton()
+               {
+                       if (_PackerRun == null) {
+                               _PackerRun = new PackerRun();
+                       }
+                       return _PackerRun;
+               }
+  
+               public PackerRun ()
+               {
+#if !HAVE_OLD_GLIB             
+                       Object(
+                           application_id: "org.roojs.jsdoc.packerrun",
+                               flags: ApplicationFlags.HANDLES_COMMAND_LINE 
+                       );
+#endif         
+                       
+
+               }
+               
+               
+               public void parseArgs(string[] args)
+               {
+                       GLib.OptionEntry[] options       = {
+                               OptionEntry() {
+                                       long_name = "jsfile",
+                                       short_name = 'f',
+                                       flags = 0,
+                                       arg =  OptionArg.FILENAME_ARRAY,
+                                       arg_data = &opt_files,
+                                       description = "add a file to compile",
+                                       arg_description = null
+                               },
+                               OptionEntry() {
+                                       long_name = "target",
+                                       short_name = 't',
+                                       flags = 0,
+                                       arg =  OptionArg.STRING,
+                                       arg_data = &opt_target,
+                                       description = "Target File to write (eg. roojs.js)",
+                                       arg_description = null
+                               },
+                               OptionEntry() {
+                                       long_name = "debug-target",
+                                       short_name = 'T',
+                                       flags = 0,
+                                       arg =  OptionArg.STRING,
+                                       arg_data = &opt_debug_target,
+                                       description = "Target File to write debug code (eg. roojs-debug.js)",
+                                       arg_description = null
+                               },
+                               //{ "tmpdir", 'm', 0, OptionArg.STRING, ref opt_tmpdir, "Temporary Directory to use (defaults to /tmp)", null },
+                               /*
+                               OptionEntry() {
+                                       long_name = "tmpdir",
+                                       short_name = 'm',
+                                       flags = 0,
+                                       arg =  OptionArg.STRING,
+                                       arg_data = &opt_tmpdir,
+                                       description = "Temporary Directory - used by documentation tool?",
+                                       arg_description = null
+                               }, 
+                               */
+
+                               OptionEntry() {
+                                       long_name = "basedir",
+                                       short_name = 'b',
+                                       flags = 0,
+                                       arg =  OptionArg.STRING,
+                                       arg_data = &opt_basedir,
+                                       description = "Base directory (where the files listed in index files are located.)",
+                                       arg_description = null
+                               }, 
+
+                               OptionEntry() {
+                                       long_name = "index-files",
+                                       short_name = 'i',
+                                       flags = 0,
+                                       arg =  OptionArg.FILENAME_ARRAY,
+                                       arg_data = &opt_files_from,
+                                       description = "files that contain listing of files to compile",
+                                       arg_description = null
+                               }, 
+
+                               OptionEntry() {
+                                       long_name = "keep-whitespace",
+                                       short_name = 'w',
+                                       flags = 0,
+                                       arg =  OptionArg.NONE,
+                                       arg_data = &opt_keep_whitespace,
+                                       description = "Keep whitespace",
+                                       arg_description = null
+                               }, 
+                        
+                               OptionEntry() {
+                                       long_name = "skip-scope",
+                                       short_name = 's',
+                                       flags = 0,
+                                       arg =  OptionArg.NONE,
+                                       arg_data = &opt_skip_scope,
+                                       description = "Skip scope parsing and variable replacement",
+                                       arg_description = null
+                               }, 
+                               OptionEntry() {
+                                       long_name = "debug",
+                                       short_name = 'D',
+                                       flags = 0,
+                                       arg =  OptionArg.NONE,
+                                       arg_data = &opt_debug,
+                                       description = "Show debug messages",
+                                       arg_description = null
+                               }, 
+
+                               OptionEntry() {
+                                       long_name = "dump-tokens",
+                                       short_name = 'k',
+                                       flags = 0,
+                                       arg =  OptionArg.NONE,
+                                       arg_data = &opt_dump_tokens,
+                                       description = "Dump the tokens from a file",
+                                       arg_description = null
+                               }, 
+
+                               OptionEntry() {
+                                       long_name = "clean-cache",
+                                       short_name = 'c',
+                                       flags = 0,
+                                       arg =  OptionArg.NONE,
+                                       arg_data = &opt_clean_cache,
+                                       description = "Clean up the cache after running (slower)",
+                                       arg_description = null
+                               }, 
+
+
+                       // fixme -- keepwhite.. cleanup 
+                       
+                       // documentation options
+                       // usage: roojspacker --basedir roojs1 \
+                       //       --doc-target roojs1/docs \
+                       //       --index-files roojs1/buildSDK/dependancy_core.txt  \
+                       //       --index-files roojs1/buildSDK/dependancy_ui.txt  \
+                       //       --index-files roojs1/buildSDK/dependancy_bootstrap.txt  \
+                       //       --doc-template-dir \
+                       
+                               OptionEntry() {
+                                       long_name = "doc-target",
+                                       short_name = 'd',
+                                       flags = 0,
+                                       arg =  OptionArg.STRING,
+                                       arg_data = &opt_doc_target,
+                                       description = "Target location for documetnation",
+                                       arg_description = null
+                               }, 
+
+                               OptionEntry() {
+                                       long_name = "doc-template-dir",
+                                       short_name = 'p',
+                                       flags = 0,
+                                       arg =  OptionArg.STRING,
+                                       arg_data = &opt_doc_template_dir,
+                                       description = "Template directory for documentation",
+                                       arg_description = null
+                               },                      
+
+
+                               OptionEntry() {
+                                       long_name = "doc-private",
+                                       short_name = 'P',
+                                       flags = 0,
+                                       arg =  OptionArg.NONE,
+                                       arg_data = &opt_doc_include_private,
+                                       description = "Document Private functions",
+                                       arg_description = null
+                               }
+                       };
+                       var opt_context = new OptionContext ("JSDOC Packer");
+
+                       try {
+                               opt_context.set_help_enabled (true);
+                               opt_context.add_main_entries (options, null);
+                               if (!opt_context.parse ( ref args)) {
+                                       print("options parse error");
+                                       GLib.Process.exit(Posix.EXIT_FAILURE);
+                               }
+
+
+                                
+
+                       } catch (OptionError e) {
+                               stdout.printf ("error: %s\n", e.message);
+                               stdout.printf ("Run '%s --help' to see a full list of available command line options.\n %s", 
+                                                        args[0], opt_context.get_help(true,null));
+                               GLib.Process.exit(Posix.EXIT_FAILURE);
+                                
+                       }
+                       
+                                        
+                        
+               }
+               public void  runPack()
+               {       
+                       // what's required...
+                       if (opt_debug) {
+                               GLib.Log.set_handler(null, 
+                                       GLib.LogLevelFlags.LEVEL_DEBUG | GLib.LogLevelFlags.LEVEL_WARNING, 
+                                       (dom, lvl, msg) => {
+                                       print("%s: %s\n", dom, msg);
+                               });
+                       }
+                       
+                        
+  
+                        
+                       // set the base directory...
+                       var curdir = Environment.get_current_dir() + Path.DIR_SEPARATOR_S;
+                       if (opt_basedir == null) {
+
+                               opt_real_basedir = curdir;
+                       } else if (opt_basedir[0] == '/') {     
+                               opt_real_basedir  = opt_basedir;
+                       } else {
+                               opt_real_basedir  = curdir + opt_basedir;
+                       }
+                       // suffix a slash..
+                       if (opt_real_basedir [opt_real_basedir .length-1].to_string() != Path.DIR_SEPARATOR_S) {
+                               opt_real_basedir  += Path.DIR_SEPARATOR_S;
+                       }
+                       
+                       GLib.debug("real_base_dir  = '%s' : opt_basedir ='%s'\n", opt_real_basedir , opt_basedir);
+                       
+                       
+                       if (opt_files == null && opt_files_from == null) {
+                               GLib.error("You must list some files with -f or -i to compile - see --help for more details");
+                               GLib.Process.exit(1);
+                       }
+                       
+                       
+                               // initialize the Packer (does not parse anything..)
+                       var p = new Packer(     this );
+                       
+                       
+                       if (opt_files != null) {
+                        
+                               foreach (var  f in opt_files) {
+                                       GLib.debug("Adding File %s", f);
+                                       p.loadFile(f);  // just adds to list of files to parse (no parsing yet..)
+                               }
+                       }  
+                       if (opt_files_from != null) {
+                        
+                               foreach (var  f in opt_files_from) {
+                                       GLib.debug("Adding File %s", f);
+                                       p.loadSourceIndex(f);
+                               }
+                       }  
+                       
+                       var run_pack = false;
+                       if (opt_target != null || opt_debug_target != null || opt_dump_tokens) {
+                               // do the actual packing...
+                               p.pack( opt_target == null ? "" : opt_target ,
+                                               opt_debug_target == null ? "" :  opt_debug_target );
+                       
+                       if (p.outstr.length > 0 ) {
+                                       stdout.printf ("%s", p.outstr);
+                               }
+                               return;
+               }
+               if (opt_doc_target != null) {
+                               // remove trailing /
+                       opt_doc_target = opt_doc_target.has_suffix("/") ? 
+                                       opt_doc_target.substring(0, opt_doc_target.length-1) : opt_doc_target;
+                       var d = new JSDOC.DocBuilder(p);
+                       return;
+               } 
+               GLib.error("either select output target or doc output target");
+               
+               
+               
+               }        
+               
+       }
+       
+}
\ No newline at end of file
diff --git a/roojspacker/PrettyPrint.vala b/roojspacker/PrettyPrint.vala
new file mode 100644 (file)
index 0000000..f9e152e
--- /dev/null
@@ -0,0 +1,91 @@
+
+namespace JSDOC {
+       class PrettyPrint : Object 
+       {
+
+               // pretty simple...
+               static string  escapeHTML(string str) { 
+                       return str.replace("&","&amp;").
+                                   replace(">","&gt;"). 
+                                   replace("<","&lt;"). 
+                                   replace("\"","&quot;");
+               }
+
+                public static  string toPretty(string str)
+               {
+                       
+                       var txs = new TextStream(str);
+                       var tr = new TokenReader(null);
+                       tr.keepComments = true;
+                       tr.keepWhite = true;
+                       var toks = tr.tokenize(txs);
+                       
+                       //var sp = new ScopeParser(new Collapse(toks));
+                       //sp.buildSymbolTree();
+                       
+                       
+                  // sp.mungeSymboltree();
+                       var r = "";
+                       //r += sp.warnings.join("<BR>");
+                       //r == "<BR>";
+                       
+                       
+                       
+                       
+                       var cs = ""; // current style..
+                       
+                       // loop through and print it...?
+                       
+                       
+                       for (var i = 0;i < toks.length; i++) {
+                               var ns = toStyle(toks.get(i),cs);
+                               if (ns != cs) {
+                                   // change of style
+                                   if (cs.length > 0) { r += "</span>"; };
+                                   r +="<span class=\"jsdoc-"+ns+"\">";
+                                   cs = ns;
+                               }
+                               if (toks.get(i).identifier != null) {
+                                   
+                                   r += "<span class=\"with-ident2\">" +
+                                       escapeHTML(toks.get(i).data) + "</span>";
+                                       continue;
+                                       
+                               }
+                               r += escapeHTML(toks.get(i).data); //.replace(/\n/g, "<BR/>\n");
+                       }
+                       if (cs.length > 0) r += "</span>";
+                       
+                       return "<code class=\"jsdoc-pretty\">"+r+"</code>";
+                       
+                               
+               }
+               
+               static string toStyle(Token tok, string cs)
+               {
+
+                       if (tok.isName(TokenName.SPACE) || tok.isName(TokenName.NEWLINE) ) {
+                               return cs;
+                       }
+                       if (tok.isName(TokenName.MULTI_LINE_COMM) || 
+                               tok.isName(TokenName.JSDOC) ||
+                               tok.isName(TokenName.SINGLE_LINE_COMM) ) {
+                           return "comment";
+                           
+                       }
+                       if (tok.isType(TokenType.STRN)) {
+                           return "string";
+                       }
+                       // other 'vary things??
+                       if (tok.isType(TokenType.NAME) || tok.data == "." || tok.isName(TokenName.THIS)) {
+                           return "var";
+                       }
+                       var r = new Regex("^[a-zA-Z]+");
+                       
+                       if (r.match(tok.data)) {
+                           return "keyword";
+                       }
+                       return "syntax";
+               }
+       }
+}
\ No newline at end of file
diff --git a/roojspacker/Scope.vala b/roojspacker/Scope.vala
new file mode 100644 (file)
index 0000000..b8255f0
--- /dev/null
@@ -0,0 +1,431 @@
+
+namespace JSDOC 
+{
+       public int Scope_gid = 0;
+       
+       public class Scope : Object 
+       {
+       
+           int id ;
+               int braceN ;
+               public Scope parent;
+               public Gee.ArrayList<Scope> subScopes;
+               public string ident = ""; // used by the walker...
+               
+               Gee.HashMap<string,Identifier> identifier_map;   // map of identifiers to {Identifier} objects
+               Gee.ArrayList<Identifier> identifier_list;
+               
+               Gee.HashMap<string,string> hints;
+               bool mungeM = true;
+               //ident: '',
+               
+               bool munged  = false;
+           Gee.HashMap<string,bool> protectedVars ; // only used by to parent..
+               Token? token;
+               // lastIdent is only used on the documentation parser..
+               public Scope(int braceN, Scope? parent, int startTokN, string lastIdent, Token? token) // Identifier? lastIdent
+               {
+                       if (lastIdent.length> 0 ) {
+                          GLib.debug("NEW SCOPE: %s", lastIdent);
+                       }
+                       this.ident = "";
+                       this.braceN = braceN;
+                       this.parent = parent;
+                       this.id = startTokN;
+                       this.identifier_map = new Gee.HashMap<string,Identifier>();
+                       this.identifier_list = new Gee.ArrayList<Identifier>();
+                       this.subScopes = new Gee.ArrayList<Scope> ();
+                       this.hints = new Gee.HashMap<string,string>();
+                       this.protectedVars = new Gee.HashMap<string,bool>();
+                       this.ident = lastIdent;
+                       this.id = Scope_gid++;
+                       this.token = token;
+                       //print("ADD SCOPE(" + this.gid + ") TO "+ (parent ? this.parent.gid : 'TOP') + ' : ' + 
+                       //    (token ? token.toString() : ''));
+               
+                       if (parent != null) {
+                               this.parent.subScopes.add(this);
+                       } 
+                       Scope.init();
+               
+               }
+
+
+
+
+
+
+
+        
+               /**
+                * dump the scope to StdOut...
+                * 
+                */
+               public void dump (string indent = "") 
+               {
+                   //indent = indent || '';
+                   
+                   var str = "";
+                        var idents = this.identifier_list;
+                   var iter = idents.list_iterator();
+                   while (iter.next()) {
+                           var identifier = iter.get();
+                           str += (str.length > 0 ? ", " : "");
+                               str +=  indent + " " + identifier.name + "=>" +  identifier.mungedValue ;
+                       }
+                       
+                   print( "\n"+ 
+                       indent +  "Scope: %d\n" +
+                       indent + "Started: %s\n" +
+                       indent + "- idents..: %s\n",
+
+                               this.id,
+                               this.token != null ? this.token.asString()  : "TOP",
+                               str
+                               //                   " + XObject.keys(this.identifiers).join(", ") + "
+                   );
+                   foreach(var s in this.subScopes) {
+                          s.dump(indent + " ");
+                   };
+                   
+                   
+               }
+    
+    
+               public Identifier declareIdentifier(string symbol, Token token) 
+               {
+                   
+                   //print("SCOPE : " + this.gid +  " :SYM: " + symbol + " " + token.toString()+"");
+                   
+                   if (!this.identifier_map.has_key(symbol)) {
+                               var nid = new Identifier(symbol, this);
+                       this.identifier_list.add(nid);
+                       this.identifier_map.set(symbol,   nid);
+                       
+                   }
+                   
+                   //if (typeof(token) != 'undefined') { // shoudl this happen?
+                       token.identifier = this.identifier_map.get(symbol);
+                       
+                   //}
+                   if (this.braceN < 0) {
+                           // then it's global... 
+                   this.identifier_map.get(symbol).toMunge  = false;
+                   }
+                    
+                   
+                   this.addToParentScope(symbol);
+                   return this.identifier_map.get(symbol);
+               }
+               
+               
+               
+               public Identifier? getIdentifier(string symbol, Token token) 
+               {
+                   if (!this.identifier_map.has_key(symbol)) {
+                               return null;
+                       //if (['String', 'Date'].indexOf(symbol)> -1) {
+                        //   return false;
+                       //}
+                       
+                       //print("SCOPE : " + this.gid +" = SYMBOL NOT FOUND?" + token.toString());
+                       //return n;
+                   }
+                    //print("SCOPE : " + this.gid +" = FOUND:" + token.toString());
+                   return this.identifier_map.get(symbol);
+               }
+               
+               public void addHint(string varName, string varType) {
+               
+                   this.hints.set(varName, varType);
+               }
+               public void preventMunging () {
+                   this.mungeM = false;
+               }
+
+               //usedsymcache : false,
+               
+               public string[] getUsedSymbols () {
+                   
+                   string[] result = {};
+                   
+                   // if (this.usedsymcache !== false) {
+                   //    return this.usedsymcache;
+                   //}
+                   
+                   var idents = this.identifier_list;
+                   var iter = idents.list_iterator();
+                   while (iter.next()) {
+                           var identifier = iter.get();
+                       //println('<b>'+i+'</b>='+typeof(idents[i]) +'<br/>');
+                       //var identifier = this.identifier_map.get(i);
+                       var mungedValue = identifier.mungedValue;
+                       
+                       if (mungedValue.length < 1) {
+                           //println(identifier.toSource());
+                           mungedValue = identifier.name;
+                       }
+                       result += mungedValue;
+                   }
+                   //println("Symbols for ("+ this.id +"): <B>" + result.join(',') + "</B><BR/>");
+                   //this.usedsymcache = result;
+                   return result;
+               }
+
+               string[] getAllUsedSymbols() 
+               {
+                   var result = this.getUsedSymbols();
+                   var scope = this.parent;
+                   while (scope != null) {
+                               var ps = scope.getUsedSymbols();
+                               for (var i =0;  i< ps.length; i++) {
+                                       result += ps[i];
+                               }
+                       scope = scope.parent;
+                   }
+                    //println("Done - addused");
+                   return result;
+               }
+               /** - we need to register short vairalbes so they never get munged into.. */
+               public void addToParentScope(string ident) 
+               {
+                   if (ident.length > 2) {
+                       return;
+                   }
+                   var scope = this.parent;
+                   while (scope != null) {
+                       //println("addused:"+scope.id);
+                       if (scope.parent != null) {
+                           scope.protectedVars.set(ident, true);
+                       }
+                       scope = scope.parent;
+                   }
+                   
+               }
+               public bool isProtectedVar(string ident)
+               {
+                   //if (ident == "_this") { // not sure why we need to protect _this. as it should be calculated as protected..
+                       //      return true;
+                       //}
+                   
+                   if (ident.length > 2) {
+                       return false;
+                   }
+                   var scope = this.parent;
+                   while (scope != null) {
+                       //println("addused:"+scope.id);
+                       if (scope.parent != null) {
+                               if (scope.protectedVars.has_key(ident)) {
+                                       return true;
+                                       }
+                       }
+                       scope = scope.parent;
+                   }
+                   return false;
+               }
+               
+               
+               
+               
+               /**
+                * set's all the munged values on the identifiers.
+                * 
+                * 
+                */
+
+               public void munge() 
+               {
+
+                   if (!this.mungeM) {
+                       // Stop right here if this scope was flagged as unsafe for munging.
+                      // println("MUNGE: SKIP -  Scope" + this.id+"</BR>");
+                       return;
+                   }
+                   if (this.munged) {
+                       return;
+                   }
+                   
+
+                   
+                   
+                   var pickFromSet = 1;
+
+                   // Do not munge symbols in the global scope!
+                   if (this.parent == null) {
+                               // same code at bottom... ?? goto::
+                               this.munged = true;
+                               //println("Doing sub scopes");
+                               for (var j = 0; j < this.subScopes.size; j++) {
+                                       this.subScopes.get(j).munge();
+                                       
+                               }
+                   
+                               return;
+                       }
+                       
+                   string[] all = {};
+                   var iter = this.identifier_list.list_iterator();
+                   while (iter.next()) {
+                       all += iter.get().name;
+                   }
+                   //print("MUNGE: %s\n", string.joinv(",", all));
+                       
+                       //println("MUNGE: Building FreeSyms:" + this.id+"</BR>");
+                       
+                   Gee.ArrayList<string> freeSymbols= new Gee.ArrayList<string>();
+                   
+                   var sy = this.getAllUsedSymbols();
+
+                   // we need to remove the used from the free.....
+                   
+                   
+                   
+                   
+                   
+                       
+                       Scope.array_merge(freeSymbols,Scope.ones,sy); 
+                        
+                   var repsym = "";
+                       //println(freeSymbols.toSource());
+                      
+                       //println("MUNGE: Replacing " + this.id+"</BR>");
+                   iter = this.identifier_list.list_iterator();
+                   while (iter.next()) {
+                               var i = iter.get().name;
+                       
+                       // is the identifer in the global scope!?!!?
+                       
+                       
+                       if (!this.identifier_map.get(i).toMunge) {
+                           //print("SKIP toMunge==false : " + i)
+                           continue;
+                       }
+                       
+                       if (this.isProtectedVar(i)) {
+                           //print("SKIP PROTECTED: " + i)
+                           continue; // 
+                       }
+                       
+                       
+                       
+                       //if (this.identifiers[i].constructor !=  Identifier) {
+                       //    print("SKIP NOT IDENTIFIER : " + i)
+                       //    continue;
+                      // }
+                      // println("IDENT:" +i+'</BR>');
+                       
+                       if (repsym.length < 1) {
+                           if (freeSymbols.size < 1) {
+                               Scope.array_merge(freeSymbols,Scope.twos,sy); 
+                           }
+                           repsym = freeSymbols.remove_at(0); // pop off beginngin???
+                       }
+                       
+                       var identifier = this.identifier_map.get(i); 
+                       //println(typeof(identifier.name));
+                       var mungedValue = identifier.name; 
+                       
+                       if (mungedValue.length < 3) {  // don't bother replacing 1&2 character variables..
+                               continue;
+                       }
+                       
+                       //println([     repsym,mungedValue ]);
+                       
+                       if (this.mungeM && repsym.length < mungedValue.length) {
+                           //print("REPLACE:"+ mungedValue +" with " + repsym );    
+                           mungedValue = repsym;
+                           repsym = "";
+                       }
+                       
+                       identifier.mungedValue =  mungedValue;
+                   }
+                   //println("MUNGE: Done " + this.id+"</BR>");
+                        
+                       this.munged = true;
+                       //println("Doing sub scopes");
+                       for (var j = 0; j < this.subScopes.size; j++) {
+                               this.subScopes.get(j).munge();
+                       }
+               }
+                
+
+
+               // ---------------------- static part... --------------------
+
+
+
+               static void array_merge(Gee.ArrayList<string> fs, string[] toadd, string[] ignore) 
+               {
+                       var got_it = false;
+                       foreach(var i in toadd) {
+                               got_it = false;
+                               foreach(var ig in ignore) {
+                                       if (i == ig) {
+                                               got_it = true;
+                                               break;
+                                       }
+                               }
+                               if (got_it) {
+                                       continue;
+                               }
+                               fs.add(i);
+                       }
+                
+               }
+               static bool initialized = false;
+               public static Gee.ArrayList<string> builtin;
+               public static Gee.ArrayList<string> skips;
+                        
+               public static string[] ones;
+               public static string[] twos;
+       //      static string[] threes : [],
+               static  void init () 
+               {
+                       if (Scope.initialized) {
+                               return;
+                       }
+                       Scope.initialized = true;
+                       Scope.builtin = new Gee.ArrayList<string>(); 
+                       array_merge(Scope.builtin, "NaN,top".split(","), {});
+               
+                       Scope.skips =  new Gee.ArrayList<string>(); 
+                       array_merge(Scope.skips, "as,is,do,if,in,for,int,new,try,use,var,NaN,top".split(","), {});
+               
+                       Scope.ones = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(",");
+                       var n = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9".split(",");
+
+                       string[] twos = {};
+                       for(var i = 0; i < Scope.ones.length; i++) {
+                           for(var j = 0; j < n.length; j++) {
+                               string tw = Scope.ones[i] + n[j];
+                               if (Scope.skips.index_of(tw) < 0) {
+                                   twos += tw;
+                               }
+                                   
+                               /*
+                               for(var k = 0; k < n.length; k++) {
+                                   var thr = a[i] + n[j] + n[k];
+                                   //println("thr="+ thr + ":iOf="+this.skips.indexOf(thr) );
+                                   if (this.skips.indexOf(thr)  < 0) {
+                                       //println("+"+thr);
+                                       this.threes.push(thr);
+                                      }
+                                   
+                               }
+                               */
+                           }
+                       }
+                       Scope.twos = twos;
+                       //println("done creating var list");
+                       //println("threes="+ this.threes.toSource());
+                       //throw "DONE";
+                       
+                        
+               }
+       
+       }
+}
+
+
+
diff --git a/roojspacker/ScopeParser.vala b/roojspacker/ScopeParser.vala
new file mode 100644 (file)
index 0000000..616fd23
--- /dev/null
@@ -0,0 +1,1091 @@
+
+
+namespace JSDOC {
+
+       public enum ScopeParserMode {
+               BUILDING_SYMBOL_TREE,
+               PASS2_SYMBOL_TREE
+       }
+        
+
+       public class ScopeParser : Object {
+
+               TokenStream ts;
+               Gee.ArrayList<string> warnings;
+
+        
+               static Gee.ArrayList<string> idents;
+               static bool initialized = false;
+
+
+               Scope globalScope;
+               ScopeParserMode mode;
+               //braceNesting : 0,
+               Gee.HashMap<int,Scope> indexedScopes;
+               bool munge =  true;
+
+               int expN =  0;  
+               int braceNesting = 0;
+               
+               
+               static void init()
+               {
+                       if (ScopeParser.initialized) {
+                               return;
+                       }
+                       string[] identsar = { 
+       
+                               "break",         
+                               "case",          
+                               "continue",     
+                               "default",      
+                               "delete",       
+                               "do",            
+                               "else",         
+                               "export",       
+                               "false",        
+                               "for",          
+                               "function",     
+                               "if",           
+                               "import",       
+                               "in",           
+                               "new",          
+                               "null",         
+                               "return",       
+                               "switch",       
+                               "this",         
+                               "true",         
+                               "typeof",       
+                               "var",          
+                               "void",         
+                               "while",        
+                               "with",         
+
+                               "catch",        
+                               "class",        
+                               "const",        
+                               "debugger",     
+                               "enum",         
+                               "extends",      
+                               "finally",      
+                               "super",        
+                               "throw",         
+                               "try",          
+
+                               "abstract",     
+                               "boolean",      
+                               "byte",         
+                               "char",         
+                               "double",       
+                               "final",        
+                               "float",        
+                               "goto",         
+                               "implements", 
+                               "instanceof",
+                               "int",           
+                               "interface",     
+                               "long",          
+                               "native",       
+                               "package",      
+                               "private",      
+                               "protected",     
+                               "public",        
+                               "short",        
+                               "static",       
+                               "synchronized",  
+                               "throws",        
+                               "transient",     
+                               "include",       
+                               "undefined"
+                       };
+                       ScopeParser.idents = new Gee.ArrayList<string>();
+                       for(var i = 0 ;   i < identsar.length;i++) {
+                               ScopeParser.idents.add(identsar[i]);
+                       }
+               }
+               
+               private Packer packer;
+               string filename;
+               public ScopeParser(TokenStream ts, Packer packer, string filename) {
+                       this.ts = ts; // {TokenStream}
+                       this.packer = packer;
+                       this.filename = filename;
+                       this.warnings = new Gee.ArrayList<string>();
+
+                       this.globalScope = new  Scope(-1, null, -1, "", null);
+                       this.indexedScopes = new Gee.HashMap<int,Scope>();
+       
+                       //this.indexedg = {};
+                       //this.timer = new Date() * 1;
+               }
+
+        
+       
+       
+               /*void warn(string s) 
+               {
+                       //print('****************' + s);
+                       this.warnings.add(s);
+                       //println("WARNING:" + htmlescape(s) + "<BR>");
+               }
+       */
+       
+               // defaults should not be initialized here =- otherwise they get duped on new, rather than initalized..
+       
+         
+
+
+
+
+               public void buildSymbolTree()  
+               {
+                       //println("<PRE>");
+                       
+                       this.ts.rewind();
+                       this.braceNesting = 0;
+                       
+                  // print(JSON.stringify(this.ts.tokens, null,4));
+                       
+                       
+                       this.globalScope =new  Scope(-1, null, -1, "", null);
+                       this.indexedScopes = new Gee.HashMap<int,Scope>();
+                       this.indexedScopes.set(0, this.globalScope );
+                       
+                       this.mode = ScopeParserMode.BUILDING_SYMBOL_TREE;
+                       
+                       this.parseScope(this.globalScope);
+                       
+               //       print("---------------END PASS 1 ---------------- \n");
+                       
+               }
+       
+               public void mungeSymboltree()
+               {
+                       if (!this.munge) {
+                           return;
+                       }
+
+                       // One problem with obfuscation resides in the use of undeclared
+                       // and un-namespaced global symbols that are 3 characters or less
+                       // in length. Here is an example:
+                       //
+                       //     var declaredGlobalVar;
+                       //
+                       //     function declaredGlobalFn() {
+                       //         var localvar;
+                       //         localvar = abc; // abc is an undeclared global symbol
+                       //     }
+                       //
+                       // In the example above, there is a slim chance that localvar may be
+                       // munged to 'abc', conflicting with the undeclared global symbol
+                       // abc, creating a potential bug. The following code detects such
+                       // global symbols. This must be done AFTER the entire file has been
+                       // parsed, and BEFORE munging the symbol tree. Note that declaring
+                       // extra symbols in the global scope won't hurt.
+                       //
+                       // Note: Since we go through all the tokens to do this, we also use
+                       // the opportunity to count how many times each identifier is used.
+
+                       this.ts.rewind();
+                       this.braceNesting = 0;
+                       this.mode = ScopeParserMode.PASS2_SYMBOL_TREE;
+                       
+                       //println("MUNGING?");
+                       
+                       this.parseScope(this.globalScope);
+                       
+
+                        
+                       this.globalScope.munge();
+                       
+                       // this.globalScope.dump();
+               }
+
+       
+
+
+               void parseScope(Scope scope)   // parse a token stream..
+               {
+                       //this.timerPrint("parseScope EnterScope"); 
+                       //this.log(">>> ENTER SCOPE" + this.scopes.length);
+                
+                       var isObjectLitAr = new Gee.ArrayList<bool>();
+                       isObjectLitAr.add(false);
+                
+                       
+                  
+                       //var scopeIndent = ''; 
+                       //this.scopes.forEach(function() {
+                       //    scopeIndent += '   '; 
+                       //});
+                       //print(">> ENTER SCOPE");
+                       
+                       
+                       
+                       
+                       var token = this.ts.lookTok(1);
+                       while (token != null) {
+                         //  this.timerPrint("parseScope AFTER lookT: " + token.toString()); 
+                           //this.dumpToken(token , this.scopes, this.braceNesting);
+                           //print("SCOPE: %s\n" , token.asString());
+                           //this.log(token.data);
+                           //if (token.type == 'NAME') {
+                           //    print('*' + token.data);
+                           //}
+                           switch(token.type) {
+                           
+                                       case TokenType.KEYW:
+                                       
+                                               switch(token.name) {
+                                                       case TokenName.VAR:
+                                                       case TokenName.CONST: // not really relivant as it's only mozzy that does this.
+                                                           //print('SCOPE-VAR:' + token.toString());
+                                                            
+                                                           //this.log("parseScope GOT VAR/CONST : " + token.toString()); 
+                                                           while (true) {
+                                                               token = this.ts.nextTok();
+                                                               //!this.debug|| print( token.toString());
+                                                              // print('SCOPE-VAR-VAL:' + JSON.stringify(token, null, 4));
+                                                               if (token == null) { // can return false at EOF!
+                                                                   break;
+                                                               }
+                                                               if (token.name == TokenName.VAR || token.data == ",") { // kludge..
+                                                                   continue;
+                                                               }
+                                                               //this.logR("parseScope GOT VAR  : <B>" + token.toString() + "</B>"); 
+                                                               if (token.type != TokenType.NAME) {
+                                                                       this.ts.printRange( int.max(this.ts.cursor-10,0), this.ts.cursor);
+                                                                       this.packer.logError(
+                                                                               Packer.ResultType.err,
+                                                                               this.filename,
+                                                                               token.line,
+                                                                               "var without indent"
+                                                                       );
+                                                                   //print( "var without ident");
+                                                                   //GLib.Process.exit (0);
+                                                               }
+                                                               
+
+                                                               if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                                                                   var identifier = scope.getIdentifier(token.data,token) ;
+                                                                   
+                                                                   if (identifier == null) {
+                                                                       scope.declareIdentifier(token.data, token);
+                                                                   } else {
+                                                                       token.identifier = identifier;
+                                                                           this.packer.logError(
+                                                                                               Packer.ResultType.warn,
+                                                                                               this.filename,
+                                                                                               token.line,
+                                                                                               "The variable '" +token.data + "' has already been declared in the same scope"
+                                                                                       );
+                                                                   }
+                                                               }
+
+                                                               token = this.ts.nextTok();
+                                                               //!this.debug|| print(token.toString());
+                                                               /*
+                                                               assert token.getType() == Token.SEMI ||
+                                                                       token.getType() == Token.ASSIGN ||
+                                                                       token.getType() == Token.COMMA ||
+                                                                       token.getType() == Token.IN;
+                                                               */
+                                                               if (token.name == TokenName.IN) {
+                                                                   break;
+                                                               } else {
+                                                                   //var bn = this.braceNesting;
+                                                                   var bn = this.braceNesting;
+                                                                   var nts = new Gee.ArrayList<Token>();
+                                                                   while (true) {
+                                                                       if (token == null  || token.type == TokenType.VOID || token.data == ",") {
+                                                                           break;
+                                                                       }
+                                                                       nts.add(token);
+                                                                       token = this.ts.nextTok();
+                                                                   }
+                                                                   if (nts.size > 0) {
+                                                                       var TS = this.ts;
+                                                                       this.ts = new TokenStream(nts);
+                                                                       this.parseExpression(scope);
+                                                                       this.ts = TS;
+                                                                   }
+                                                                      
+                                                                   this.braceNesting = bn;
+                                                                   //this.braceNesting = bn;
+                                                                   //this.logR("parseScope DONE  : <B>ParseExpression</B> - tok is:" + this.ts.lookT(0).toString()); 
+                                                                   
+                                                                   token = this.ts.lookTok(1);
+                                                                   //!this.debug|| 
+                                                                  // print("AFTER EXP: " + token.toString());
+                                                                   if (token.data == ";") {
+                                                                       break;
+                                                                   }
+                                                               }
+                                                           }
+                                                           
+                                                           //print("VAR:")
+                                                           //this.ts.dump(vstart , this.ts.cursor);
+                                                           
+                                                           break;
+                                                           
+                                                           
+                                                       case TokenName.FUNCTION:
+                                                           //if (this.mode == 'BUILDING_SYMBOL_TREE') 
+                                                           //    print('SCOPE-FUNC:' + JSON.stringify(token,null,4));
+                                                           //println("<i>"+token.data+"</i>");
+                                                            var bn = this.braceNesting;
+                                                           this.parseFunctionDeclaration(scope);
+                                                            this.braceNesting = bn;
+                                                           break;
+
+                                                       case TokenName.WITH:
+                                                           //print('SCOPE-WITH:' + token.toString());
+                                                           //println("<i>"+token.data+"</i>");   
+                                                           if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                                                               // Inside a 'with' block, it is impossible to figure out
+                                                               // statically whether a symbol is a local variable or an
+                                                               // object member. As a consequence, the only thing we can
+                                                               // do is turn the obfuscation off for the highest scope
+                                                               // containing the 'with' block.
+                                                               this.protectScopeFromObfuscation(scope);
+                                                           this.packer.logError(
+                                                                               Packer.ResultType.warn,
+                                                                               this.filename,
+                                                                               token.line,
+                                                                               "Using 'with' is not recommended as it reduces the level of compression"
+                                                                       );
+                                                               
+                                                                
+                                                           }
+                                                           break;
+
+                                                       case TokenName.CATCH:
+                                                           //print('SCOPE-CATCH:' + token.toString());
+                                                           //println("<i>"+token.data+"</i>");
+                                                           this.parseCatch(scope);
+                                                           break;
+
+
+
+                                                       default:    
+                                                               // print(" KEYW = %s\n", token.asString());
+                                                                
+                                               
+                                                            if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                                                                       
+                                                               if (token.name == TokenName.EVAL) {
+                                                                   //print("got token eval...prefix= %s\n", token.prefix);
+                                                                   
+                                                                   //print(JSON.stringify(token, null,4));
+                                                                   // look back one and see if we can find a comment!!!
+                                                                   //var prevTok = this.ts.look(-1,true);
+                                                                   //print("prev to eval = %s\n", prevTok.asString());
+                                                                   //if (prevTok.type == TokenType.COMM) {
+                                                                       //      print("previus to eval == comment\n%s\n" , prevTok.data);
+                                                                   if (token.prefix.length > 0 && Regex.match_simple ("eval",token.prefix)) {
+                                                                       // look for eval:var:noreplace\n
+                                                                       //print("MATCH!?");
+                                                                       
+                                                                       var regex = new GLib.Regex ("eval:var:([a-z_]+)",GLib.RegexCompileFlags.CASELESS );
+                        
+                                                                       regex.replace_eval (token.prefix, token.prefix.length, 0, 0, (match_info, result) => {
+                                                                                       var a =  match_info.fetch(1);
+                                                                                       //print("protect?: %s\n", a);
+                                                                           var hi = this.getIdentifier(a, scope, token);
+                                                                                  // println("PROTECT "+a+" from munge" + (hi ? "FOUND" : "MISSING"));
+                                                                           if (hi != null) {
+                                                                               //print("PROTECT "+a+" from munge\n");
+                                                                               //print(JSON.stringify(hi,null,4));
+                                                                               hi.toMunge = false;
+                                                                           }
+                                                                           return false;
+                                                                           
+                                                                       });
+                                                                       
+                                                                       
+                                                                   } else {
+                                                                       
+                                                                   
+                                                                       this.protectScopeFromObfuscation(scope);
+                                                                       
+                                                                       this.packer.logError(
+                                                                                               Packer.ResultType.warn,
+                                                                                               this.filename,
+                                                                                               token.line,
+                                                                                               "Using 'eval' is not recommended. (use  eval:var:noreplace in comments to optimize)"
+                                                                                       );
+                                                                        
+                                                                   }
+
+                                                               }
+
+                                                       
+                                                       
+
+                                                               }
+                                                               break; //???                                                    
+                                               }
+                                               break; // end KEYW
+                                       
+                                       case TokenType.PUNC:
+                                                       
+                                                       switch(token.name) {
+                                       
+                                       
+                                                               case TokenName.LEFT_CURLY: // {
+                                                               case TokenName.LEFT_PAREN: // (    
+                                                               case TokenName.LEFT_BRACE: // [
+                                                                       //print("SCOPE-CURLY/PAREN %d / KS= %d / IT=%d \n", token.props.size ,token.keyseq.size, token.items.size);
+                                                                       //println("<i>"+token.data+"</i>");
+                                                                       var curTS = this.ts;
+                                                                       if (token.props.size > 0) {
+                                                                           
+                                                                           // { a : ... , c : .... }
+                                                                           
+                                                                           for (var i = 0;i < token.keyseq.size; i++ ){ 
+                                                                           //var iter = token.props.map_iterator();
+                                                                                       var k =  token.keyseq.get(i);
+                                                                                       
+                                                                                       TokenKeyMap val = token.props.get(k);
+                                                                                       //print("SCOPE-PROPS GET (%d/%d): %s\n", i, token.keyseq.size,k);
+                                                                               
+                                                                             //  print('SCOPE-PROPS:' + JSON.stringify(token.props[prop],null,4));
+                                                                                       if (val == null || val.vals.size < 1) {
+                                                                                               continue;
+                                                                                       }
+                                                                               if (val.vals.get(0).data == "function") {
+                                                                                   // parse a function..
+                                                                                   this.ts = new TokenStream(val.vals);
+                                                                                   this.ts.nextTok();
+                                                                                   this.parseFunctionDeclaration(scope);
+                                                                                   
+                                                                                   continue;
+                                                                               }
+                                                                               // key value..
+                                                                               
+                                                                               this.ts = new TokenStream(val.vals);
+                                                                               this.parseExpression(scope);
+                                                                               
+                                                                           }
+                                                                           this.ts = curTS;
+                                                                           
+                                                                           // it's an object literal..
+                                                                           // the values could be replaced..
+                                                                           break;
+                                                                       }
+                                                                       
+                                                                       // ( ... ) or { .... } not object literals..
+                                                                       
+                                                                       
+                                                   for (var xx =0; xx < token.items.size; xx++) {
+                                                                       var expr = token.items.get(xx);
+                                                                       //token.items.forEach(function(expr) {
+                                                                               //print(expr.toString());
+                                                                              this.ts = new TokenStream(expr);
+                                                                               //if (curTS.data == '(') {
+                                                                                   this.parseScope(scope);
+                                                                               //} else {
+                                                                                 //  _this.parseExpression(scope)
+                                                                               //}
+                                                                             
+                                                                       }  
+                                                                       this.ts = curTS;
+                                                                       //print("NOT PROPS"); Seed.quit();
+                                                                       
+                                                                       //isObjectLitAr.push(false);
+                                                                       //this.braceNesting++;
+                                                                       
+                                                                       //print(">>>>>> OBJLIT PUSH(false)" + this.braceNesting);
+                                                                       break;
+
+                                                               case TokenName.RIGHT_CURLY: // }
+                                                                       //print("<< EXIT SCOPE");
+                                                                       return;
+                                                                       
+                                                               default:
+                                                                       break;
+                                               }
+                                               break;
+                                               
+                               case TokenType.STRN:
+                             
+                                       ///case "STRN.DOUBLE_QUOTE": // used for object lit detection.. case "STRN.SINGLE_QUOTE":
+                                 //  print('SCOPE-STRING:' + token.toString());
+                                   //println("<i>"+token.data+"</i>");
+
+                                   if (this.ts.lookTok(-1).data == "{" && this.ts.lookTok(1).data == ":") {
+                                       // then we are in an object lit.. -> we need to flag the brace as such...
+                                       isObjectLitAr.remove_at(isObjectLitAr.size-1);
+                                       isObjectLitAr.add(true);
+                                       //print(">>>>>> OBJLIT REPUSH(true)");
+                                   }
+                                   var isInObjectLitAr = isObjectLitAr.get(isObjectLitAr.size-1);
+                                   
+                                   if (isInObjectLitAr &&  this.ts.lookTok(1).data == ":" &&
+                                       ( this.ts.lookTok(-1).data == "{"  ||  this.ts.lookTok(-1).data == ":" )) {
+                                       // see if we can replace..
+                                       // remove the quotes..
+                                       // should do a bit more checking!!!! (what about wierd char's in the string..
+                                       var str = token.data.substring(1,token.data.length-1);
+                                       
+                                       if (Regex.match_simple ("^[a-z_]+$", str,GLib.RegexCompileFlags.CASELESS) && ScopeParser.idents.index_of(str) < 0) {
+                                           token.outData = str;
+                                       }
+                                       
+                                        
+                                       
+                                   }
+                                   
+                                   break;
+                               
+                               case TokenType.NAME:
+                                   // print("SCOPE got NAME:%s\n" , token.asString());
+                                   //print("DEAL WITH NAME:");
+                                   // got identifier..
+                                   // look for  { ** : <- indicates obj literal.. ** this could occur with numbers ..
+                                   // skip anyting with "." before it..!!
+                                   // print("prev0 = " + this.ts.lookTok(0).asString() +"\n");
+                                   // print("prev-1 = " + this.ts.lookTok(-1).asString() +"\n");                                    
+                                   if (this.ts.lookTok(-1).name == TokenName.DOT) {
+                                       // skip, it's an object prop.
+                                       // print("prev is a .dot.\n");
+                                       //println("<i>"+token.data+"</i>");
+                                       break;
+                                   }
+                                   //print("SYMBOL: " + token.toString());
+                                   
+                                   var symbol = token.data;
+                                   if (symbol == "this") {
+                                       // print("ignore 'this'\n");
+                                       break;
+                                   }
+                                   
+                                   if (this.mode == ScopeParserMode.PASS2_SYMBOL_TREE) {
+                                       
+                                       //println("GOT IDENT: -2 : " + this.ts.lookT(-2).toString() + " <BR> ..... -1 :  " +  this.ts.lookT(-1).toString() + " <BR> "); 
+                                       
+                                       //print ("MUNGE?" + symbol);
+                                       
+                                       //println("GOT IDENT: <B>" + symbol + "</B><BR/>");
+                                            
+                                           //println("GOT IDENT (2): <B>" + symbol + "</B><BR/>");
+                                       var identifier = this.getIdentifier(symbol, scope, token);
+                                       
+                                       
+                                       if (identifier == null) {
+                                                               // BUG!find out where builtin is defined...
+                                                               // print("new identifier\n");
+                                                               if (symbol.length <= 3 &&  Scope.builtin.index_of(symbol) < 0) {
+                                                                       // Here, we found an undeclared and un-namespaced symbol that is
+                                                                       // 3 characters or less in length. Declare it in the global scope.
+                                                                       // We don't need to declare longer symbols since they won't cause
+                                                                       // any conflict with other munged symbols.
+                                                                       this.globalScope.declareIdentifier(symbol, token);
+
+                                          this.packer.logError(
+                                                                               Packer.ResultType.warn,
+                                                                               this.filename,
+                                                                               token.line,
+                                                                               "Found an undeclared symbol: " + symbol
+                                                                       );
+
+                                           }
+                                           
+                                           //println("GOT IDENT IGNORE(3): <B>" + symbol + "</B><BR/>");
+                                       } else {
+                                               // print("existing identifier\n");
+                                           token.identifier = identifier;
+                                           identifier.refcount++;
+                                       }
+                                   }   
+                                   
+                                   break;
+                                   //println("<B>SID</B>");
+                               default:
+                                   
+                                   break;
+                               
+                               
+                           } // end switch
+                           
+                           
+                           //print("parseScope TOK : " + token.toString()); 
+                           token = this.ts.nextTok();
+                           //if (this.ts.nextT()) break;
+                           
+                       }
+                       //print("<<< EXIT SCOPE");
+                       //print("<<<<<<<EXIT SCOPE ERR?" +this.scopes.length);
+               }
+
+
+       
+               void parseExpression(Scope scope) 
+               {
+
+                       // Parse the expression until we encounter a comma or a semi-colon
+                       // in the same brace nesting, bracket nesting and paren nesting.
+                       // Parse functions if any...
+                       //println("<i>EXP</i><BR/>");
+                       //!this.debug || print("PARSE EXPR");
+                       this.expN++;
+                        
+                       // for printing stuff..
+                  
+                       
+                       
+
+                       //var expressionBraceNesting = this.braceNesting + 0;
+                       //var bracketNesting = 0;
+                       //var parensNesting = 0;
+                        
+                       var isObjectLitAr = new Gee.ArrayList<bool>();
+                       isObjectLitAr.add( false);
+                       
+                       
+                       Token token;    
+                       
+                       //print(scopeIndent + ">> ENTER EXPRESSION" + this.expN);
+                       while (null != (token = this.ts.nextTok())) {
+                
+                               
+                           
+                          /*
+                           // moved out of loop?
+                          currentScope = this.scopes[this.scopes.length-1];
+                           
+                           var scopeIndent = ''; 
+                           this.scopes.forEach(function() {
+                               scopeIndent += '   '; 
+                           });
+                          */ 
+                          
+                          //this.dumpToken(token,  this.scopes, this.braceNesting );
+                           //print("EXPR %s\n" ,  token.asString());
+                           
+                           
+                           //println("<i>"+token.data+"</i>");
+                           //this.log("EXP:" + token.data);
+                           switch (token.type) {
+                               case TokenType.PUNC:
+                                   //print("EXPR-PUNC:" + token.toString());
+                                   
+                                               switch(token.data) {
+
+                                                       case ";":
+                                                       //print("<< EXIT EXPRESSION");
+                                                               break;
+
+                                                       case ",":
+
+                                                               break;
+
+
+                                                       case "(": //Token.LP:
+                                                       case "{": //Token.LC:
+                                                       case "[": //Token.LB:
+                                                               //print('SCOPE-CURLY/PAREN/BRACE:' + token.toString());
+                                                               // print('SCOPE-CURLY/PAREN/BRACE:' + JSON.stringify(token, null,4));
+                                                               //println("<i>"+token.data+"</i>");
+                                                               var curTS = this.ts;
+                                                               if (token.keyseq.size > 0) {
+
+                                                                       for (var i = 0;i < token.keyseq.size; i++ ){ 
+                                                                       //var iter = token.props.map_iterator();
+                                                                               var k =  token.keyseq.get(i);
+                                                       
+                                                                               TokenKeyMap val = token.props.get(k);
+                                                                               
+                                                                               if (val == null) {
+                                                                                       print("failed  to get %s val from token %s\n", k, token.asString());
+                                                                                       continue;                                                                               
+                                                                               }
+
+                                                                               //if (val.vals.size < 1) {
+                                                                               //print(JSON.stringify(token.props, null,4));
+                                                                               //}
+
+
+                                                                               if (val.vals.size > 0 && val.vals.get(0).data == "function") {
+                                                                                       // parse a function..
+                                                                                       this.ts = new TokenStream(val.vals);
+                                                                                       this.ts.nextTok();
+                                                                                       this.parseFunctionDeclaration(scope);
+                                                                                       continue;
+                                                                               }
+                                                                               // key value..
+
+                                                                               this.ts = new TokenStream(val.vals);
+                                                                               this.parseExpression(scope);
+
+                                                                       }
+                                                                       this.ts = curTS;
+
+                                                                       // it's an object literal..
+                                                                       // the values could be replaced..
+                                                                       break;
+                                                               }
+
+
+
+                                                               foreach(var expr in token.items) {
+
+                                                                       this.ts = new TokenStream(expr);
+                                                                       this.parseExpression(scope);
+                                                               }
+                                                               this.ts = curTS;
+
+
+
+                                                               ///print(">>>>> EXP PUSH(false)"+this.braceNesting);
+                                                               break;
+
+                                      
+                                       
+                                        
+                                           
+                                       case ")": //Token.RP:
+                                       case "]": //Token.RB:
+                                       case "}": //Token.RB:
+                                           //print("<< EXIT EXPRESSION");
+                                           return;
+                                          
+        
+                            
+                                          // parensNesting++;
+                                          // break;
+
+                                       
+                                           
+                                   }
+                                   break;
+                                   
+                               case TokenType.STRN: // used for object lit detection..
+                                   //if (this.mode == 'BUILDING_SYMBOL_TREE')    
+                                       //print("EXPR-STR:" + JSON.stringify(token, null, 4));
+                              
+                                    
+                                   break;
+                               
+                                     
+                            
+                               case TokenType.NAME:
+                                   if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                                       
+                                       //print("EXPR-NAME:" + JSON.stringify(token, null, 4));
+                                   } else {
+                                       //print("EXPR-NAME:" + token.toString());
+                                   }
+                                   var symbol = token.data;
+                                   //print("expression got NAME = %s \n" , symbol);
+                                   //print("in NAME 0: " + this.ts.look(0).toString());
+                                   //print("in NAME 2: " + this.ts.lookTok(2).toString());
+                                   
+                                   //print(this.ts.lookTok(-1).data);
+                                   // prefixed with '.'
+                                   if (this.ts.lookTok(-1).data == ".") {
+                                       //skip '.'
+                                       break;
+                                   }
+                                   if (symbol == "this") {
+                                       break;
+                              }
+                                   
+                                   if (this.mode == ScopeParserMode.PASS2_SYMBOL_TREE) {
+
+                                       var identifier = this.getIdentifier(symbol, scope, token);
+                                       //println("<B>??</B>");
+                                       if (identifier == null) {
+
+                                           if (symbol.length <= 3 &&  Scope.builtin.index_of(symbol) < 0) {
+                                               // Here, we found an undeclared and un-namespaced symbol that is
+                                               // 3 characters or less in length. Declare it in the global scope.
+                                               // We don't need to declare longer symbols since they won't cause
+                                               // any conflict with other munged symbols.
+                                               this.globalScope.declareIdentifier(symbol, token);
+                                               
+                                               this.packer.logError(
+                                                                               Packer.ResultType.warn,
+                                                                               this.filename,
+                                                                               token.line,
+                                                                               "Found an undeclared symbol: " + symbol
+                                                                       );
+
+                                               
+                                               
+                                                
+                                               //print("Found an undeclared symbol: " + symbol + ' (line:' + token.line + ')');
+                                               //throw "OOPS";
+                                           } else {
+                                               //print("undeclared:" + token.toString())
+                                           }
+                                           
+                                           
+                                       } else {
+                                           //println("<B>++</B>");
+                                           token.identifier = identifier;
+                                           identifier.refcount++;
+                                       }
+                                       
+                                   }
+                                   break;
+                                   
+                                   
+                                   
+                                   
+                                   //println("<B>EID</B>");
+                               case TokenType.KEYW:   
+                                   //if (this.mode == 'BUILDING_SYMBOL_TREE') 
+                                   //    print("EXPR-KEYW:" + JSON.stringify(token, null, 4));
+                                   
+                                   //print('EXPR-KEYW:' + token.toString());
+                                   if (token.name == TokenName.FUNCTION) {
+                                       
+                                       this.parseFunctionDeclaration(scope);
+                                       break;
+                                   }
+                              
+                                    
+                                   var symbol = token.data;
+                                   if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                                       
+                                       if (token.name == TokenName.EVAL) {
+                                       
+                                       
+                                           //print(JSON.stringify(token,null,4));
+                                           
+                                           if (token.prefix.length > 0 && Regex.match_simple ("eval:var:", token.prefix,GLib.RegexCompileFlags.CASELESS)) {
+                                               // look for eval:var:noreplace\n
+                                              // print("GOT MATCH?");
+
+                                               
+                                          var regex = new GLib.Regex ("eval:var:([a-z_]+)",GLib.RegexCompileFlags.CASELESS );
+        
+                                               regex.replace_eval (token.prefix, token.prefix.length, 0, 0, (match_info, result) => {
+                                                       var a = match_info.fetch(0);
+                                                   //print("PROTECT: " + a);
+                                                   
+                                                   
+                                                   var hi = this.getIdentifier(a, scope, token);
+                                                  //println("PROTECT "+a+" from munge" + (hi ? "FOUND" : "MISSING"));
+                                                   if (hi != null) {
+                                                     //  println("PROTECT "+a+" from munge");
+                                                       hi.toMunge = false;
+                                                   }
+                                                   return false;
+                                                   
+                                               });
+                                               
+                                           } else {
+                                               this.protectScopeFromObfuscation(scope);
+                                               
+                                               this.packer.logError(
+                                                                               Packer.ResultType.warn,
+                                                                               this.filename,
+                                                                               token.line,
+                                                                               "Using 'eval' is not recommended. use eval:var in comment before eval to enable compression " + symbol
+                                                                       );
+
+                                               
+
+                                           }
+                                           
+
+                                       }
+                                     
+                                   } 
+                              break;
+                               default:
+                                   //if (this.mode == 'BUILDING_SYMBOL_TREE') 
+                                   //    print("EXPR-SKIP:" + JSON.stringify(token, null, 4));
+                                   break;
+                           }
+                           
+                       }
+                       //print("<< EXIT EXPRESSION");
+                       this.expN--;
+               }
+
+
+               void parseCatch(Scope scope) {
+
+                       
+                       //token = getToken(-1);
+                       //assert token.getType() == Token.CATCH;
+                       var token = this.ts.nextTok();
+                       token = this.ts.nextTok();
+                       
+                       
+                       //print(JSON.stringify(this.ts,null,4));
+                       //assert token.getType() == Token.LP; (
+                       //token = this.ts.nextTok();
+                       //assert token.getType() == Token.NAME;
+                       
+                       var symbol = token.items[0][0].data;
+                       
+
+                       if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                           // We must declare the exception identifier in the containing function
+                           // scope to avoid errors related to the obfuscation process. No need to
+                           // display a warning if the symbol was already declared here...
+                           scope.declareIdentifier(symbol, token.items[0][0]);
+                       } else {
+                           //?? why inc the refcount?? - that should be set when building the tree???
+                           var identifier = this.getIdentifier(symbol, scope, token.items[0][0]);
+                           identifier.refcount++;
+                       }
+                       
+                       //token = this.ts.nextTok();
+                       //assert token.getType() == Token.RP; // )
+               }
+       
+               void parseFunctionDeclaration (Scope scope) 
+               {
+                       //print("PARSE FUNCTION");
+                       
+                        
+                       // var b4braceNesting = this.braceNesting + 0;
+                       
+                       //this.logR("<B>PARSING FUNCTION</B>");
+                       
+
+                       var token = this.ts.nextTok();
+                       if (token.type == TokenType.NAME) {
+                           if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                               // Get the name of the function and declare it in the current scope.
+                               var symbol = token.data;
+                               if (scope.getIdentifier(symbol,token) != null) {
+                               
+                                
+                        this.packer.logError(
+                                                       Packer.ResultType.warn,
+                                                       this.filename,
+                                                       token.line,
+                                                       "The function " + symbol + " has already been declared in the same scope..."
+                                               );
+
+                               
+
+                               }
+                               scope.declareIdentifier(symbol,token);
+                           }
+                           token =  this.ts.nextTok();
+                       }
+                       
+                       
+                       // return function() {.... 
+                       while (token.data != "(") {
+                           //print(token.toString());
+                           token =  this.ts.nextTok();
+                            
+                       }
+                       
+                       Scope fnScope;
+                       //assert token.getType() == Token.LP;
+                       if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                           fnScope = new Scope(1, scope, token.id, "", token);
+                           
+                           //println("STORING SCOPE" + this.ts.cursor);
+                           
+                           this.indexedScopes.set(token.id,fnScope);
+                           
+                       } else {
+                           //qln("FETCHING SCOPE" + this.ts.cursor);
+                           fnScope = this.indexedScopes[token.id];
+                       }
+                       //if (this.mode == 'BUILDING_SYMBOL_TREE') 
+                       //  print('FUNC-PARSE:' + JSON.stringify(token,null,4));
+                       // Parse function arguments.
+                       var args = token.items;
+                       for (var argpos =0; argpos < args.size; argpos++) {
+                            
+                           token = args.get(argpos).get(0);
+                           //print ("FUNC ARGS: " + token.toString())
+                           //assert token.getType() == Token.NAME ||
+                           //        token.getType() == Token.COMMA;
+                           if (token.type == TokenType.NAME && this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+                               var symbol = token.data;
+                               var identifier = fnScope.declareIdentifier(symbol,token);
+                               if (symbol == "$super" && argpos == 0) {
+                                   // Exception for Prototype 1.6...
+                                   identifier.toMunge = false;
+                               }
+                               //argpos++;
+                           }
+                       }
+                       
+                       token = this.ts.nextTok();
+                       if (token == null) {
+                               return;
+                       }
+                       //print('FUNC-BODY:' + JSON.stringify(token.items,null,4));
+                       //Seed.quit();
+                       //print(token.toString());
+                       // assert token.getType() == Token.LC;
+                       //this.braceNesting++;
+                       
+                       //token = this.ts.nextTok();
+                       //print(token.toString());
+                       var outTS = this.ts;
+                       foreach(var tar in token.items) {
+                               this.ts = new TokenStream(tar);
+                               this.parseScope(fnScope);
+                           
+                       }
+                       
+                       //print(JSON.stringify(this.ts,null,4));
+                       //this.parseScope(fnScope);
+                       this.ts = outTS;
+                       // now pop it off the stack!!!
+                  
+                       //this.braceNesting = b4braceNesting;
+                       //print("ENDFN -1: " + this.ts.lookTok(-1).toString());
+                       //print("ENDFN 0: " + this.ts.lookTok(0).toString());
+                       //print("ENDFN 1: " + this.ts.lookTok(1).toString());
+               }
+       
+               void protectScopeFromObfuscation (Scope scope) {
+                           //assert scope != null;
+                       
+                       if (scope == this.globalScope) {
+                           // The global scope does not get obfuscated,
+                           // so we don't need to worry about it...
+                           return;
+                       }
+
+                       // Find the highest local scope containing the specified scope.
+                       while (scope != null && scope.parent != this.globalScope) {
+                           scope = scope.parent;
+                       }
+                       //assert scope.getParentScope() == globalScope;
+                       scope.preventMunging();
+               }
+        
+               Identifier? getIdentifier(string symbol, Scope in_scope, Token token) 
+               {
+                       Identifier identifier;
+                       var scope = in_scope;
+                       while (scope != null) {
+                           identifier = scope.getIdentifier(symbol, token);
+                           //println("ScopeParser.getIdentgetUsedSymbols("+symbol+")=" + scope.getUsedSymbols().join(','));
+                           if (identifier != null) {
+                               return identifier;
+                           }
+                           scope = scope.parent;
+                       }
+                       return null;
+               }
+               public void printWarnings()
+               {
+                       foreach(var w in this.warnings) {
+                               print("%s\n",w);
+                       }
+               }
+               
+       }
+}
+
diff --git a/roojspacker/Symbol.vala b/roojspacker/Symbol.vala
new file mode 100644 (file)
index 0000000..216f512
--- /dev/null
@@ -0,0 +1,910 @@
+/**
+       Create a new Symbol.
+       @class Represents a symbol in the source code.
+ */
+
+namespace JSDOC {
+
+
+       public  class Symbol : Object
+       {
+               // debugging?
+               
+               
+               public static bool regex_init = false;
+               
+
+               private string private_string_name = "";
+               private string _assigned_name = "";
+               // called by symbolset...
+               public string private_name {
+               set {
+                               this._assigned_name = name;
+                               var n = /^_global_[.#-]/.replace(value, value.length, 0, "");
+                       n =  /\.prototype\.?/.replace(n,n.length, 0, "#");
+                       while (true) {
+                               if (!n.has_suffix("#")) {
+                                       break;
+                                       }
+                                       n = n.substring(0, n.length-1);
+                               }
+                       
+                       this.private_string_name = n;
+               }
+               
+               }
+                
+        public string name {
+               get { return this.private_string_name; }
+               }
+               
+      
+        string defaultValue = "";
+        
+               private Gee.ArrayList<DocTag> private_doctag_params = null;
+
+               private Gee.ArrayList<DocTag> private_params{
+                       set  {
+                               if (this.private_doctag_params == null) {
+                                       this.private_doctag_params = new Gee.ArrayList<DocTag>();
+                               }
+                               for (var i = 0; i < value.size; i++) {
+                                  
+                                   this.private_doctag_params.add(value.get(i));
+                               }
+                               //this.params = this._params;
+                       }
+               }
+     
+               Gee.ArrayList<string> private_string_params{
+                       set  {
+                               if (this.private_doctag_params == null) {
+                                       this.private_doctag_params = new Gee.ArrayList<DocTag>();
+                               }
+                               for (var i = 0; i < value.size; i++) {
+
+                                   //var ty = v[i].hasOwnProperty('type') ? v[i].type : '';
+                                   this.private_doctag_params.add( new DocTag(value.get(i)));
+                                          
+                                  //"param"+((ty)?" {"+ty+"}":"")+" "+v.get(i).name);
+                                   
+                               }
+                               
+                       }
+               }
+               public Gee.ArrayList<DocTag> params {
+                       get {
+                               if (this.private_doctag_params == null) {
+                                       this.private_doctag_params = new Gee.ArrayList<DocTag>();
+                               }
+                               return this.private_doctag_params;
+                       }
+               
+               }
+
+               public Gee.ArrayList<string>  augments ;  
+               
+
+               private Gee.ArrayList<DocTag>  exceptions ;
+
+               //public Gee.ArrayList<DocTag>  inherits; 
+               public Gee.ArrayList<Symbol>  methods;
+
+               public Gee.ArrayList<Symbol> properties;
+               private Gee.ArrayList<string> requires;
+               public Gee.ArrayList<DocTag> returns;
+               private Gee.ArrayList<string> see ;
+
+               public Gee.ArrayList<string> childClasses;
+               public Gee.ArrayList<string> inheritsFrom;
+        public Gee.HashMap<string,DocTag>cfgs;
+        
+        
+        public DocComment comment;
+                
+        //$args : [], // original arguments used when constructing.
+        string addOn = "";
+        public string alias = "";
+        
+        string author = "";
+        string classDesc = "";
+
+        string deprecated = "";
+        public string desc = "";
+        //events : false,
+        string example = "";
+        
+
+        public string isa = "OBJECT"; // OBJECT//FUNCTION
+        
+        public bool isEvent = false;
+        public bool isConstant = false;
+        public bool isIgnored = false;
+        public bool isInner = false;
+        public bool isNamespace = false;
+        public bool isPrivate = false;
+        public bool isStatic = false;
+        
+        public string memberOf = "";
+
+               public string asString()
+               {
+                       return "NAME: %s:%s   ASNAME: %s : %s%s%s%s".printf(
+                               this.memberOf,
+                               this.name,
+                               this._assigned_name,
+                               isStatic ? "static": "",
+                               isEvent ? "EV": "",
+                               isConstant ? "CO": "",
+                               isNamespace ? "NS": ""
+                       );
+                               
+               
+               }
+
+       
+        string since = "";
+
+        string type = "";
+        string version = "";
+       
+        public static string srcFile = "";
+        
+        
+        
+        public void initArrays()
+        {
+            // only initialize arrays / objects..
+
+            
+            //this.params = [];
+            //this.$args = [];
+            
+            //this.events = [];
+            this.exceptions = new Gee.ArrayList<DocTag>();
+            //this.inherits = new Gee.ArrayList<DocTag>();
+            //
+            this.isa = "OBJECT"; // OBJECT//FUNCTION
+            this.methods = new Gee.ArrayList<Symbol>();
+            //this.private_params = new Gee.ArrayList<DocTag>();
+            this.properties = new Gee.ArrayList<Symbol>();
+            this.requires = new Gee.ArrayList<string>();
+            this.returns = new Gee.ArrayList<DocTag>();
+            this.see = new Gee.ArrayList<string>();
+            this.augments = new Gee.ArrayList<string>();
+            
+            this.cfgs = new Gee.HashMap<string,DocTag>();
+            // derived later?
+            this.inheritsFrom = new Gee.ArrayList<string>();
+
+            this.childClasses = new Gee.ArrayList<string>();
+             
+            this.comment = new DocComment();
+            this.comment.isUserComment =  false;
+            
+               
+        }
+               
+               public Symbol.new_builtin(string name)
+               {
+            
+            this.initArrays();
+            this.srcFile = JSDOC.DocParser.currentSourceFile;
+                       this.private_name =  name ;
+                       this.alias = this.name;
+                       this.isa = "CONSTRUCTOR";
+                       this.comment = new DocComment("");
+                       this.comment.isUserComment =  false;
+                       this.isNamespace = false;
+                       this.srcFile = "";
+                       this.isPrivate = false;
+                       // init arrays....
+                       
+                       
+                       
+               }
+               
+
+
+        public Symbol.new_populate_with_args(
+                string  name,
+                Gee.ArrayList<string> params, // fixme???
+                string isa,
+                DocComment comment
+        ) {
+           
+            this.initArrays();
+           // this.$args = arguments;
+            //println("Symbol created: " + isa + ":" + name);
+            this.private_name = name;
+            this.alias = this.name;
+            this.private_string_params = params; 
+            this.isa = (isa == "VIRTUAL")? "OBJECT":isa;
+            this.comment =  comment;
+            
+            this.srcFile = DocParser.currentSourceFile;
+            
+           
+            
+            if (this.is("FILE") && this.alias.length < 1) { // this will never hapen???
+                       this.alias = this.srcFile;
+               }
+
+            this.tagsFromComment();
+            
+        }
+
+        void tagsFromComment() {
+            // @author
+            var authors = this.comment.getTag(DocTagTitle.AUTHOR);
+            if (authors.size > 0) {
+                       // turns author into a string....
+                       this.author = "";
+                foreach(var a in authors) {
+                    this.author += (this.author == "") ? "": ", ";
+                    this.author += a.desc;
+                }
+            }
+            
+            /*~t
+                assert("testing Symbol");
+                
+                requires("../lib/JSDOC/DocComment.js");
+                requires("../frame/String.js");
+                requires("../lib/JSDOC/DocTag.js");
+
+                var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@author Joe Smith*"+"/"));
+                assertEqual(sym.author, "Joe Smith", "@author tag, author is found.");
+            */
+            // @desc
+            var mth = this.comment.getTag(DocTagTitle.METHOD);
+            if (mth.size  > 0) {
+                this.isa = "FUNCTION";
+            }
+            // @desc
+            var descs = this.comment.getTag(DocTagTitle.DESC);
+            if (descs.size>  0) {
+                this.desc = "";
+                foreach(var d in descs) {
+                    this.desc = this.desc == "" ? "": "\n";
+                    this.desc += d.desc;
+                }
+
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@desc This is a description.*"+"/"));
+                assertEqual(sym.desc, "This is a description.", "@desc tag, description is found.");
+            */
+            
+            // @overview
+            if (this.is("FILE")) {
+                if (this.alias.length < 1) this.alias = this.srcFile;
+                
+                var overviews = this.comment.getTag(DocTagTitle.OVERVIEW);
+                if (overviews.size > 0) {
+                    foreach(var d in overviews) {
+                        this.desc = this.desc == "" ? "": "\n";
+                        this.desc += d.desc;
+                    }
+                }
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "FILE", new DocComment("/**@overview This is an overview.*"+"/"));
+                assertEqual(sym.desc, "\nThis is an overview.", "@overview tag, description is found.");
+            */
+            
+            // @since
+            var sinces = this.comment.getTag(DocTagTitle.SINCE);
+            if (sinces.size > 0) {
+                this.since = "";
+                foreach(var d in sinces) {
+                    this.since = this.since == "" ? "": "\n";
+                    this.since += d.desc;
+                }
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "FILE", new DocComment("/**@since 1.01*"+"/"));
+                assertEqual(sym.since, "1.01", "@since tag, description is found.");
+            */
+            
+            // @constant
+            if (this.comment.getTag(DocTagTitle.CONSTANT).size > 0) {
+                this.isConstant = true;
+                this.isa = "OBJECT";
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "FILE", new DocComment("/**@constant*"+"/"));
+                assertEqual(sym.isConstant, true, "@constant tag, isConstant set.");
+            */
+            
+            // @version
+            var versions = this.comment.getTag(DocTagTitle.VERSION);
+            if (versions.size > 0 ) {
+                this.version = "";
+                 foreach(var d in versions) {
+                    this.version = this.version == "" ? "": "\n";
+                    this.version += d.desc;
+                }
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "FILE", new DocComment("/**@version 2.0x*"+"/"));
+                assertEqual(sym.version, "2.0x", "@version tag, version is found.");
+            */
+            
+            // @deprecated
+            var deprecateds = this.comment.getTag(DocTagTitle.DEPRECATED);
+            if (deprecateds.size > 0) {
+                this.deprecated = "";
+                 foreach(var d in deprecateds) {
+                    this.deprecated = this.deprecated == "" ? "": "\n";
+                    this.deprecated += d.desc;
+                }
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "FILE", new DocComment("/**@deprecated Use other method.*"+"/"));
+                assertEqual(sym.deprecated, "Use other method.", "@deprecated tag, desc is found.");
+            */
+            
+            // @example
+            var examples = this.comment.getTag(DocTagTitle.EXAMPLE);
+            if (examples.size > 0) {
+                this.example = examples.get(0).desc;
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "FILE", new DocComment("/**@example This\n  is an example.*"+"/"));
+                assertEqual(sym.example, "This\n  is an example.", "@deprecated tag, desc is found.");
+            */
+            
+            // @see
+            var sees = this.comment.getTag(DocTagTitle.SEE);
+            if (sees.size > 0) {
+                 
+                foreach(var s in sees) {
+                    this.see.add(s.desc);
+                }
+          }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "FILE", new DocComment("/**@see The other thing.*"+"/"));
+                assertEqual(sym.see, "The other thing.", "@see tag, desc is found.");
+            */
+            
+            // @class
+            var classes = this.comment.getTag(DocTagTitle.CLASS);
+            if (classes.size > 0) {
+                //print(JSON.stringify(this,null,4));
+                this.isa = "CONSTRUCTOR";
+                this.classDesc = classes[0].desc; // desc can't apply to the constructor as there is none.
+                //if (!this.classDesc.leg) {
+                //    this.classDesc = this.desc;
+                //   }
+                
+                
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@class This describes the class.*"+"/"));
+                assertEqual(sym.isa, "CONSTRUCTOR", "@class tag, makes symbol a constructor.");
+                assertEqual(sym.classDesc, "This describes the class.", "@class tag, class description is found.");
+            */
+            
+            // @namespace
+            var namespaces = this.comment.getTag(DocTagTitle.NAMESPACE);
+            if (namespaces.size > 0) {
+                this.classDesc = namespaces[0].desc+"\n"+this.desc; // desc can't apply to the constructor as there is none.
+                this.isNamespace = true;
+            }
+            
+            /*~t
+                var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@namespace This describes the namespace.*"+"/"));
+                assertEqual(sym.classDesc, "This describes the namespace.\n", "@namespace tag, class description is found.");
+            */
+            
+            // @param
+            var params = this.comment.getTag(DocTagTitle.PARAM);
+            if (params.size > 0) {
+                // user-defined params overwrite those with same name defined by the parser
+                var thisParams = params;
+
+                if (thisParams.size == 0) { // none exist yet, so just bung all these user-defined params straight in
+                    this.private_params = params;
+                }
+                else { // need to overlay these user-defined params on to existing parser-defined params
+                    for (var i = 0, l = params.size; i < l; i++) {
+                        if (thisParams.size <= i) {
+                               var np = thisParams.get(i);
+                               
+                            if (np.type.length > 0) np.type = params[i].type;
+                            np.name = params[i].name;
+                            np.desc = params[i].desc;
+                            np.isOptional = params[i].isOptional;
+                            np.defaultValue = params[i].defaultValue;
+                            //thisParams.set(i, np); ///?? needed OO ?
+                        }
+                        else thisParams.set(i, params[i]);
+                    }
+                    this.private_params = thisParams;
+                }
+            }
+            
+            
+            
+            // @constructor
+            if (this.comment.getTag(DocTagTitle.CONSTRUCTOR).size > 0) {
+                this.isa = "CONSTRUCTOR";
+            }
+            
+         
+            
+            // @static
+            if (this.comment.getTag(DocTagTitle.STATIC).size > 0) {
+                this.isStatic = true;
+                if (this.isa == "CONSTRUCTOR") {
+                    this.isNamespace = true;
+                }
+            }
+            
+                // @static
+            if (this.comment.getTag(DocTagTitle.SINGLETON).size > 0) {
+                this.isStatic = true;
+                //print('------------- got singleton ---------------' + this.isa);
+                //if (this.isa == "CONSTRUCTOR") {
+                //     this.isNamespace = true;
+                //}
+            }
+            
+            
+            
+            // @inner
+            if (this.comment.getTag(DocTagTitle.INNER).size > 0) {
+                this.isInner = true;
+                this.isStatic = false;
+            }
+            
+            
+            // @field
+            if (this.comment.getTag(DocTagTitle.FIELD).size > 0) {
+                this.isa = "OBJECT";
+            }
+            
+           
+            
+            // @function
+            if (this.comment.getTag(DocTagTitle.FUNCTION).size > 0) {
+                this.isa = "FUNCTION";
+            }
+            
+            // @param
+            if (this.comment.getTag(DocTagTitle.PARAM).size > 0 && this.isa == "OBJECT" ) {
+                // change a property to a function..
+                this.isa = "FUNCTION";
+            }
+            
+            
+             
+            
+            // @event
+            var events = this.comment.getTag(DocTagTitle.EVENT);
+            if (events.size > 0) {
+                this.isa = "FUNCTION";
+                this.isEvent = true;
+            }
+            
+            
+            
+            // @name
+            var names = this.comment.getTag(DocTagTitle.NAME);
+            if (names.size > 0) {
+                this.private_name = names.get(0).desc.strip();
+            }
+            
+            /*~t
+                // todo
+            */
+            
+            // @property
+            var properties = this.comment.getTag(DocTagTitle.PROPERTY);
+            if (properties.size > 0) {
+                //var thisProperties = this.properties;
+                for (var i = 0; i < properties.size; i++) {
+
+                                       
+                                       // if the doc tag just says @property ... but no name etc..
+                                       // then name will not be filled in..
+                                       if (properties[i].name.length < 1 ) {
+                                               continue;
+                                       }
+
+                    var property = new Symbol.new_populate_with_args(
+                        this.alias+"#"+properties[i].name,
+                         new Gee.ArrayList<string>(), 
+                        "OBJECT",
+                         new DocComment(
+                            "/**\n"+
+                               properties[i].desc+
+                               "\n@name "+ properties[i].name
+                               +"\n@memberOf "+this.alias+"#*/"
+                    ));
+                    // TODO: shouldn't the following happen in the addProperty method of Symbol?
+                    property.private_name = properties[i].name;
+                    property.memberOf = this.alias;
+                    if (properties[i].type.length > 0) property.type = properties[i].type;
+                    if (properties[i].defaultValue.length > 0) property.defaultValue = properties[i].defaultValue;
+                    this.addProperty(property);
+                    JSDOC.DocParser.addSymbol(property);
+                }
+            }
+            
+            // config..
+            var conf = this.comment.getTag(DocTagTitle.CFG);
+            if (conf.size > 0) {
+                for (var i = 0; i < conf.size; i++) {
+                    this.addConfig(conf.get(i));
+                }
+            }
+            
+          
+
+            // @return
+            var returns = this.comment.getTag(DocTagTitle.RETURN);
+            if (returns.size > 0) { // there can be many return tags in a single doclet
+                this.returns = returns;
+
+                this.type = "";
+                foreach(var r in returns) {
+                    this.type += this.type == "" ? "": ", ";
+                    this.type += r.type;
+                } 
+             }
+            
+            
+            
+            // @exception
+            this.exceptions = this.comment.getTag(DocTagTitle.THROWS);
+            
+           
+            // @requires
+            var requires = this.comment.getTag(DocTagTitle.REQUIRES);
+            if (requires.size > 0) {
+                this.requires = new Gee.ArrayList<string>();
+                foreach(var r in requires) {
+                    this.requires.add(r.desc);
+                }
+            }
+           
+            
+            // @type
+            var types = this.comment.getTag(DocTagTitle.TYPE);
+            if (types.size > 0) {
+                this.type = types.get(0).desc; //multiple type tags are ignored
+            }
+            
+            
+            
+            // @private
+            if (this.comment.getTag(DocTagTitle.PRIVATE).size > 0 || this.isInner) {
+                this.isPrivate = true;
+            }
+            
+            // @ignore
+            if (this.comment.getTag(DocTagTitle.IGNORE).size > 0) {
+                this.isIgnored = true;
+            }
+            
+            /*~t
+                // todo
+            */
+            
+            // @inherits ... as ... -- not used!!!
+            /*
+            var inherits = this.comment.getTag("inherits");
+            if (inherits.length) {
+                for (var i = 0; i < inherits.length; i++) {
+                    if (/^\s*([a-z$0-9_.#-]+)(?:\s+as\s+([a-z$0-9_.#]+))?/i.test(inherits[i].desc)) {
+                        var inAlias = RegExp.$1;
+                        var inAs = RegExp.$2 || inAlias;
+
+                        if (inAlias) inAlias = inAlias.replace(/\.prototype\.?/g, "#");
+                        
+                        if (inAs) {
+                            inAs = inAs.replace(/\.prototype\.?/g, "#");
+                            inAs = inAs.replace(/^this\.?/, "#");
+                        }
+
+                        if (inAs.indexOf(inAlias) != 0) { //not a full namepath
+                            var joiner = ".";
+                            if (this.alias.charAt(this.alias.length-1) == "#" || inAs.charAt(0) == "#") {
+                                joiner = "";
+                            }
+                            inAs = this.alias + joiner + inAs;
+                        }
+                    }
+                    this.inherits.push({alias: inAlias, as: inAs});
+                }
+            }
+            */
+            /*~t
+                // todo
+            */
+
+            // @augments
+            foreach(var dt in this.comment.getTag(DocTagTitle.ARGUMENTS)) {
+               this.augments.add(dt.desc);
+               }
+            //@extends - Ext           
+            foreach(var dt in this.comment.getTag(DocTagTitle.EXTENDS)) {
+               this.augments.add(dt.desc);
+               }
+            
+            
+            
+            // @default
+            var defaults = this.comment.getTag(DocTagTitle.DEFAULT);
+            if (defaults.size > 0) {
+                if (this.is("OBJECT")) {
+                    this.defaultValue = defaults.get(0).desc;
+                }
+            }
+            
+            /*~t
+                // todo
+            */
+            
+            // @memberOf
+            var memberOfs = this.comment.getTag(DocTagTitle.MEMBEROF);
+            if (memberOfs.size > 0) {
+                this.memberOf = memberOfs[0].desc;
+                var pr_reg = /\.prototype\.?/;
+                
+                this.memberOf = pr_reg.replace(this.memberOf, this.memberOf.length, 0, "#");
+                var dname = this.name.split(".");
+                var name = dname[dname.length-1];
+                
+                var hname = name.split("#");
+                name = hname[hname.length-1];
+                this.private_name = this.memberOf + "." + name; //?? "." ???
+                this.alias = this.name;
+            }
+
+            /*~t
+                // todo
+            */
+             
+            // @public
+            if (this.comment.getTag(DocTagTitle.PUBLIC).size > 0) {
+                this.isPrivate = false;
+            }
+            
+            /*~t
+                // todo
+            */
+        }
+
+        public bool is (string what) {
+            return this.isa == what;
+        }
+        public bool isaClass()
+        {
+        
+               return (this.is("CONSTRUCTOR") || this.isNamespace ); //|| this.isClass); 
+        }
+        
+        public bool isBuiltin() {
+            return SymbolSet.isBuiltin(this.alias);
+        }
+
+        void setType(string comment,bool overwrite) {
+            if (!overwrite && this.type.length > 0) {
+                return;
+                }
+            var typeComment = DocComment.unwrapComment(comment);
+            this.type = typeComment;
+        }
+
+        public void inherit (Symbol symbol) {
+            if (!this.hasMember(symbol.name) && !symbol.isInner) {
+                if (symbol.is("FUNCTION"))
+                    this.methods.add(symbol);
+                else if (symbol.is("OBJECT"))
+                    this.properties.add(symbol);
+            }
+        }
+
+        bool hasMember (string name) {
+            return (this.hasMethod(name) || this.hasProperty(name));
+        }
+
+        public void addMember (Symbol symbol) {
+            //println("ADDMEMBER: " + this.name +  " ++ " + symbol.name);
+            
+            if (symbol.comment.getTag(DocTagTitle.CFG).size == 1) { 
+                symbol.comment.getTag(DocTagTitle.CFG).get(0).memberOf = this.alias;
+                this.addConfig(symbol.comment.getTag(DocTagTitle.CFG).get(0));
+                return;
+            }
+            
+            if (symbol.is("FUNCTION")) { this.addMethod(symbol); }
+            else if (symbol.is("OBJECT")) { this.addProperty(symbol); }
+        }
+
+        bool hasMethod (string name) {
+            var thisMethods = this.methods;
+            for (var i = 0, l = thisMethods.size; i < l; i++) {
+                if (thisMethods.get(i).name == name) return true;
+                if (thisMethods.get(i).alias == name) return true;
+            }
+            return false;
+        }
+
+        void addMethod (Symbol symbol) {
+            var methodAlias = symbol.alias;
+            var thisMethods = this.methods;
+            for (var i = 0, l = thisMethods.size; i < l; i++) {
+                if (thisMethods.get(i).alias == methodAlias) {
+                    thisMethods.set(i, symbol); // overwriting previous method
+                    return;
+                }
+            }
+            thisMethods.add(symbol); // new method with this alias
+        }
+
+        bool hasProperty(string name) {
+            var thisProperties = this.properties;
+            for (var i = 0, l = thisProperties.size; i < l; i++) {
+                if (thisProperties.get(i).name == name) return true;
+                if (thisProperties.get(i).alias == name) return true;
+            }
+            return false;
+        }
+
+        void addProperty(Symbol symbol) {
+            var propertyAlias = symbol.alias;
+            var thisProperties = this.properties;
+            for (var i = 0, l = thisProperties.size; i < l; i++) {
+                if (thisProperties.get(i).alias == propertyAlias) {
+                    thisProperties.set(i, symbol); // overwriting previous property
+                    return;
+                }
+            }
+
+            thisProperties.add(symbol); // new property with this alias
+        }
+        
+        public void addDocTag(DocTag docTag)
+        {
+            this.comment.tags.add(docTag);
+            if (docTag.title == DocTagTitle.CFG) {
+                this.addConfig(docTag);
+            }
+             
+        }
+        
+        public void addConfig(DocTag docTag)
+        {
+            if (docTag.memberOf == "") {
+                // remove prototype data...
+                //var a = this.alias.split('#')[0];
+                //docTag.memberOf = a;
+                docTag.memberOf = this.alias;
+            }
+            if (!this.cfgs.has_key(docTag.name)) {
+                this.cfgs.set(docTag.name,  docTag);
+            }
+            
+        }
+         
+        public Gee.ArrayList<DocTag> configToArray()
+        {
+            var r = new  Gee.ArrayList<DocTag>();
+            foreach(var ci in this.cfgs.keys) {
+                // dont show hidden!!
+                if (this.cfgs.get(ci).desc.contains("@hide")) {
+                    continue;
+                }
+                r.add(this.cfgs.get(ci)); 
+               
+            }
+            return r;
+        }
+        
+       
+               
+               public string makeFuncSkel() {
+                   if (this.params.size < 1) return "function ()\n{\n\n}";
+                       var ret = "function (";
+                       var f = false;
+                       foreach(var p in this.params) {
+                               if (p.name.contains(".")) continue;
+                               ret += f ? ", " : "";
+                               f = true;
+                               ret +=  p.name == "this" ? "_self" : p.name;
+                       }
+                       return ret + ")\n{\n\n}";
+               }
+               public string makeMethodSkel() {
+                   if (this.params.size < 1) return "()\n{\n\n}";
+                       var ret = "(";
+                       var f = false;
+                       foreach(var p in this.params) {
+                               GLib.debug("got param: %s", p.asString());
+                               if (p.name.contains(".")) continue;
+                               ret += f ? ", " : "";
+                               f = true;
+                               switch(p.name) {
+                                       case "this" : ret += "this"; break;
+                                       case "function" : ret += "function() {\n\n}"; break;                                    
+                                       default : ret += p.name; break;
+                               }
+                       }
+                       return ret + ")";
+               }
+               
+               public Json.Array paramsToJson()
+               {
+                       var ret = new Json.Array();
+                       foreach(var p in this.params) {
+                               //GLib.debug("got param: %s", p.asString());
+                               if (p.name.contains(".")) continue;// ?? why?                           
+                               var add = new Json.Object();
+                               add.set_string_member("name",p.name);                           
+                               add.set_string_member("type",p.type);
+                               add.set_string_member("desc",p.desc);
+                               add.set_boolean_member("isOptional",p.isOptional);
+                               ret.add_object_element(add) ;
+                       }
+                        
+                       return ret;
+               
+               }
+       public Json.Array returnsToJson()
+               {
+                       var ret = new Json.Array();
+                       foreach(var p in this.returns) {
+                               //GLib.debug("got param: %s", p.asString());
+                               if (p.name.contains(".")) continue;// ?? why?                           
+                               var add = new Json.Object();
+                               add.set_string_member("name",p.name);                           
+                               add.set_string_member("type",p.type);
+                               add.set_string_member("desc",p.desc);
+                
+                               ret.add_object_element(add) ;
+                       }
+                        
+                       return ret;
+               
+               }
+       }
+       
+       
+       //static string[] hide = { "$args" };
+       //static string srcFile = "";
+        
+}
+
+
+/*
+Symbol.fromDump = function(t)
+{
+    var ns = new Symbol();
+    for (var i in t) {
+        if (typeof(ns[i]) == "undefined") {
+            println("ERR:no default for Symbol:"+ i);
+        }
+        ns[i] = t[i];
+    }
+    return ns;
+}
+*/
diff --git a/roojspacker/SymbolSet.vala b/roojspacker/SymbolSet.vala
new file mode 100644 (file)
index 0000000..3e944f5
--- /dev/null
@@ -0,0 +1,382 @@
+namespace JSDOC {
+
+       public class SymbolSet  : Object {
+
+               private Gee.HashMap<string,Symbol> __index = null;
+               
+               public Gee.HashMap<string,Symbol> _index {
+                       get {
+                               if (this.__index == null) {
+                                       GLib.debug("Creating new Symbolset array");
+                                       this.__index = new Gee.HashMap<string,Symbol>();
+                               }
+                               return this.__index;
+                       }
+               }
+                
+               public SymbolSet ()
+               {
+
+               }
+                
+
+        public Gee.ArrayList<string> keys() 
+        {
+            var  r= new Gee.ArrayList<string>();
+            foreach(var k in this._index.keys) {
+               r.add(k);
+               }
+               return r;
+
+        }
+        public Gee.ArrayList<Symbol> values() 
+        {
+            var  r= new Gee.ArrayList<Symbol>();
+            foreach(var k in this._index.values) {
+               r.add(k);
+               }
+               return r;
+
+        }
+
+        public bool hasSymbol(string alias) 
+        {
+            return this._index.has_key(alias);
+            //return this.keys().indexOf(alias) > -1;
+        }
+
+        public void addSymbol (Symbol symbol) {
+             GLib.debug("ADDING SYMBOL: %s",symbol.alias);
+            
+             
+            if (this.hasSymbol(symbol.alias)) {
+                GLib.warning("Overwriting symbol documentation for: %s.",symbol.alias);
+            }
+            this._index.set(symbol.alias,  symbol);
+        }
+
+        public Symbol? getSymbol (string alias) {
+            
+            if (this.hasSymbol(alias)) return this._index.get(alias);
+            return null;
+        }
+/*/
+        toArray : function() {
+            var found = [];
+            for (var p in this._index) {
+                found.push(this._index[p]);
+            }
+            return found;
+        },
+        */
+        /**
+         * for serializing
+         *
+        toJSON : function() {
+            return {
+                '*object' : 'SymbolSet',
+                _index : this._index
+            };
+            
+        },
+*/
+
+        public void deleteSymbol  (string alias) {
+            if (!this.hasSymbol(alias)) return;
+            this._index.unset(alias);
+        } 
+
+        public string renameSymbol (string oldName, string newName) {
+            // todo: should check if oldname or newname already exist
+            if (!this.hasSymbol(oldName)) {
+                GLib.error("Cant rename " + oldName + " to " + newName + " As it doesnt exist");
+            } 
+            this._index.set(newName, this._index.get(oldName));
+            this.deleteSymbol(oldName);
+            this._index.get(newName).alias = newName;
+            return newName;
+        }
+
+        public void relate() 
+        {
+            GLib.debug("RELATE called");
+            foreach(var s in this._index.keys) {
+               GLib.debug("%s", this._index.get(s).asString());
+               }
+            this.resolveBorrows();
+            this.resolveMemberOf();
+            this.resolveAugments();
+                        GLib.debug("AFTER RELATE called");
+               foreach(var s in this._index.keys) {
+               GLib.debug("%s", this._index.get(s).asString());
+               }
+        }
+
+        void resolveBorrows() 
+        {
+
+            return; // this code is not needed- we do not use @inherits
+            /*
+            foreach (var p in this._index.keys) {
+                var symbol = this._index.get(p);
+                
+                
+                
+                if (symbol.is("FILE") || symbol.is("GLOBAL")) continue;
+                
+                var borrows = symbol.inherits;
+                for (var i = 0; i < borrows.size; i++) {
+                    var borrowed = this.getSymbol(borrows.get(i).alias);
+                    if (!borrowed) {
+                        imports.BuildDocs.Options.LOG.warn("Can't borrow undocumented "+borrows[i].alias+".");
+                        continue;
+                    }
+                    
+                    var borrowAsName = borrows[i].as;
+                    var borrowAsAlias = borrowAsName;
+                    if (!borrowAsName) {
+                        imports.BuildDocs.Options.LOG.warn("Malformed @borrow, 'as' is required.");
+                        continue;
+                    }
+                    
+                    if (borrowAsName.length > symbol.alias.length && borrowAsName.indexOf(symbol.alias) == 0) {
+                        borrowAsName = borrowAsName.replace(borrowed.alias, "");
+                    }
+                    else {
+                        var joiner = "";
+                        if (borrowAsName.charAt(0) != "#") joiner = ".";
+                        borrowAsAlias = borrowed.alias + joiner + borrowAsName;
+                    }
+                    
+                    borrowAsName = borrowAsName.replace(/^[#.]/, "");
+                            
+                    if (this.hasSymbol(borrowAsAlias)) continue;
+
+                    var clone = borrowed.clone();
+                    clone.name = borrowAsName;
+                    clone.alias = borrowAsAlias;
+                    this.addSymbol(clone);
+                }
+            }
+                       */
+        }
+
+        void resolveMemberOf () 
+        {
+            if (this._index.keys.size < 1) {
+                   return;
+            }
+            foreach (var p in this.keys()) {
+                var symbol = this.getSymbol(p);
+                
+                if (symbol.is("FILE") || symbol.is("GLOBAL")) continue;
+                
+                // the memberOf value was provided in the @memberOf tag
+                else if (symbol.memberOf.length > 0) {
+                       var regex = new GLib.Regex("^("+symbol.memberOf+"[.#-])(.+)$");
+                       GLib.MatchInfo minfo;
+                    var parts = regex.match_full(symbol.alias, -1, 0, 0 , out minfo);
+                    
+                    // like foo.bar is a memberOf foo
+                    if (parts) {                        
+                               
+                        symbol.memberOf = minfo.fetch(1);
+                        symbol.private_name = minfo.fetch(2);
+                    }
+                    // like bar is a memberOf foo
+                    else {
+                        var joiner = symbol.memberOf.substring(symbol.memberOf.length-1);
+                        if (!/[.#-]/.match(joiner)) symbol.memberOf += ".";
+                        
+                        this.renameSymbol(p, symbol.memberOf + symbol.name);
+                    }
+                }
+                // the memberOf must be calculated
+                else {
+                       GLib.MatchInfo minfo;                
+                    var parts = /^(.*[.#-])([^.#-]+)$/.match_full(symbol.alias, -1, 0, 0 , out minfo);
+
+                    if (parts) {
+                        symbol.memberOf = minfo.fetch(1);
+                        symbol.private_name = minfo.fetch(2);
+                    }
+                }
+
+                // set isStatic, isInner
+                if (symbol.memberOf.length > 0) {
+                    switch (symbol.memberOf[symbol.memberOf.length-1]) {
+                        case '#' :
+                            symbol.isStatic = false;
+                            symbol.isInner = false;
+                            break;
+                            
+                        case '.' :
+                            symbol.isStatic = true;
+                            symbol.isInner = false;
+                            break;
+                            
+                        case '-' :
+                            symbol.isStatic = false;
+                            symbol.isInner = true;
+                            break;
+                            
+                    }
+                }
+                 
+                // unowned methods and fields belong to the global object
+                if (!symbol.is("CONSTRUCTOR") && !symbol.isNamespace && symbol.memberOf == "") {
+                    symbol.memberOf = "_global_";
+                }
+                
+                // clean up
+                if (/[.#-]$/.match(symbol.memberOf)) {
+                    symbol.memberOf = symbol.memberOf.substring(0, symbol.memberOf.length-1);
+                }
+                //print("looking for memberOf: " + symbol.memberOf + " FOR " + symbol.alias);
+                // add to parent's methods or properties list
+                if (symbol.memberOf.length > 0) {
+                    var container = this.getSymbol(symbol.memberOf);
+                    if (container == null) {
+                        if (SymbolSet.isBuiltin(symbol.memberOf)) {
+                            container = DocParser.addBuiltin(symbol.memberOf);
+                        }
+                        else {
+                           // print("symbol NOT a BUILT IN - createing a container");
+                            // Eg. Ext.y.z (missing y)
+                            // we need to add in the missing symbol...
+                            container = new Symbol.new_populate_with_args(
+                               symbol.memberOf, new Gee.ArrayList<string>(), 
+                                               "OBJECT", new DocComment(""));
+                            container.isNamespace = true;
+                            this.addSymbol( container );
+                           // print(container.toSource());
+                            //container = this.getSymbol(symbol.memberOf);
+                            // fake container ... so dont ad symbols to it..
+                            continue;
+                            container = null;
+                            //LOG.warn("Can't document "+symbol.name +" as a member of undocumented symbol "+symbol.memberOf+".");
+                            //LOG.warn("We only have the following symbols: \n" + 
+                            //    this.keys.toSource());
+                        }
+                    }
+                    
+                    if (container != null && !container.isNamespace) {
+                        container.addMember(symbol);
+                        }
+                }
+            }
+
+        }
+
+        void resolveAugments () 
+       {
+            // does this sort out multiple extends???
+            
+            foreach (var p in this._index.keys) {
+                var symbol = this.getSymbol(p);
+                this.buildAugmentsList(symbol); /// build heirachy of inheritance...
+                if (symbol.alias == "_global_" || symbol.is("FILE")) continue;
+                
+                var augments = symbol.augments;
+                for(var ii = 0, il = augments.size; ii < il; ii++) {
+                    var contributer = this.getSymbol(augments[ii]);
+                    
+                     
+                    if (contributer != null) {
+                        contributer.childClasses.add(symbol.alias);
+                        symbol.inheritsFrom.add(contributer.alias);
+                        //if (!isUnique(symbol.inheritsFrom)) {
+                        //    imports.BuildDocs.Options.LOG.warn("Can't resolve augments: Circular reference: "+symbol.alias+" inherits from "+contributer.alias+" more than once.");
+                        //}
+                        //else {
+                            var cmethods = contributer.methods;
+                            var cproperties = contributer.properties;
+                            var cfgs = contributer.cfgs;
+                            for (var ci = 0, cl = cmethods.size; ci < cl; ci++) {   
+                                symbol.inherit(cmethods[ci]);
+                            } 
+                            for (var ci = 0, cl = cproperties.size; ci < cl; ci++) {
+                                symbol.inherit(cproperties[ci]);
+                            }
+                            foreach (var ci in cfgs.keys) {
+                                symbol.addConfig(cfgs[ci]);
+                            }
+                            
+                                
+                        //}
+                    }
+                    else {
+                        GLib.warning("Can't augment contributer: '%s', not found. FOR: %s",
+                               augments[ii], symbol.alias
+                        );
+                        //LOG.warn("We only have the following symbols: \n" + 
+                          //      this.keys().toSource().split(",").join(",    \n"));
+                       }
+       
+                }
+            }
+            
+        }
+
+
+                void addAugments (Symbol symbol, Gee.ArrayList<string> alist, bool forceit) 
+                { // returns number added..
+                if (alist.size < 1) {
+                    return;
+                }
+                //print("buildAugmentsList:addAugments" + alist.length);
+                //var rval = 0;
+                for(var ii = 0; ii < alist.size; ii++) {
+                    //print("getAlias:" + alist[ii]);
+                    if (alist[ii] == symbol.alias) {
+                        continue;
+                    }
+                    var contributer = this.getSymbol(alist[ii]);
+                    if (contributer == null) {
+                        continue;
+                    }
+                    
+                    if (!forceit && symbol.augments.contains(alist[ii])) {
+                        continue;
+                    }
+                    if (symbol.augments.index_of(alist[ii]) < 0) {
+                        symbol.augments.add(alist[ii]);
+                    }
+                        
+                    
+                    this.addAugments(symbol, contributer.augments,false);
+                    
+                    //rval++;
+                }
+               // print("buildAugmentsList: ADDED:" + rval);
+               // return rval;
+            }
+
+        void buildAugmentsList (Symbol symbol)
+        {
+               
+               this.addAugments(symbol, symbol.augments, true);
+               
+            
+            
+        }
+        public static bool isBuiltin(string name)
+               {
+                       for (var i =0 ; i < SymbolSet.coreObjects.length; i++ ){ 
+                               if (name ==  SymbolSet.coreObjects[i]) {
+                                       return true;
+                               }
+                       }
+                       return false;
+               }
+               static string[] coreObjects  = {
+                       "_global_", "Array" , "Boolean", "Date", "Function", 
+                           "Math", "Number", "Object", "RegExp", "String"
+               };
+         
+       }
+       
+}
+
\ No newline at end of file
diff --git a/roojspacker/TextStream.vala b/roojspacker/TextStream.vala
new file mode 100644 (file)
index 0000000..07a3a79
--- /dev/null
@@ -0,0 +1,101 @@
+//<script type="text/javscript">
+
+
+/**
+       @constructor
+*/
+namespace JSDOC {
+    
+    public class TextStreamChar : Object {
+        public char c;
+        public bool eof;
+        public TextStreamChar(char val, bool eof=false) {
+            this.c = val;
+            this.eof = eof;
+        }
+    }
+    
+    public class TextStream : Object {
+        
+        string text;
+        int cursor;
+        int length;
+        
+        public TextStream (string text = "")
+        {
+            
+            
+            this.text = text;
+            //stdout.printf ("%s", text);
+            this.length = text.length; // text.char_count(); //text.length;
+            this.cursor = 0;
+        }
+        
+        public string lookS(int n = 0)
+        {
+                 
+            if (this.cursor+n < 0 || this.cursor+n >= this.length) {
+                return "";
+            }
+            return  this.text.get_char(this.cursor+n).to_string(); // this.text[this.cursor+n]; // 
+        }
+         public char lookC(int n = 0)
+        {
+                 
+            if (this.cursor+n < 0 || this.cursor+n >= this.length) {
+                return '\0';
+            }
+            return  this.text[this.cursor+n];
+        }
+        
+        
+        public bool lookEOF(int n = 0)
+        {
+            if (this.cursor+n < 0 || this.cursor+n >= this.length) {
+                return true;
+            }
+            return  false;
+        }
+        
+        /**
+         * @param n - number of characters to return..
+         */
+        public string nextS(int n = 1)
+        {
+            
+            if (n < 1) { //?? eof???
+                return "";
+            }
+                
+            string pulled = "";
+            var i = 0;
+            while (i < n) {
+                if (this.cursor+i < this.length) {
+                    var add =  this.text.get_char(this.cursor+i).to_string(); 
+                    pulled += add;
+                    i += 1;// add.length;
+                } else {
+                    return "";
+                    
+                }
+            }
+            
+            this.cursor +=  pulled.length; // i?
+            return pulled;
+           
+        }
+        
+        public char nextC()
+        {
+            
+            if (this.cursor+1 < this.length) {
+                return this.text[this.cursor++];;
+            } 
+            return '\0';
+           
+        }
+        
+        
+    }
+}
\ No newline at end of file
diff --git a/roojspacker/Token.vala b/roojspacker/Token.vala
new file mode 100644 (file)
index 0000000..ea232ec
--- /dev/null
@@ -0,0 +1,323 @@
+/**
+ *     @class Token
+ * 
+ *  @prop data {String} raw value of token
+ *  @prop type {String} type of token
+ *     TOKN  (unknown)          - name is UNKNOWN_TOKEN
+ * 
+ *     KEYW  (keyword)          - name is upper case version of keyword
+ *     NAME  (name/identifier)  - name is NAME
+ *     COMM  (comment)          - name is MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM
+ *     PUNC  (puctuation)       - name is String description of punctionan (eg LEFTPARAM)
+ *     WHIT  (white space)      - name is SPACE,NEWLINE
+ *     STRN  (string)           - name is DOBULE_QUOTE, SINGLE_QUOTE
+ *     NUMB  (number)           - name is OCTAL,DECIMAL,HEC_DEC
+ *     REGX   (reg.expression)  - name is REGX
+ *  @prop name {String} see type details above
+ *  @prop identifier {Identifier} identifier class if relivant
+ * 
+ * 
+ * 
+ * old mappings:
+ * 
+ * Script.TOKidentifier  - type == 'NAME'
+ * Script.TOKassign  = data == '='
+ * Script.TOKsemicolon data == '';
+ * 
+ * 
+ * 
+*/
+namespace JSDOC
+{
+    int Token_id = 1;
+       public enum TokenType {
+               TOKN, //  (unknown)          - name is UNKNOWN_TOKEN
+               KEYW, //  (keyword)          - name is upper case version of keyword
+               NAME, //  (name/identifier)  - name is NAME
+               COMM, //  (comment)          - name is MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM
+               PUNC, //  (puctuation)       - name is String description of punctionan (eg LEFTPARAM)
+               WHIT, //  (white space)      - name is SPACE,NEWLINE
+               STRN, //  (string)           - name is DOBULE_QUOTE, SINGLE_QUOTE
+               NUMB, //  (number)           - name is OCTAL,DECIMAL,HEC_DEC
+               REGX, //   (reg.expression)  - name is REGX
+               
+               VOID // BAD eof 
+       }
+       
+       
+       public enum TokenName {
+               UNKNOWN_TOKEN,
+               
+               // keywords.
+                       BREAK,
+                       CASE,
+                       CATCH,
+                       CONST,
+                       CONTINUE,
+                       DEFAULT,
+                       DELETE,
+                       DO,
+                       ELSE,
+                       FALSE,
+                       FINALLY,
+                       FOR,
+                       FUNCTION,
+                       IF,
+                       IN,
+                       INSTANCEOF,
+                       NEW,
+                       NULL,
+                       RETURN,
+                       SWITCH,
+                       THIS,
+                       THROW,
+                       TRUE,
+                       TRY,
+                       TYPEOF,
+                       VOID,
+                       WHILE,
+                       WITH,
+                       VAR,
+                       EVAL,
+               
+               NAME,
+               
+       
+               MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM,
+               // punc
+                       SEMICOLON,
+                       COMMA,
+                       HOOK,
+                       COLON,
+                       OR,
+                       AND,
+                       BITWISE_OR,
+                       BITWISE_XOR,
+                       BITWISE_AND,
+                       STRICT_EQ,
+                       EQ,
+                       ASSIGN,
+                       STRICT_NE,
+                       NE,
+                       LSH,
+                       LE,
+                       LT,
+                       URSH,
+                       RSH,
+                       GE,
+                       GT,
+                       INCREMENT,
+                       DECREMENT,
+                       PLUS,
+                       MINUS,
+                       MUL,
+                       DIV,
+                       MOD,
+                       NOT,
+                       BITWISE_NOT,
+                       DOT,
+                       LEFT_BRACE, 
+                       RIGHT_BRACE,
+                       LEFT_CURLY,
+                       RIGHT_CURLY,
+                       LEFT_PAREN, // (
+                       RIGHT_PAREN,  // )
+
+               
+               
+               SPACE,NEWLINE,
+               DOUBLE_QUOTE, SINGLE_QUOTE,
+               OCTAL,DECIMAL,HEX_DEC,
+               REGX,
+               
+               START_OF_STREAM,
+               END_OF_STREAM,
+               
+               UNKNOWN // we should change void/void to void/unknown.
+       }
+
+       public class TokenKeyMap : Object {
+               public Token key;
+               public Gee.ArrayList<Token> vals;
+               
+               public TokenKeyMap()
+               {
+                       this.key = new Token("",TokenType.VOID, TokenName.VOID); 
+                       this.vals = new  Gee.ArrayList<Token>();
+               }
+               
+               
+       }
+
+
+    public class Token : Object {
+        
+        public int id;
+        
+        public string data;
+        public TokenType type;
+        public TokenName name;
+        public int line;
+        public string prefix; // white space prefix... (when outputing with WS)
+        
+        public string outData;
+        
+        public Identifier identifier;
+        
+        
+
+         // used to stuff tokens together when building a tree..
+        public Gee.ArrayList<Gee.ArrayList<Token>> items;
+        // for a object definition, key -> array of tokens..
+           public Gee.HashMap<string,TokenKeyMap> props;
+        public Gee.ArrayList<string> keyseq;        
+        // props??? what's this???
+        
+        public Token(string data, TokenType type, TokenName name, int line = -1)
+        {
+            this.data = data;
+            this.type = type;
+            this.name = name;
+            this.line = line;
+            this.prefix = "";    
+            this.outData = ""; // used by packer/scopeparser
+            this.identifier = null; // used by scope
+            this.id = Token_id++;
+            
+            // should we initialize when needed...?? to keep the usage down..
+            this.items = null;
+            this.props = null;
+            this.keyseq = null;
+            if (name == TokenName.LEFT_BRACE || 
+                       name == TokenName.LEFT_CURLY || 
+                   name == TokenName.LEFT_PAREN ) {
+            
+                       this.items = new Gee.ArrayList<Gee.ArrayList<Token>>();
+                       this.props = new Gee.HashMap<string,TokenKeyMap>();
+                       this.keyseq =  new Gee.ArrayList<string>();
+               }
+               
+        }
+    
+        public string asString()
+        {
+            if (this.name == TokenName.LEFT_BRACE || 
+                       this.name == TokenName.LEFT_CURLY || 
+                   this.name == TokenName.LEFT_PAREN ) {
+                   
+                       return "line: %s, %d, id %d, type %s, IS=%d,PS=%d,KS=%d, data : %s,  name %s, , outData: %s".printf(
+                                       DocParser.currentSourceFile == null ? "??" : DocParser.currentSourceFile,
+                               this.line,
+                               this.id,
+                               this.type.to_string(),
+                               this.name == TokenName.LEFT_BRACE ? -1 : this.items.size,
+                               this.name == TokenName.LEFT_BRACE ? -1 : this.props.size,
+                               this.name == TokenName.LEFT_BRACE ? -1 : this.keyseq.size,
+                               this.data,
+                               this.name.to_string(),
+                               this.outData == null ? "" : this.outData
+                       );
+                               
+                   
+                       }            
+            
+            
+            
+            return "line:%s:%d, id %d, type %s, data : %s,  name %s, , outData: %s".printf(
+                       DocParser.currentSourceFile == null ? "??" : DocParser.currentSourceFile,
+                    this.line,
+                    this.id,
+                    this.type.to_string(),
+               
+                    this.data,
+                    this.name.to_string(),
+                    this.outData == null ? "" : this.outData
+            );
+            
+        }
+        
+        
+        public void dump(string indent)
+               {
+               print("%s%s\n",indent, this.asString());
+               if (this.items != null && this.items.size > 0) {
+                       
+                               for (var i = 0;i < this.items.size; i++) {
+                               print("%s --ITEMS[%d] [ \n",indent,i);
+                                       for (var j = 0;j < this.items[i].size; j++) {
+                                               this.items[i][j].dump(indent + "  ");
+                                       }
+                               }
+                       }
+                       if (this.props != null && this.props.size > 0) {
+                               var m = this.props.map_iterator();
+                               while(m.next()) {
+                               print("%s --KEY %s ::  \n",indent,m.get_key());
+                               var vals = m.get_value().vals;
+                                       for (var i = 0;i < vals.size; i++) {
+
+                                               vals[i].dump(indent + "  ");
+                                       }
+                               }
+                       
+                       
+                       }
+                       
+               }
+        
+        
+        public string toRaw(int lvl = 0)
+        {
+            
+            
+            var ret =  this.data ;
+            
+            foreach(var ai in this.items ) {
+                // supposed to iterate properties???
+                string str = "";
+                //foreach( var it in ai) {
+                 //   str += it.toRaw(lvl+1);
+               // }
+                ret += str;
+            }
+            
+            /* -- what is a prop..
+            if (this.props) {
+                for (var i in this.props) {
+                    ret += this.props[i].key.toRaw(lvl+1) + ' : ';
+                    this.props[i].val.forEach( function(e) {
+                        ret+=e.toRaw(lvl+1);
+                    })
+                    
+                }
+            }
+            
+            */
+            
+            return this.prefix +   ret;
+             
+        }
+        /*
+        toJS : function() {
+            
+            try {
+                var _tmp = '';
+                eval( "_tmp = " + this.data);
+                return _tmp;
+            } catch( e) {
+                return "ERROR unparsable" + this.data;
+            }
+        },
+        */
+                        
+
+        public bool isName(TokenName what) {
+            return this.name == what;
+        }
+        public bool isType(TokenType what) {
+            return  this.type == what;
+        }
+        
+    }
+}
+  
\ No newline at end of file
diff --git a/roojspacker/TokenReader.vala b/roojspacker/TokenReader.vala
new file mode 100644 (file)
index 0000000..e428001
--- /dev/null
@@ -0,0 +1,771 @@
+//<script type="text/javascript">
+
+// test code
+//const Token   = imports.Token.Token;
+//const Lang    = imports.Lang.Lang;
+
+/**
+       @class Search a {@link JSDOC.TextStream} for language tokens.
+*/
+namespace JSDOC {
+
+        
+
+    public class TokenArray: Object {
+        
+        private Packer? packer;
+        private TokenReader reader;
+        
+        public Gee.ArrayList<Token> tokens;
+        Token lastAdded = null;
+        
+        public int length {
+            get { return this.tokens.size; }
+        }
+        
+        public TokenArray(Packer? packer, TokenReader reader)
+        {
+            this.packer = packer;
+            this.reader  = reader;
+            this.tokens = new Gee.ArrayList<Token>();
+        }
+        
+        public Token? last() {
+            if (this.tokens.size > 0) {
+                return this.tokens.get(this.tokens.size-1);
+            }
+            return null;
+        }
+        public Token? lastSym () {
+            for (var i = this.tokens.size-1; i >= 0; i--) {
+                if (!(this.tokens.get(i).isType(TokenType.WHIT) || this.tokens.get(i).isType(TokenType.COMM)))  {
+                    return this.tokens.get(i);
+                }
+            }
+            return null;
+        }
+
+        
+        public void push (Token t)   
+        {
+               if (this.lastAdded != null) {
+               
+                       if (
+                                        (
+                                               this.lastAdded.isType(TokenType.NAME) ||
+                                               this.lastAdded.isType(TokenType.STRN) ||
+                                               this.lastAdded.isType(TokenType.NUMB) ||
+                                               (
+                                                       this.lastAdded.isType(TokenType.KEYW) && 
+                                                       (
+                                                               this.lastAdded.isName(TokenName.TRUE) || this.lastAdded.isName(TokenName.FALSE)
+                                                       )
+                                               )
+                                       )
+                                        &&
+                                        (
+                                               t.isType(TokenType.NAME) ||     // NAME -> ???
+                                               t.isType(TokenType.STRN) ||
+                                               t.isType(TokenType.NUMB) ||
+                                               (t.isType(TokenType.KEYW)  && 
+                                                       !(t.isName(TokenName.IN) || t.isName(TokenName.INSTANCEOF) || t.isName(TokenName.INSTANCEOF))
+                                               )
+                                       )
+                               ) {
+                                       //print("%s\n%s\n", this.lastAdded.asString(), t.asString());
+                                       if (this.packer != null) {
+                                               this.packer.logError(
+                                               Packer.ResultType.err,
+                                               this.reader.filename,
+                                               t.line,
+                                               "'" + this.lastAdded.data+ "' token followed by " + t.name.to_string() + ":" + t.data
+                                               );
+                                       }
+                                       
+                                        
+                               }
+                       // other pattern that are not valid
+                       //  ] or )   followed by KEYW "STRING" or number ?
+                       if (
+                               (this.lastAdded.isName( TokenName.RIGHT_BRACE) || this.lastAdded.isName( TokenName.RIGHT_PAREN))
+                               &&
+                               (
+                                       (t.isType(TokenType.KEYW) &&
+                                               !(t.isName(TokenName.IN) || t.isName(TokenName.INSTANCEOF) || t.isName(TokenName.INSTANCEOF))
+                                       ) || 
+                                       t.isType(TokenType.NAME) ||     // NAME -> ???
+                                               t.isType(TokenType.STRN) ||
+                                               t.isType(TokenType.NUMB) 
+                                       )
+                               ) {
+                                       if (this.packer != null) {                              
+                                       //print("%s\n%s\n", this.lastAdded.asString(), t.asString());
+                                               this.packer.logError(
+                                               Packer.ResultType.err,
+                                               this.reader.filename,
+                                               t.line,
+                                               "'" + this.lastAdded.data+ "' token followed by " + t.name.to_string() + ":" + t.data
+                                               );
+                                       }
+                       }
+               }
+               
+               
+               
+            this.tokens.add(t);
+            
+            if (t.isType(TokenType.WHIT) || t.isType(TokenType.COMM)){
+               // do not set last...
+            } else {
+                       this.lastAdded = t;
+            }
+            
+        }
+        public Token? pop ()
+        {
+            if (this.tokens.size > 0) {
+                return this.tokens.remove_at(this.tokens.size-1);
+            }
+            return null;
+        }
+        
+           public new Token get(int i) {
+            return this.tokens.get(i);
+        }
+        public void dump()
+        {
+                       var line = 0;
+               foreach(var token in this.tokens) {
+                       if (token.line != line) {
+                               print("%d: ", token.line);
+                               line = token.line;
+                               }
+                               print("%s",token.data);
+                       }
+                       print("\n----\n");
+               foreach(var token in this.tokens) {
+                       stdout.printf ("%s\n", token.asString());
+               }
+        }
+        
+    }
+
+    public errordomain TokenReader_Error {
+            ArgumentError,
+            SyntaxError
+    }
+    
+
+    public class TokenReader : Object
+    {
+        
+        
+        
+        /*
+         *
+         * I wonder if this will accept the prop: value, prop2 :value construxtor if we do not define one...
+         */
+        
+        /** @cfg {Boolean} collapseWhite merge multiple whitespace/comments into a single token **/
+        public bool collapseWhite = false; // only reduces white space...
+        /** @cfg {Boolean} keepDocs keep JSDOC comments **/
+        public bool keepDocs = true;
+        /** @cfg {Boolean} keepWhite keep White space **/
+        public bool keepWhite = false;
+        /** @cfg {Boolean} keepComments  keep all comments **/
+        public bool keepComments = false;
+        /** @cfg {Boolean} sepIdents seperate identifiers (eg. a.b.c into ['a', '.', 'b', '.', 'c'] ) **/
+        public bool sepIdents = false;
+        /** @cfg {String} filename name of file being parsed. **/
+        public string filename = "";
+        /** @config {Boolean} ignoreBadGrammer do not throw errors if we find stuff that might break compression **/
+        public bool ignoreBadGrammer = false;
+        
+        
+        int line = 0;
+        
+        private Packer? packer;
+        
+        public TokenReader(Packer? packer)
+        {
+               this.packer = packer;
+               }
+        
+        /**
+         * tokenize a stream
+         * @return {Array} of tokens
+         * 
+         * ts = new TextStream(File.read(str));
+         * tr = TokenReader({ keepComments : true, keepWhite : true });
+         * tr.tokenize(ts)
+         * 
+         */
+        public TokenArray tokenize(TextStream stream)  
+        {
+            this.line =1;
+            var tokens = new TokenArray(this.packer, this);
+           
+         
+            while (!stream.lookEOF()) {
+                
+
+                if (this.read_mlcomment(stream, tokens)) continue;
+                if (this.read_slcomment(stream, tokens)) continue;
+                if (this.read_dbquote(stream, tokens))   continue;
+                if (this.read_snquote(stream, tokens))   continue;
+                if (this.read_regx(stream, tokens))      continue;
+                if (this.read_numb(stream, tokens))      continue;
+                if (this.read_punc(stream, tokens))      continue;
+                if (this.read_newline(stream, tokens))   continue;
+                if (this.read_space(stream, tokens))     continue;
+                if (this.read_word(stream, tokens))      continue;
+                
+                // if execution reaches here then an error has happened
+                tokens.push(
+                        new Token(stream.nextS(), TokenType.TOKN, TokenName.UNKNOWN_TOKEN, this.line)
+                );
+            }
+            
+            
+            
+            return tokens;
+        }
+
+        /**
+         * findPuncToken - find the id of a token (previous to current)
+         * need to back check syntax..
+         * 
+         * @arg {Array} tokens the array of tokens.
+         * @arg {String} token data (eg. '(')
+         * @arg {Number} offset where to start reading from
+         * @return {Number} position of token
+         */
+        public int findPuncToken(TokenArray tokens, string data, int n)
+        {
+            n = n > 0 ? n :  tokens.length -1;
+            var stack = 0;
+            while (n > -1) {
+                
+                if (stack < 1 && tokens.get(n).data == data) {
+                    return n;
+                }
+                
+                if (tokens.get(n).data  == ")" || tokens.get(n).data  == "}") {
+                    stack++;
+                    n--;
+                    continue;
+                }
+                if (stack > 0 && (tokens.get(n).data  == "{" || tokens.get(n).data  == "(")) {
+                    stack--;
+                    n--;
+                    continue;
+                }
+                
+                
+                n--;
+            }
+            return -1;
+        }
+        /**
+         * lastSym - find the last token symbol
+         * need to back check syntax..
+         * 
+         * @arg {Array} tokens the array of tokens.
+         * @arg {Number} offset where to start..
+         * @return {Token} the token
+         */
+        public Token? lastSym(TokenArray tokens, int n)
+        {
+            for (var i = n-1; i >= 0; i--) {
+                if (!(tokens.get(i).isType(TokenType.WHIT) || tokens.get(i).isType(TokenType.COMM))) {
+                    return tokens.get(i);
+                }
+            }
+            return null;
+        }
+        
+         
+        
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_word (TextStream stream, TokenArray tokens)  
+        {
+            string found = "";
+            while (!stream.lookEOF() && Lang.isWordChar(stream.lookC() )) {
+                found += stream.nextC().to_string();
+            }
+             
+            if (found == "") {
+                return false;
+            }
+            TokenName name;
+            try {
+                       name = Lang.keyword(found);
+                       tokens.push(new Token(found, TokenType.KEYW, name, this.line));
+                       return true;
+               }  catch (LangError e) {        
+                       // noop -- then it's a word / not a keyword...
+               }
+                /*
+                       What did all this do...
+                       
+               //
+                
+                // look for "()return" ?? why ???
+                var ls = tokens.lastSym();
+                if (found == "return" && ls != null && ls.data == ")") {
+                    //Seed.print('@' + tokens.length);
+                    var n = this.findPuncToken(tokens, ")", 0);
+                    //Seed.print(')@' + n);
+                    n = this.findPuncToken(tokens, "(", n-1);
+                    //Seed.print('(@' + n);
+                    
+                    //var lt = this.lastSym(tokens, n);
+                    /*
+                    //print(JSON.stringify(lt));
+                    if (lt.type != "KEYW" || ["IF", 'WHILE'].indexOf(lt.name) < -1) {
+                        if (!this.ignoreBadGrammer) {
+                            throw new TokenReader_Error.ArgumentError(
+                                this.filename + ":" + this.line + " Error - return found after )"
+                            );
+                        }
+                    }
+                    
+                    */
+                    /*
+                }
+                
+                
+                tokens.push(new Token(found, TokenType.KEYW, name, this.line));
+                return true;
+            }
+            */
+            if (!this.sepIdents || found.index_of(".") < 0 ) {
+                tokens.push(new Token(found, TokenType.NAME, TokenName.NAME, this.line));
+                return true;
+            }
+            var n = found.split(".");
+            var p = false;
+            foreach (unowned string nm in n) {
+               
+                if (p) {
+                    tokens.push(new Token(".", TokenType.PUNC, TokenName.DOT, this.line));
+                }
+                p=true;
+               if (nm.length < 1 ) {
+                               continue;
+                       }
+                tokens.push(new Token(nm, TokenType.NAME, TokenName.NAME, this.line));
+            }
+            return true;
+                
+
+        }
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_punc (TextStream stream, TokenArray tokens)  
+        {
+            string found = "";
+            int pos = 0;
+            TokenName tokname = TokenName.UNKNOWN;
+            while (!stream.lookEOF()) {
+                       var ns = stream.lookC();
+                               if (pos == 0 ){
+                                       tokname = Lang.puncFirstString(ns);
+                                       if (TokenName.UNKNOWN == tokname) {
+                                               break;
+                                       } 
+                                       pos++;
+                       found += stream.nextS();
+                                       continue;
+                               }
+                       var nx = Lang.puncString(found + ns.to_string() );
+                               if (TokenName.UNKNOWN == nx) {
+                                       break;
+                               }
+                               
+                               tokname = nx;
+                found += stream.nextS();
+            }
+            
+            
+            if (tokname == TokenName.UNKNOWN) {
+                return false;
+            }
+            
+            var ls = tokens.lastSym();
+            
+            if ((found == "}" || found == "]") && ls != null && ls.data == ",") {
+                //print("Error - comma found before " + found);
+                //print(JSON.stringify(tokens.lastSym(), null,4));
+               if (this.packer != null) {
+                           this.packer.logError(
+                                       this.ignoreBadGrammer ? Packer.ResultType.warn : Packer.ResultType.err,
+                                       this.filename,
+                                       this.line,
+                                       "comma found before " + found
+                               );
+                }
+                 
+            }
+            
+            tokens.push(new Token(found, TokenType.PUNC, tokname, this.line));
+            return true;
+            
+        } 
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_space  (TextStream stream, TokenArray tokens)  
+        {
+            // not supported yet.. newlines can be unicode...
+            var found = "";
+            
+            while (!stream.lookEOF() && Lang.isSpace(  stream.lookS()) && !Lang.isNewline(stream.lookS())) {
+                found += stream.nextS();
+            }
+            
+            if (found == "") {
+                return false;
+            }
+            //print("WHITE = " + JSON.stringify(found));
+            
+             
+            if (this.collapseWhite) {
+                found = " "; // this might work better if it was a '\n' ???
+            }
+            if (this.keepWhite) {
+                tokens.push(new Token(found, TokenType.WHIT, TokenName.SPACE, this.line));
+            }
+            return true;
+        
+        }
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_newline  (TextStream stream, TokenArray tokens)  
+        {
+            // we do not support it yet, but newlines can be UNICODE..
+            var found = "";
+
+            var line = this.line;
+            // \r  or \r\n 
+            var lastc = "";
+            while (!stream.lookEOF() && Lang.isNewline(stream.lookS())) {
+                       var cur = stream.lookS();;
+                       if (lastc == "\r" && cur == "\n") {
+                               // dont add new line..
+                       } else {
+                       this.line++;
+                }
+               lastc = cur;
+                        
+
+                found += stream.nextS();
+            }
+
+            if (found == "") {
+                return false;
+            }
+            //print("NEWLINE @%d  changing this.line to %d\n", line, this.line);
+            // if we found a new line, then we could check if previous character was a ';' - if so we can drop it.
+            // otherwise generally keep it.. in which case it should reduce our issue with stripping new lines..
+           
+            
+            //this.line++;
+            if (this.collapseWhite) {
+                found = "\n"; // reduces multiple line breaks into a single one...
+            }
+            
+            if (this.keepWhite) {
+                var last = tokens.last();
+                if (last != null && last.type != TokenType.WHIT) {
+                    //tokens.push(last);
+                } else {
+                       tokens.pop(); // remove the last token..
+                }
+                // replaces last new line... 
+                tokens.push(new Token(found, TokenType.WHIT, TokenName.NEWLINE, line));
+            }
+            return true;
+        }
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_mlcomment  (TextStream stream, TokenArray tokens)  
+        {
+            if (stream.lookC() != '/') {
+                return false;
+            }
+            if (stream.lookC(1) != '*') {
+                return false;
+            }
+            
+            var found = new StringBuilder();
+            found.append(stream.nextS(2));
+           
+
+            string  c = "";
+            var line = this.line;
+            while (!stream.lookEOF() && !(stream.lookC(-1) == '/' && stream.lookC(-2) == '*')) {
+                c = stream.nextS();
+                if (c == "\n") {
+                    this.line++;
+                }
+                found.append(c);
+            }
+            
+            // to start doclet we allow /** or /*** but not /**/ or /****
+            //if (found.length /^\/\*\*([^\/]|\*[^*])/.test(found) && this.keepDocs) {
+            if (this.keepDocs && found.len > 4 && found.str.index_of("/**") == 0 && found.str[3] != '/') {
+                tokens.push(new Token(found.str, TokenType.COMM, TokenName.JSDOC, this.line));
+            } else if (this.keepComments) {
+                tokens.push(new Token(found.str, TokenType.COMM, TokenName.MULTI_LINE_COMM, line));
+            }
+            return true;
+        
+        } 
+        /**
+            @returns {Boolean} Was the token found?
+         */
+         public bool read_slcomment  (TextStream stream, TokenArray tokens)  
+         {
+            var found = "";
+            if (
+                (stream.lookC() == '/' && stream.lookC(1) == '/' && (""!=(found=stream.nextS(2))))
+                || 
+                (stream.lookC() == '<' && stream.lookC(1) == '!' && stream.lookC(2) == '-' && stream.lookC(3) == '-' && (""!=(found=stream.nextS(4))))
+            ) {
+                var line = this.line;
+                while (!stream.lookEOF()) {
+                                       //print(stream.look().to_string());
+                       if ( Lang.isNewline(stream.lookS().to_string())) {
+                               break;
+                       }
+                    found += stream.nextS();
+                }
+                if (!stream.lookEOF()) { // lookinng for end  of line... if we got it, then do not eat the character..
+                    found += stream.nextS();
+                }
+                if (this.keepComments) {
+                    tokens.push(new Token(found, TokenType.COMM, TokenName.SINGLE_LINE_COMM, line));
+                }
+                this.line++;
+                return true;
+            }
+            return false;
+        }
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_dbquote  (TextStream stream, TokenArray tokens)  
+        {
+            if (stream.lookC() != '"') {
+                return false;
+            }
+                // find terminator
+            var str = new StringBuilder();
+            str.append_unichar(stream.nextC());
+            
+            while (!stream.lookEOF()) {
+                if (stream.lookC() == '\\') {
+                    if (Lang.isNewline(stream.lookS(1).to_string())) {
+                        do {
+                            stream.nextC();
+                        } while (!stream.lookEOF() && Lang.isNewline(stream.lookS().to_string()));
+                        str.append( "\\\n");
+                    }
+                    else {
+                        str.append(stream.nextS(2));
+                    }
+                    continue;
+                }
+                if (stream.lookC() == '"') {
+                    str.append_unichar(stream.nextC());
+                    tokens.push(new Token(str.str, TokenType.STRN, TokenName.DOUBLE_QUOTE, this.line));
+                    return true;
+                }
+            
+                str.append(stream.nextS());
+                
+            }
+            return false;
+        }
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_snquote  (TextStream stream, TokenArray tokens)  
+        {
+            if (stream.lookC() != '\'') {
+                return false;
+            }
+            // find terminator
+            var str = new StringBuilder();
+               str.append_unichar(stream.nextC());
+            
+            while (!stream.lookEOF()) {
+                if (stream.lookC() == '\\') { // escape sequence
+                    str.append( stream.nextS(2));
+                    continue;
+                }
+                if (stream.lookC() == '\'') {
+                    str.append_unichar(stream.nextC());
+                    tokens.push(new Token(str.str, TokenType.STRN, TokenName.SINGLE_QUOTE, this.line));
+                    return true;
+                }
+                str.append(stream.nextS());
+                
+            }
+            return false;
+        }
+        
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_numb  (TextStream stream, TokenArray tokens)  
+        {
+            if (stream.lookC() == '0' && stream.lookC(1) == 'x') {
+                return this.read_hex(stream, tokens);
+            }
+            
+            var found = "";
+            
+            while (!stream.lookEOF() && !Lang.isNewline(stream.lookS()) && Lang.isNumber(found+stream.lookC().to_string())){
+                found += stream.nextS();
+            }
+            
+            if (found == "") {
+                return false;
+            }
+            // if we hit an 'e'.... then we need to carry on parsing..
+            if (stream.lookC() == 'e' || stream.lookC() == 'E') {
+                       found += stream.nextS();
+                       var nc = stream.lookC();
+                       if (nc == '+' || nc == '-' || (nc >= '0' && nc <= '9')) {
+                               found += stream.nextS();
+                           while (!stream.lookEOF() && !Lang.isNewline(stream.lookS()) && Lang.isNumber(found+stream.lookC().to_string())){
+                                       found += stream.nextS();
+                                   }
+                                   if (!Lang.isNumber(found)) {
+                                       if (this.packer != null) {
+                                                 this.packer.logError(
+                                                               Packer.ResultType.err,
+                                                               this.filename,
+                                                               this.line,
+                                                               "Invalid Number " + found
+                                                       );
+                                               }
+                                               return true; // eat the characters and continue...
+                       }
+                                               
+                       } else {
+                       if (this.packer != null) {
+                                         this.packer.logError(
+                                                       Packer.ResultType.err,
+                                                       this.filename,
+                                                       this.line,
+                                                       "could not find +/- or 0-9 after Number '" + found
+                                               );
+                                       return true;
+                               }
+                       }
+                       
+            }
+             
+            if (GLib.Regex.match_simple("^0[0-7]", found)) {
+                tokens.push(new Token(found, TokenType.NUMB, TokenName.OCTAL, this.line));
+                return true;
+            }
+            //print("got number '%s'\n", found);
+            
+            tokens.push(new Token(found, TokenType.NUMB, TokenName.DECIMAL, this.line));
+            return true;
+        
+        }
+       
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_hex  (TextStream stream, TokenArray tokens)  
+        {
+            var found = stream.nextS(2);
+            
+            while (!stream.lookEOF()) {
+                if (Lang.isHexDec(found) && !Lang.isHexDec(found+stream.lookC().to_string())) { // done
+                    tokens.push(new Token(found, TokenType.NUMB, TokenName.HEX_DEC, this.line));
+                    return true;
+                }
+                
+                found += stream.nextS();
+               
+            }
+            return false;
+        }
+
+        /**
+            @returns {Boolean} Was the token found?
+         */
+        public bool read_regx (TextStream stream, TokenArray tokens)  
+        {
+              
+            if (stream.lookC() != '/') {
+                return false;
+            }
+            var  last = tokens.lastSym();
+            if (
+                (last == null)
+                || 
+                (
+                       !last.isType(TokenType.NUMB)   // stuff that can not appear before a regex..
+                    && !last.isType(TokenType.NAME)
+                    && !last.isName(TokenName.RIGHT_PAREN)
+                    && !last.isName(TokenName.RIGHT_BRACE)
+                )
+            )  {
+                var regex = stream.nextS();
+                var in_brace = false; // this is really hacky... we ignore [ .../ ]  so aforward slash in a regex.. 
+                while (!stream.lookEOF()) {
+                       if (stream.lookC() == '[') {
+                               in_brace = true;
+                       }
+                       if (in_brace && stream.lookC() == ']') {
+                               in_brace = false;
+                       }
+                       
+                    if (stream.lookC() == '\\') { // escape sequence
+                        regex += stream.nextS(2);
+                        continue;
+                    }
+                    if (!in_brace && stream.lookC() == '/') {
+                        regex += stream.nextS();
+                        
+                        while (GLib.Regex.match_simple("[gmi]", stream.lookS().to_string())) {
+                            regex += stream.nextS();
+                        }
+                        
+                        tokens.push(new Token(regex, TokenType.REGX, TokenName.REGX, this.line));
+                        return true;
+                    }
+                     
+                    regex += stream.nextS();
+                     
+                }
+                // error: unterminated regex
+            }
+            return false;
+        }
+    }
+}
diff --git a/roojspacker/TokenStream.vala b/roojspacker/TokenStream.vala
new file mode 100644 (file)
index 0000000..f2b3ae8
--- /dev/null
@@ -0,0 +1,402 @@
+
+/**
+ * @class TokenStream
+ * 
+ * BC notes:
+ * 
+ * nextT => nextTok
+ * lookT => lookTok
+ * 
+ */
+
+
+namespace JSDOC {
+
+       public errordomain TokenStreamError {
+            ArgumentError
+    }
+       public class TokenStream : Object
+       {
+       
+               protected Gee.ArrayList<Token> tokens;
+               public int cursor; // where are we in the stream.               
+       
+       
+               public TokenStream(Gee.ArrayList<Token> tokens) {
+                
+                       this.tokens = tokens;
+
+                       this.rewind();
+               }
+               public  Gee.ArrayList<Token> toArray()
+               {
+                       return this.tokens;
+               }
+
+               
+               public void rewind() {
+                   this.cursor = -1;
+               }
+
+               /**
+                   @type JSDOC.Token
+               */
+               public Token? look (int n, bool considerWhitespace)  // depricated... causes all sorts of problems...
+               {
+
+
+                   if (considerWhitespace == true) {
+                   
+                       if (this.cursor+n < 0 || this.cursor+n > (this.tokens.size -1)) {
+                           return new Token("", TokenType.VOID, TokenName.START_OF_STREAM);
+                       }
+                       return this.tokens.get(this.cursor+n);
+                   }
+                   
+
+               var count = 0;
+               var i = this.cursor;
+
+               while (true) {
+                   if (i < 0) {
+                               return new Token("", TokenType.VOID, TokenName.START_OF_STREAM);
+                       }
+                   if (i >= this.tokens.size) {
+                               return new Token("", TokenType.VOID, TokenName.END_OF_STREAM);
+                       }
+
+                   if (i != this.cursor && this.tokens.get(i).isType(TokenType.WHIT)) {
+                               i += (n < 0) ? -1 : 1;
+                       continue;
+                   }
+                   
+                   if (count == n) {
+                       return this.tokens.get(i);
+                   }
+                   count++;
+                   i += (n < 0) ? -1 : 1;
+               }
+
+              // return new Token("", "VOID", "STREAM_ERROR"); // because null isn't an object and caller always expects an object
+                   
+               }
+               // look through token stream, including white space...
+               public Token  lookAny (int n)
+               {
+
+
+                if (this.cursor+n < 0 || this.cursor+n > (this.tokens.size -1)) {
+                   return new Token("", TokenType.VOID, TokenName.START_OF_STREAM);
+               }
+               return this.tokens.get(this.cursor+n);
+           
+           
+  
+               }
+               
+               
+
+               public int lookFor  (string data)
+               {
+                   // non tree version..
+                   var i = this.cursor < 0 ? 0 : this.cursor ;
+                   
+                   while (true) {
+                       if (i >= this.tokens.size) {
+                               return -1;
+                       }
+                       if (this.tokens.get(i).data == data) {
+                           return i;
+                       }
+                       i++;
+                       
+                   }
+                   // should not get here!
+                  // return -1;
+
+               }
+
+
+               /**
+                * look ahead (or back) x number of tokens (which are not comment or whitespace)
+                * ?? used by scope parser & compress white to look back?
+                */
+                public Token lookTok (int n) {
+
+
+                   var step =  (n < 0) ? -1 : 1;
+                   var count = 0;
+                   
+                   var i = this.cursor;
+
+                   while (true) {
+                       // print("lookTok:i=%d n= %d count=%d\n" , i, n, count);
+                       
+                       if (i < 0 &&  n > -1) {
+                               i = 0; 
+                               count += step;
+                               continue;
+                   }
+
+                       
+                   // beyond beginnnig..
+                   if (i < 0 &&  n < 0) {
+                           return  new Token("BEG", TokenType.VOID, TokenName.END_OF_STREAM);
+                       }
+                   
+                       
+                       // beyond end..
+                       if (i >= this.tokens.size) {
+                               return  new Token("END", TokenType.VOID, TokenName.END_OF_STREAM);
+                       }
+                               // print("lookTok:i= %d n= %d : %s\n" , i, n, this.tokens.get(i).asString());
+                               var tok = this.tokens.get(i);
+                               
+                       if (i != this.cursor && ( 
+                                               tok.isType(TokenType.WHIT) || tok.isType(TokenType.COMM)
+                               )) {
+                           i += step;
+                           continue;
+                       }
+                       
+                       if (count == n) {
+                           return this.tokens.get(i);
+                       }
+                       count+=step;
+                       i += step;
+                   }
+               // should never get here..
+               //    return  new Token("", "VOID", "END_OF_STREAM");; // because null isn't an object and caller always expects an object;
+                   
+               }
+               
+               /**
+                *  @return {Token|null}
+                * next token (with white space)
+                */
+                   
+                  
+               public Token? next() {
+               
+               
+                   //if (typeof howMany == "undefined") howMany = 1;
+                   // if (howMany < 1) { return  null;                 }
+                   
+                   if (this.cursor+1 >= this.tokens.size) {
+                       return null;
+               }
+                   this.cursor++;
+                   return this.tokens.get(this.cursor);
+
+               }
+               
+           public Gee.ArrayList<Token>? nextM(int howMany) throws TokenStreamError {
+               
+                   //if (typeof howMany == "undefined") howMany = 1;
+                   if (howMany < 2) { 
+                               throw new  TokenStreamError.ArgumentError("nextM called with wrong number : %d", howMany);
+                   }
+                   var got = new Gee.ArrayList<Token>();
+
+                   for (var i = 1; i <= howMany; i++) {
+                       if (this.cursor+i >= this.tokens.size) {
+                           return null;
+                       }
+                       got.add(this.tokens.get(this.cursor+i));
+                   }
+                   this.cursor += howMany;
+                   
+                       return got;
+               }
+               
+               
+               
+               
+               // what about comments after 'function'...
+               // is this used ???
+               public Token? nextTok() {
+                   return this.nextNonSpace();
+               }
+               
+               public Token? nextNonSpace ()
+               {
+                   
+                   while (true) {
+                       var tok = this.next();
+                       if (tok == null) {
+                           return null;
+                       }
+                       if (tok.isType(TokenType.WHIT) ||  tok.isType(TokenType.COMM)) {
+                           continue;
+                       }
+                       return tok;
+                   }
+               }
+               
+               /**
+                *  balance 
+                * -- returns all the tokens betweeen and including stop token eg.. from {... to  }
+                * @param start {String}  token name or data (eg. '{'
+                * @param stop {String} (Optional) token name or data (eg. '}'
+                */
+                
+                
+               //public Gee.ArrayList<Token> balanceStr (string start) throws TokenStreamError         
+               //{
+               //      return this.balance( Lang.punc(start));
+               //}      
+
+                
+               public Gee.ArrayList<Token> balance (TokenName in_start) throws TokenStreamError 
+               {
+                   
+                   // fixme -- validate start...
+                   
+                   // accepts names or "{" etc..
+                   
+                   var start = in_start;
+                   var stop =  Lang.matching(start); /// validates start..
+                   if (stop == null) {
+                               throw new TokenStreamError.ArgumentError("balance called with invalid start/stop : %s",start.to_string());
+                       }
+                   
+                   //print("START=%s, STOP=%s \n", start.to_string(),stop.to_string());
+                   var depth = 0;
+                   var got = new Gee.ArrayList<Token>();
+                   var started = false;
+                   //Seed.print("START:" + start);
+                   //Seed.print("STOP:" + stop);
+                   Token token;
+                   
+                   while (null != (token = this.lookAny(1))) {
+                               //print("BALANCE: %d d=%d, %s  \n" , this.cursor,  depth, token.asString());
+                       if (token.isName(start)) {
+                     //      Seed.print("balance: START : " + depth + " " + token.data);
+                           depth++;
+                           started = true;
+                       }
+                       
+                       if (started) {
+                           got.add(token);
+                       }
+                       
+                       if (token.isName(stop)) {
+                           depth--;
+                           
+                               //debug("balance (%d): STOP: %s" ,  depth ,  token.data);
+                           if (depth < 1) {
+                                   this.next(); // shift cursor to eat closer...
+                                       //debug("returning got %d", got.size);
+                                       return got;
+                               }
+                               
+                       }
+                       if (null == this.next()) {
+                               break;
+                       }
+                   }
+                   return new Gee.ArrayList<Token>();
+               }
+               // designed to get either end or start..
+               
+               
+               public Token? getMatchingTokenEnd(TokenName end)                
+               {
+                       return this.getMatchingToken(Lang.matching(end), 1);
+               }
+               
+               public Token? getMatchingToken(TokenName start, int depth = 0) 
+               {
+                   var cursor = this.cursor;
+                   
+                   
+                               var stop= Lang.matching(start);
+                       Token token;
+                   
+                   while (null != (token = this.tokens[cursor])) {
+                       if (token.isName(start)) {
+                           depth++;
+                       }
+                       
+                       if (token.isName(stop) && cursor != 0) {
+                           depth--;
+                           if (depth == 0) {
+                                       return this.tokens[cursor];
+                               }
+                       }
+                       cursor++;
+                   }
+                   return null;
+               }
+               /*
+               public Gee.ArrayList<Token> insertAhead(Token token) 
+               {
+                   this.tokens.splice(this.cursor+1, 0, token); // fixme...
+               }
+               */
+                
+               public Gee.ArrayList<Token> remaining() {
+                   var ret = new Gee.ArrayList<Token>();
+                   while (true) {
+                       var tok = this.look(1,true);
+                       if (tok.isType(TokenType.VOID)) {
+                           return ret;
+                       }
+                       var nt = this.next();
+                       if (nt != null) {
+                               ret.add(nt);
+                       }
+                   }
+               }
+                
+                
+               public void printRange(int start,  int end) {
+                       
+                       for(var i = start; i < end +1; i++) {
+                   print(this.tokens.get(i).asString());
+                       } 
+               }
+                
+               /*
+               arrayToString : function(ar) {
+                   console.log(typeof(ar));
+                   var ret = [];
+                   ar.forEach(function(e) {
+                       ret.push(e.data);
+                   })
+                   return ret.join('');
+               },
+               */
+               public void dump(int start, int end)
+               {
+                   start = int.max(start , 0);
+                   end = int.min(end, this.tokens.size);
+                   var  outs = "";;
+                   for (var i =start;i < end; i++) {
+                       
+                       outs += (this.tokens[i].outData == "") ? this.tokens[i].data : this.tokens[i].outData;
+                   }
+                   print(outs);
+               }
+               
+               public void dumpAll(string indent)
+               {
+                   for (var i = 0;i < this.tokens.size; i++) {
+                       
+                        this.tokens[i].dump("");
+                   }
+                   
+               }
+               public void dumpAllFlat()
+               {
+                   for (var i = 0;i < this.tokens.size; i++) {
+                       
+                        print("%d: %s\n", i, this.tokens[i].asString());
+                   }
+                   
+               }
+               
+       }
+}
+
diff --git a/roojspacker/Walker.vala b/roojspacker/Walker.vala
new file mode 100644 (file)
index 0000000..e1e1fd6
--- /dev/null
@@ -0,0 +1,939 @@
+// this walks through the code, and tries to find patterns that match documentable elements..
+
+
+namespace JSDOC {
+
+       enum WalkerMode {
+               BUILDING_SYMBOL_TREE,
+               XXX
+       }
+       
+       public class Walker  : Object
+       {
+               TokenStream ts;
+               Gee.ArrayList<string> warnings;
+               Gee.ArrayList<Scope> scopes;
+               Gee.HashMap<int,Scope> indexedScopes;
+               Gee.HashMap<string,Symbol> symbols;
+               Gee.HashMap<string,string> aliases;
+               Scope globalScope;
+               
+        bool global = false;
+        WalkerMode mode =  WalkerMode.XXX; //"BUILDING_SYMBOL_TREE",
+        int braceNesting = 0;
+        
+        DocComment? currentDoc =  null;
+
+        bool munge =  true;
+               
+               public Walker(TokenStream ts)
+               {
+                       this.ts  = ts;
+                       this.warnings= new Gee.ArrayList<string>();
+                       this.scopes = new Gee.ArrayList<Scope>();
+                       this.indexedScopes = new Gee.HashMap<int,Scope>();
+                       this.symbols = new Gee.HashMap<string,Symbol>();
+                       this.aliases = new Gee.HashMap<string,string>();
+                       this.braceNesting = 0;
+               }
+
+        //warn: function(s) {
+            //this.warnings.push(s);
+        //    print("WARNING:" + htmlescape(s) + "<BR>");
+        //},
+        // defaults should not be initialized here =- otherwise they get duped on new, rather than initalized..
+
+
+
+
+
+
+        public void buildSymbolTree()
+        {
+            //print("<PRE>");
+            
+            this.ts.rewind();
+            this.braceNesting = 0;
+            this.scopes = new Gee.ArrayList<Scope>();;
+                       this.aliases = new Gee.HashMap<string,string>();
+             
+            this.globalScope = new Scope(-1, null, -1,  "$global$", null);
+            this.indexedScopes = new Gee.HashMap<int,Scope>();
+            this.indexedScopes.set(  0,  this.globalScope );
+            
+            this.mode = WalkerMode.BUILDING_SYMBOL_TREE;
+            this.parseScope(this.globalScope,this.emptyAlias());
+            
+        }
+        Gee.HashMap<string,string>  emptyAlias()
+        {
+               return new Gee.HashMap<string,string> ();
+       }
+        
+        
+
+        string fixAlias (Gee.HashMap<string,string>aliases, string str, bool nomore = false)
+        {
+            var ar = str.split(".");
+            var m = ar[0];
+            
+            //print(str +"?=" +aliases.toSource());
+            if (!aliases.has_key(m)) {
+                return str;
+            }
+            ar[0] = aliases.get(m);
+            
+            var ret = string.joinv(".", ar);
+            if (nomore != true) {
+                ret = this.fixAlias(aliases, ret, true);
+            }
+            
+            
+            return ret;
+        }
+
+        
+
+        void parseScope (Scope in_scope, Gee.HashMap<string,string> ealiases) // parse a token stream..
+        {
+            //this.timerPrint("parseScope EnterScope"); 
+            
+            var scope = in_scope;
+            
+            var aliases = new Gee.HashMap<string,string>();
+
+            foreach(var i in ealiases.keys) {
+                aliases.set(i, ealiases.get(i));
+            }
+                
+            //print("STARTING SCOPE WITH: " + ealiases.toSource());
+             
+            var expressionBraceNesting = this.braceNesting;
+            var bracketNesting = 0;
+            var parensNesting = 0;
+           
+            
+            var l1 = "", l2 = "";
+            var scopeName = "";
+            
+            
+            var locBraceNest = 0;
+            // determines if we are in object literals...
+            
+            var isObjectLitAr = new Gee.ArrayList<bool>();
+            isObjectLitAr.add(false);
+            //print("SCOPE: ------------------START ----------------");
+
+            this.scopesIn(scope);
+            var scopeLen = this.scopes.size;
+            
+            if (this.ts.cursor < 1) {
+              // this.ts.cursor--; // hopeflly this kludge will work
+            }
+            
+            
+            //print(JSON.stringify(this.ts, null, 4)); Seed.quit();
+            Token token;
+            while (null != ( token = this.ts.next())) {
+                 //GLib.debug("TOK %s", token.asString());
+                //  this.timerPrint("parseScope AFTER lookT: " + token.toString()); 
+                  
+                if (token.isType(TokenType.COMM)) {
+                      
+                 
+                    if (!token.isName(TokenName.JSDOC)) {
+                        //print("Walker2 : spce is not JSDOC");
+                        continue; //skip.
+                    }
+                    if (this.currentDoc != null) {
+                        // add it to the current scope????
+                        
+                        this.addSymbol("", true);
+                        //print ( "Unconsumed Doc: " + token.toString())
+                        //throw "Unconsumed Doc (TOKwhitespace): " + this.currentDoc.toSource();
+                    }
+                    
+                   // print ( "NEW COMMENT: " + token.toString())
+                    var newDoc = new DocComment(token.data);
+                    
+                    // it"s a scope changer..
+                    
+                    if (newDoc.getTag(DocTagTitle.SCOPE).size > 0) {
+                        //print("Walker2 : doctag changes scope");
+                        //throw "done";
+                        scope.ident = "$private$|" + newDoc.getTag(DocTagTitle.SCOPE).get(0).desc;
+                        continue;
+                    } 
+                    
+                    // it"s a scope changer..
+                    if (newDoc.getTag(DocTagTitle.SCOPEALIAS).size > 0) {
+                        //print(newDoc.getTag("scopeAlias").toSource());
+                        // @scopeAlias a=b
+                        //print("Walker2 : doctag changes scope (alias)");
+                        var sal = newDoc.getTag(DocTagTitle.SCOPEALIAS).get(0).desc.split("=");
+                        aliases[sal[0].strip()] = sal[1].strip();
+                        
+                        continue;
+                    }
+                    
+                    
+                    /// got a  doc comment..
+                    //token.data might be this.??? (not sure though)
+                    //print("Walker2 : setting currentDoc");
+                    this.currentDoc = newDoc;
+                    continue;
+                }
+                
+                // catch the various issues .. - scoe changes or doc actions..
+                
+              
+                
+                // things that stop comments carrying on...??
+                
+                if (this.currentDoc != null && (
+                        token.data == ";" || 
+                        token.data == "}")) {
+                    this.addSymbol("", true);
+                    //throw "Unconsumed Doc ("+ token.toString() +"): " + this.currentDoc.toSource();
+                }
+                    
+                
+                // the rest are scoping issues...
+                
+                // var a = b;
+                
+                 if (token.isName(TokenName.VAR) &&
+                 
+                        this.ts.lookTok(1).isType(TokenType.NAME) &&
+                        this.ts.lookTok(2).data == "=" &&
+                        this.ts.lookTok(3).isType(TokenType.NAME) &&
+                        this.ts.lookTok(4).data == ";"  
+                        
+                 
+                 ) {
+                    //print("SET ALIAS:" + this.ts.lookTok(1).data +"=" + this.ts.lookTok(3).data);
+                     
+                    aliases.set(this.ts.lookTok(1).data, this.ts.lookTok(3).data);
+                
+                }
+                
+                if ((token.data == "eval") || /\.eval$/.match(token.data)) {
+                    this.currentDoc = null;
+                    continue;
+                }
+              
+                // extends scoping  *** not sure if the can be x = Roo.apply(....)
+                // xxx.extends(a,b, {
+                    // $this$=b|b.prototype
+                // xxx.apply(a, {
+                    // a  << scope
+                // xxx.applyIf(a, {
+                    // a  << scope
+                if (token.isType(TokenType.NAME) ) {
+                    
+                    //print("TOK(ident)"+ token.toString());
+                     
+                    if (/\.extend$/.match(token.data) &&
+                        this.ts.lookTok(1).data == "(" &&
+                        this.ts.lookTok(2).isType(TokenType.NAME)  &&
+                        this.ts.lookTok(3).data == "," &&
+                        this.ts.lookTok(4).isType(TokenType.NAME)  &&
+                        this.ts.lookTok(5).data == "," &&
+                        this.ts.lookTok(6).data == "{" 
+                           
+                        ) {
+                        // ignore test for ( a and ,
+                        this.ts.nextTok(); /// (
+                        token = this.ts.nextTok(); // a
+                        scopeName = token.data;
+                        
+                        if (this.currentDoc != null) {
+                            this.addSymbol(scopeName,false,"OBJECT");
+
+                        }
+                        this.ts.nextTok(); // ,
+                        this.ts.nextTok(); // b
+                        
+                        
+                        this.ts.nextTok(); // ,
+                        token = this.ts.nextTok(); // {
+                            
+                        scopeName = this.fixAlias(aliases, scopeName);
+                        
+                        var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                       "$this$=" + scopeName  + "|"+scopeName+".prototype", null
+                                       );
+                        
+    
+                        this.indexedScopes.set(this.ts.cursor, fnScope);
+                        scope = fnScope;
+                        this.scopesIn(fnScope);
+                       
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..
+                        
+                    }
+                    
+                    // a = Roo.extend(parentname, {
+                        
+                     if (/\.extend$/.match(token.data) &&
+                        this.ts.lookTok(-2).isType(TokenType.NAME)  &&
+                        this.ts.lookTok(-1).data == "=" &&
+                        this.ts.lookTok(1).data == "(" &&
+                        this.ts.lookTok(2).isType(TokenType.NAME) &&
+                        this.ts.lookTok(3).data == "," &&
+                        this.ts.lookTok(4).data == "{" 
+                        ) {
+                        // ignore test for ( a and ,
+                        token = this.ts.lookTok(-2);
+                        scopeName = token.data;
+                        if (this.currentDoc != null) {
+                            this.addSymbol(scopeName,false,"OBJECT");
+
+                        }
+                        this.ts.nextTok(); /// (
+                        this.ts.nextTok(); // parent
+                        
+                        this.ts.nextTok(); // ,
+                        token =  this.ts.nextTok(); // {
+                             
+                        
+                        scopeName = this.fixAlias(aliases,scopeName);
+                        var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                        "$this$=" + scopeName  + "|"+scopeName+".prototype",
+                                                null
+                                       );
+                        
+                         
+                        this.indexedScopes.set(this.ts.cursor, fnScope);
+                        scope = fnScope;
+                        this.scopesIn(fnScope);
+                       
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..
+                        
+                    }
+                    
+                    
+                     // apply ( XXXX,  {
+                    /*
+                    print(JSON.stringify([
+                        token.data,
+                        this.ts.lookTok(1).data ,
+                        this.ts.lookTok(2).type ,
+                        this.ts.lookTok(3).data ,
+                        this.ts.lookTok(4).data 
+                    ], null, 4));
+                    */
+                    
+                    if (/\.(applyIf|apply)$/.match(token.data) && 
+                        this.ts.lookTok(1).data == "("  &&
+                        this.ts.lookTok(2).isType(TokenType.NAME) &&
+                        this.ts.lookTok(3).data == ","  &&
+                        this.ts.lookTok(4).data == "{" 
+                        
+                        ) {
+                        this.ts.nextTok(); /// (
+                         
+                        //print("GOT : applyIF!"); 
+                         
+                        token = this.ts.nextTok(); // b
+                        scopeName = token.data;
+                        
+                                      
+                        if (this.currentDoc != null) {
+                            this.addSymbol(scopeName,false,"OBJECT");
+                        }
+                     
+
+                        
+                        this.ts.nextTok(); /// ,
+                        this.ts.nextTok(); // {
+                        scopeName = this.fixAlias(aliases,scopeName);
+                        var fnScope =   new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                       scopeName, null
+                                       );
+
+                        this.indexedScopes.set(this.ts.cursor, fnScope);
+                        scope = fnScope;
+                        this.scopesIn(fnScope);
+                         
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..
+                    }
+                    
+                    
+                    // xxx = new yyy ( {
+                        
+                    // change scope to xxxx
+                    /*
+                    print(JSON.stringify([
+                        this.ts.lookTok(1).data ,
+                        this.ts.lookTok(2).name ,
+                        this.ts.lookTok(3).type ,
+                        this.ts.lookTok(4).data ,
+                        this.ts.lookTok(5).data 
+                    ], null, 4));
+                    */
+                    if ( this.ts.lookTok(1).data == "=" &&
+                        this.ts.lookTok(2).isName(TokenName.NEW) &&
+                        this.ts.lookTok(3).isType(TokenType.NAME)&&
+                        this.ts.lookTok(4).data == "(" &&
+                        this.ts.lookTok(5).data == "{" 
+                        ) {
+                        scopeName = token.data;
+                        if (this.currentDoc != null) {
+                            this.addSymbol(scopeName,false,"OBJECT");
+                            
+                        }
+                        
+                        this.ts.nextTok(); /// =
+                        this.ts.nextTok(); /// new
+                        this.ts.nextTok(); /// yyy
+                        this.ts.nextTok(); /// (
+                        this.ts.nextTok(); /// {
+                            
+                        scopeName = this.fixAlias(aliases,scopeName);
+                        var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                       scopeName,null
+                                       ); 
+                        this.indexedScopes.set(this.ts.cursor,  fnScope);
+                        scope = fnScope;
+                        this.scopesIn(fnScope);
+                         
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        
+                        continue; // no more processing..
+                    }
+                    
+
+                     
+                    
+                    
+                    
+                    
+                    // eval can be prefixed with a hint hider for the compresser..
+                    
+                    
+                    if (this.currentDoc != null) {
+                        //print(token.toString());
+                        
+                        // ident : function ()
+                        // ident = function ()
+                        var atype = "OBJECT";
+                        
+                        if (((this.ts.lookTok(1).data == ":" )|| (this.ts.lookTok(1).data == "=")) &&
+                            (this.ts.lookTok(2).isName(TokenName.FUNCTION))
+                            ) {
+                               // this.ts.nextTok();
+                               // this.ts.nextTok();
+                                atype = "FUNCTION";
+                        }
+                        
+                        //print("ADD SYM:" + atype + ":" + token.toString() + this.ts.lookTok(1).toString() + this.ts.lookTok(2).toString());
+                        
+                        this.addSymbol(
+                            this.ts.lookTok(-1).data == "." ? token.data :    this.fixAlias(aliases,token.data),
+                            false,
+                            atype);
+                        
+
+                        this.currentDoc = null;
+                        
+                        
+                        
+                        
+                        
+                        
+                    }
+                 
+                    
+                    continue; // dont care about other idents..
+                    
+                }
+                
+                //print ("NOT NAME");
+                
+                
+                if (token.isType(TokenType.STRN))   { // THIS WILL NOT HAPPEN HERE?!!?
+                    if (this.currentDoc != null) {
+                        this.addSymbol(token.data.substring(1,token.data.length-1),false,"OBJECT");
+                    }
+                }
+            
+                // really we only have to deal with object constructs and function calls that change the scope...
+                
+                
+                if (token.isName(TokenName.FUNCTION)) {
+                    //print("GOT FUNCTION");
+                    // see if we have an unconsumed doc...
+                    
+                       if (this.currentDoc != null) {
+                        GLib.error("Unhandled doc (TOKfunction) %s", token.asString());
+                    }
+                    
+                     
+                     
+                     
+                     
+                    /// foo = function() {} << really it set"s the "this" scope to foo.prototype
+                    //$this$=foo.prototype|$private$|foo.prototype
+        
+                    if (
+                            (this.ts.lookTok(-1).data == "=") && 
+                            (this.ts.lookTok(-2).isType(TokenType.NAME))
+                        ) {
+                        scopeName = this.ts.lookTok(-2).data;
+                        this.ts.balance(TokenName.LEFT_PAREN);
+                        token = this.ts.nextTok(); // should be {
+                        //print("FOO=FUNCITON() {}" + this.ts.context() + "\n" + token.toString());
+                        
+                        
+                        scopeName = this.fixAlias(aliases, scopeName);
+                        var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                       "$this$="+scopeName+".prototype|$private$|"+scopeName+".prototype",
+                                       null
+                                       ); 
+                        
+                        this.indexedScopes.set(this.ts.cursor, fnScope);
+                        //scope = fnScope;
+                        //this.scopesIn(fnScope);
+                        this.parseScope(fnScope, aliases);
+                        
+                        
+                       
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..    
+                          
+                        
+                    }
+                        
+                
+                // foo = new function() {}
+                        // is this actually used much!?!?!
+                        //$private$
+                        
+                    if (
+                            (this.ts.lookTok(-1).isName(TokenName.NEW)) && 
+                            (this.ts.lookTok(-2).data == "=") &&
+                            (this.ts.lookTok(-3).isName(TokenName.FUNCTION))
+                        ) {
+                        //scopeName = this.ts.look(-3).data;
+                        this.ts.balance(TokenName.LEFT_PAREN);
+                        token = this.ts.nextTok(); // should be {
+                        scopeName = this.fixAlias(aliases, scopeName);
+                        var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                       "$private$",null
+                                       ); 
+                        
+                        
+                        this.indexedScopes.set(this.ts.cursor,  fnScope);
+                        //scope = fnScope;
+                        //this.scopesIn(fnScope);
+                        this.parseScope(fnScope, aliases);
+                        
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..    
+                          
+                        
+                    }    
+                   
+                    
+    ///==== check/set isObjectLitAr ??                
+                    
+                    
+                 // foo: function() {}
+                        // no change to scoping..
+                        
+                    //print("checking for : function() {"); 
+                    //print( [this.ts.lookTok(-3).type , this.ts.lookTok(-2).type , this.ts.lookTok(-1).type ].join(":"));
+                    if (
+                            (this.ts.lookTok(-1).data == ":") && 
+                            (this.ts.lookTok(-2).isType(TokenType.NAME)) &&
+                            (this.ts.lookTok(-3).data == "(" || this.ts.lookTok(-3).data== ",") 
+                        ) {
+                        //print("got for : function() {"); 
+                            
+                        //scopeName = this.ts.look(-3).data;
+                        this.ts.balance(TokenName.LEFT_PAREN);
+                        //print(token.toString())
+                        token = this.ts.nextTok(); // should be {
+                        //print(token.toString())
+                        
+                        scopeName = this.fixAlias(aliases, scopeName);
+                        var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                       "", null
+                                       ); 
+
+                        this.indexedScopes.set(this.ts.cursor, fnScope);
+                        //scope = fnScope;
+                        //this.scopesIn(fnScope);
+                         this.parseScope(fnScope, aliases);
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..    
+                          
+                    } 
+               /// function foo() {} << really it set"s the "this" scope to foo.prototype
+                        //$this$=foo|$private$
+                        //$this$=foo
+                        
+                    if (
+                            (this.ts.lookTok(1).isType(TokenType.NAME)) 
+                        ) {
+                        //scopeName = this.ts.look(-3).data;
+                        this.ts.balance(TokenName.LEFT_PAREN);
+                        token = this.ts.nextTok(); // should be {
+                        var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                       "", null
+                                       ); 
+
+                        this.indexedScopes.set(this.ts.cursor, fnScope);
+                        //scope = fnScope;
+                        //this.scopesIn(fnScope);
+                        this.parseScope(fnScope, aliases);
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..    
+                          
+                    }
+                    
+                     
+                // foo = new (function() { }
+                // (function() { }
+                // RETURN function(...) {
+                    
+                    if (
+                           // (this.ts.lookTok(-1).tokN == Script.TOKlparen) && 
+                            (!this.ts.lookTok(1).isType(TokenType.NAME))   
+                            
+                        //    (this.ts.lookTok(-2).tokN == Script.TOKnew) &&
+                         //   (this.ts.lookTok(-3).tokN == Script.TOKassign) &&
+                         //   (this.ts.lookTok(-4).tokN == Script.TOKidentifier)
+                        ) {
+                        //scopeName = this.ts.look(-3).data;
+                        this.ts.balance(TokenName.LEFT_PAREN);
+                        token = this.ts.nextTok(); // should be {
+                        var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                               "$private$",null
+                                       ); 
+
+                        this.indexedScopes.set(this.ts.cursor, fnScope);
+                        //scope = ;
+                        //this.scopesIn(fnScope);
+                         this.parseScope(fnScope, aliases);
+                        locBraceNest++;
+                        //print(">>" +locBraceNest);
+                        continue; // no more processing..    
+                          
+                        
+                    }
+                    
+                    GLib.error( "dont know how to handle function syntax??\n %s" +
+                                token.asString());
+                    
+            
+                    
+                    continue;
+                    
+                    
+                    
+                    
+                } // end checking for TOKfunction
+                    
+                if (token.data == "{") {
+                    
+                     // foo = { // !var!!!
+                        //$this$=foo|Foo
+               
+                
+                    if (
+                            (this.ts.lookTok(-1).data == "=") &&
+                            (this.ts.lookTok(-2).isType(TokenType.NAME)) &&
+                            (!this.ts.lookTok(-3).isName(TokenName.VAR))  
+                        ) {
+                            
+                            scopeName = this.ts.lookTok(-2).data;
+                            //print(scopeName);
+                            scopeName = this.fixAlias(aliases, scopeName);
+                            GLib.debug("got %s = {", scopeName);
+                            
+                            //print(this.scopes.length);
+                            var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                                       "$this$=" + scopeName +"|"+scopeName, null
+                                               ); 
+                            
+                            this.indexedScopes.set(this.ts.cursor, fnScope);
+                            scope = fnScope;
+                            // push the same scope onto the stack..
+                            this.scopesIn(fnScope);
+                            //this.scopesIn(this.scopes[this.scopes.length-1]);
+                            
+                              
+                            locBraceNest++;
+                            //print(">>" +locBraceNest);
+                            continue; // no more processing..   
+                    }
+                    // foo : {
+                    // ?? add |foo| ????
+                      
+                    //print("GOT LBRACE : check for :");
+                    if (
+                            (this.ts.lookTok(-1).data == ":") &&
+                            (this.ts.lookTok(-2).isType(TokenType.NAME)) &&
+                            (!this.ts.lookTok(-3).isName(TokenName.VAR)) 
+                        ) {
+                            
+                            scopeName = this.ts.lookTok(-2).data;
+                            scopeName = this.fixAlias(aliases, scopeName);
+                            var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                                       scopeName, null
+                                               ); 
+
+                            this.indexedScopes.set(this.ts.cursor, fnScope);
+                            scope = fnScope;
+                            this.scopesIn(fnScope);
+                            
+                            locBraceNest++;
+                            //print(">>" +locBraceNest);
+                            continue; // no more processing..   
+                    }
+                    var fnScope =  new Scope(this.braceNesting, scope, token.id, // was token.n?
+                                               "", null
+                               ); 
+
+                    this.indexedScopes.set(this.ts.cursor, fnScope);
+                    scope = fnScope;
+                    this.scopesIn(fnScope);
+                   
+                    locBraceNest++;
+                    //print(">>" +locBraceNest);
+                    continue;
+                    
+                }
+                if (token.data == "}") {
+                    
+                     
+                        if (this.currentDoc != null) {
+                            this.addSymbol("", true);
+
+                            //throw "Unconsumed Doc: (TOKrbrace)" + this.currentDoc.toSource();
+                        }
+                        
+                       
+                        locBraceNest--;
+                        
+                            //assert braceNesting >= scope.getBraceNesting();
+                        var closescope = this.scopeOut();
+                        
+                        scope = this.scopes.get(this.scopes.size-1);
+                        
+                        //print("<<:" +  locBraceNest)
+                        //print("<<<<<< " + locBraceNest );
+                        if (locBraceNest < 0) {
+                           // print("POPED OF END OF SCOPE!");
+                            ///this.scopeOut();   
+                            //var ls = this.scopeOut();
+                            //ls.getUsedSymbols();
+                            return;
+                        }
+                        continue;
+                }
+              
+                
+            }
+            
+            
+        }
+     
+         
+        void addSymbol(string in_lastIdent, bool appendIt = false, string atype = "OBJECT")
+        {
+            
+            GLib.debug("addSymbol %s", in_lastIdent);
+            var lastIdent = in_lastIdent;
+            if (this.currentDoc.getTag(DocTagTitle.PRIVATE).size > 0) {
+                
+              
+                //print(this.currentDoc.toSource());
+                 this.currentDoc = null;
+                //print("SKIP ADD SYM:  it"s private");
+                return;
+            }
+            
+            var token = this.ts.lookTok(0);
+          
+          //  print(this.currentDoc.toSource(););
+            if (this.currentDoc.getTag(DocTagTitle.EVENT).size > 0) {
+                //?? why does it end up in desc - and not name/...
+                //print(this.currentDoc.getTag("event")[0]);
+                lastIdent = "*" + this.currentDoc.getTag(DocTagTitle.EVENT).get(0).desc;
+                //lastIdent = "*" + lastIdent ;
+            }
+            if (lastIdent.length < 1 && this.currentDoc.getTag(DocTagTitle.PROPERTY).size > 0) {
+                lastIdent = this.currentDoc.getTag(DocTagTitle.PROPERTY).get(0).name;
+                //lastIdent = "*" + lastIdent ;
+            }
+            
+            var _s = lastIdent;
+            if (!/\./.match(_s)) {
+                    
+                //print("WALKER ADDsymbol: " + lastIdent);
+                
+                string[] s = {};
+                GLib.debug("Checking Scopes %d", this.scopes.size);
+                for (var i = 0; i < this.scopes.size;i++) {
+                    GLib.debug("Scope %s", this.scopes.get(i).ident);
+                       var adds = this.scopes.get(i).ident;
+                       
+                    s = s + adds;
+                }
+                s += lastIdent;
+                
+                GLib.debug("FULLSCOPE: '%s'" , string.joinv("', '", s));
+                
+                
+                s = string.joinv("|", s).split("|");
+                //print("FULLSCOPE: " + s);
+             //  print("Walker:ADDSymbol: " + s.join("|") );
+                var _t = "";
+                 _s = "";
+                
+                /// fixme - needs
+                for (var i = 0; i < s.length;i++) {
+                    
+                    if (s[i].length < 1) {
+                        continue;
+                    }
+                    if ((s[i] == "$private$") || (s[i] == "$global$")) {
+                        _s = "";
+                        continue;
+                    }
+                    if (s[i].length > 5 &&  s[i].substring(0,6) == "$this$") {
+                        var ts = s[i].split("=");
+                        _t = ts[1];
+                        _s = ""; // ??? VERY QUESTIONABLE!!!
+                        continue;
+                    }
+                    // when to use $this$ (probabl for events)
+                    _s += _s.length > 0 ? "." : "";
+                    _s += s[i];
+                }
+                GLib.debug("FULLSCOPE: _s=%s (append = %s)" , _s, appendIt? "YES": "no");
+                
+                /// calc scope!!
+                //print("ADDING SYMBOL: "+ s.join("|") +"\n"+ _s + "\n" +Script.prettyDump(this.currentDoc.toSource()));
+                //print("Walker.addsymbol - add : " + _s);
+                
+                
+                if (appendIt && lastIdent.length < 1) {
+                    
+                    // append, and no symbol???
+                    
+                    // see if it"s a @class
+                    if (this.currentDoc.getTag(DocTagTitle.CLASS).size > 0) {
+                        _s = this.currentDoc.getTag(DocTagTitle.CLASS).get(0).desc;
+                        var symbol = new Symbol.new_populate_with_args(_s, new Gee.ArrayList<string>(),
+                                        "CONSTRUCTOR", this.currentDoc);
+                       
+                        DocParser.addSymbol(symbol);
+                        this.symbols[_s] = symbol;
+                        return;
+                    }
+                    
+                   // if (this.currentDoc.getTag("property").length) {
+                     //   print(Script.pretStringtyDump(this.currentDoc.toSource));
+                    //    throw "Add Prop?";
+                    //}
+
+                    _s = /\.prototype.*$/.replace(_s, _s.length,0, "");
+                    
+                    if (!this.symbols.has_key(_s)) {
+                        //print("Symbol:" + _s);
+                       //print(this.currentDoc.src);
+                        
+                        //throw {
+                        //    name: "ArgumentError", 
+                        //    message: "Trying to append symbol "" + _s + "", but no doc available\n" +
+                        //        this.ts.lookTok(0).toString()
+                        //};
+                        this.currentDoc = null;
+                        return;
+                     
+                    }
+                    GLib.debug("add to symbol  _s=%s  " , _s);    
+                    for (var i =0; i < this.currentDoc.tags.size;i++) {
+                        this.symbols.get(_s).addDocTag(this.currentDoc.tags.get(i));
+                    } 
+                    this.currentDoc = null;
+                    return;
+                }
+            }    
+            //print("Walker.addsymbol - chkdup: " + _s);
+            if (this.symbols.has_key(_s)) {
+                
+                if (this.symbols.get(_s).comment.hasTags) {
+                    // then existing comment doesnt has tags 
+                    //throw {
+                    //    name: "ArgumentError", 
+                     //   message:"DUPLICATE Symbol " + _s + "\n" + token.toString()
+                    //};
+                    return;
+                }
+                // otherwise existing comment has tags - overwrite..
+                
+                
+            }
+            //print("Walker.addsymbol - ATYPE: " + _s);
+
+
+
+            
+            //print("Walker.addsymbol - add : ");
+            var symbol = new Symbol.new_populate_with_args(
+                       _s, new Gee.ArrayList<string>(), atype, this.currentDoc);
+
+            DocParser.addSymbol(symbol);
+            this.symbols[_s] = symbol;
+            
+             this.currentDoc = null;
+            
+        }
+        
+        
+        
+        
+        void scopesIn  (Scope s)
+        {
+            this.scopes.add(s);
+            //print(">>>" + this.ts.context()  + "\n>>>"+this.scopes.length+":" +this.scopeListToStr());
+            
+        }
+        Scope scopeOut()
+        {
+            
+           // print("<<<" + this.ts.context()  + "\n<<<"+this.scopes.length+":" +this.scopeListToStr());
+            return this.scopes.remove_at(this.scopes.size -1 );
+            
+        }
+        
+        string scopeListToStr ()
+        {
+            string[] s = {};
+            for (var i = 0; i < this.scopes.size;i++) {
+                s +=(this.scopes[i].ident);
+            }
+            return  string.joinv("\n\t",s);
+            
+        }
+        
+    }
+    
+     
+}
\ No newline at end of file
diff --git a/roojspacker/cmake_install.cmake b/roojspacker/cmake_install.cmake
new file mode 100644 (file)
index 0000000..5f7b982
--- /dev/null
@@ -0,0 +1,132 @@
+# Install script for directory: /home/alan/gitlive/roojspacker/jsdoc
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+  set(CMAKE_INSTALL_PREFIX "/usr/local")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+  if(BUILD_TYPE)
+    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+  else()
+    set(CMAKE_INSTALL_CONFIG_NAME "Debug")
+  endif()
+  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+  if(COMPONENT)
+    message(STATUS "Install component: \"${COMPONENT}\"")
+    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+  else()
+    set(CMAKE_INSTALL_COMPONENT)
+  endif()
+endif()
+
+# Install shared libraries without execute permission?
+if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
+  set(CMAKE_INSTALL_SO_NO_EXE "1")
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+  set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/vala/vapi/.vapi")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+file(INSTALL DESTINATION "/vala/vapi" TYPE FILE FILES "/home/alan/gitlive/roojspacker/jsdoc/.vapi")
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+  foreach(file
+      "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so.1.2"
+      "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so.1.2.0"
+      )
+    if(EXISTS "${file}" AND
+       NOT IS_SYMLINK "${file}")
+      file(RPATH_CHECK
+           FILE "${file}"
+           RPATH "")
+    endif()
+  endforeach()
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE SHARED_LIBRARY FILES
+    "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-.so.1.2"
+    "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-.so.1.2.0"
+    )
+  foreach(file
+      "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so.1.2"
+      "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so.1.2.0"
+      )
+    if(EXISTS "${file}" AND
+       NOT IS_SYMLINK "${file}")
+      if(CMAKE_INSTALL_DO_STRIP)
+        execute_process(COMMAND "/usr/bin/strip" "${file}")
+      endif()
+    endif()
+  endforeach()
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so")
+    file(RPATH_CHECK
+         FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so"
+         RPATH "")
+  endif()
+  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE SHARED_LIBRARY FILES "/home/alan/gitlive/roojspacker/jsdoc/libroojspacker-.so")
+  if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so" AND
+     NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so")
+    if(CMAKE_INSTALL_DO_STRIP)
+      execute_process(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/libroojspacker-.so")
+    endif()
+  endif()
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "//.h")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+file(INSTALL DESTINATION "/" TYPE FILE FILES "/home/alan/gitlive/roojspacker/jsdoc/.h")
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/vala/vapi/.vapi")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+file(INSTALL DESTINATION "/vala/vapi" TYPE FILE FILES "/home/alan/gitlive/roojspacker/jsdoc/.vapi")
+endif()
+
+if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xUnspecifiedx" OR NOT CMAKE_INSTALL_COMPONENT)
+  list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
+   "/pkgconfig/.pc")
+  if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+  if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION)
+    message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}")
+  endif()
+file(INSTALL DESTINATION "/pkgconfig" TYPE FILE FILES "/home/alan/gitlive/roojspacker/jsdoc/.pc")
+endif()
+
diff --git a/roojspacker/libroojspacker-1.2.so b/roojspacker/libroojspacker-1.2.so
new file mode 120000 (symlink)
index 0000000..11d7cb3
--- /dev/null
@@ -0,0 +1 @@
+libroojspacker-1.2.so...
\ No newline at end of file
diff --git a/roojspacker/libroojspacker-1.2.so.. b/roojspacker/libroojspacker-1.2.so..
new file mode 100755 (executable)
index 0000000..e415936
Binary files /dev/null and b/roojspacker/libroojspacker-1.2.so.. differ
diff --git a/roojspacker/libroojspacker-1.2.so... b/roojspacker/libroojspacker-1.2.so...
new file mode 120000 (symlink)
index 0000000..5eed304
--- /dev/null
@@ -0,0 +1 @@
+libroojspacker-1.2.so..
\ No newline at end of file
diff --git a/roojspacker/roojspacker--vala/fast-vapis.stamp b/roojspacker/roojspacker--vala/fast-vapis.stamp
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/roojspacker/roojspacker--vala/stamp b/roojspacker/roojspacker--vala/stamp
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/roojspacker/roojspacker-1.2-vala/fast-vapis.stamp b/roojspacker/roojspacker-1.2-vala/fast-vapis.stamp
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/roojspacker/roojspacker-1.2-vala/stamp b/roojspacker/roojspacker-1.2-vala/stamp
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/roojspacker/roojspacker.pc.in b/roojspacker/roojspacker.pc.in
new file mode 100644 (file)
index 0000000..5b282e2
--- /dev/null
@@ -0,0 +1,15 @@
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+datarootdir=@datarootdir@
+datadir=@datadir@
+
+Name: roojspacker
+Description: Javascript packer
+Version: @VERSION@
+Requires: glib-2.0 gobject-2.0 gee-0.8 gio-2.0 gthread-2.0
+Libs: -L${libdir} -lroojspacker-1.2
+Cflags: -I${includedir}/roojspacker
+