http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/compile.c ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/compile.c b/ext/kenlm/jam-files/engine/compile.c deleted file mode 100644 index db46937..0000000 --- a/ext/kenlm/jam-files/engine/compile.c +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Copyright 1993, 2000 Christopher Seiwald. - * - * This file is part of Jam - see jam.c for Copyright information. - */ - -/* This file is ALSO: - * Copyright 2001-2004 David Abrahams. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) - */ - -/* - * compile.c - compile parsed jam statements - * - * External routines: - * evaluate_rule() - execute a rule invocation - * - * Internal routines: - * debug_compile() - printf with indent to show rule expansion - */ - -#include "jam.h" -#include "compile.h" - -#include "builtins.h" -#include "class.h" -#include "constants.h" -#include "hash.h" -#include "hdrmacro.h" -#include "make.h" -#include "modules.h" -#include "parse.h" -#include "rules.h" -#include "search.h" -#include "strings.h" -#include "variable.h" - -#include <assert.h> -#include <stdarg.h> -#include <string.h> - - -static void debug_compile( int which, char const * s, FRAME * ); - -/* Internal functions from builtins.c */ -void backtrace( FRAME * ); -void backtrace_line( FRAME * ); -void print_source_line( FRAME * ); -void unknown_rule( FRAME *, char const * key, module_t *, OBJECT * rule_name ); - - -/* - * evaluate_rule() - execute a rule invocation - */ - -LIST * evaluate_rule( RULE * rule, OBJECT * rulename, FRAME * frame ) -{ - LIST * result = L0; - profile_frame prof[ 1 ]; - module_t * prev_module = frame->module; - - if ( DEBUG_COMPILE ) - { - /* Try hard to indicate in which module the rule is going to execute. */ - char buf[ 256 ] = ""; - if ( rule->module->name ) - { - strncat( buf, object_str( rule->module->name ), sizeof( buf ) - - 1 ); - strncat( buf, ".", sizeof( buf ) - 1 ); - if ( strncmp( buf, object_str( rule->name ), strlen( buf ) ) == 0 ) - { - buf[ 0 ] = 0; - } - } - strncat( buf, object_str( rule->name ), sizeof( buf ) - 1 ); - debug_compile( 1, buf, frame ); - - lol_print( frame->args ); - printf( "\n" ); - } - - if ( rule->procedure && rule->module != prev_module ) - { - /* Propagate current module to nested rule invocations. */ - frame->module = rule->module; - } - - /* Record current rule name in frame. */ - if ( rule->procedure ) - { - frame->rulename = object_str( rulename ); - /* And enter record profile info. */ - if ( DEBUG_PROFILE ) - profile_enter( function_rulename( rule->procedure ), prof ); - } - - /* Check traditional targets $(<) and sources $(>). */ - if ( !rule->actions && !rule->procedure ) - unknown_rule( frame, NULL, frame->module, rule->name ); - - /* If this rule will be executed for updating the targets then construct the - * action for make(). - */ - if ( rule->actions ) - { - TARGETS * t; - - /* The action is associated with this instance of this rule. */ - ACTION * const action = (ACTION *)BJAM_MALLOC( sizeof( ACTION ) ); - memset( (char *)action, '\0', sizeof( *action ) ); - - action->rule = rule; - action->targets = targetlist( (TARGETS *)0, lol_get( frame->args, 0 ) ); - action->sources = targetlist( (TARGETS *)0, lol_get( frame->args, 1 ) ); - action->refs = 1; - - /* If we have a group of targets all being built using the same action - * then we must not allow any of them to be used as sources unless they - * are all up to date and their action does not need to be run or their - * action has had a chance to finish its work and build all of them - * anew. - * - * Without this it might be possible, in case of a multi-process build, - * for their action, triggered to building one of the targets, to still - * be running when another target in the group reports as done in order - * to avoid triggering the same action again and gets used prematurely. - * - * As a quick-fix to achieve this effect we make all the targets list - * each other as 'included targets'. More precisely, we mark the first - * listed target as including all the other targets in the list and vice - * versa. This makes anyone depending on any of those targets implicitly - * depend on all of them, thus making sure none of those targets can be - * used as sources until all of them have been built. Note that direct - * dependencies could not have been used due to the 'circular - * dependency' issue. - * - * TODO: Although the current implementation solves the problem of one - * of the targets getting used before its action completes its work, it - * also forces the action to run whenever any of the targets in the - * group is not up to date even though some of them might not actually - * be used by the targets being built. We should see how we can - * correctly recognize such cases and use that to avoid running the - * action if possible and not rebuild targets not actually depending on - * targets that are not up to date. - * - * TODO: Current solution using fake INCLUDES relations may cause - * actions to be run when the affected targets are built by multiple - * actions. E.g. if we have the following actions registered in the - * order specified: - * (I) builds targets A & B - * (II) builds target B - * and we want to build a target depending on target A, then both - * actions (I) & (II) will be run, even though the second one does not - * have any direct relationship to target A. Consider whether this is - * desired behaviour or not. It could be that Boost Build should (or - * possibly already does) run all actions registered for a given target - * if any of them needs to be run in which case our INCLUDES relations - * are not actually causing any actions to be run that would not have - * been run without them. - */ - if ( action->targets ) - { - TARGET * const t0 = action->targets->target; - for ( t = action->targets->next; t; t = t->next ) - { - target_include( t->target, t0 ); - target_include( t0, t->target ); - } - } - - /* Append this action to the actions of each target. */ - for ( t = action->targets; t; t = t->next ) - t->target->actions = actionlist( t->target->actions, action ); - - action_free( action ); - } - - /* Now recursively compile any parse tree associated with this rule. - * function_refer()/function_free() call pair added to ensure the rule does - * not get freed while in use. - */ - if ( rule->procedure ) - { - FUNCTION * const function = rule->procedure; - function_refer( function ); - result = function_run( function, frame, stack_global() ); - function_free( function ); - } - - if ( DEBUG_PROFILE && rule->procedure ) - profile_exit( prof ); - - if ( DEBUG_COMPILE ) - debug_compile( -1, 0, frame ); - - return result; -} - - -/* - * Call the given rule with the specified parameters. The parameters should be - * of type LIST* and end with a NULL pointer. This differs from 'evaluate_rule' - * in that frame for the called rule is prepared inside 'call_rule'. - * - * This function is useful when a builtin rule (in C) wants to call another rule - * which might be implemented in Jam. - */ - -LIST * call_rule( OBJECT * rulename, FRAME * caller_frame, ... ) -{ - va_list va; - LIST * result; - - FRAME inner[ 1 ]; - frame_init( inner ); - inner->prev = caller_frame; - inner->prev_user = caller_frame->module->user_module - ? caller_frame - : caller_frame->prev_user; - inner->module = caller_frame->module; - - va_start( va, caller_frame ); - for ( ; ; ) - { - LIST * const l = va_arg( va, LIST * ); - if ( !l ) - break; - lol_add( inner->args, l ); - } - va_end( va ); - - result = evaluate_rule( bindrule( rulename, inner->module ), rulename, inner ); - - frame_free( inner ); - - return result; -} - - -/* - * debug_compile() - printf with indent to show rule expansion - */ - -static void debug_compile( int which, char const * s, FRAME * frame ) -{ - static int level = 0; - static char indent[ 36 ] = ">>>>|>>>>|>>>>|>>>>|>>>>|>>>>|>>>>|"; - - if ( which >= 0 ) - { - int i; - - print_source_line( frame ); - - i = ( level + 1 ) * 2; - while ( i > 35 ) - { - fputs( indent, stdout ); - i -= 35; - } - - printf( "%*.*s ", i, i, indent ); - } - - if ( s ) - printf( "%s ", s ); - - level += which; -}
http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/compile.h ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/compile.h b/ext/kenlm/jam-files/engine/compile.h deleted file mode 100644 index c70f98b..0000000 --- a/ext/kenlm/jam-files/engine/compile.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright 1993, 2000 Christopher Seiwald. - * - * This file is part of Jam - see jam.c for Copyright information. - */ - -/* This file is ALSO: - * Copyright 2001-2004 David Abrahams. - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) - */ - -/* - * compile.h - compile parsed jam statements - */ - -#ifndef COMPILE_DWA20011022_H -#define COMPILE_DWA20011022_H - -#include "frames.h" -#include "lists.h" -#include "object.h" -#include "rules.h" - -void compile_builtins(); - -LIST * evaluate_rule( RULE * rule, OBJECT * rulename, FRAME * ); -LIST * call_rule( OBJECT * rulename, FRAME * caller_frame, ... ); - -/* Flags for compile_set(), etc */ - -#define ASSIGN_SET 0x00 /* = assign variable */ -#define ASSIGN_APPEND 0x01 /* += append variable */ -#define ASSIGN_DEFAULT 0x02 /* set only if unset */ - -/* Flags for compile_setexec() */ - -#define EXEC_UPDATED 0x01 /* executes updated */ -#define EXEC_TOGETHER 0x02 /* executes together */ -#define EXEC_IGNORE 0x04 /* executes ignore */ -#define EXEC_QUIETLY 0x08 /* executes quietly */ -#define EXEC_PIECEMEAL 0x10 /* executes piecemeal */ -#define EXEC_EXISTING 0x20 /* executes existing */ - -/* Conditions for compile_if() */ - -#define EXPR_NOT 0 /* ! cond */ -#define EXPR_AND 1 /* cond && cond */ -#define EXPR_OR 2 /* cond || cond */ -#define EXPR_EXISTS 3 /* arg */ -#define EXPR_EQUALS 4 /* arg = arg */ -#define EXPR_NOTEQ 5 /* arg != arg */ -#define EXPR_LESS 6 /* arg < arg */ -#define EXPR_LESSEQ 7 /* arg <= arg */ -#define EXPR_MORE 8 /* arg > arg */ -#define EXPR_MOREEQ 9 /* arg >= arg */ -#define EXPR_IN 10 /* arg in arg */ - -#endif http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/constants.c ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/constants.c b/ext/kenlm/jam-files/engine/constants.c deleted file mode 100644 index 891d322..0000000 --- a/ext/kenlm/jam-files/engine/constants.c +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright 2011 Steven Watanabe - * - * This file is part of Jam - see jam.c for Copyright information. - */ - -/* - * constants.c - constant objects - * - * External functions: - * - * constants_init() - initialize constants - * constants_done() - free constants - * - */ - -#include "constants.h" - - -void constants_init( void ) -{ - constant_empty = object_new( "" ); - constant_dot = object_new( "." ); - constant_plus = object_new( "+" ); - constant_star = object_new( "*" ); - constant_question_mark = object_new( "?" ); - constant_ok = object_new( "ok" ); - constant_true = object_new( "true" ); - constant_name = object_new( "__name__" ); - constant_bases = object_new( "__bases__" ); - constant_class = object_new( "__class__" ); - constant_typecheck = object_new( ".typecheck" ); - constant_builtin = object_new( "(builtin)" ); - constant_HCACHEFILE = object_new( "HCACHEFILE" ); - constant_HCACHEMAXAGE = object_new( "HCACHEMAXAGE" ); - constant_HDRSCAN = object_new( "HDRSCAN" ); - constant_HDRRULE = object_new( "HDRRULE" ); - constant_BINDRULE = object_new( "BINDRULE" ); - constant_LOCATE = object_new( "LOCATE" ); - constant_SEARCH = object_new( "SEARCH" ); - constant_JAM_SEMAPHORE = object_new( "JAM_SEMAPHORE" ); - constant_TIMING_RULE = object_new( "__TIMING_RULE__" ); - constant_ACTION_RULE = object_new( "__ACTION_RULE__" ); - constant_JAMSHELL = object_new( "JAMSHELL" ); - constant_TMPDIR = object_new( "TMPDIR" ); - constant_TMPNAME = object_new( "TMPNAME" ); - constant_TMPFILE = object_new( "TMPFILE" ); - constant_STDOUT = object_new( "STDOUT" ); - constant_STDERR = object_new( "STDERR" ); - constant_JAMDATE = object_new( "JAMDATE" ); - constant_JAM_TIMESTAMP_RESOLUTION = object_new( "JAM_TIMESTAMP_RESOLUTION" ); - constant_JAM_VERSION = object_new( "JAM_VERSION" ); - constant_JAMUNAME = object_new( "JAMUNAME" ); - constant_ENVIRON = object_new( ".ENVIRON" ); - constant_ARGV = object_new( "ARGV" ); - constant_all = object_new( "all" ); - constant_PARALLELISM = object_new( "PARALLELISM" ); - constant_KEEP_GOING = object_new( "KEEP_GOING" ); - constant_other = object_new( "[OTHER]" ); - constant_total = object_new( "[TOTAL]" ); - constant_FILE_DIRSCAN = object_new( "FILE_DIRSCAN" ); - constant_MAIN = object_new( "MAIN" ); - constant_MAIN_MAKE = object_new( "MAIN_MAKE" ); - constant_MAKE_MAKE0 = object_new( "MAKE_MAKE0" ); - constant_MAKE_MAKE1 = object_new( "MAKE_MAKE1" ); - constant_MAKE_MAKE0SORT = object_new( "MAKE_MAKE0SORT" ); - constant_BINDMODULE = object_new( "BINDMODULE" ); - constant_IMPORT_MODULE = object_new( "IMPORT_MODULE" ); - constant_BUILTIN_GLOB_BACK = object_new( "BUILTIN_GLOB_BACK" ); - constant_timestamp = object_new( "timestamp" ); - constant_python = object_new("__python__"); - constant_python_interface = object_new( "python_interface" ); - constant_extra_pythonpath = object_new( "EXTRA_PYTHONPATH" ); - constant_MAIN_PYTHON = object_new( "MAIN_PYTHON" ); -} - -void constants_done( void ) -{ - object_free( constant_empty ); - object_free( constant_dot ); - object_free( constant_plus ); - object_free( constant_star ); - object_free( constant_question_mark ); - object_free( constant_ok ); - object_free( constant_true ); - object_free( constant_name ); - object_free( constant_bases ); - object_free( constant_class ); - object_free( constant_typecheck ); - object_free( constant_builtin ); - object_free( constant_HCACHEFILE ); - object_free( constant_HCACHEMAXAGE ); - object_free( constant_HDRSCAN ); - object_free( constant_HDRRULE ); - object_free( constant_BINDRULE ); - object_free( constant_LOCATE ); - object_free( constant_SEARCH ); - object_free( constant_JAM_SEMAPHORE ); - object_free( constant_TIMING_RULE ); - object_free( constant_ACTION_RULE ); - object_free( constant_JAMSHELL ); - object_free( constant_TMPDIR ); - object_free( constant_TMPNAME ); - object_free( constant_TMPFILE ); - object_free( constant_STDOUT ); - object_free( constant_STDERR ); - object_free( constant_JAMDATE ); - object_free( constant_JAM_TIMESTAMP_RESOLUTION ); - object_free( constant_JAM_VERSION ); - object_free( constant_JAMUNAME ); - object_free( constant_ENVIRON ); - object_free( constant_ARGV ); - object_free( constant_all ); - object_free( constant_PARALLELISM ); - object_free( constant_KEEP_GOING ); - object_free( constant_other ); - object_free( constant_total ); - object_free( constant_FILE_DIRSCAN ); - object_free( constant_MAIN ); - object_free( constant_MAIN_MAKE ); - object_free( constant_MAKE_MAKE0 ); - object_free( constant_MAKE_MAKE1 ); - object_free( constant_MAKE_MAKE0SORT ); - object_free( constant_BINDMODULE ); - object_free( constant_IMPORT_MODULE ); - object_free( constant_BUILTIN_GLOB_BACK ); - object_free( constant_timestamp ); - object_free( constant_python ); - object_free( constant_python_interface ); - object_free( constant_extra_pythonpath ); - object_free( constant_MAIN_PYTHON ); -} - -OBJECT * constant_empty; -OBJECT * constant_dot; -OBJECT * constant_plus; -OBJECT * constant_star; -OBJECT * constant_question_mark; -OBJECT * constant_ok; -OBJECT * constant_true; -OBJECT * constant_name; -OBJECT * constant_bases; -OBJECT * constant_class; -OBJECT * constant_typecheck; -OBJECT * constant_builtin; -OBJECT * constant_HCACHEFILE; -OBJECT * constant_HCACHEMAXAGE; -OBJECT * constant_HDRSCAN; -OBJECT * constant_HDRRULE; -OBJECT * constant_BINDRULE; -OBJECT * constant_LOCATE; -OBJECT * constant_SEARCH; -OBJECT * constant_JAM_SEMAPHORE; -OBJECT * constant_TIMING_RULE; -OBJECT * constant_ACTION_RULE; -OBJECT * constant_JAMSHELL; -OBJECT * constant_TMPDIR; -OBJECT * constant_TMPNAME; -OBJECT * constant_TMPFILE; -OBJECT * constant_STDOUT; -OBJECT * constant_STDERR; -OBJECT * constant_JAMDATE; -OBJECT * constant_JAM_VERSION; -OBJECT * constant_JAMUNAME; -OBJECT * constant_ENVIRON; -OBJECT * constant_ARGV; -OBJECT * constant_all; -OBJECT * constant_PARALLELISM; -OBJECT * constant_KEEP_GOING; -OBJECT * constant_other; -OBJECT * constant_total; -OBJECT * constant_FILE_DIRSCAN; -OBJECT * constant_MAIN; -OBJECT * constant_MAIN_MAKE; -OBJECT * constant_MAKE_MAKE0; -OBJECT * constant_MAKE_MAKE1; -OBJECT * constant_MAKE_MAKE0SORT; -OBJECT * constant_BINDMODULE; -OBJECT * constant_IMPORT_MODULE; -OBJECT * constant_BUILTIN_GLOB_BACK; -OBJECT * constant_timestamp; -OBJECT * constant_JAM_TIMESTAMP_RESOLUTION; -OBJECT * constant_python; -OBJECT * constant_python_interface; -OBJECT * constant_extra_pythonpath; -OBJECT * constant_MAIN_PYTHON; http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/constants.h ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/constants.h b/ext/kenlm/jam-files/engine/constants.h deleted file mode 100644 index 60d7073..0000000 --- a/ext/kenlm/jam-files/engine/constants.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2011 Steven Watanabe - * - * This file is part of Jam - see jam.c for Copyright information. - */ - -/* - * constants.h - constant objects - */ - -#ifndef BOOST_JAM_CONSTANTS_H -#define BOOST_JAM_CONSTANTS_H - -#include "object.h" - -void constants_init( void ); -void constants_done( void ); - -extern OBJECT * constant_empty; /* "" */ -extern OBJECT * constant_dot; /* "." */ -extern OBJECT * constant_plus; /* "+" */ -extern OBJECT * constant_star; /* "*" */ -extern OBJECT * constant_question_mark; /* "?" */ -extern OBJECT * constant_ok; /* "ok" */ -extern OBJECT * constant_true; /* "true" */ -extern OBJECT * constant_name; /* "__name__" */ -extern OBJECT * constant_bases; /* "__bases__" */ -extern OBJECT * constant_class; /* "__class__" */ -extern OBJECT * constant_typecheck; /* ".typecheck" */ -extern OBJECT * constant_builtin; /* "(builtin)" */ -extern OBJECT * constant_HCACHEFILE; /* "HCACHEFILE" */ -extern OBJECT * constant_HCACHEMAXAGE; /* "HCACHEMAXAGE" */ -extern OBJECT * constant_HDRSCAN; /* "HDRSCAN" */ -extern OBJECT * constant_HDRRULE; /* "HDRRULE" */ -extern OBJECT * constant_BINDRULE; /* "BINDRULE" */ -extern OBJECT * constant_LOCATE; /* "LOCATE" */ -extern OBJECT * constant_SEARCH; /* "SEARCH" */ -extern OBJECT * constant_JAM_SEMAPHORE; /* "JAM_SEMAPHORE" */ -extern OBJECT * constant_TIMING_RULE; /* "__TIMING_RULE__" */ -extern OBJECT * constant_ACTION_RULE; /* "__ACTION_RULE__" */ -extern OBJECT * constant_JAMSHELL; /* "JAMSHELL" */ -extern OBJECT * constant_TMPDIR; /* "TMPDIR" */ -extern OBJECT * constant_TMPNAME; /* "TMPNAME" */ -extern OBJECT * constant_TMPFILE; /* "TMPFILE" */ -extern OBJECT * constant_STDOUT; /* "STDOUT" */ -extern OBJECT * constant_STDERR; /* "STDERR" */ -extern OBJECT * constant_JAMDATE; /* "JAMDATE" */ -extern OBJECT * constant_JAM_TIMESTAMP_RESOLUTION; /* "JAM_TIMESTAMP_RESOLUTION" */ -extern OBJECT * constant_JAM_VERSION; /* "JAM_VERSION" */ -extern OBJECT * constant_JAMUNAME; /* "JAMUNAME" */ -extern OBJECT * constant_ENVIRON; /* ".ENVIRON" */ -extern OBJECT * constant_ARGV; /* "ARGV" */ -extern OBJECT * constant_all; /* "all" */ -extern OBJECT * constant_PARALLELISM; /* "PARALLELISM" */ -extern OBJECT * constant_KEEP_GOING; /* "KEEP_GOING" */ -extern OBJECT * constant_other; /* "[OTHER]" */ -extern OBJECT * constant_total; /* "[TOTAL]" */ -extern OBJECT * constant_FILE_DIRSCAN; /* "FILE_DIRSCAN" */ -extern OBJECT * constant_MAIN; /* "MAIN" */ -extern OBJECT * constant_MAIN_MAKE; /* "MAIN_MAKE" */ -extern OBJECT * constant_MAKE_MAKE0; /* "MAKE_MAKE0" */ -extern OBJECT * constant_MAKE_MAKE1; /* "MAKE_MAKE1" */ -extern OBJECT * constant_MAKE_MAKE0SORT; /* "MAKE_MAKE0SORT" */ -extern OBJECT * constant_BINDMODULE; /* "BINDMODULE" */ -extern OBJECT * constant_IMPORT_MODULE; /* "IMPORT_MODULE" */ -extern OBJECT * constant_BUILTIN_GLOB_BACK; /* "BUILTIN_GLOB_BACK" */ -extern OBJECT * constant_timestamp; /* "timestamp" */ -extern OBJECT * constant_python; /* "__python__" */ -extern OBJECT * constant_python_interface; /* "python_interface" */ -extern OBJECT * constant_extra_pythonpath; /* "EXTRA_PYTHONPATH" */ -extern OBJECT * constant_MAIN_PYTHON; /* "MAIN_PYTHON" */ - -#endif http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/cwd.c ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/cwd.c b/ext/kenlm/jam-files/engine/cwd.c deleted file mode 100644 index 7ebe970..0000000 --- a/ext/kenlm/jam-files/engine/cwd.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2002. Vladimir Prus - * Copyright 2005. Rene Rivera - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#include "cwd.h" - -#include "jam.h" -#include "mem.h" -#include "pathsys.h" - -#include <assert.h> -#include <errno.h> -#include <limits.h> - -/* MinGW on Windows declares PATH_MAX in limits.h */ -#if defined( NT ) && !defined( __GNUC__ ) -# include <direct.h> -# define PATH_MAX _MAX_PATH -#else -# include <unistd.h> -# if defined( __COMO__ ) -# include <linux/limits.h> -# endif -#endif - -#ifndef PATH_MAX -# define PATH_MAX 1024 -#endif - - -static OBJECT * cwd_; - - -void cwd_init( void ) -{ - int buffer_size = PATH_MAX; - char * cwd_buffer = 0; - int error; - - assert( !cwd_ ); - - do - { - char * const buffer = BJAM_MALLOC_RAW( buffer_size ); - cwd_buffer = getcwd( buffer, buffer_size ); - error = errno; - if ( cwd_buffer ) - { - /* We store the path using its canonical/long/key format. */ - OBJECT * const cwd = object_new( cwd_buffer ); - cwd_ = path_as_key( cwd ); - object_free( cwd ); - } - buffer_size *= 2; - BJAM_FREE_RAW( buffer ); - } - while ( !cwd_ && error == ERANGE ); - - if ( !cwd_ ) - { - perror( "can not get current working directory" ); - exit( EXITBAD ); - } -} - - -OBJECT * cwd( void ) -{ - assert( cwd_ ); - return cwd_; -} - - -void cwd_done( void ) -{ - assert( cwd_ ); - object_free( cwd_ ); - cwd_ = NULL; -} http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/cwd.h ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/cwd.h b/ext/kenlm/jam-files/engine/cwd.h deleted file mode 100644 index 886714a..0000000 --- a/ext/kenlm/jam-files/engine/cwd.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2002. Vladimir Prus - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -/* - * cwd.h - manages the current working folder information - */ - -#ifndef CWD_H -#define CWD_H - -#include "object.h" - - -/* cwd() - returns the current working folder */ -OBJECT * cwd( void ); - -/* cwd_init() - initialize the cwd module functionality - * - * The current working folder can not change in Boost Jam so this function - * gets the current working folder information from the OS and stores it - * internally. - * - * Expected to be called at program startup before the program's current - * working folder has been changed - */ -void cwd_init( void ); - -/* cwd_done() - cleans up the cwd module functionality */ -void cwd_done( void ); - -#endif http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/debian/changelog ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/debian/changelog b/ext/kenlm/jam-files/engine/debian/changelog deleted file mode 100644 index 2908428..0000000 --- a/ext/kenlm/jam-files/engine/debian/changelog +++ /dev/null @@ -1,72 +0,0 @@ -bjam (3.1.12-1) unstable; urgency=low - - * New upstream release. - - -- Rene Rivera <[email protected]> Sat, 01 Oct 2005 00:00:00 +0000 - -bjam (3.1.11-1) unstable; urgency=low - - * New upstream release. - - -- Rene Rivera <[email protected]> Sat, 30 Apr 2005 00:00:00 +0000 - -bjam (3.1.10-1) unstable; urgency=low - - * New upstream release. - - -- Rene Rivera <[email protected]> Tue, 1 Jun 2004 05:42:35 +0000 - -bjam (3.1.9-2) unstable; urgency=low - - * Use default value of BOOST_BUILD_PATH is not is set in environment. - - -- Vladimir Prus <[email protected]> Wed, 17 Dec 2003 16:44:35 +0300 - -bjam (3.1.9-1) unstable; urgency=low - - * Implement NATIVE_FILE builtin and several native rules. - - -- Vladimir Prus <[email protected]> Thu, 11 Dec 2003 13:15:26 +0300 - -bjam (3.1.8-1) unstable; urgency=low - - * New upstream release. - - -- Vladimir Prus <[email protected]> Tue, 4 Nov 2003 20:50:43 +0300 - -bjam (3.1.7-1) unstable; urgency=low - - * New upstream release. - - -- Vladimir Prus <[email protected]> Thu, 11 Sep 2003 10:45:44 +0400 - -bjam (3.1.6-1) unstable; urgency=low - - * New upstream release. - - -- Vladimir Prus <[email protected]> Tue, 1 Jul 2003 09:12:18 +0400 - -bjam (3.1.5-1) unstable; urgency=low - - * New upstream release. - - -- Vladimir Prus <[email protected]> Mon, 19 May 2003 14:05:13 +0400 - -bjam (3.1.3-2) unstable; urgency=low - - * Changed Debian package to be similar to Jam's package. - - -- Vladimir Prus <[email protected]> Thu, 10 Oct 2002 18:43:26 +0400 - -bjam (3.1.3-1) unstable; urgency=low - - * New upstream release. - - -- Vladimir Prus <[email protected]> Fri, 4 Oct 2002 18:16:54 +0400 - -bjam (3.1.2-1) unstable; urgency=low - - * Initial Release. - - -- Vladimir Prus <[email protected]> Wed, 14 Aug 2002 14:08:00 +0400 - http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/debian/control ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/debian/control b/ext/kenlm/jam-files/engine/debian/control deleted file mode 100644 index c7f1519..0000000 --- a/ext/kenlm/jam-files/engine/debian/control +++ /dev/null @@ -1,16 +0,0 @@ -Source: bjam -Section: devel -Priority: optional -Maintainer: Vladimir Prus <[email protected]> -Build-Depends: debhelper (>> 3.0.0), docbook-to-man, bison -Standards-Version: 3.5.2 - -Package: bjam -Architecture: any -Depends: ${shlibs:Depends} -Description: Build tool - Boost.Jam is a portable build tool with its own interpreted language, which - allows to implement rather complex logic in a readable way and without - resorting to external programs. It is a descendant of Jam/MR tool modified to - suit the needs of Boost.Build. In particular, modules and rule parameters - were added, as well as several new builtins. http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/debian/copyright ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/debian/copyright b/ext/kenlm/jam-files/engine/debian/copyright deleted file mode 100644 index f72e4e3..0000000 --- a/ext/kenlm/jam-files/engine/debian/copyright +++ /dev/null @@ -1,25 +0,0 @@ -This package was debianized by Vladimir Prus <[email protected]> on -Wed, 17 July 2002, 19:27:00 +0400. - -Copyright: - - /+\ - +\ Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc. - \+/ - - This is Release 2.4 of Jam/MR, a make-like program. - - License is hereby granted to use this software and distribute it - freely, as long as this copyright notice is retained and modifications - are clearly marked. - - ALL WARRANTIES ARE HEREBY DISCLAIMED. - -Some portions are also: - - Copyright 2001-2006 David Abrahams. - Copyright 2002-2006 Rene Rivera. - Copyright 2003-2006 Vladimir Prus. - - Distributed under the Boost Software License, Version 1.0. - (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/debian/jam.man.sgml ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/debian/jam.man.sgml b/ext/kenlm/jam-files/engine/debian/jam.man.sgml deleted file mode 100644 index ee21d4d..0000000 --- a/ext/kenlm/jam-files/engine/debian/jam.man.sgml +++ /dev/null @@ -1,236 +0,0 @@ -<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [ - -<!-- Process this file with docbook-to-man to generate an nroff manual - page: `docbook-to-man manpage.sgml > manpage.1'. You may view - the manual page with: `docbook-to-man manpage.sgml | nroff -man | - less'. A typical entry in a Makefile or Makefile.am is: - -manpage.1: manpage.sgml - docbook-to-man $< > $@ - --> - - <!ENTITY dhfirstname "<firstname>Yann</firstname>"> - <!ENTITY dhsurname "<surname>Dirson</surname>"> - <!-- Please adjust the date whenever revising the manpage. --> - <!ENTITY dhdate "<date>mai 23, 2001</date>"> - <!ENTITY dhemail "<email>[email protected]</email>"> - <!ENTITY dhusername "Yann Dirson"> - <!ENTITY dhpackage "jam"> - - <!ENTITY debian "<productname>Debian GNU/Linux</productname>"> - <!ENTITY gnu "<acronym>GNU</acronym>"> -]> - -<refentry> - <refentryinfo> - <address> - &dhemail; - </address> - <author> - &dhfirstname; - &dhsurname; - </author> - <copyright> - <year>2001</year> - <holder>&dhusername;</holder> - </copyright> - &dhdate; - </refentryinfo> - - <refmeta> - <refentrytitle>JAM</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>Jam/MR</refname> - <refpurpose>Make(1) Redux</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>jam</command> - - <arg><option>-a</option></arg> - <arg><option>-n</option></arg> - <arg><option>-v</option></arg> - - <arg><option>-d <replaceable/debug/</option></arg> - <arg><option>-f <replaceable/jambase/</option></arg> - <arg><option>-j <replaceable/jobs/</option></arg> - <arg><option>-o <replaceable/actionsfile/</option></arg> - <arg><option>-s <replaceable/var/=<replaceable/value/</option></arg> - <arg><option>-t <replaceable/target/</option></arg> - - <arg repeat><option><replaceable/target/</option></arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>DESCRIPTION</title> - - <para>Jam is a program construction tool, like make(1).</para> - - <para>Jam recursively builds target files from source files, using - dependency information and updating actions expressed in the - Jambase file, which is written in jam's own interpreted language. - The default Jambase is compiled into jam and provides a - boilerplate for common use, relying on a user-provide file - "Jamfile" to enumerate actual targets and sources.</para> - </refsect1> - - <refsect1> - <title>OPTIONS</title> - - <variablelist> - <varlistentry> - <term><option/-a/</term> - <listitem> - <para>Build all targets anyway, even if they are up-to-date.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-d <replaceable/n/</option></term> - <listitem> - <para>Enable cummulative debugging levels from 1 to - <replaceable/n/. Interesting values are: - - <glosslist> - <glossentry><glossterm/1/ <glossdef><simpara/Show - actions (the default)/</glossdef></glossentry> - - <glossentry><glossterm/2/ <glossdef><simpara/Show - "quiet" actions and display all action - text/</glossdef></glossentry> - - <glossentry><glossterm/3/ <glossdef><simpara>Show - dependency analysis, and target/source - timestamps/paths</simpara></glossdef></glossentry> - - <glossentry><glossterm/4/ <glossdef><simpara/Show shell - arguments/</glossdef></glossentry> - - <glossentry><glossterm/5/ <glossdef><simpara/Show rule - invocations and variable - expansions/</glossdef></glossentry> - - <glossentry><glossterm/6/ <glossdef><simpara>Show - directory/header file/archive - scans</simpara></glossdef></glossentry> - - <glossentry><glossterm/7/ <glossdef><simpara/Show - variable settings/</glossdef></glossentry> - - <glossentry><glossterm/8/ <glossdef><simpara/Show - variable fetches/</glossdef></glossentry> - - <glossentry><glossterm/9/ <glossdef><simpara/Show - variable manipulation, scanner - tokens/</glossdef></glossentry> - </glosslist> - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-d +<replaceable/n/</option></term> - <listitem> - <para>Enable debugging level <replaceable/n/.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option/-d 0/</term> - <listitem> - <para>Turn off all debugging levels. Only errors are not - suppressed.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-f <replaceable/jambase/</option></term> - <listitem> - <para>Read <replaceable/jambase/ instead of using the - built-in Jambase. Only one <option/-f/ flag is permitted, - but the <replaceable/jambase/ may explicitly include other - files.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-j <replaceable/n/</option></term> - <listitem> - <para>Run up to <replaceable/n/ shell commands concurrently - (UNIX and NT only). The default is 1.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option/-n/</term> - <listitem> - <para>Don't actually execute the updating actions, but do - everything else. This changes the debug level default to - <option/-d2/.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-o <replaceable/file/</option></term> - <listitem> - <para>Write the updating actions to the specified file - instead of running them (or outputting them, as on the - Mac).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-s <replaceable/var/=<replaceable/value/</option></term> - <listitem> - <para>Set the variable <replaceable/var/ to - <replaceable/value/, overriding both internal variables and - variables imported from the environment. </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-t <replaceable/target/</option></term> - <listitem> - <para>Rebuild <replaceable/target/ and everything that - depends on it, even if it is up-to-date.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option/-v/</term> - <listitem> - <para>Print the version of jam and exit.</para> - </listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <refsect1> - <title>SEE ALSO</title> - - <para>Jam is documented fully in HTML pages available on Debian - systems from - <filename>/usr/share/doc/jam/Jam.html</filename>.</para> - </refsect1> - - <refsect1> - <title>AUTHOR</title> - - <para>This manual page was created by &dhusername; &dhemail; from - the <filename/Jam.html/ documentation, for the &debian; system - (but may be used by others).</para> - </refsect1> -</refentry> - -<!-- Keep this comment at the end of the file -Local variables: -sgml-omittag:t -sgml-shorttag:t -End: ---> http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/debian/rules ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/debian/rules b/ext/kenlm/jam-files/engine/debian/rules deleted file mode 100755 index 756052a..0000000 --- a/ext/kenlm/jam-files/engine/debian/rules +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. -# GNU copyright 2001 by Yann Dirson. - -# This is the debian/rules file for packages jam and ftjam -# It should be usable with both packages without any change - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This is the debhelper compatability version to use. -export DH_COMPAT=3 - -topdir=$(shell pwd) - -jam=bjam -binname=bjam - -build: build-stamp -build-stamp: debian/jam.1 - dh_testdir - - ./build.sh - - touch build-stamp - -%.1: %.man.sgml - /usr/bin/docbook-to-man $< > $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp - rm -rf bin.* - rm -f jam0 debian/jam.1 - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - install -d ${topdir}/debian/${jam}/usr/bin - install -m755 bin.linuxx86/bjam ${topdir}/debian/${jam}/usr/bin/ - install -d ${topdir}/debian/${jam}/usr/share/man/man1/ - install -m644 debian/jam.1 ${topdir}/debian/${jam}/usr/share/man/man1/${binname}.1 - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot - dh_installdocs README RELNOTES Jambase *.html -# dh_installemacsen -# dh_undocumented - dh_installchangelogs - dh_strip - dh_compress - dh_fixperms - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/debug.c ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/debug.c b/ext/kenlm/jam-files/engine/debug.c deleted file mode 100644 index 2a65655..0000000 --- a/ext/kenlm/jam-files/engine/debug.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright 2005. Rene Rivera - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#include "jam.h" -#include "debug.h" - -#include "hash.h" - - -static profile_frame * profile_stack = 0; -static struct hash * profile_hash = 0; -static profile_info profile_other = { 0 }; -static profile_info profile_total = { 0 }; - - -profile_frame * profile_init( OBJECT * rulename, profile_frame * frame ) -{ - if ( DEBUG_PROFILE ) profile_enter( rulename, frame ); - return frame; -} - - -void profile_enter( OBJECT * rulename, profile_frame * frame ) -{ - if ( DEBUG_PROFILE ) - { - clock_t start = clock(); - profile_info * p; - - if ( !profile_hash && rulename ) - profile_hash = hashinit( sizeof( profile_info ), "profile" ); - - if ( rulename ) - { - int found; - p = (profile_info *)hash_insert( profile_hash, rulename, &found ); - if ( !found ) - { - p->name = rulename; - p->cumulative = 0; - p->net = 0; - p->num_entries = 0; - p->stack_count = 0; - p->memory = 0; - } - } - else - { - p = &profile_other; - } - - ++p->num_entries; - ++p->stack_count; - - frame->info = p; - - frame->caller = profile_stack; - profile_stack = frame; - - frame->entry_time = clock(); - frame->overhead = 0; - frame->subrules = 0; - - /* caller pays for the time it takes to play with the hash table */ - if ( frame->caller ) - frame->caller->overhead += frame->entry_time - start; - } -} - - -void profile_memory( long mem ) -{ - if ( DEBUG_PROFILE ) - if ( profile_stack && profile_stack->info ) - profile_stack->info->memory += mem; -} - - -void profile_exit( profile_frame * frame ) -{ - if ( DEBUG_PROFILE ) - { - /* Cumulative time for this call. */ - clock_t const t = clock() - frame->entry_time - frame->overhead; - /* If this rule is already present on the stack, do not add the time for - * this instance. - */ - if ( frame->info->stack_count == 1 ) - frame->info->cumulative += t; - /* Net time does not depend on presense of the same rule in call stack. - */ - frame->info->net += t - frame->subrules; - - if ( frame->caller ) - { - /* Caller's cumulative time must account for this overhead. */ - frame->caller->overhead += frame->overhead; - frame->caller->subrules += t; - } - /* Pop this stack frame. */ - --frame->info->stack_count; - profile_stack = frame->caller; - } -} - - -static void dump_profile_entry( void * p_, void * ignored ) -{ - profile_info * p = (profile_info *)p_; - unsigned long mem_each = ( p->memory / ( p->num_entries ? p->num_entries : 1 - ) ); - double cumulative = p->cumulative; - double net = p->net; - double q = p->net; - q /= ( p->num_entries ? p->num_entries : 1 ); - cumulative /= CLOCKS_PER_SEC; - net /= CLOCKS_PER_SEC; - q /= CLOCKS_PER_SEC; - if ( !ignored ) - { - profile_total.cumulative += p->net; - profile_total.memory += p->memory; - } - printf( "%10ld %12.6f %12.6f %12.8f %10ld %10ld %s\n", p->num_entries, - cumulative, net, q, p->memory, mem_each, object_str( p->name ) ); -} - - -void profile_dump() -{ - if ( profile_hash ) - { - printf( "%10s %12s %12s %12s %10s %10s %s\n", "--count--", "--gross--", - "--net--", "--each--", "--mem--", "--each--", "--name--" ); - hashenumerate( profile_hash, dump_profile_entry, 0 ); - profile_other.name = constant_other; - dump_profile_entry( &profile_other, 0 ); - profile_total.name = constant_total; - dump_profile_entry( &profile_total, (void *)1 ); - } -} http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/debug.h ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/debug.h b/ext/kenlm/jam-files/engine/debug.h deleted file mode 100644 index 4151d27..0000000 --- a/ext/kenlm/jam-files/engine/debug.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2005. Rene Rivera - * Distributed under the Boost Software License, Version 1.0. - * (See accompanying file LICENSE_1_0.txt or copy at - * http://www.boost.org/LICENSE_1_0.txt) - */ - -#ifndef BJAM_DEBUG_H -#define BJAM_DEBUG_H - -#include "constants.h" -#include "object.h" -#include <time.h> - - -typedef struct profile_info -{ - /* name of rule being called */ - OBJECT * name; - /* cumulative time spent in rule */ - clock_t cumulative; - /* time spent in rule proper */ - clock_t net; - /* number of time rule was entered */ - unsigned long num_entries; - /* number of the times this function is present in stack */ - unsigned long stack_count; - /* bytes of memory allocated by the call */ - unsigned long memory; -} profile_info; - -typedef struct profile_frame -{ - /* permanent storage where data accumulates */ - profile_info * info; - /* overhead for profiling in this call */ - clock_t overhead; - /* time of last entry to rule */ - clock_t entry_time; - /* stack frame of caller */ - struct profile_frame * caller; - /* time spent in subrules */ - clock_t subrules; -} profile_frame; - -profile_frame * profile_init( OBJECT * rulename, profile_frame * ); -void profile_enter( OBJECT * rulename, profile_frame * ); -void profile_memory( long mem ); -void profile_exit( profile_frame * ); -void profile_dump(); - -#define PROFILE_ENTER( scope ) profile_frame PROF_ ## scope, *PROF_ ## scope ## _p = profile_init( constant_ ## scope, &PROF_ ## scope ) -#define PROFILE_EXIT( scope ) profile_exit( PROF_ ## scope ## _p ) - -#endif http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/execcmd.c ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/execcmd.c b/ext/kenlm/jam-files/engine/execcmd.c deleted file mode 100644 index f751cbf..0000000 --- a/ext/kenlm/jam-files/engine/execcmd.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright 1993, 1995 Christopher Seiwald. - * Copyright 2007 Noel Belcourt. - * - * Utility functions shared between different exec*.c platform specific - * implementation modules. - * - * This file is part of Jam - see jam.c for Copyright information. - */ - -#include "jam.h" -#include "execcmd.h" - -#include <assert.h> -#include <stdio.h> -#include <string.h> - - -/* Internal interrupt counter. */ -static int intr; - - -/* Constructs a list of command-line elements using the format specified by the - * given shell list. - * - * Given argv array should have at least MAXARGC + 1 elements. - * Slot numbers may be between 0 and 998 (inclusive). - * - * Constructed argv list will be zero terminated. Character arrays referenced by - * the argv structure elements will be either elements from the give shell list, - * internal static buffers or the given command string and should thus not - * considered owned by or released via the argv structure and should be - * considered invalidated by the next argv_from_shell() call. - * - * Shell list elements: - * - Starting with '%' - represent the command string. - * - Starting with '!' - represent the slot number (increased by one). - * - Anything else - used as a literal. - * - If no '%' element is found, the command string is appended as an extra. - */ - -void argv_from_shell( char const * * argv, LIST * shell, char const * command, - int const slot ) -{ - static char jobno[ 4 ]; - - int i; - int gotpercent = 0; - LISTITER iter = list_begin( shell ); - LISTITER end = list_end( shell ); - - assert( 0 <= slot ); - assert( slot < 999 ); - sprintf( jobno, "%d", slot + 1 ); - - for ( i = 0; iter != end && i < MAXARGC; ++i, iter = list_next( iter ) ) - { - switch ( object_str( list_item( iter ) )[ 0 ] ) - { - case '%': argv[ i ] = command; ++gotpercent; break; - case '!': argv[ i ] = jobno; break; - default : argv[ i ] = object_str( list_item( iter ) ); - } - } - - if ( !gotpercent ) - argv[ i++ ] = command; - - argv[ i ] = NULL; -} - - -/* Returns whether the given command string contains lines longer than the given - * maximum. - */ -int check_cmd_for_too_long_lines( char const * command, int const max, - int * const error_length, int * const error_max_length ) -{ - while ( *command ) - { - size_t const l = strcspn( command, "\n" ); - if ( l > max ) - { - *error_length = l; - *error_max_length = max; - return EXEC_CHECK_LINE_TOO_LONG; - } - command += l; - if ( *command ) - ++command; - } - return EXEC_CHECK_OK; -} - - -/* Checks whether the given shell list is actually a request to execute raw - * commands without an external shell. - */ -int is_raw_command_request( LIST * shell ) -{ - return !list_empty( shell ) && - !strcmp( object_str( list_front( shell ) ), "%" ) && - list_next( list_begin( shell ) ) == list_end( shell ); -} - - -/* Returns whether an interrupt has been detected so far. */ - -int interrupted( void ) -{ - return intr != 0; -} - - -/* Internal interrupt handler. */ - -void onintr( int disp ) -{ - ++intr; - printf( "...interrupted\n" ); -} http://git-wip-us.apache.org/repos/asf/incubator-joshua/blob/6da3961b/ext/kenlm/jam-files/engine/execcmd.h ---------------------------------------------------------------------- diff --git a/ext/kenlm b/ext/kenlm new file mode 160000 index 0000000..56fdb5c --- /dev/null +++ b/ext/kenlm @@ -0,0 +1 @@ +Subproject commit 56fdb5c44fca34d5a2e07d96139c28fb163983c5 diff --git a/ext/kenlm/jam-files/engine/execcmd.h b/ext/kenlm/jam-files/engine/execcmd.h deleted file mode 100644 index ab145aa..0000000 --- a/ext/kenlm/jam-files/engine/execcmd.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 1993, 1995 Christopher Seiwald. - * - * This file is part of Jam - see jam.c for Copyright information. - */ - -/* - * execcmd.h - execute a shell script. - * - * Defines the interface to be implemented in platform specific implementation - * modules as well as different shared utility functions prepared in the - * execcmd.c module. - */ - -#ifndef EXECCMD_H -#define EXECCMD_H - -#include "lists.h" -#include "strings.h" -#include "timestamp.h" - - -typedef struct timing_info -{ - double system; - double user; - timestamp start; - timestamp end; -} timing_info; - -typedef void (* ExecCmdCallback) -( - void * const closure, - int const status, - timing_info const * const, - char const * const cmd_stdout, - char const * const cmd_stderr, - int const cmd_exit_reason -); - -/* Status codes passed to ExecCmdCallback routines. */ -#define EXEC_CMD_OK 0 -#define EXEC_CMD_FAIL 1 -#define EXEC_CMD_INTR 2 - -int exec_check -( - string const * command, - LIST * * pShell, - int * error_length, - int * error_max_length -); - -/* exec_check() return codes. */ -#define EXEC_CHECK_OK 101 -#define EXEC_CHECK_NOOP 102 -#define EXEC_CHECK_LINE_TOO_LONG 103 -#define EXEC_CHECK_TOO_LONG 104 - -void exec_cmd -( - string const * command, - ExecCmdCallback func, - void * closure, - LIST * shell -); - -void exec_wait(); - - -/****************************************************************************** - * * - * Utility functions defined in the execcmd.c module. * - * * - ******************************************************************************/ - -/* Constructs a list of command-line elements using the format specified by the - * given shell list. - */ -void argv_from_shell( char const * * argv, LIST * shell, char const * command, - int const slot ); - -/* Interrupt routine bumping the internal interrupt counter. Needs to be - * registered by platform specific exec*.c modules. - */ -void onintr( int disp ); - -/* Returns whether an interrupt has been detected so far. */ -int interrupted( void ); - -/* Checks whether the given shell list is actually a request to execute raw - * commands without an external shell. - */ -int is_raw_command_request( LIST * shell ); - -/* Utility worker for exec_check() checking whether all the given command lines - * are under the specified length limit. - */ -int check_cmd_for_too_long_lines( char const * command, int const max, - int * const error_length, int * const error_max_length ); - -#endif
