vit-1.1/0000775000076400007640000000000012127022502011134 5ustar raderradervit-1.1/misc.pl0000644000076400007640000000124312127022502012422 0ustar raderrader sub audit { if ( $audit ) { print STDERR "$$ "; print STDERR @_; print STDERR "\r\n"; } } #------------------------------------------------------------------ sub debug { print STDERR @_; print STDERR "\r\n"; } #------------------------------------------------------------------ sub task_info { my $n = $_[0]; my $id = $report2taskid[$task_selected_idx]; &audit("EXEC $task $id info 2>&1"); open(IN,"task $id info 2>&1 |"); while() { chop; $_ =~ s/\x1b.*?m//g; # decolorize if ( $_ =~ /^$n\s+(.*)/ ) { my $v = $1; $v =~ s/\s+$//; close(IN); return $v; } } close(IN); return ''; } return 1; vit-1.1/taskrc-gtk+0000644000076400007640000000047712127022502013212 0ustar raderrader include /usr/local/share/doc/task/rc/light-256.theme color.header=bold color.label=bold underline color.active=black on green color.alternate=on gray23 color.pri.H=blue color.pri.M=black color.pri.L=color28 color.summary.background=white color.vit.header=color16 on color231 color.vit.selection=color231 on color68 vit-1.1/search.pl0000644000076400007640000000571112127022502012740 0ustar raderrader sub start_search { my $ch = $_[0]; if ( $search_direction == 1 ) { $search_pat = '/'; } else { $search_pat = '?'; } &draw_prompt($search_pat); echo(); curs_set(1); GETCH: while (1) { my $ch = $prompt_win->getch(); if ( $ch eq "\ch" ) { if ( length($search_pat) > 1 ) { chop $search_pat; } &draw_prompt($search_pat); next GETCH; } if ( $ch eq "\cu" ) { if ( $search_direction == 1 ) { $search_pat = '/'; } else { $search_pat = '?'; } &draw_prompt($search_pat); next GETCH; } if ( $ch eq "\e" ) { &draw_prompt(''); noecho(); curs_set(0); return; } if ( $ch eq "\n" ) { last GETCH; } $search_pat .= $ch; &draw_prompt($search_pat); } noecho(); curs_set(0); $search_pat = substr($search_pat, 1); if ( $search_pat eq '' ) { $search_pat = ''; &draw_prompt(''); beep(); return; } $refresh_needed = 1; if ( ! &do_search('n') ) { return; } $input_mode = 'search'; return; } #------------------------------------------------------------------ sub do_search { my $ch = $_[0]; my $rtn = &do_inner_search($ch); if ( $rtn == 1 ) { if ( $task_selected_idx - $display_start_idx >= $REPORT_LINES ) { $display_start_idx = $task_selected_idx - $REPORT_LINES + 1; } elsif ( $task_selected_idx < $display_start_idx ) { $display_start_idx = $task_selected_idx; } return 1; } else { $error_msg = "Pattern not found: $search_pat"; $search_pat = ''; beep(); return 0; } return 0; } #------------------------------------------------------------------ sub do_inner_search { my $ch = $_[0]; if ( $search_direction == 1 && $ch eq 'n' || $search_direction == 0 && $ch eq 'N' ) { for ( my $i = $task_selected_idx + 1; $i <= $#report_lines; $i++ ) { if ( $report_lines[$i] =~ /$search_pat/i ) { $task_selected_idx = $i; return 1; } } &draw_prompt('Search hit BOTTOM, continuing at TOP'); usleep($error_delay); for ( my $i = 0; $i < $task_selected_idx; $i++ ) { if ( $report_lines[$i] =~ /$search_pat/i ) { $task_selected_idx = $i; return 1; } } if ( $report_lines[$task_selected_idx] =~ /$search_pat/i ) { return 1; } return 0; } if ( $search_direction == 1 && $ch eq 'N' || $search_direction == 0 && $ch eq 'n' ) { for ( my $i = $task_selected_idx - 1; $i >= 0; $i-- ) { if ( $report_lines[$i] =~ /$search_pat/i ) { $task_selected_idx = $i; return 1; } } &draw_prompt('Search hit TOP, continuing at BOTTOM'); usleep($error_delay); for ( my $i = $#report_lines; $i > $task_selected_idx; $i-- ) { if ( $report_lines[$i] =~ /$search_pat/i ) { $task_selected_idx = $i; return 1; } } if ( $report_lines[$task_selected_idx] =~ /$search_pat/i ) { return 1; } return 0; } return -1; } return 1; vit-1.1/TODO0000644000076400007640000000033412127022502011622 0ustar raderrader summary mode: improve selection by making the bar graph bar visable summary mode: and '=' should use $default_command (currently hardcoded to "ls") add rc for report header effects (workaround for bug #1222) vit-1.1/README0000644000076400007640000000170512127022502012015 0ustar raderrader VIT - a minimalistic Taskwarrior full-screen terminal interface with Vim key bindings Features: Vim key bindings uncluttered display no mouse speed Requirements: task version 2.1.2 or newer modern ncurses (built with wide character support via --enable-widec) the perl Curses module Recommendations: follow the directions in the "INSTALL" file do "vit -help" (know the vit command line arguments) do ":help" in vit (look over the "commands" file) use an xterm terminal (for full color support) for GTK+ (Gnome) colors, add the taskrc-gtk+ configuration strings to your ~/.taskrc xterm -geom 100x40 +sb -e /usr/local/bin/vit -titlebar & Downloads: http://www.hep.wisc.edu/~rader/vit/ If you actually use this program, feel free to send me a msg and let me know. steve -- director of computing physics department university of wisconsin http://www.physics.wisc.edu/computing/ vit-1.1/cmds.pl0000644000076400007640000001102312127022502012412 0ustar raderrader #------------------------------------------------------------------ sub task_add { my $str = &prompt_str("Add: "); if ( $str eq '' ) { &draw_prompt_line(''); return; } my ($es,$result) = &task_exec("add \"$str\""); if ( $es != 0 ) { $error_msg = $result; &draw_error_msg(); return; } $feedback_msg = $result; $reread_needed = 1; } #------------------------------------------------------------------ sub task_annotate { my $id = $report2taskid[$task_selected_idx]; my $str = &prompt_str("Annotate: "); if ( $str eq '' ) { &draw_prompt_line(''); return; } my ($es,$result) = &task_exec("$id annotate \"$str\""); if ( $es != 0 ) { $error_msg = $result; &draw_error_msg(); return; } $feedback_msg = "Annotated task $id."; &draw_feedback_msg(); $reread_needed = 1; } #------------------------------------------------------------------ sub task_denotate { my ($ch, $str, $yes); my $id = $report2taskid[$task_selected_idx]; for my $t (0 .. $#{ $report_tokens[$task_selected_idx] } ) { $str .= "$report_tokens[$task_selected_idx][$t]"; } if ( $str !~ s/^\s*\d+\/\d+\/\d+\s+// ) { &draw_prompt_line(''); beep(); return; } $str =~ s/\s+$//; $yes = &prompt_y("Delete current annotation? "); if ( ! $yes ) { &draw_prompt_line(''); return; } my ($es,$result) = &task_exec("$id denotate \"$str\""); if ( $es != 0 ) { $error_msg = $result; &draw_error_msg(); return; } $feedback_msg = "Deleted annotation."; &draw_feedback_msg(); &flash_current_task(); $reread_needed = 1; } #------------------------------------------------------------------ sub task_change { my $id = $report2taskid[$task_selected_idx]; my $str = &prompt_str("Change: "); if ( $str eq '' ) { &draw_prompt_line(''); return; } &task_modify("$str"); $reread_needed = 1; } #------------------------------------------------------------------ sub task_done { my ($ch, $str, $yes); my $id = $report2taskid[$task_selected_idx]; $yes = &prompt_y("Mark task $id done? "); if ( ! $yes ) { &draw_prompt_line(''); return; } my ($es,$result) = &task_exec("$id done"); if ( $es != 0 ) { $error_msg = $result; &draw_error_msg(); return; } $feedback_msg = "Marked task done."; &draw_feedback_msg(); &flash_current_task(); $reread_needed = 1; } #------------------------------------------------------------------ sub task_filter { my ($c, $f); if ( $current_command =~ /(.*?)\s+(.*)/ ) { ($c,$f) = ($1,$2); } else { $c = $current_command; $f = ''; } my $str = &prompt_str("Filter: $f"); if ( $str eq '' ) { &draw_prompt_line(''); $current_command = $c; if ( $f ne '' ) { $reread_needed = 1; } return; } $prev_command = $current_command; $current_command = "$c $str"; $reread_needed = 1; } #------------------------------------------------------------------ sub task_modify { my $args = $_[0]; my $id = $report2taskid[$task_selected_idx]; my ($es,$result) = &task_exec("$id modify \"$args\""); if ( $result =~ /Modified 0 tasks./ ) { $error_msg = "Modifying task $id failed."; &draw_error_msg(); return; } if ( $es != 0 ) { $error_msg = $result; &draw_error_msg(); return; } $feedback_msg = "Modified task $id."; &flash_current_task(); $reread_needed = 1; } #------------------------------------------------------------------ sub task_set_prio { my $p = $_[0]; my $yes; my $id = $report2taskid[$task_selected_idx]; my $prio = &task_info('Priority'); if ( $p eq $prio ) { beep(); return; } if ( $p eq '' ) { $yes = &prompt_y("Set task ${id}'s priority to none? "); } else { $yes = &prompt_y("Set task ${id}'s priority to $p? "); } if ( ! $yes ) { &draw_prompt_line(''); return; } my ($es,$result) = &task_exec("$id modify prio:$p"); if ( $es != 0 ) { $error_msg = $result; &draw_error_msg(); return; } $feedback_msg = "Modified task $id."; &flash_current_task(); $reread_needed = 1; } #------------------------------------------------------------------ sub task_set_project { my $id = $report2taskid[$task_selected_idx]; my $p = &prompt_str("Project: "); my $proj = &task_info('Project'); if ( $p eq $proj ) { beep(); return; } my ($es,$result) = &task_exec("$id modify proj:$p"); if ( $es != 0 ) { $error_msg = $result; &draw_error_msg(); return; } $feedback_msg = "Modified task $id."; &flash_current_task(); $reread_needed = 1; } return 1; vit-1.1/color.pl0000644000076400007640000000763212127022502012615 0ustar raderrader sub parse_report_line { my ($l,$str) = @_; &parse_line($l,$str); if ( $current_command eq 'summary' && $parsed_tokens[0] =~ /^(\d+) project/ ) { $num_projects = $1; return; } push @{ $report_tokens[$l] }, (@parsed_tokens); push @{ $report_colors_fg[$l] }, (@parsed_colors_fg); push @{ $report_colors_bg[$l] }, (@parsed_colors_bg); push @{ $report_attrs[$l] }, (@parsed_attrs); } #------------------------------------------------------------------ sub parse_line { my ($l,$str) = @_; my $fg = 999999; my $bg = 999999; my $attr = ''; @parsed_tokens = (); @parsed_colors_fg = (); @parsed_colors_bg = (); @parsed_attrs = (); my @toks = split(/\x1B/,$str); my $t = 0; #debug("PARSE IN $str"); for my $tok (@toks) { if ( $tok eq '' ) { next; } $attr = ''; CASE: { # ANSI 16 color attr pairs... if ( $tok =~ s/\[(\d+);(\d+)m// ) { my ($a,$b) = ($1,$2); if ( $a > 30 ) { $fg = $a - 30; $bg = $b - 40; } else { if ( $a eq '1' ) { $attr .= 'bold '; } if ( $b eq '4' ) { $attr .= 'underline' ; } if ( $a eq '7' ) { $attr .= 'inverse '; } if ( $b < 38 ) { $fg = $b - 30; } else { $bg = $b - 40; } } last CASE; } # ANSI 16 color single colors or single attrs or attrs off... if ( $tok =~ s/\[(\d+)m// ) { my $a = $1; if ( $a eq '0' ) { $fg = $bg = 999999; $attr .= 'none '; } elsif ( $a eq '1' ) { $attr .= 'bold '; } elsif ( $a eq '4' ) { $attr .= 'underline '; } elsif ( $a < 38 ) { $fg = $a - 30; $bg = 999999; } elsif ( $a > 99 ) { $attr .= 'standout '; # "bright" in taskwarrior $bg = $a - 100; $fg = 999999; } else { $bg = $a - 40; $fg = 999999; } last CASE; } # ANSI 16 color bold... if ( $tok =~ s/\[1;(\d+);(\d+)m// ) { my ($a,$b) = ($1,$2); $attr .= 'bold '; $fg = $a - 30; $bg = $b - 40; last CASE; } # ANSI 16 color underline... if ( $tok =~ s/\[4;(\d+);(\d+)m// ) { my ($a,$b) = ($1,$2); $attr .= 'underline '; $fg = $a - 30; $bg = $b - 40; last CASE; } # ANSI 16 color inverse... if ( $tok =~ s/\[7;(\d+);(\d+)m// ) { my ($a,$b) = ($1,$2); $attr .= 'inverse '; $fg = $a - 30; $bg = $b - 40; last CASE; } # 256 color xterm foreground... if ( $tok =~ s/\[38;5;(\d+)m// ) { $fg = $1; last CASE; } # 256 color xterm background... if ( $tok =~ s/\[48;5;(\d+)m// ) { $bg = $1; last CASE; } } # FIXME summary mode... # if ( $tok =~ /0%\s+100%/ ) { debug("summary graph tok=\"$tok\" column=$t"); } if ( $tok ne '' ) { $parsed_tokens[$t] = $tok; $parsed_colors_fg[$t] = $fg; $parsed_colors_bg[$t] = $bg; if ( $attr eq '' ) { $attr = 'none'; } $parsed_attrs[$t] = $attr; #if ( $t == 0 ) { debug("PARSE OUT tok=\"$tok\" pos=$l.$t cp=$fg,$bg attr=$attr"); } $t++; } } } #------------------------------------------------------------------ sub extract_color { my ($s,$t) = @_; $parsed_colors_fg[1] = -1; $parsed_colors_bg[1] = -1; $parsed_attrs[1] = ''; &audit("EXEC $task rc._forcecolor=on color $s 2>&1"); open(IN2,"$task rc._forcecolor=on color $s 2>&1 |"); while(){ if ( $_ =~ /Your sample:/ ) { $_ = ; $_ = ; &parse_line(0,$_); if ( $parsed_colors_fg[1] eq '999999' ) { $parsed_colors_fg[1] = -1; } if ( $parsed_colors_bg[1] eq '999999' ) { $parsed_colors_bg[1] = -1; } } } close(IN2); } #------------------------------------------------------------------ return 1; vit-1.1/prompt.pl0000644000076400007640000000543212127022502013014 0ustar raderrader sub prompt_y { my ($prompt) = @_; my $ans = 0; my $ch; echo(); curs_set(1); &draw_prompt($prompt); $ch = $prompt_win->getch(); if ( $ch eq "y" || $ch eq "Y" ) { $ans = 1; } noecho(); curs_set(0); return $ans; } #------------------------------------------------------------------ sub prompt_str { my ($prompt) = @_; my $str = ''; my $tab_cnt = 0; my $tab_match_str = ''; my $mode; my @match_types; if ( $prompt =~ /^(:)(.*)/ || $prompt =~ /^(.*?: )(.*)/ || $prompt =~ /^(.*?:)(.*)/ ) { $prompt = $1; $str = $2; } if ( $prompt eq ':' ) { $mode = 'cmd'; @match_types = @report_types; } else { $mode = lc($prompt); $mode =~ s/:.*$//; if ( $mode eq 'project' ) { @match_types = @project_types; } } curs_set(1); &draw_prompt("$prompt$str"); while (1) { my $ch = $prompt_win->getch(); #debug("TOP str=\"$str\" ch=\"$ch\""); if ( $ch eq "\b" || $ch eq "\c?" ) { if ( $str ne '' ) { chop $str; if ( length($str) < length($tab_match_str) ) { chop $tab_match_str; } } else { $tab_match_str = ''; $tab_cnt = 0; } &draw_prompt("$prompt$str"); next; } if ( $ch eq "\cu" ) { $str = ''; $tab_match_str = ''; $tab_cnt = 0; &draw_prompt("$prompt$str"); next; } if ( $ch eq "\e" ) { noecho(); curs_set(0); return ''; } if ( $ch eq "\n" ) { last; } if ( $ch eq "\t" ) { if ( $mode ne 'cmd' && $mode ne 'project' ) { beep(); next; } $tab_cnt++; if ( $tab_cnt == 1 ) { $tab_match_str = $str; } if ( $tab_match_str eq '' ) { my $idx = $tab_cnt % ($#match_types + 1) - 1; $str = $match_types[$idx]; } else { my @matches = (grep(/^$tab_match_str/,@match_types)); if ( $#matches == -1 ) { $tab_cnt = 0; beep(); } else { my $idx = $tab_cnt % ($#matches + 1) - 1; $str = $matches[$idx]; } } &draw_prompt("$prompt$str"); next; } if ( $ch eq "\cw" ) { if ( $str eq '' ) { chop $str; beep(); next; } if ( $str =~ s/^(.*\s+)\S+\s+$/$1/ ) { &draw_prompt("$prompt$str"); next; } if ( $str =~ s/^.*\s+$// ) { &draw_prompt("$prompt$str"); next; } if ( $str =~ s/^(.*\s+).*/$1/ ) { &draw_prompt("$prompt$str"); next; } $str = ""; &draw_prompt("$prompt$str"); next; } $str .= $ch; &draw_prompt("$prompt$str"); } noecho(); curs_set(0); if ( $mode ne 'project' && $str eq '' ) { beep(); } $str =~ s/"/\\"/g; $str =~ s/^\s+//; $str =~ s/\s+$//; return $str; } return 1; vit-1.1/VERSION0000644000076400007640000000001012127022502012171 0ustar raderradervit-1.1 vit-1.1/INSTALL0000644000076400007640000000041412127022502012162 0ustar raderrader Install Instructions for VIT ---------------------------- ## confugre the Makefile... ./configure ## build the script... make ## install the script... make install ## for GTK+ (Gnome) colors... add the configuration strings in taskrc-gtk+ to your ~/.taskrc file vit-1.1/getch.pl0000644000076400007640000001377612127022502012577 0ustar raderrader sub getch_loop { while (1) { my $ch = $report_win->getch(); $refresh_needed = 0; $reread_needed = 0; $error_msg = ''; $feedback_msg = ''; CASE: { if ( $ch eq '0' ) { $task_selected_idx = 0; $display_start_idx = 0; $refresh_needed = 1; last CASE; } if ( $ch =~ /^\d$/ ) { &cmd_line(":$ch"); last CASE; } if ( $ch eq 'a' ) { &task_add(); last CASE; } if ( $ch eq 'A' ) { &task_annotate(); last CASE; } if ( $ch eq 'c' ) { &task_change(); last CASE; } if ( $ch eq 'D' ) { &task_denotate(); last CASE; } if ( $ch eq 'd' ) { if ( grep(/^Complete\s*$/,@report_header_tokens) ) { # FIXME: really, good enough? $error_msg = "Error: task has already been completed."; $refresh_needed = 1; last CASE; } &task_done(); last CASE; } if ( $ch eq "e" ) { &shell_exec("task $report2taskid[$task_selected_idx] edit",'wait'); $reread_needed = 1; last CASE; } if ( $ch eq 'f' ) { &task_filter(); last CASE; } if ( $ch eq 'G' ) { $task_selected_idx = $#report_tokens; if ( $display_start_idx + $REPORT_LINES <= $#report_tokens ) { $display_start_idx = $task_selected_idx - $REPORT_LINES + 1; } $refresh_needed = 1; last CASE; } if ( $ch eq 'h' ) { &task_set_prio('H'); last CASE; } if ( $ch eq 'H' ) { $task_selected_idx = $display_start_idx; $refresh_needed = 1; last CASE; } if ( $ch eq 'j' || $ch eq KEY_DOWN || $ch eq ' ' ) { if ( $task_selected_idx >= $#report_tokens ) { beep; last CASE; } $task_selected_idx++; if ( $task_selected_idx - $REPORT_LINES >= $display_start_idx ) { $display_start_idx++; } $refresh_needed = 1; last CASE; } if ( $ch eq 'k' || $ch eq KEY_UP ) { if ( $task_selected_idx == 0 ) { beep; last CASE; } $task_selected_idx--; if ( $task_selected_idx < $display_start_idx ) { $display_start_idx--; } $refresh_needed = 1; last CASE; } if ( $ch eq 'L' ) { $task_selected_idx = $display_start_idx + $REPORT_LINES - 1; if ( $task_selected_idx >= $#report_tokens-1 ) { $task_selected_idx = $#report_tokens; } $refresh_needed = 1; last CASE; } if ( $ch eq 'l' ) { &task_set_prio('L'); last CASE; } if ( $ch eq 'M' ) { $task_selected_idx = $display_start_idx + int($REPORT_LINES / 2); if ( $display_start_idx + $REPORT_LINES > $#report_tokens ) { $task_selected_idx = $display_start_idx + int(($#report_tokens - $display_start_idx) / 2); } $refresh_needed = 1; last CASE; } if ( $ch eq 'm' ) { &task_set_prio('M'); last CASE; } if ( $ch eq 'N' && $input_mode eq 'search' ) { &do_search('N'); $refresh_needed = 1; last CASE; } if ( $ch eq 'n' && $input_mode eq 'cmd' ) { &task_set_prio(''); last CASE; } if ( $ch eq 'n' && $input_mode eq 'search' ) { &do_search('n'); $refresh_needed = 1; last CASE; } if ( $ch eq 'p' ) { &task_set_project(); last CASE; } if ( $ch eq 'u' ) { &shell_exec('task undo','wait'); $reread_needed = 1; last CASE; } if ( $ch eq 'Z' && $prev_ch eq 'Z' ) { return; } if ( $ch eq '/' ) { $search_direction = 1; &start_search(); last CASE; } if ( $ch eq '?' ) { $search_direction = 0; &start_search(); last CASE; } if ( $ch eq ':' ) { &cmd_line(':'); last CASE; } if ( $ch eq '=' || $ch eq "\n" ) { if ( $current_command eq 'summary' ) { my $p = $report_tokens[$task_selected_idx][0]; $p =~ s/(.*?)\s+.*/$1/; $p =~ s/\(none\)//; $current_command = "ls proj:$p"; $reread_needed = 1; } else { &shell_exec("task $report2taskid[$task_selected_idx] info",'wait'); } last CASE; } if ( $ch eq "\cb" || $ch eq KEY_PPAGE ) { $display_start_idx -= $REPORT_LINES; $task_selected_idx -= $REPORT_LINES; if ( $display_start_idx < 0 ) { $display_start_idx = 0; } if ( $task_selected_idx < 0 ) { $task_selected_idx = 0; } $refresh_needed = 1; last CASE; } if ( $ch eq "\cf" || $ch eq KEY_NPAGE ) { $display_start_idx += $REPORT_LINES; $task_selected_idx += $REPORT_LINES; if ( $task_selected_idx > $#report_tokens ) { $display_start_idx = $#report_tokens; $task_selected_idx = $#report_tokens; } $refresh_needed = 1; last CASE; } if ( $ch eq "\cl" ) { endwin(); &init_curses('refresh'); &read_report('refresh'); if ( $task_selected_idx > $display_start_idx + $REPORT_LINES - 1 ) { $display_start_idx = $task_selected_idx - $REPORT_LINES + 1; } &draw_screen(); last CASE; } if ( $ch eq "\e" ) { $error_msg = ''; $feedback_msg = ''; $refresh_needed = 1; $input_mode = 'cmd'; last CASE; } if ( $ch eq 'Z' ) { last CASE; } if ( $ch eq "410" ) { last CASE; } # FIXME resize if ( $ch eq '-1' ) { last CASE; } beep(); } if ( $ch ne '/' && $ch ne '?' && $ch ne 'n' && $ch ne 'N' ) { $input_mode = 'cmd'; } $prev_ch = $ch; if ( $reread_needed ) { &read_report('refresh'); } if ( $refresh_needed || $reread_needed ) { &draw_screen(); } } } return 1; vit-1.1/draw.pl0000644000076400007640000001232712127022502012431 0ustar raderrader sub draw_header_line { my ($row,$lhs,$rhs) = @_; my $str = ' ' x $COLS; $header_win->addstr($row, 0, $str); $header_win->addstr($row, 0, $lhs); $header_win->addstr($row, $COLS - length($rhs), $rhs); $header_win->refresh(); } #------------------------------------------------------------------ sub draw_prompt_line { my ($lhs) = @_; $prompt_win->addstr(0, 0, $lhs); $prompt_win->clrtoeol(); $prompt_win->addstr(0, $COLS - length($cursor_position) - 1, $cursor_position); $prompt_win->refresh(); } #------------------------------------------------------------------ sub draw_prompt { my ($lhs) = @_; $prompt_win->addstr(0, 0, $lhs); $prompt_win->clrtoeol(); $prompt_win->refresh(); } #------------------------------------------------------------------ sub draw_error_msg { beep(); &audit("ERROR $error_msg"); $prompt_win->addstr(0, 0, ' '); $prompt_win->clrtoeol(); $prompt_win->attron(COLOR_PAIR($COLOR_ERRORS)); $prompt_win->attron(A_BOLD); $prompt_win->addstr(0, 0, $error_msg); $prompt_win->attroff(A_BOLD); $prompt_win->attroff(COLOR_PAIR($COLOR_ERRORS)); $prompt_win->attron(COLOR_PAIR($COLOR_HEADER)); $prompt_win->addstr(0, $COLS - length($cursor_position) - 1, $cursor_position); $prompt_win->refresh(); } #------------------------------------------------------------------ sub draw_feedback_msg { my $len = length($feedback_msg); my $start = ($COLS/2) - ($len/2) - 3; $prompt_win->addstr(0, 0, ' '); $prompt_win->clrtoeol(); $prompt_win->addstr(0, $start, $feedback_msg); $prompt_win->addstr(0, $COLS - length($cursor_position) - 1, $cursor_position); $prompt_win->refresh(); } #------------------------------------------------------------------ sub draw_report_line { my ($i,$line,$mode) = @_; my ($x, $t, $cp, $str); $x = 0; if ( $mode eq 'with-selection' && $i == $task_selected_idx ) { $report_win->attron(COLOR_PAIR($COLOR_SELECTION)); &set_attron($report_win,$selection_attrs); } for $t (0 .. $#{ $report_tokens[$i] } ) { if ( $mode eq 'without-selection' || $i != $task_selected_idx ) { my $fg = $report_colors_fg[$i][$t]; my $bg = $report_colors_bg[$i][$t]; $cp = &get_color_pair($fg,$bg); $report_win->attron(COLOR_PAIR($cp)); } #if ( $t == 0 ) { debug("DRAW tok=$line.$t cp=$cp \"$report_tokens[$i][$t]\""); } &set_attron($report_win,$report_attrs[$i][$t]); $report_win->addstr($line,$x,$report_tokens[$i][$t]); &set_attroff($report_win,$report_attrs[$i][$t]); if ( $mode eq 'without-selection' || $i != $task_selected_idx ) { $report_win->attroff(COLOR_PAIR($cp)); } $x += length($report_tokens[$i][$t]); } $str = ' ' x ($REPORT_COLS - $x); if ( $mode eq 'without-selection' || $i != $task_selected_idx ) { $report_win->attron(COLOR_PAIR($cp)); } &set_attron($report_win,$report_attrs[$i][$#{ $report_tokens[$i] }]); $report_win->addstr($line,$x,$str); &set_attroff($report_win,$report_attrs[$i][$#{ $report_tokens[$i] }]); if ( $mode eq 'with-selection' && $i == $task_selected_idx ) { $report_win->attroff(COLOR_PAIR($COLOR_SELECTION)); &set_attroff($report_win,$selection_attrs); } else { $report_win->attroff(COLOR_PAIR($cp)); } } #------------------------------------------------------------------ sub flash_current_task { my ($x, $t, $cp, $str); my $i = $task_selected_idx; my $line = $task_selected_idx - $display_start_idx; &draw_report_line($i,$line,'without-selection'); $report_win->refresh(); usleep($flash_delay); $report_win->addstr($line,0,' '); $report_win->clrtoeol(); $report_win->refresh(); usleep($flash_delay); &draw_report_line($i,$line,'without-selection'); $report_win->refresh(); usleep($flash_delay); $report_win->addstr($line,0,' '); $report_win->clrtoeol(); $report_win->refresh(); usleep($flash_delay); &draw_report_line($i,$line,'without-selection'); $report_win->refresh(); usleep($flash_delay); } #------------------------------------------------------------------ sub flash_convergence { $header_win->attron(COLOR_PAIR($COLOR_HEADER)); &set_attron($header_win,$header_attrs); &draw_header_line(1,'',"$tasks_completed tasks completed"); usleep($flash_delay); &draw_header_line(1,$convergence,"$tasks_completed tasks completed"); usleep($flash_delay); &draw_header_line(1,'',"$tasks_completed tasks completed"); usleep($flash_delay); &draw_header_line(1,$convergence,"$tasks_completed tasks completed"); usleep($flash_delay); &set_attroff($header_win,$header_attrs); $header_win->attroff(COLOR_PAIR($COLOR_HEADER)); } #------------------------------------------------------------------ sub set_attron { my ($win,$attr) = @_; if ( ! defined $attr ) { return; } if ( $attr =~ /underline/ ) { $win->attron(A_UNDERLINE); } if ( $attr =~ /bold/ ) { $win->attron(A_BOLD); } } #------------------------------------------------------------------ sub set_attroff { my ($win,$attr) = @_; if ( ! defined $attr ) { return; } if ( $attr =~ /underline/ ) { $win->attroff(A_UNDERLINE); } if ( $attr =~ /bold/ ) { $win->attroff(A_BOLD); } if ( $attr =~ /inverse/ ) { $win->attroff(A_REVERSE); } if ( $attr =~ /standout/ ) { $win->attroff(A_STANDOUT); } } return 1; vit-1.1/commands0000644000076400007640000000527612127022502012670 0ustar raderrader cmd a STRING add a new task cmd A STRING add an annotation to the current task cmd c STRING change the current task's description cmd :s/OLD/NEW/ change OLD to NEW in the current task's description cmd :%s/OLD/NEW/ change OLD to NEW in the current task's description cmd D delete the current annotation (denotate) cmd e edit the current task cmd = view the current task's info cmd view the current task's info cmd u undo the last change rpt :REPORT display REPORT rpt :REPORT FILTER display REPORT with FILTER rpt :STRING display REPORT using tab completion rpt : display REPORT using tab completion of all defined reports cmd ZZ exit cmd :q exit cmd f FILTER filter the current report with FILTER cmd d mark the current task done nav j move down one line nav DownArrow move down one line nav Spacebar move down one line nav :N move to task number N nav 0 move to the first line nav H move to the first line on screen nav G move to the last line nav L move to the last line on screen nav M move to the middle line on screen nav k move up one line nav UpArrow move up one line cmd N move to the previous match when searching cmd n move to the next match when searching nav ^l refresh (redraw) the display nav ^f scroll down (forward) one page nav PgDn scroll down (forward) one page nav ^b scroll up (back) one page nav PgUp scroll up (back) up one page cmd /STRING search forwards for STRING cmd ?STRING search backwards for STRING cmd h set the current task's priority to H (high) cmd l set the current task's priority to L (low) cmd m set the current task's priority to M (medium) cmd n set the current task's priority to none cmd p STRING set the current task's project to STRING cmd p STRING set the current task's project to STRING using tab completion cmd p set the current task's project using tab completion help :h view the whole help file help :h cmd view help about commands help :h help view help about help help :h nav view help about navigation help :h rpt view help about reports help :h PATTERN view help file lines matching PATTERN vit-1.1/MANIFEST0000644000076400007640000000035612127022502012267 0ustar raderraderCHANGES INSTALL LICENSE MANIFEST Makefile.in README TODO VERSION commands configure install-sh taskrc-gtk+ args.pl cmdline.pl cmds.pl color.pl curses.pl draw.pl env.pl exec.pl getch.pl misc.pl prompt.pl read.pl screen.pl search.pl vit.pl vit-1.1/configure0000755000076400007640000025330012127022502013044 0ustar raderrader#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= PACKAGE_URL= ac_unique_file="Makefile.in" ac_subst_vars='LTLIBOBJS LIBOBJS CLEAR PERL TASK BUILD VERSION target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking ' ac_precious_vars='build_alias host_alias target_alias' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in . "$srcdir"/.; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in . \"$srcdir\"/." "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. VERSION=`cat VERSION` # Extract the first word of "task", so it can be a program name with args. set dummy task; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_TASK+:} false; then : $as_echo_n "(cached) " >&6 else case $TASK in [\\/]* | ?:[\\/]*) ac_cv_path_TASK="$TASK" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_TASK="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_TASK" && ac_cv_path_TASK="NOT_FOUND" ;; esac fi TASK=$ac_cv_path_TASK if test -n "$TASK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TASK" >&5 $as_echo "$TASK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$TASK" = "NOT_FOUND"; then as_fn_error $? "can not continue: task not found" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $PERL in [\\/]* | ?:[\\/]*) ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="NOT_FOUND" ;; esac fi PERL=$ac_cv_path_PERL if test -n "$PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 $as_echo "$PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$PERL" = "NOT_FOUND"; then as_fn_error $? "can not continue: perl not found" "$LINENO" 5 fi if test "$PERL" != "/usr/bin/perl"; then echo configure: error: can not continue... perl must be installed as /usr/bin/perl echo confgiure: hint: try \"sudo ln -s $PERL /usr/bin/perl\" exit 1 fi PERL_MODULE_CHECK=`perl -e "use Curses" 2> /dev/null; echo $?` if test "$PERL_MODULE_CHECK" = "2"; then echo checking for perl Curses... as_fn_error $? "can not continue: perl \"Curses\" module not found" "$LINENO" 5 fi echo "checking for perl Curses... found" PERL_MODULE_CHECK=`perl -e "use Time::HiRes" 2> /dev/null; echo $?` if test "$PERL_MODULE_CHECK" = "2"; then echo checking for perl Curses... as_fn_error $? "can not continue: perl \"Time::HiRes\" module not found" "$LINENO" 5 fi echo "checking for perl Time::HiRes... found" # Extract the first word of "clear", so it can be a program name with args. set dummy clear; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_CLEAR+:} false; then : $as_echo_n "(cached) " >&6 else case $CLEAR in [\\/]* | ?:[\\/]*) ac_cv_path_CLEAR="$CLEAR" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CLEAR="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_CLEAR" && ac_cv_path_CLEAR="NOT_FOUND" ;; esac fi CLEAR=$ac_cv_path_CLEAR if test -n "$CLEAR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CLEAR" >&5 $as_echo "$CLEAR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' :mline /\\$/{ N s,\\\n,, b mline } t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by $as_me, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi vit-1.1/install-sh0000755000076400007640000002202112127022502013133 0ustar raderrader#!/bin/sh # install - install a program, script, or datafile scriptversion=2005-05-14.22 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" chmodcmd="$chmodprog 0755" chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test -n "$1"; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; *) # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. test -n "$dir_arg$dstarg" && break # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done break;; esac done if test -z "$1"; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src src= if test -d "$dst"; then mkdircmd=: chmodcmd= else mkdircmd=$mkdirprog fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dst=$dst/`basename "$src"` fi fi # This sed command emulates the dirname command. dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` # Make sure that the destination directory exists. # Skip lots of stat calls in the usual case. if test ! -d "$dstdir"; then defaultIFS=' ' IFS="${IFS-$defaultIFS}" oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` shift IFS=$oIFS pathcomp= while test $# -ne 0 ; do pathcomp=$pathcomp$1 shift if test ! -d "$pathcomp"; then $mkdirprog "$pathcomp" # mkdir can fail with a `File exist' error in case several # install-sh are creating the directory concurrently. This # is OK. test -d "$pathcomp" || exit fi pathcomp=$pathcomp/ done fi if test -n "$dir_arg"; then $doit $mkdircmd "$dst" \ && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } else dstfile=`basename "$dst"` # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. $doit $cpprog "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dstdir/$dstfile"; then $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ || { echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" } } fi || { (exit 1); exit 1; } done # The final little trick to "correctly" pass the exit status to the exit trap. { (exit 0); exit 0 } # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: vit-1.1/curses.pl0000644000076400007640000000215212127022502012773 0ustar raderrader sub init_curses { my $m = $_[0]; initscr(); noecho(); curs_set(0); start_color(); use_default_colors(); init_pair($COLOR_ERRORS,231,1); # white on red # FIXME xterm specific, wrong for ANSI if ( $m eq 'init' ) { init_pair($COLOR_SELECTION,231,4); # white on blue # FIXME xterm specific, wrong for ANSI } init_pair($COLOR_EMPTY_LINE,4,-1); # blue foreground my $HEADER_SIZE = 3; $REPORT_LINES = $LINES - $HEADER_SIZE - 1; $REPORT_COLS = $COLS - 2; $header_win = newwin($HEADER_SIZE, $COLS, 0, 0); $report_win = newwin($REPORT_LINES+$HEADER_SIZE, $REPORT_COLS+2, 3, 1); $prompt_win = newwin(1, $COLS, $LINES-1, 0); keypad($report_win, 1); } #------------------------------------------------------------------ sub get_color_pair { my($fg,$bg) = @_; my $cp = 0; if ( defined $colors2pair[$fg][$bg] ) { $cp = $colors2pair[$fg][$bg]; } else { $cp = $next_color_pair; $colors2pair[$fg][$bg] = $next_color_pair; $next_color_pair++; if ( $fg == 999999 ) { $fg = -1; } if ( $bg == 999999 ) { $bg = -1; } init_pair($cp,$fg,$bg); } return $cp; } return 1; vit-1.1/cmdline.pl0000644000076400007640000000414512127022502013106 0ustar raderrader sub cmd_line { my ($prompt) = @_; my $str = &prompt_str($prompt); if ( $str eq '' ) { &draw_prompt_line(''); return; } if ( $str =~ /^\d+$/ ) { if ( ! defined $taskid2report[$str] ) { $error_msg = "Error: task number $str not found"; &draw_error_msg(); return; } $task_selected_idx = $taskid2report[$str] - 1; if ( $display_start_idx + $REPORT_LINES < $task_selected_idx ) { $display_start_idx = int($task_selected_idx - $REPORT_LINES + ($REPORT_LINES / 2)); } if ( $display_start_idx > $task_selected_idx ) { $display_start_idx = int($task_selected_idx - $REPORT_LINES + ($REPORT_LINES / 2)); if ( $display_start_idx < 0 ) { $display_start_idx = 0; } elsif ( $display_start_idx > $task_selected_idx) { $display_start_idx = $task_selected_idx; } } &draw_screen(); return; } if ( $str =~ /^s\/(.*?)\/(.*)\/$/ || $str =~ /^%s\/(.*?)\/(.*)\/$/ ) { my ($old,$new) = ($1,$2); my $rtn = &task_modify("/$old/$new/"); $reread_needed = 1; return; } if ( $str eq 'help' || $str eq 'h' ) { &shell_exec("view $commands_file",'no-wait'); return; } if ( $str =~ /^help (.*)/ || $str =~ /^h (.*)/ ) { my $p = $1; my $tmp_file = "/tmp/vit-help.$$"; open(IN,"<$commands_file"); open(OUT,">$tmp_file"); print OUT "\n"; while() { if ( $_ =~ /$p/ ) { print OUT $_; } } close(IN); print OUT "\n"; close(OUT); &shell_exec("view $tmp_file",'no-wait'); unlink($tmp_file); return; } if ( $str eq 'q' ) { endwin(); exit(); } if ( grep(/^$str$/,@report_types) ) { $prev_command = $current_command; $current_command = $str; &read_report('init'); &draw_screen(); return; } if ( $str =~ /^(.*?) .*/ ) { my $s = $1; if ( grep(/^$s/,@report_types) ) { $prev_command = $current_command; $current_command = $str; &read_report('init'); &draw_screen(); return; } } $error_msg = "$str: command not found"; &draw_error_msg(); return; } return 1; vit-1.1/screen.pl0000644000076400007640000000612112127022502012746 0ustar raderrader sub draw_screen { my ($x,$t,$fg,$bg,$cp,$str); my $line = 0; $header_win->attron(COLOR_PAIR($COLOR_HEADER)); &set_attron($header_win,$header_attrs); CASE: { if ( $current_command eq 'summary' && $num_projects == 1 ) { $str = '1 project'; last CASE; } if ( $current_command eq 'summary' ) { $str = "$num_projects projects"; last CASE; } if ( $num_tasks == 1 ) { $str = '1 task shown'; last CASE; } $str = "$num_tasks tasks shown"; } &draw_header_line(0,"task $current_command",$str); CASE: { if ( $current_command eq 'summary' && $num_tasks == 1 ) { $str = '1 task'; last CASE; } if ( $current_command eq 'summary' ) { $str = "$num_tasks tasks"; last CASE; } if ( $tasks_completed == 1 ) { $str = '1 task completed'; last CASE; } $str = "$tasks_completed tasks completed"; } &draw_header_line(1,$convergence,$str); &set_attroff($header_win,$header_attrs); $header_win->attroff(COLOR_PAIR($COLOR_HEADER)); $header_win->attron(COLOR_PAIR($COLOR_REPORT_HEADER)); $x = 1; for $t (0 .. $#report_header_tokens) { &set_attron($header_win,$report_header_attrs[$t]); $header_win->addstr(2,$x,$report_header_tokens[$t]); &set_attroff($header_win,$report_header_attrs[$t]); $x += length($report_header_tokens[$t]); } $str = ' ' x ($REPORT_COLS - $x + 1); &set_attron($header_win,$report_header_attrs[$#report_header_attrs]); $header_win->addstr(2,$x,$str); &set_attroff($header_win,$report_header_attrs[$#report_header_attrs]); $header_win->attroff(COLOR_PAIR($COLOR_REPORT_HEADER)); $header_win->refresh(); #debug("DRAW lines=$REPORT_LINES start=$display_start_idx cur=$task_selected_idx"); for my $i ($display_start_idx .. ($display_start_idx+$REPORT_LINES-1)) { $cp = 0; if ( $i > $#report_tokens ) { $str = '~' . ' ' x ($COLS-2); $report_win->attron(COLOR_PAIR($COLOR_EMPTY_LINE)); $report_win->attron(A_BOLD); $report_win->addstr($line,0,$str); $report_win->attroff(A_BOLD); $report_win->attroff(COLOR_PAIR($COLOR_EMPTY_LINE)); $line++; next; } &draw_report_line($i,$line,'with-selection'); $line++; } $report_win->refresh(); if ( $display_start_idx == 0 ) { $cursor_position = 'Top'; } elsif ( $display_start_idx + $REPORT_LINES >= $#report_tokens + 1 ) { $cursor_position = 'Bot'; } else { $cursor_position = int($task_selected_idx/$#report_tokens*100) . '%'; } CASE: { if ( $error_msg ne '' ) { &draw_error_msg(); last CASE; } if ( $feedback_msg ne '' ) { &draw_feedback_msg(); last CASE; } if ( $input_mode eq 'search' && $search_direction == 1 ) { &draw_prompt_line("/$search_pat"); last CASE; } if ( $input_mode eq 'search' && $search_direction == 0 ) { &draw_prompt_line("?$search_pat"); last CASE; } &draw_prompt_line(''); } if ( $flash_convergence ) { &flash_convergence(); $flash_convergence = 0; $prev_convergence = $convergence; } } return 1; vit-1.1/LICENSE0000644000076400007640000000111612127022502012136 0ustar raderrader Vit is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Foobar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Vit. If not, see . vit-1.1/args.pl0000644000076400007640000000147012127022502012425 0ustar raderrader sub parse_args { while ( @ARGV ) { if ( $ARGV[0] eq '-help' ) { &usage(); } if ( $ARGV[0] eq '-audit' || $ARGV[0] eq '-a' ) { $audit = 1; shift @ARGV; next; } if ( $ARGV[0] eq '-titlebar' || $ARGV[0] eq '-t' ) { $titlebar = 1; shift @ARGV; next; } $cli_args .= "$ARGV[0] "; shift @ARGV; next; } if ( $audit ) { print STDERR "$$ INIT $0 " . join(' ',@ARGV), "\r\n"; } } #------------------------------------------------------------------ sub usage { print "usage: vit [switches] [task_args]\n"; print " -audit print task commands to stderr\n"; print " -titlebar sets the xterm titlebar to \"$version\"\n"; print " task_args any set of task commandline args that print an \"ID\" column\n"; exit 1; } return 1; vit-1.1/read.pl0000644000076400007640000001200612127022502012401 0ustar raderrader sub read_report { my ($mode) = @_; &inner_read_report($mode); if ( $prev_ch eq 'd' && $error_msg =~ /Error: task .*: no matches/ ) { # take care of marking last done... &inner_read_report('init'); } if ( $current_command eq 'summary' ) { &get_num_tasks(); } } #------------------------------------------------------------------ sub inner_read_report { my ($mode) = @_; my $report_header_idx = 0; my $args; my @prev_num_tasks = $num_tasks; my @prev_report2taskid = @report2taskid; my @prev_report_tokens = @report_tokens; my @prev_report_lines = @report_lines; my @prev_report_colors_fg = @report_colors_fg; my @prev_report_colors_bg = @report_colors_bg; my @prev_report_attrs = @report_attrs; my @prev_report_header_tokens = @report_header_tokens; my @prev_report_header_attrs = @report_header_attrs; $prev_convergence = $convergence; $prev_display_start_idx = $display_start_idx; $prev_task_selected_idx = $task_selected_idx; @report2taskid = (); @report_tokens = (); @report_lines = (); @report_colors_fg = (); @report_colors_bg = (); @report_attrs = (); @report_header_tokens = (); @report_header_attrs = (); @project_types = (); if ( $mode eq 'init' ) { $task_selected_idx = 0; $display_start_idx = 0; } &audit("EXEC $task stat 2>&1"); open(IN,"$task stat 2>&1 |"); while() { chop; if ( $_ =~ /^\s*$/ ) { next; } $_ =~ s/\x1b.*?m//g; if ( $_ =~ /Pending\s+(\d+)/ ) { $tasks_pending = $1; next; } if ( $_ =~ /Completed\s+(\d+)/ ) { $tasks_completed = $1; next; } } close(IN); $args = "rc.defaultwidth=$REPORT_COLS rc.defaultheight=$REPORT_LINES burndown"; &audit("EXEC $task $args 2>&1"); open(IN,"$task $args 2>&1 |"); while() { if ( $_ =~ /Estimated completion: No convergence/ ) { $convergence = "no convergence"; last; } if ( $_ =~ /Estimated completion: .* \((.*)\)/ ) { $convergence = "convergence in $1"; last; } } close(IN); if ( $convergence ne $prev_convergence && $prev_convergence ne '' ) { $flash_convergence = 1; } else { $flash_convergence = 0; } &audit("EXEC $task projects 2>&1"); open(IN,"$task projects 2>&1 |"); while() { chop; if ( $_ =~ /^\s*$/ ) { next; } $_ =~ s/\x1b.*?m//g; if ( $_ =~ /^\w+ override/ ) { next; } if ( $_ =~ /^Project/ ) { next; } if ( $_ =~ /^\d+ project/ ) { next; } my $p = (split(/\s+/,$_))[0]; if ( $p eq '(none)' ) { next; } push(@project_types, $p); } close(IN); $args = "rc.defaultwidth=$REPORT_COLS rc.defaultheight=0 rc._forcecolor=on $current_command"; &audit("EXEC $task $args 2> /dev/null"); open(IN,"$task $args 2> /dev/null |"); my $i = 0; my $prev_id; while() { chop; if ( $_ =~ /^\s*$/ ) { next; } if ( $_ =~ /^(\d+) tasks?$/ || $_ =~ /^\x1b.*?m(\d+) tasks?\x1b\[0m$/ || $_ =~ /^\d+ tasks?, (\d+) shown$/ || $_ =~ /^\x1b.*?m\d+ tasks?, (\d+) shown\x1b\[0m$/ ) { $num_tasks = $1; next; } &parse_report_line($i,$_); $_ =~ s/\x1b.*?m//g; $report_lines[$i] = $_; if ( $_ =~ /^ID / ) { $report_header_idx = $i; $i++; next; } if ( $_ =~ /^\s*(\d+) / ) { $report2taskid[$i] = $1; $taskid2report[$1] = $i; } else { $report2taskid[$i] = $prev_id; $taskid2report[$i] = $prev_id; } $prev_id = $report2taskid[$i]; $i++; } close(IN); if ( $#report_tokens > -1 ) { @report_header_tokens = @{ $report_tokens[$report_header_idx] }; @report_header_attrs = @{ $report_attrs[$report_header_idx] }; splice(@report_tokens,$report_header_idx,1); splice(@report_lines,$report_header_idx,1); splice(@report_colors_fg,$report_header_idx,1); splice(@report_colors_bg,$report_header_idx,1); splice(@report_attrs,$report_header_idx,1); splice(@report2taskid,$report_header_idx,1); if ( $task_selected_idx > $#report_tokens ) { $task_selected_idx = $#report_tokens; } } else { $error_msg = "Error: task $current_command: no matches"; $current_command = $prev_command; $display_start_idx = $prev_display_start_idx; $task_selected_idx = $prev_task_selected_idx; @report_header_tokens = @prev_report_header_tokens; @report_header_attrs = @prev_report_header_attrs; @report_tokens = @prev_report_tokens; @report_lines = @prev_report_lines; @report_colors_fg = @prev_report_colors_fg; @report_colors_bg = @prev_report_colors_bg; @report_attrs = @prev_report_attrs; @report2taskid = @prev_report2taskid; $convergence = $prev_convergence; return; } } #------------------------------------------------------------------ sub get_num_tasks { $num_tasks = 0; &audit("EXEC $task projects 2> /dev/null"); open(IN,"$task projects 2> /dev/null |"); while() { if ( $_ =~ /(\d+) task/ ) { $num_tasks = $1; last; } } close(IN); } #------------------------------------------------------------------ return 1; vit-1.1/env.pl0000644000076400007640000000623312127022502012263 0ustar raderrader sub init_shell_env { if ( $ENV{'TERM'} =~ /^xterm/ || $ENV{'TERM'} =~ /^screen/ ) { &audit("ENV TERM=xterm-256color"); $ENV{'TERM'} = 'xterm-256color'; } if ( $titlebar ) { &audit("ENV set titlebar"); open(TTY, ">>/dev/tty"); print TTY "\e]0;$version\cg\n"; close(TTY); } } #------------------------------------------------------------------ sub init_task_env { my @reports; my $id_column = 0; my ($header_color,$task_header_color,$vit_header_color); &audit("EXEC $task show 2>&1"); open(IN,"$task show 2>&1 |"); while() { chop; if ( $_ =~ /color\.header\s+(.*)/ ) { $task_header_color = $1; next; } if ( $_ =~ /color\.vit\.header\s+(.*)/ ) { $vit_header_color = $1; next; } if ( $_ =~ /color\.vit\.selection\s+(.*)/ ) { my $str = $1; $str =~ s/\x1b.*?m//g; $str =~ s/^\s+//; $str =~ s/\s+$//; &extract_color($str,'vit selection'); $selection_attrs = $parsed_attrs[1]; init_pair($COLOR_SELECTION,$parsed_colors_fg[1],$parsed_colors_bg[1]); next; } if ( $_ =~ /default.command\s+(.*)/ ) { $default_command = $1; $default_command =~ s/\x1b.*?m//g; $default_command =~ s/^\s+//g; $default_command =~ s/\s+$//g; next; } if ( $_ =~ /report\.(.*?)\.columns/ ) { push(@reports, $1); next; } if ( $_ =~ /The color .* is not recognized/ ) { endwin(); print "$_\r\n"; exit(1); } } close(IN); if ( defined $vit_header_color ) { $header_color = $vit_header_color; } elsif ( defined $task_header_color ) { $header_color = $task_header_color; } else { init_pair($COLOR_HEADER,-1,-1); # not reached } if ( defined $header_color ) { &extract_color($header_color,'header'); $header_color =~ s/\x1b.*?m//g; $header_color =~ s/^\s+//; $header_color =~ s/\s+$//; $header_attrs = $parsed_attrs[1]; init_pair($COLOR_HEADER,$parsed_colors_fg[1],$parsed_colors_bg[1]); } if ( $cli_args ne '' ) { chop $cli_args; $default_command = $cli_args; } &audit("EXEC $task rc._forcecolor=on rc.verbose=on $default_command 2>&1"); open(IN,"$task rc._forcecolor=on rc.verbose=on $default_command 2>&1 |"); while() { chop; if ( $_ =~ /ID/ || ($default_command eq 'summary' && $_ =~ /Project/) ) { &parse_line(0,$_); @report_header_colors_fg = @parsed_colors_fg; @report_header_colors_bg = @parsed_colors_bg; @report_header_attrs = @parsed_attrs; if ( $parsed_colors_fg[0] eq '999999' ) { $parsed_colors_fg[0] = -1; } if ( $parsed_colors_bg[0] eq '999999' ) { $parsed_colors_bg[0] = -1; } init_pair($COLOR_REPORT_HEADER,$parsed_colors_fg[0],$parsed_colors_bg[0]); $id_column = 1; } } close(IN); if ( ! $id_column && $default_command ne 'summary' ) { endwin(); print "Fatal error: default.command (\"$default_command\") must print an \"ID\" column\n"; exit(1); } &audit("ENV default command is \"$default_command\""); $current_command = $default_command; push(@reports,$default_command); push(@reports,'summary'); @report_types = sort(@reports); } return 1; vit-1.1/vit.pl0000755000076400007640000000461712127022502012304 0ustar raderrader#!/usr/bin/perl -w # # VIT - Visual Interactive Taskwarrior # # %BUILD% # use strict; use Curses; use Time::HiRes qw(usleep); our $commands_file = '%prefix%/etc/vit-commands'; our $task = '%TASK%'; our $clear = '%CLEAR%'; if ( $commands_file =~ /^%/ ) { $commands_file = "./commands"; } if ( $task =~ /^%/ ) { $task = '/usr/local/bin/task'; } if ( $clear =~ /^%/ ) { $clear = '/usr/bin/clear'; } our $cli_args = ''; our $audit = 0; our @colors2pair; our $convergence = ''; our $current_command = 'unknown'; our $cursor_position = 'unknown'; our $default_command = 'next'; our $display_start_idx = 0; our $error_delay = 500000; our $error_msg = ''; our $flash_convergence = 0; our $flash_delay = 80000; our $header_win; our $header_attrs; our $input_mode = 'cmd'; our $num_projects = 0; our $num_tasks = 0; our $feedback_msg = ''; our @parsed_tokens = (); our @parsed_colors_fg = (); our @parsed_colors_bg = (); our @parsed_attrs = (); our $prev_display_start_idx; our $prev_ch = ''; our $prev_command = 'next'; our $prev_convergence = ''; our $prev_task_selected_idx; our @project_types = (); our $prompt_win; our $refresh_needed = 0; our $reread_needed = 0; our $report_descr = 'unknown'; our $report_win; our @report_header_tokens = (); our @report_header_colors_fg = (); our @report_header_colors_bg = (); our @report_header_attrs = (); our @report_tokens = (); our @report_lines = (); our @report_types = (); our @report_colors_fg = (); our @report_colors_bg = (); our @report_attrs = (); our @report2taskid = (); our $search_direction = 1; our $search_pat = ''; our $selection_attrs = ''; our @taskid2report = (); our $tasks_completed = 0; our $tasks_pending = 0; our $task_selected_idx = 0; our $titlebar = 0; our $version = '%VERSION%'; our $REPORT_LINES; our $REPORT_COLS; our $COLOR_HEADER = 1; our $COLOR_REPORT_HEADER = 2; our $COLOR_SELECTION = 3; our $COLOR_EMPTY_LINE = 4; our $COLOR_ERRORS = 5; our $next_color_pair = 6; require 'args.pl'; require 'cmdline.pl'; require 'cmds.pl'; require 'color.pl'; require 'exec.pl'; require 'curses.pl'; require 'draw.pl'; require 'env.pl'; require 'getch.pl'; require 'misc.pl'; require 'prompt.pl'; require 'read.pl'; require 'screen.pl'; require 'search.pl'; ################################################################### ## main... &parse_args(); &init_shell_env(); &init_curses('init'); &init_task_env(); &read_report('init'); &draw_screen(); &getch_loop(); endwin(); exit(); vit-1.1/CHANGES0000644000076400007640000001163512127022502012133 0ustar raderrader Wed Apr 3 2013 - released v1.1 Wed Apr 3 2013 - fixes for not having color=on set in ~/.taskrc Sun Mar 31 2013 - added for task info Sun Mar 31 2013 - added logging error msgs when "-audit" is used Sun Mar 31 2013 - added support for selection effects (e.g. bold) Sun Mar 31 2013 - added setting the VIT header color via color.vit.header setting Sat Mar 30 2013 - set the VIT header color via the color.header setting Fri Mar 29 2013 - added support for the "inverse" and "bright" effects Fri Mar 29 2013 - fixed parsing some ANSI underline effect escape sequences Fri Mar 29 2013 - clear the screen before exec'ing external commands as per feature #1214 Fri Mar 29 2013 - fixed a bug where some commands (e.g. ":h") incorrectly waited after exec'ing Fri Mar 29 2013 - added setting the default report via command line args as per feature #1216 Fri Mar 29 2013 - added support to allow for verbose=off as per topic #2851 Fri Mar 29 2013 - disallowed using a default.command which doesn't include an "ID" column Fri Mar 29 2013 - added support for multiple effects, e.g. bold underline Sun Mar 24 2013 - released v1.0 Sun Mar 24 2013 - added '=' for task info as per feature #1156 Sun Mar 24 2013 - added 'u' for task undo Thu Jan 1 2013 - fixed a bug where '/' and '?' caused a crash as per bug #1152 Wed Dec 12 2012 - added graceful handling of marking only task in current report "done" Wed Dec 12 2012 - added "blinking" of the convergence info when convergence changes Wed Dec 12 2012 - disallowed marking completed tasks as "done" Wed Dec 12 2012 - fixed a problem where the selection could get lost after resize and '^l' Tue Dec 11 2012 - released v0.7 Mon Dec 10 2012 - added ./configure checks for the perl Curses and Time::HiRes modules Mon Dec 10 2012 - added ./configure ab-end when /usr/bin/perl doesn't exist Mon Dec 10 2012 - added ./configure substitution for the localized path to the "task" command Sun Dec 9 2012 - fixed a problem where the selection color was lost after refresh Sun Dec 9 2012 - added '/', '?', 'n' and 'N' for searching the current report Sat Dec 8 2012 - added color.label to taskrc-gtk+ Fri Dec 7 2012 - added completion when using 'p' to set project Thu Dec 6 2012 - added 'p' for setting project Wed Dec 5 2012 - released v0.6 Wed Dec 5 2012 - added 'n' for setting priority to none Wed Dec 5 2012 - added 'l' for setting priority to L Wed Dec 5 2012 - added 'm' for setting priority to M Wed Dec 5 2012 - added 'h' for setting priority to H Tue Dec 4 2012 - added 'f' for filter the current report Mon Dec 3 2012 - added checking of task command closing short pipe error Mon Dec 3 2012 - added checking of task command exit status Sun Dec 2 2012 - added 'D' for delete the current annotation (denotate) Sat Dec 1 2012 - added 'A' for add an annotation to the current task Sat Dec 1 2012 - added 'e' for edit current task Sat Dec 1 2012 - fixed problems with the header attributions (bold and underline) Fri Nov 30 2012 - released v0.5 Fri Nov 30 2012 - added ./configure (autoconf) (e.g. "./configure --prefix=/usr/local/vit") Thu Nov 29 2012 - added support for '^w' (erase word) at the command line Thu Nov 29 2012 - added default.command to the list of available reports Wed Nov 28 2012 - added support for ":REPORT " syntax (e.g. ":mimimal prio:H") Wed Nov 28 2012 - added support for the DEL key ('^?') as per bug #1134 Wed Nov 28 2012 - released v0.4 Wed Nov 28 2012 - added ":N" for move to task number N Wed Nov 28 2012 - fixed problems with task reports that have no matches Wed Nov 28 2012 - added ":h PATTERN" for help about PATTERN (e.g. ":h help") Tue Nov 27 2012 - added ":h" for help Tue Nov 27 2012 - removed the Term::ReadKey requirement Tue Nov 27 2012 - removed xterm only requirement as per feature #1132 Tue Nov 27 2012 - fixed problems with marking the last task done Mon Nov 26 2012 - added ":STRING" and ":" for changing the current report Mon Nov 26 2012 - added ":REPORT" (e.g. ":long") for changing the report Mon Nov 26 2012 - fixed problems with single tick and double quote Mon Nov 26 2012 - released v0.3 Mon Nov 26 2012 - added support for bold and underlines ANSI colors Sun Nov 25 2012 - wrote taskrc-gtk+ Sun Nov 25 2012 - added task-native colorization Sat Nov 24 2012 - added ' ' for move down one line Sat Nov 24 2012 - released v0.2 Sat Nov 24 2012 - various changes for task version 2.x Sat Nov 24 2012 - added ":s/OLD/NEW/" for change description (e.g. ":s/opps/oops/") Fri Nov 23 2012 - added ":q" for quit Fri Nov 23 2012 - added 'c' for change current task Fri Nov 23 2012 - released v0.1 Fri Nov 23 2012 - added 'a' for add task Wed Nov 21 2012 - added 'd' for mark current task done Tue Nov 20 2012 - added the 'G' and '0' Mon Nov 19 2012 - added the '^f' and '^b' Sun Nov 18 2012 - added the 'L', 'M' and 'H' Sat Nov 17 2012 - added the 'j' and 'k' Fri Nov 16 2012 - designed the layout vit-1.1/exec.pl0000644000076400007640000000164312127022502012417 0ustar raderrader sub task_exec { my ($cmd) = @_; my $es = 0; my $result = ''; &audit("EXEC $task $cmd 2>&1"); open(IN,"$task $cmd 2>&1 |"); while() { chop; $_ =~ s/\x1b.*?m//g; # decolorize if ( $_ =~ /^\w+ override:/ ) { next; } $result .= "$_ "; } close(IN); if ( $! ) { $es = 1; &audit("FAILED \"$task $cmd\" error closing short pipe"); } if ( $? != 0 ) { $es = $?; &audit("FAILED \"$task $cmd\" returned exit status $?"); } return ($es,$result); } #------------------------------------------------------------------ sub shell_exec { my ($cmd,$mode) = @_; endwin(); if ( $clear ne 'NOT_FOUND' ) { system("$clear"); } print "$_[0]\r\n"; if ( ! fork() ) { &audit("EXEC $cmd"); exec($cmd); exit(); } wait(); if ( $mode eq 'wait' ) { print "Press return to continue.\r\n"; ; } &init_curses('refresh'); &draw_screen(); } return 1; vit-1.1/Makefile.in0000644000076400007640000000212512127022502013177 0ustar raderrader PARTS = args.pl cmdline.pl cmds.pl color.pl curses.pl draw.pl env.pl exec.pl \ getch.pl misc.pl prompt.pl read.pl search.pl screen.pl PREFIX=@prefix@ VERSION=@VERSION@ TASK=@TASK@ PERL=@PERL@ CLEAR=@CLEAR@ .PHONY : install build: @echo "adding vit.pl to vit" @cat vit.pl | grep -v ^require \ | sed "s:%prefix%:$(PREFIX):" \ | sed "s/%BUILD%/$(VERSION) built `date`/" \ | sed "s/%VERSION%/$(VERSION) (`date +%Y%m%d`)/" \ | sed "s:%TASK%:$(TASK):" \ | sed "s:%CLEAR%:$(CLEAR):" \ > vit @for f in $(PARTS); do \ echo "adding $$f to vit"; \ echo "########################################################" >> vit; \ echo "## $$f..." >> vit; \ grep -v ^return $$f >> vit; \ done chmod 755 vit install: sudo mkdir -p @prefix@/bin sudo cp vit @prefix@/bin/vit sudo mkdir -p @prefix@/etc/ sudo cp commands @prefix@/etc/vit-commands autoconf: @make -f .makefile autoconf release: @make -f .makefile release push: @make -f .makefile push debug: @make -f .makefile debug test: @make -f .makefile test diffs: @make -f .makefile diffs ci: @make -f .makefile ci