The real gnumake 3.80

svn path=/nixpkgs/trunk/; revision=5491
This commit is contained in:
Martin Bravenboer 2006-06-22 10:27:35 +00:00
parent 169315dc1d
commit 530657fb19
2 changed files with 55 additions and 43 deletions

View File

@ -1,10 +1,10 @@
{stdenv, fetchurl}: {stdenv, fetchurl}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "gnumake-3.81"; name = "gnumake-3.80";
src = fetchurl { src = fetchurl {
url = http://ftp.gnu.org/pub/gnu/make/make-3.81.tar.bz2; url = http://nix.cs.uu.nl/dist/tarballs/make-3.80.tar.bz2;
md5 = "354853e0b2da90c527e35aabb8d6f1e6"; md5 = "0bbd1df101bc0294d440471e50feca71";
}; };
patches = [./log.diff]; patches = [./log.diff];
} }

View File

@ -1,8 +1,8 @@
diff -rc make-orig/job.c make-3.81/job.c diff -rc make-3.80-orig/job.c make-3.80/job.c
*** make-orig/job.c 2006-03-20 04:03:04.000000000 +0100 *** make-3.80-orig/job.c 2002-08-10 03:27:17.000000000 +0200
--- make-3.81/job.c 2006-06-21 17:31:52.000000000 +0200 --- make-3.80/job.c 2004-04-02 17:38:04.000000000 +0200
*************** ***************
*** 1083,1089 **** *** 987,993 ****
appear. */ appear. */
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag)) message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
@ -10,7 +10,7 @@ diff -rc make-orig/job.c make-3.81/job.c
/* Tell update_goal_chain that a command has been started on behalf of /* 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 this target. It is important that this happens here and not in
--- 1083,1089 ---- --- 987,993 ----
appear. */ appear. */
message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag)) message (0, (just_print_flag || (!(flags & COMMANDS_SILENT) && !silent_flag))
@ -18,12 +18,25 @@ diff -rc make-orig/job.c make-3.81/job.c
/* Tell update_goal_chain that a command has been started on behalf of /* 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 this target. It is important that this happens here and not in
diff -rc make-orig/main.c make-3.81/main.c diff -rc make-3.80-orig/main.c make-3.80/main.c
*** make-orig/main.c 2006-03-20 03:36:37.000000000 +0100 *** make-3.80-orig/main.c 2002-08-10 03:27:17.000000000 +0200
--- make-3.81/main.c 2006-06-21 17:48:43.000000000 +0200 --- make-3.80/main.c 2004-04-02 17:42:50.000000000 +0200
*************** ***************
*** 886,891 **** *** 254,259 ****
--- 886,900 ---- --- 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 ----
} }
@ -36,23 +49,23 @@ diff -rc make-orig/main.c make-3.81/main.c
+ } + }
+ +
+ +
#ifdef _AMIGA #ifndef _AMIGA
int int
main (int argc, char **argv) main (argc, argv, envp)
*************** ***************
*** 931,936 **** *** 854,859 ****
--- 940,947 ---- --- 867,874 ----
atexit (close_stdout); no_default_sh_exe = 1;
#endif #endif
+ atexit(closeNesting); + atexit(closeNesting);
+ +
/* Needed for OS/2 */ default_goal_file = 0;
initialize_main(&argc, &argv); reading_file = 0;
*************** ***************
*** 3095,3100 **** *** 2782,2787 ****
--- 3106,3117 ---- --- 2797,2808 ----
/* Use entire sentences to give the translators a fighting chance. */ /* Use entire sentences to give the translators a fighting chance. */
@ -66,40 +79,39 @@ diff -rc make-orig/main.c make-3.81/main.c
if (starting_directory == 0) if (starting_directory == 0)
if (entering) if (entering)
*************** ***************
*** 3124,3129 **** *** 2810,2813 ****
--- 3141,3155 ---- --- 2831,2840 ----
else
printf (_("%s[%u]: Leaving directory `%s'\n"), printf (_("%s[%u]: Leaving directory `%s'\n"),
program, makelevel, starting_directory); program, makelevel, starting_directory);
+
+ if (!entering) + if (!entering)
+ { + {
+ printf("\e[q"); + printf("\e[q");
+ logNestingStdout--; + logNestingStdout--;
+ } + }
+
/* Flush stdout to be sure this comes before any stderr output. */
fflush (stdout);
} }
+ diff -rc make-3.80-orig/make.h make-3.80/make.h
+ int logNestingStdout = 0; *** make-3.80-orig/make.h 2002-09-11 18:55:44.000000000 +0200
+ int logNestingStderr = 0; --- make-3.80/make.h 2004-04-02 17:42:15.000000000 +0200
diff -rc make-orig/make.h make-3.81/make.h
*** make-orig/make.h 2006-02-16 00:54:43.000000000 +0100
--- make-3.81/make.h 2006-06-21 17:39:35.000000000 +0200
*************** ***************
*** 609,611 **** *** 559,562 ****
--- 609,613 ---- --- 559,567 ----
#define ENULLLOOP(_v,_c) do{ errno = 0; \ extern int atomic_stat PARAMS ((const char *file, struct stat *buf));
while (((_v)=_c)==0 && errno==EINTR); }while(0) extern struct dirent *atomic_readdir PARAMS ((DIR *dir));
+
#endif
+
+
+ extern int logNestingStdout; + extern int logNestingStdout;
+ extern int logNestingStderr; + extern int logNestingStderr;
diff -rc make-orig/remake.c make-3.81/remake.c diff -rc make-3.80-orig/remake.c make-3.80/remake.c
*** make-orig/remake.c 2006-03-20 03:36:37.000000000 +0100 *** make-3.80-orig/remake.c 2002-08-08 02:11:19.000000000 +0200
--- make-3.81/remake.c 2006-06-21 17:31:52.000000000 +0200 --- make-3.80/remake.c 2004-04-04 23:10:19.000000000 +0200
*************** ***************
*** 1120,1126 **** *** 1049,1055 ****
--- 1120,1130 ---- --- 1049,1059 ----
/* The normal case: start some commands. */ /* The normal case: start some commands. */
if (!touch_flag || file->cmds->any_recurse) if (!touch_flag || file->cmds->any_recurse)
{ {