builtin_normalize_path, 0, args );
builtin_normalize_path, 0, args ); }  { char * args[] = { "args", "*", 0 }; bind_builtin( "CALC", builtin_calc, 0, args );
load_builtins(){    duplicate_rule( "Always" ,      bind_builtin( "ALWAYS" ,                    builtin_flags, T_FLAG_TOUCHED, 0 ) );    duplicate_rule( "Depends" ,      bind_builtin( "DEPENDS" ,                    builtin_depends, 0, 0 ) );    duplicate_rule( "echo" ,    duplicate_rule( "Echo" ,      bind_builtin( "ECHO" ,                    builtin_echo, 0, 0 ) ) );    duplicate_rule( "exit" ,    duplicate_rule( "Exit" ,      bind_builtin( "EXIT" ,                    builtin_exit, 0, 0 ) ) );    {        char * args[] = { "directories", "*", ":", "patterns", "*", ":", "case-insensitive", "?", 0 };        duplicate_rule(            "Glob" ,            bind_builtin( "GLOB" , builtin_glob, 0, args )            );    }    duplicate_rule( "Includes" ,      bind_builtin( "INCLUDES" ,                    builtin_depends, 1, 0 ) );    duplicate_rule( "Leaves" ,      bind_builtin( "LEAVES" ,                    builtin_flags, T_FLAG_LEAVES, 0 ) );    duplicate_rule( "Match" ,      bind_builtin( "MATCH" ,                    builtin_match, 0, 0 ) );    duplicate_rule( "NoCare" ,      bind_builtin( "NOCARE" ,                    builtin_flags, T_FLAG_NOCARE, 0 ) );    duplicate_rule( "NOTIME" ,    duplicate_rule( "NotFile" ,      bind_builtin( "NOTFILE" ,                    builtin_flags, T_FLAG_NOTFILE, 0 ) ) );    duplicate_rule( "NoUpdate" ,      bind_builtin( "NOUPDATE" ,                    builtin_flags, T_FLAG_NOUPDATE, 0 ) );    duplicate_rule( "Temporary" ,      bind_builtin( "TEMPORARY" ,                    builtin_flags, T_FLAG_TEMP, 0 ) );    duplicate_rule( "HdrMacro" ,      bind_builtin( "HDRMACRO" ,                    builtin_hdrmacro, 0, 0 ) );    /* FAIL_EXPECTED is used to indicate that the result of a target build */    /* action should be inverted (ok <=> fail) this can be useful when     */    /* performing test runs from Jamfiles..                                */      bind_builtin( "FAIL_EXPECTED" ,                    builtin_flags, T_FLAG_FAIL_EXPECTED, 0 );      bind_builtin( "RMOLD" , builtin_flags, T_FLAG_RMOLD, 0 );            {          char * args[] = { "targets", "*", 0 };          bind_builtin( "UPDATE", builtin_update, 0, args );      }      {          char * args[] = { "string", "pattern", "replacements", "+", 0 };          duplicate_rule( "subst" ,            bind_builtin( "SUBST" ,                          builtin_subst, 0, args ) );      }      {          char * args[] = { "module", "?", 0 };          bind_builtin( "RULENAMES" ,                         builtin_rulenames, 0, args );      }      {          char * args[] = { "module", "?", 0 };          bind_builtin( "VARNAMES" ,                         builtin_varnames, 0, args );      }      {          char * args[] = { "module", "?", 0 };          bind_builtin( "DELETE_MODULE" ,                         builtin_delete_module, 0, args );      }      {           char * args[] = { "source_module", "?",                             ":", "source_rules", "*",                             ":", "target_module", "?",                             ":", "target_rules", "*",                             ":", "localize", "?", 0 };           bind_builtin( "IMPORT" ,                         builtin_import, 0, args );      }      {          char * args[] = { "module", "?", ":", "rules", "*", 0 };          bind_builtin( "EXPORT" ,                        builtin_export, 0, args );      }      {          char * args[] = { "levels", "?", 0 };          bind_builtin( "CALLER_MODULE" ,                         builtin_caller_module, 0, args );      }      {          char * args[] = { "levels", "?", 0 };          bind_builtin( "BACKTRACE" ,                        builtin_backtrace, 0, args );      }      {          char * args[] = { 0 };          bind_builtin( "PWD" ,                        builtin_pwd, 0, args );      }      {          char * args[] = { "target", "*", ":", "path", "*", 0 };          bind_builtin( "SEARCH_FOR_TARGET",                        builtin_search_for_target, 0, args );      }      {          char * args[] = { "modules_to_import", "+", ":", "target_module", "?", 0 };          bind_builtin( "IMPORT_MODULE",                        builtin_import_module, 0, args );      }      {          char * args[] = { "module", "?", 0 };          bind_builtin( "IMPORTED_MODULES",                        builtin_imported_modules, 0, args );      }      {          char * args[] = { "instance_module", ":", "class_module", 0 };          bind_builtin( "INSTANCE",                        builtin_instance, 0, args );      }      {          char * args[] = { "sequence", "*", 0 };          bind_builtin( "SORT",                        builtin_sort, 0, args );      }      {          char * args[] = { "path", 0 };          bind_builtin( "NORMALIZE_PATH",                        builtin_normalize_path, 0, args );      }}