nixpkgs/pkgs/development/tools/build-managers/gnumake/3.80/log.patch

126 lines
3.2 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

diff -rc make-3.80-orig/job.c make-3.80/job.c
*** make-3.80-orig/job.c 2002-08-10 03:27:17.000000000 +0200
--- make-3.80/job.c 2004-04-02 17:38:04.000000000 +0200
***************
*** 987,993 ****
appear. */
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
! ? "%s" : (char *) 0, p);
/* Tell update_goal_chain that a command has been started on behalf of
this target. It is important that this happens here and not in
--- 987,993 ----
appear. */
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
! ? "\e[3s\e[a%s\e[b" : (char *) 0, p);
/* Tell update_goal_chain that a command has been started on behalf of
this target. It is important that this happens here and not in
diff -rc make-3.80-orig/main.c make-3.80/main.c
*** make-3.80-orig/main.c 2002-08-10 03:27:17.000000000 +0200
--- make-3.80/main.c 2004-04-02 17:42:50.000000000 +0200
***************
*** 254,259 ****
--- 254,263 ----
they appear out of date or not. */
int always_make_flag = 0;
+
+ int logNestingStdout = 0;
+ int logNestingStderr = 0;
+
/* The usage output. We write it this way to make life easier for the
translators, especially those trying to translate to right-to-left
***************
*** 827,832 ****
--- 831,845 ----
}
+ static void closeNesting()
+ {
+ while (logNestingStdout--)
+ printf("\e[q");
+ while (logNestingStderr--)
+ fprintf(stderr, "\e[q");
+ }
+
+
#ifndef _AMIGA
int
main (argc, argv, envp)
***************
*** 854,859 ****
--- 867,874 ----
no_default_sh_exe = 1;
#endif
+ atexit(closeNesting);
+
default_goal_file = 0;
reading_file = 0;
***************
*** 2782,2787 ****
--- 2797,2808 ----
/* Use entire sentences to give the translators a fighting chance. */
+ if (entering)
+ {
+ printf("\e[p");
+ logNestingStdout++;
+ }
+
if (makelevel == 0)
if (starting_directory == 0)
if (entering)
***************
*** 2810,2813 ****
--- 2831,2840 ----
else
printf (_("%s[%u]: Leaving directory `%s'\n"),
program, makelevel, starting_directory);
+
+ if (!entering)
+ {
+ printf("\e[q");
+ logNestingStdout--;
+ }
}
diff -rc make-3.80-orig/make.h make-3.80/make.h
*** make-3.80-orig/make.h 2002-09-11 18:55:44.000000000 +0200
--- make-3.80/make.h 2004-04-02 17:42:15.000000000 +0200
***************
*** 559,562 ****
--- 559,567 ----
extern int atomic_stat PARAMS ((const char *file, struct stat *buf));
extern struct dirent *atomic_readdir PARAMS ((DIR *dir));
+
#endif
+
+
+ extern int logNestingStdout;
+ extern int logNestingStderr;
diff -rc make-3.80-orig/remake.c make-3.80/remake.c
*** make-3.80-orig/remake.c 2002-08-08 02:11:19.000000000 +0200
--- make-3.80/remake.c 2004-04-04 23:10:19.000000000 +0200
***************
*** 1049,1055 ****
--- 1049,1059 ----
/* The normal case: start some commands. */
if (!touch_flag || file->cmds->any_recurse)
{
+ fprintf(stderr, "\e[pbuilding %s\n", file->name);
+ logNestingStderr++;
execute_file_commands (file);
+ fprintf(stderr, "\e[q");
+ logNestingStderr--;
return;
}