diff -Nru make-dfsg-4.2.1/acinclude.m4 make-dfsg-4.1/acinclude.m4 --- make-dfsg-4.2.1/acinclude.m4 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/acinclude.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ dnl acinclude.m4 -- Extra macros needed for GNU make. dnl dnl Automake will incorporate this into its generated aclocal.m4. -dnl Copyright (C) 1998-2016 Free Software Foundation, Inc. +dnl Copyright (C) 1998-2014 Free Software Foundation, Inc. dnl This file is part of GNU Make. dnl dnl GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/amiga.c make-dfsg-4.1/amiga.c --- make-dfsg-4.2.1/amiga.c 2016-03-09 04:40:46.000000000 +0000 +++ make-dfsg-4.1/amiga.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Running commands on Amiga -Copyright (C) 1995-2016 Free Software Foundation, Inc. +Copyright (C) 1995-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/amiga.h make-dfsg-4.1/amiga.h --- make-dfsg-4.2.1/amiga.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/amiga.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for amiga specific things -Copyright (C) 1995-2016 Free Software Foundation, Inc. +Copyright (C) 1995-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/ar.c make-dfsg-4.1/ar.c --- make-dfsg-4.2.1/ar.c 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/ar.c 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Interface to 'ar' archives for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. @@ -68,25 +68,39 @@ /* This function is called by 'ar_scan' to find which member to look at. */ +struct member_date_lookup +{ + const char *name; + time_t *member_date; +}; + /* ARGSUSED */ static long int ar_member_date_1 (int desc UNUSED, const char *mem, int truncated, long int hdrpos UNUSED, long int datapos UNUSED, long int size UNUSED, long int date, - int uid UNUSED, int gid UNUSED, unsigned int mode UNUSED, - const void *name) + int uid UNUSED, int gid UNUSED, int mode UNUSED, + const void *data) { - return ar_name_equal (name, mem, truncated) ? date : 0; + const struct member_date_lookup *lookup_data = data; + if (ar_name_equal (lookup_data->name, mem, truncated)) + { + *lookup_data->member_date = date; + return 1; + } + return 0; } -/* Return the modtime of NAME. */ +/* Read the modtime of NAME in MEMBER_DATE. + Returns 1 if NAME exists, 0 otherwise. */ -time_t -ar_member_date (const char *name) +int +ar_member_date (const char *name, time_t *member_date) { char *arname; char *memname; - long int val; + int found; + struct member_date_lookup lookup_data; ar_parse_name (name, &arname, &memname); @@ -107,11 +121,14 @@ (void) f_mtime (arfile, 0); } - val = ar_scan (arname, ar_member_date_1, memname); + lookup_data.name = memname; + lookup_data.member_date = member_date; + found = ar_scan (arname, ar_member_date_1, &lookup_data); free (arname); - return (val <= 0 ? (time_t) -1 : (time_t) val); + /* return 0 (not found) if the archive does not exist or has invalid format. */ + return (found == 1) ? 1 : 0; } /* Set the archive-member NAME's modtime to now. */ @@ -198,7 +215,7 @@ ar_glob_match (int desc UNUSED, const char *mem, int truncated UNUSED, long int hdrpos UNUSED, long int datapos UNUSED, long int size UNUSED, long int date UNUSED, int uid UNUSED, - int gid UNUSED, unsigned int mode UNUSED, const void *arg) + int gid UNUSED, int mode UNUSED, const void *arg) { struct ar_glob_state *state = (struct ar_glob_state *)arg; @@ -224,7 +241,7 @@ /* Return nonzero if PATTERN contains any metacharacters. Metacharacters can be quoted with backslashes if QUOTE is nonzero. */ static int -ar_glob_pattern_p (const char *pattern, int quote) +glob_pattern_p (const char *pattern, int quote) { const char *p; int opened = 0; @@ -267,7 +284,7 @@ #ifdef VMS char *vms_member_pattern; #endif - if (! ar_glob_pattern_p (member_pattern, 1)) + if (! glob_pattern_p (member_pattern, 1)) return 0; /* Scan the archive for matches. diff -Nru make-dfsg-4.2.1/arscan.c make-dfsg-4.1/arscan.c --- make-dfsg-4.2.1/arscan.c 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/arscan.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Library function for scanning an archive file. -Copyright (C) 1987-2016 Free Software Foundation, Inc. +Copyright (C) 1987-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -38,18 +38,12 @@ #include #include #include +globalvalue unsigned int LBR$_HDRTRUNC; -/* This symbol should be present in lbrdef.h. */ -#ifndef LBR$_HDRTRUNC -#pragma extern_model save -#pragma extern_model globalvalue -extern unsigned int LBR$_HDRTRUNC; -#pragma extern_model restore -#endif - +#if __DECC #include #include - +#endif const char * vmsify (const char *name, int type); @@ -420,8 +414,7 @@ #ifdef SARMAG { char buf[SARMAG]; - int nread; - EINTRLOOP (nread, read (desc, buf, SARMAG)); + register int nread = read (desc, buf, SARMAG); if (nread != SARMAG || memcmp (buf, ARMAG, SARMAG)) { (void) close (desc); @@ -431,8 +424,8 @@ #else #ifdef AIAMAG { - int nread; - EINTRLOOP (nread, read (desc, &fl_header, FL_HSZ)); + register int nread = read (desc, &fl_header, FL_HSZ); + if (nread != FL_HSZ) { (void) close (desc); @@ -443,20 +436,17 @@ re-read the header into the "big" structure. */ if (!memcmp (fl_header.fl_magic, AIAMAGBIG, SAIAMAG)) { - off_t o; - big_archive = 1; /* seek back to beginning of archive */ - EINTRLOOP (o, lseek (desc, 0, 0)); - if (o < 0) + if (lseek (desc, 0, 0) < 0) { (void) close (desc); return -2; } /* re-read the header into the "big" structure */ - EINTRLOOP (nread, read (desc, &fl_header_big, FL_HSZ_BIG)); + nread = read (desc, &fl_header_big, FL_HSZ_BIG); if (nread != FL_HSZ_BIG) { (void) close (desc); @@ -479,8 +469,7 @@ #else unsigned short int buf; #endif - int nread; - EINTRLOOP (nread, read (desc, &buf, sizeof (buf))); + register int nread = read (desc, &buf, sizeof (buf)); if (nread != sizeof (buf) || buf != ARMAG) { (void) close (desc); @@ -547,12 +536,10 @@ int long_name = 0; #endif long int eltsize; - unsigned int eltmode; + int eltmode; long int fnval; - off_t o; - EINTRLOOP (o, lseek (desc, member_offset, 0)); - if (o < 0) + if (lseek (desc, member_offset, 0) < 0) { (void) close (desc); return -2; @@ -564,8 +551,8 @@ #ifdef AIAMAGBIG if (big_archive) { - EINTRLOOP (nread, read (desc, &member_header_big, - AR_MEMHDR_SZ(member_header_big))); + nread = read (desc, &member_header_big, + AR_MEMHDR_SZ(member_header_big) ); if (nread != AR_MEMHDR_SZ(member_header_big)) { @@ -574,7 +561,7 @@ } sscanf (member_header_big.ar_namlen, "%4d", &name_len); - EINTRLOOP (nread, read (desc, name, name_len)); + nread = read (desc, name, name_len); if (nread != name_len) { @@ -596,8 +583,8 @@ else #endif { - EINTRLOOP (nread, read (desc, &member_header, - AR_MEMHDR_SZ(member_header))); + nread = read (desc, &member_header, + AR_MEMHDR_SZ(member_header) ); if (nread != AR_MEMHDR_SZ(member_header)) { @@ -606,7 +593,7 @@ } sscanf (member_header.ar_namlen, "%4d", &name_len); - EINTRLOOP (nread, read (desc, name, name_len)); + nread = read (desc, name, name_len); if (nread != name_len) { @@ -634,7 +621,7 @@ eltmode, arg); #else /* Not AIAMAG. */ - EINTRLOOP (nread, read (desc, &member_header, AR_HDR_SIZE)); + nread = read (desc, &member_header, AR_HDR_SIZE); if (nread == 0) /* No data left means end of file; that is OK. */ break; @@ -703,7 +690,7 @@ int namesize = atoi (name + 3); name = alloca (namesize + 1); - EINTRLOOP (nread, read (desc, name, namesize)); + nread = read (desc, name, namesize); if (nread != namesize) { close (desc); @@ -774,7 +761,7 @@ char *limit; namemap = alloca (eltsize); - EINTRLOOP (nread, read (desc, namemap, eltsize)); + nread = read (desc, namemap, eltsize); if (nread != eltsize) { (void) close (desc); @@ -872,7 +859,7 @@ ar_member_pos (int desc UNUSED, const char *mem, int truncated, long int hdrpos, long int datapos UNUSED, long int size UNUSED, long int date UNUSED, int uid UNUSED, int gid UNUSED, - unsigned int mode UNUSED, const void *name) + int mode UNUSED, const void *name) { if (!ar_name_equal (name, mem, truncated)) return 0; @@ -892,8 +879,7 @@ long int pos = ar_scan (arname, ar_member_pos, memname); int fd; struct ar_hdr ar_hdr; - off_t o; - int r; + int i; unsigned int ui; struct stat statbuf; @@ -902,32 +888,28 @@ if (!pos) return 1; - EINTRLOOP (fd, open (arname, O_RDWR, 0666)); + fd = open (arname, O_RDWR, 0666); if (fd < 0) return -3; /* Read in this member's header */ - EINTRLOOP (o, lseek (fd, pos, 0)); - if (o < 0) + if (lseek (fd, pos, 0) < 0) goto lose; - EINTRLOOP (r, read (fd, &ar_hdr, AR_HDR_SIZE)); - if (r != AR_HDR_SIZE) + if (AR_HDR_SIZE != read (fd, &ar_hdr, AR_HDR_SIZE)) goto lose; /* Write back the header, thus touching the archive file. */ - EINTRLOOP (o, lseek (fd, pos, 0)); - if (o < 0) + if (lseek (fd, pos, 0) < 0) goto lose; - EINTRLOOP (r, write (fd, &ar_hdr, AR_HDR_SIZE)); - if (r != AR_HDR_SIZE) + if (AR_HDR_SIZE != write (fd, &ar_hdr, AR_HDR_SIZE)) goto lose; /* The file's mtime is the time we we want. */ - EINTRLOOP (r, fstat (fd, &statbuf)); - if (r < 0) + EINTRLOOP (i, fstat (fd, &statbuf)); + if (i < 0) goto lose; #if defined(ARFMAG) || defined(ARFZMAG) || defined(AIAMAG) || defined(WINDOWS32) /* Advance member's time to that time */ for (ui = 0; ui < sizeof ar_hdr.ar_date; ui++) ar_hdr.ar_date[ui] = ' '; - sprintf (TOCHAR (ar_hdr.ar_date), "%lu", (long unsigned) statbuf.st_mtime); + sprintf (TOCHAR (ar_hdr.ar_date), "%ld", (long int) statbuf.st_mtime); #ifdef AIAMAG ar_hdr.ar_date[strlen (ar_hdr.ar_date)] = ' '; #endif @@ -935,19 +917,17 @@ ar_hdr.ar_date = statbuf.st_mtime; #endif /* Write back this member's header */ - EINTRLOOP (o, lseek (fd, pos, 0)); - if (o < 0) + if (lseek (fd, pos, 0) < 0) goto lose; - EINTRLOOP (r, write (fd, &ar_hdr, AR_HDR_SIZE)); - if (r != AR_HDR_SIZE) + if (AR_HDR_SIZE != write (fd, &ar_hdr, AR_HDR_SIZE)) goto lose; close (fd); return 0; lose: - r = errno; + i = errno; close (fd); - errno = r; + errno = i; return -3; } #endif @@ -957,8 +937,7 @@ long int describe_member (int desc, const char *name, int truncated, long int hdrpos, long int datapos, long int size, - long int date, int uid, int gid, unsigned int mode, - const void *arg) + long int date, int uid, int gid, int mode, const void *arg) { extern char *ctime (); diff -Nru make-dfsg-4.2.1/AUTHORS make-dfsg-4.1/AUTHORS --- make-dfsg-4.2.1/AUTHORS 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/AUTHORS 2016-01-16 10:25:59.000000000 +0000 @@ -72,7 +72,7 @@ hundreds, anyway :) ------------------------------------------------------------------------------- -Copyright (C) 1997-2016 Free Software Foundation, Inc. +Copyright (C) 1997-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/build.sh.in make-dfsg-4.1/build.sh.in --- make-dfsg-4.2.1/build.sh.in 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/build.sh.in 2016-01-16 10:25:59.000000000 +0000 @@ -2,7 +2,7 @@ # Shell script to build GNU Make in the absence of any 'make' program. # @configure_input@ -# Copyright (C) 1993-2016 Free Software Foundation, Inc. +# Copyright (C) 1993-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -52,7 +52,7 @@ set -e # These are all the objects we need to link together. -objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} guile.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} load.${OBJEXT} loadapi.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} posixos.${OBJEXT} output.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} strcache.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}" +objs="ar.${OBJEXT} arscan.${OBJEXT} commands.${OBJEXT} default.${OBJEXT} dir.${OBJEXT} expand.${OBJEXT} file.${OBJEXT} function.${OBJEXT} getopt.${OBJEXT} getopt1.${OBJEXT} guile.${OBJEXT} implicit.${OBJEXT} job.${OBJEXT} load.${OBJEXT} loadapi.${OBJEXT} main.${OBJEXT} misc.${OBJEXT} output.${OBJEXT} read.${OBJEXT} remake.${OBJEXT} rule.${OBJEXT} signame.${OBJEXT} strcache.${OBJEXT} variable.${OBJEXT} version.${OBJEXT} vpath.${OBJEXT} hash.${OBJEXT} remote-${REMOTE}.${OBJEXT} ${extras} ${ALLOCA}" if [ x"$GLOBLIB" != x ]; then objs="$objs glob/fnmatch.${OBJEXT} glob/glob.${OBJEXT}" diff -Nru make-dfsg-4.2.1/build_w32.bat make-dfsg-4.1/build_w32.bat --- make-dfsg-4.2.1/build_w32.bat 2016-05-21 20:20:57.000000000 +0000 +++ make-dfsg-4.1/build_w32.bat 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ @echo off -rem Copyright (C) 1996-2016 Free Software Foundation, Inc. +rem Copyright (C) 1996-2014 Free Software Foundation, Inc. rem This file is part of GNU Make. rem rem GNU Make is free software; you can redistribute it and/or modify it under @@ -15,217 +15,283 @@ rem You should have received a copy of the GNU General Public License along rem with this program. If not, see . -call :Reset - -if "%1" == "-h" goto Usage -if "%1" == "--help" goto Usage - -set MAKE=gnumake -set GUILE=Y -set COMPILER=msvc +if "%1" == "-h" GoTo Usage +if "%1" == "--help" GoTo Usage +if not exist config.h.W32.template GoTo NotSCM +sed -n "s/^AC_INIT(\[GNU make\],\[\([^]]\+\)\].*/s,%%VERSION%%,\1,g/p" configure.ac > config.h.W32.sed +echo s,%%PACKAGE%%,make,g >> config.h.W32.sed +sed -f config.h.W32.sed config.h.W32.template > config.h.W32 +echo static const char *const GUILE_module_defn = ^" \> gmk-default.h +sed -e "s/;.*//" -e "/^[ \t]*$/d" -e "s/\"/\\\\\"/g" -e "s/$/ \\/" gmk-default.scm >> gmk-default.h +echo ^";>> gmk-default.h +:NotSCM +copy config.h.W32 config.h +rem Guile configuration +set GUILECFLAGS= +set GUILELIBS= +set NOGUILE= +set OPT=-O2 +set COMPILER= +set PKGMSC= :ParseSW -if "%1" == "--debug" goto SetDebug -if "%1" == "--without-guile" goto NoGuile -if "%1" == "gcc" goto SetCC -if "%1" == "" goto DoneSW - -:SetDebug -set DEBUG=Y +if "%1" == "--debug" GoTo SetOpt +if "%1" == "--without-guile" GoTo NoGuile +if "%1" == "gcc" GoTo SetCC +if "%1" == "" GoTo ChkGuile +:SetOpt +set OPT=-O0 shift -goto ParseSW - +GoTo ParseSW :NoGuile -set GUILE=N -echo Building without Guile +set NOGUILE=Y +echo "Building without Guile" shift -goto ParseSW - +GoTo ParseSW :SetCC set COMPILER=gcc -echo Building with GCC +echo "Building with GCC" shift -goto ParseSW - +GoTo ParseSW rem Build with Guile is supported only on NT and later versions -:DoneSW -echo. -echo Creating GNU Make for Windows 9X/NT/2K/XP/Vista/7/8 -if "%DEBUG%" == "Y" echo Building without compiler optimizations - -if "%COMPILER%" == "gcc" goto GccBuild - -set OUTDIR=.\WinRel -set "OPTS=/O2 /D NDEBUG" -set LINKOPTS= -if "%DEBUG%" == "Y" set OUTDIR=.\WinDebug -if "%DEBUG%" == "Y" set "OPTS=/Zi /Od /D _DEBUG" -if "%DEBUG%" == "Y" set LINKOPTS=/DEBUG -call :Build -goto Done - -:GccBuild -set OUTDIR=.\GccRel -set OPTS=-O2 -if "%DEBUG%" == "Y" set OPTS=-O0 -if "%DEBUG%" == "Y" set OUTDIR=.\GccDebug -call :Build -goto Done - -:Done -call :Reset -goto :EOF - -:Build -:: Clean the directory if it exists -if exist %OUTDIR%\nul rmdir /S /Q %OUTDIR% - -:: Recreate it -mkdir %OUTDIR% -mkdir %OUTDIR%\glob -mkdir %OUTDIR%\w32 -mkdir %OUTDIR%\w32\compat -mkdir %OUTDIR%\w32\subproc - -if "%GUILE%" == "Y" call :ChkGuile - +:ChkGuile +if "%NOGUILE%" == "Y" GoTo GuileDone +if not "%OS%" == "Windows_NT" GoTo NoGuile +pkg-config --help > guile.tmp 2> NUL +if ERRORLEVEL 1 GoTo NoPkgCfg +echo "Checking for Guile 2.0" +if not "%COMPILER%" == "gcc" set PKGMSC=--msvc-syntax +pkg-config --cflags --short-errors "guile-2.0" > guile.tmp +if not ERRORLEVEL 1 set /P GUILECFLAGS= < guile.tmp +pkg-config --libs --static --short-errors %PKGMSC% "guile-2.0" > guile.tmp +if not ERRORLEVEL 1 set /P GUILELIBS= < guile.tmp +if not "%GUILECFLAGS%" == "" GoTo GuileDone +echo "Checking for Guile 1.8" +pkg-config --cflags --short-errors "guile-1.8" > guile.tmp +if not ERRORLEVEL 1 set /P GUILECFLAGS= < guile.tmp +pkg-config --libs --static --short-errors %PKGMSC% "guile-1.8" > guile.tmp +if not ERRORLEVEL 1 set /P GUILELIBS= < guile.tmp +if not "%GUILECFLAGS%" == "" GoTo GuileDone +echo "No Guile found, building without Guile" +GoTo GuileDone +:NoPkgCfg +echo "pkg-config not found, building without Guile" +:GuileDone +if not "%GUILECFLAGS%" == "" echo "Guile found, building with Guile" +if not "%GUILECFLAGS%" == "" set GUILECFLAGS=%GUILECFLAGS% -DHAVE_GUILE +if "%COMPILER%" == "gcc" if "%OPT%" == "-O0" echo "Building without compiler optimizations" +cd w32\subproc echo. -echo Compiling %OUTDIR% version - -if exist config.h.W32.template call :ConfigSCM -copy config.h.W32 %OUTDIR%\config.h - -call :Compile ar -call :Compile arscan -call :Compile commands -call :Compile default -call :Compile dir -call :Compile expand -call :Compile file -call :Compile function -call :Compile getloadavg -call :Compile getopt -call :Compile getopt1 -call :Compile glob\fnmatch -call :Compile glob\glob -call :Compile guile GUILE -call :Compile hash -call :Compile implicit -call :Compile job -call :Compile load -call :Compile loadapi -call :Compile main GUILE -call :Compile misc -call :Compile output -call :Compile read -call :Compile remake -call :Compile remote-stub -call :Compile rule -call :Compile signame -call :Compile strcache -call :Compile variable -call :Compile version -call :Compile vpath -call :Compile w32\compat\posixfcn -call :Compile w32\pathstuff -call :Compile w32\subproc\misc -call :Compile w32\subproc\sub_proc -call :Compile w32\subproc\w32err -call :Compile w32\w32os - -if not "%COMPILER%" == "gcc" call :Compile w32\compat\dirent - -call :Link +echo "Creating the subproc library" +%ComSpec% /c build.bat +cd ..\.. +if exist link.dbg del link.dbg +if exist link.rel del link.rel echo. -if not exist %OUTDIR%\%MAKE%.exe echo %OUTDIR% build FAILED! -if exist %OUTDIR%\%MAKE%.exe echo %OUTDIR% build succeeded. -goto :EOF - -:Compile -set EXTRAS= -if "%2" == "GUILE" set "EXTRAS=%GUILECFLAGS%" -if "%COMPILER%" == "gcc" goto GccCompile - -:: MSVC Compile -echo on -cl.exe /nologo /MT /W4 /EHsc %OPTS% /I %OUTDIR% /I . /I glob /I w32/include /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR%OUTDIR% /Fp%OUTDIR%\%MAKE%.pch /Fo%OUTDIR%\%1.obj /Fd%OUTDIR%\%MAKE%.pdb %EXTRAS% /c %1.c -@echo off -echo %OUTDIR%\%1.obj >>%OUTDIR%\link.sc -goto :EOF - -:GccCompile -:: GCC Compile +echo "Creating GNU Make for Windows 9X/NT/2K/XP/Vista/7/8" +if "%COMPILER%" == "gcc" GoTo GCCBuild +set make=gnumake echo on -gcc -mthreads -Wall -std=gnu99 -gdwarf-2 -g3 %OPTS% -I%OUTDIR% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H %EXTRAS% -o %OUTDIR%\%1.o -c %1.c -@echo off -goto :EOF - -:Link -echo Linking %OUTDIR%/%MAKE%.exe -if "%COMPILER%" == "gcc" goto GccLink - -:: MSVC Link -echo %GUILELIBS% kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib >>%OUTDIR%\link.sc +if not exist .\WinDebug\nul mkdir .\WinDebug +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D TIVOLI /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c variable.c +echo WinDebug\variable.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c rule.c +echo WinDebug\rule.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remote-stub.c +echo WinDebug\remote-stub.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c commands.c +echo WinDebug\commands.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c file.c +echo WinDebug\file.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getloadavg.c +echo WinDebug\getloadavg.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c default.c +echo WinDebug\default.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c signame.c +echo WinDebug\signame.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c expand.c +echo WinDebug\expand.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c dir.c +echo WinDebug\dir.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od %GUILECFLAGS% /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c main.c +echo WinDebug\main.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt1.c +echo WinDebug\getopt1.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c job.c +echo WinDebug\job.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c output.c +echo WinDebug\output.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c read.c +echo WinDebug\read.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c version.c +echo WinDebug\version.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c getopt.c +echo WinDebug\getopt.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c arscan.c +echo WinDebug\arscan.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c hash.c +echo WinDebug\hash.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c strcache.c +echo WinDebug\strcache.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c remake.c +echo WinDebug\remake.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c misc.c +echo WinDebug\misc.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c ar.c +echo WinDebug\ar.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c function.c +echo WinDebug\function.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c vpath.c +echo WinDebug\vpath.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c implicit.c +echo WinDebug\implicit.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c loadapi.c +echo WinDebug\loadapi.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c load.c +echo WinDebug\load.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\compat\dirent.c +echo WinDebug\dirent.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\compat\posixfcn.c +echo WinDebug\posixfcn.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\glob\glob.c +echo WinDebug\glob.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\glob\fnmatch.c +echo WinDebug\fnmatch.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c .\w32\pathstuff.c +echo WinDebug\pathstuff.obj >>link.dbg +cl.exe /nologo /MT /W4 /GX /Zi /YX /Od %GUILECFLAGS% /I . /I glob /I w32/include /D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/ /Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c guile.c +echo WinDebug\guile.obj >>link.dbg +:LinkDbg +echo off +echo "Linking WinDebug/%make%.exe" +rem link.exe %GUILELIBS% kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /OUT:.\WinDebug/%make%.exe .\WinDebug/variable.obj .\WinDebug/rule.obj .\WinDebug/remote-stub.obj .\WinDebug/commands.obj .\WinDebug/file.obj .\WinDebug/getloadavg.obj .\WinDebug/default.obj .\WinDebug/signame.obj .\WinDebug/expand.obj .\WinDebug/dir.obj .\WinDebug/main.obj .\WinDebug/getopt1.obj .\WinDebug/job.obj .\WinDebug/output.obj .\WinDebug/read.obj .\WinDebug/version.obj .\WinDebug/getopt.obj .\WinDebug/arscan.obj .\WinDebug/remake.obj .\WinDebug/hash.obj .\WinDebug/strcache.obj .\WinDebug/misc.obj .\WinDebug/ar.obj .\WinDebug/function.obj .\WinDebug/vpath.obj .\WinDebug/implicit.obj .\WinDebug/dirent.obj .\WinDebug/glob.obj .\WinDebug/fnmatch.obj .\WinDebug/pathstuff.obj +echo %GUILELIBS% kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\windebug\subproc.lib >>link.dbg +link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:yes /PDB:.\WinDebug/%make%.pdb /DEBUG /OUT:.\WinDebug/%make%.exe @link.dbg +if not exist .\WinDebug/%make%.exe echo "WinDebug build failed" +if exist .\WinDebug/%make%.exe echo "WinDebug build succeeded!" +if not exist .\WinRel\nul mkdir .\WinRel echo on -link.exe /NOLOGO /SUBSYSTEM:console /PDB:%OUTDIR%\%MAKE%.pdb %LINKOPTS% /OUT:%OUTDIR%\%MAKE%.exe @%OUTDIR%\link.sc -@echo off -goto :EOF - -:GccLink -:: GCC Link +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /D TIVOLI /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c variable.c +echo WinRel\variable.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c rule.c +echo WinRel\rule.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remote-stub.c +echo WinRel\remote-stub.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c commands.c +echo WinRel\commands.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c file.c +echo WinRel\file.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getloadavg.c +echo WinRel\getloadavg.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c default.c +echo WinRel\default.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c signame.c +echo WinRel\signame.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c expand.c +echo WinRel\expand.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c dir.c +echo WinRel\dir.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 %GUILECFLAGS% /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c main.c +echo WinRel\main.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt1.c +echo WinRel\getopt1.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c job.c +echo WinRel\job.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c output.c +echo WinRel\output.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c read.c +echo WinRel\read.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c version.c +echo WinRel\version.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c getopt.c +echo WinRel\getopt.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c arscan.c +echo WinRel\arscan.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c remake.c +echo WinRel\remake.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c hash.c +echo WinRel\hash.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c strcache.c +echo WinRel\strcache.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c misc.c +echo WinRel\misc.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c ar.c +echo WinRel\ar.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c function.c +echo WinRel\function.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c vpath.c +echo WinRel\vpath.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c implicit.c +echo WinRel\implicit.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c loadapi.c +echo WinRel\loadapi.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c load.c +echo WinRel\load.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\compat\dirent.c +echo WinRel\dirent.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\compat\posixfcn.c +echo WinRel\posixfcn.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\glob\glob.c +echo WinRel\glob.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\glob\fnmatch.c +echo WinRel\fnmatch.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c .\w32\pathstuff.c +echo WinRel\pathstuff.obj >>link.rel +cl.exe /nologo /MT /W4 /GX /YX /O2 %GUILECFLAGS% /I . /I glob /I w32/include /D NDEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinRel/ /Fp.\WinRel/%make%.pch /Fo.\WinRel/ /c guile.c +echo WinRel\guile.obj >>link.rel +:LinkRel +echo off +echo "Linking WinRel/%make%.exe" +rem link.exe %GUILELIBS% kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /OUT:.\WinRel/%make%.exe .\WinRel/variable.obj .\WinRel/rule.obj .\WinRel/remote-stub.obj .\WinRel/commands.obj .\WinRel/file.obj .\WinRel/getloadavg.obj .\WinRel/default.obj .\WinRel/signame.obj .\WinRel/expand.obj .\WinRel/dir.obj .\WinRel/main.obj .\WinRel/getopt1.obj .\WinRel/job.obj .\WinRel/output.obj .\WinRel/read.obj .\WinRel/version.obj .\WinRel/getopt.obj .\WinRel/arscan.obj .\WinRel/remake.obj .\WinRel/misc.obj .\WinRel/hash.obj .\WinRel/strcache.obj .\WinRel/ar.obj .\WinRel/function.obj .\WinRel/vpath.obj .\WinRel/implicit.obj .\WinRel/dirent.obj .\WinRel/glob.obj .\WinRel/fnmatch.obj .\WinRel/pathstuff.obj +echo %GUILELIBS% kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib w32\subproc\winrel\subproc.lib >>link.rel +link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb /OUT:.\WinRel/%make%.exe @link.rel +if not exist .\WinRel/%make%.exe echo "WinRel build failed" +if exist .\WinRel/%make%.exe echo "WinRel build succeeded!" +set make= +GoTo BuildEnd +:GCCBuild echo on -gcc -mthreads -gdwarf-2 -g3 -o %OUTDIR%\%MAKE%.exe %OUTDIR%\variable.o %OUTDIR%\rule.o %OUTDIR%\remote-stub.o %OUTDIR%\commands.o %OUTDIR%\file.o %OUTDIR%\getloadavg.o %OUTDIR%\default.o %OUTDIR%\signame.o %OUTDIR%\expand.o %OUTDIR%\dir.o %OUTDIR%\main.o %OUTDIR%\getopt1.o %OUTDIR%\guile.o %OUTDIR%\job.o %OUTDIR%\output.o %OUTDIR%\read.o %OUTDIR%\version.o %OUTDIR%\getopt.o %OUTDIR%\arscan.o %OUTDIR%\remake.o %OUTDIR%\misc.o %OUTDIR%\hash.o %OUTDIR%\strcache.o %OUTDIR%\ar.o %OUTDIR%\function.o %OUTDIR%\vpath.o %OUTDIR%\implicit.o %OUTDIR%\loadapi.o %OUTDIR%\load.o %OUTDIR%\glob\glob.o %OUTDIR%\glob\fnmatch.o %OUTDIR%\w32\pathstuff.o %OUTDIR%\w32\compat\posixfcn.o %OUTDIR%\w32\w32os.o %OUTDIR%\w32\subproc\misc.o %OUTDIR%\w32\subproc\sub_proc.o %OUTDIR%\w32\subproc\w32err.o %GUILELIBS% -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -Wl,--out-implib=%OUTDIR%\libgnumake-1.dll.a +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c variable.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c rule.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remote-stub.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c commands.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c file.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getloadavg.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c default.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c signame.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c expand.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c dir.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H %GUILECFLAGS% -c main.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt1.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c job.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c output.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c read.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c version.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c getopt.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c arscan.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c remake.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c hash.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c strcache.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c misc.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ar.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c function.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c vpath.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c implicit.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c loadapi.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c load.c +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/glob.c -o glob.o +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/compat/posixfcn.c -o posixfcn.o +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% %GUILECFLAGS% -I. -I./glob -I./w32/include -DWINDOWS32 -DHAVE_CONFIG_H -c guile.c +:LinkGCC @echo off -goto :EOF - -:ConfigSCM -echo Generating config from SCM templates -sed -n "s/^AC_INIT(\[GNU make\],\[\([^]]\+\)\].*/s,%%VERSION%%,\1,g/p" configure.ac > %OUTDIR%\config.h.W32.sed -echo s,%%PACKAGE%%,make,g >> %OUTDIR%\config.h.W32.sed -sed -f %OUTDIR%\config.h.W32.sed config.h.W32.template > config.h.W32 -echo static const char *const GUILE_module_defn = ^" \> gmk-default.h -sed -e "s/;.*//" -e "/^[ \t]*$/d" -e "s/\"/\\\\\"/g" -e "s/$/ \\\/" gmk-default.scm >> gmk-default.h -echo ^";>> gmk-default.h -goto :EOF - -:ChkGuile -if not "%OS%" == "Windows_NT" goto NoGuile -pkg-config --help > %OUTDIR%\guile.tmp 2> NUL -if ERRORLEVEL 1 goto NoPkgCfg - -echo Checking for Guile 2.0 -if not "%COMPILER%" == "gcc" set PKGMSC=--msvc-syntax -pkg-config --cflags --short-errors "guile-2.0" > %OUTDIR%\guile.tmp -if not ERRORLEVEL 1 set /P GUILECFLAGS= < %OUTDIR%\guile.tmp - -pkg-config --libs --static --short-errors %PKGMSC% "guile-2.0" > %OUTDIR%\guile.tmp -if not ERRORLEVEL 1 set /P GUILELIBS= < %OUTDIR%\guile.tmp - -if not "%GUILECFLAGS%" == "" goto GuileDone - -echo Checking for Guile 1.8 -pkg-config --cflags --short-errors "guile-1.8" > %OUTDIR%\guile.tmp -if not ERRORLEVEL 1 set /P GUILECFLAGS= < %OUTDIR%\guile.tmp - -pkg-config --libs --static --short-errors %PKGMSC% "guile-1.8" > %OUTDIR%\guile.tmp -if not ERRORLEVEL 1 set /P GUILELIBS= < %OUTDIR%\guile.tmp - -if not "%GUILECFLAGS%" == "" goto GuileDone - -echo No Guile found, building without Guile -goto GuileDone - -:NoPkgCfg -echo pkg-config not found, building without Guile - -:GuileDone -if "%GUILECFLAGS%" == "" goto :EOF - -echo Guile found, building with Guile -set "GUILECFLAGS=%GUILECFLAGS% -DHAVE_GUILE" -goto :EOF - +Rem The version NN of libgnumake-NN.dll.a should be bumped whenever +Rem the API changes in binary-incompatible manner. +@echo on +gcc -mthreads -gdwarf-2 -g3 -o gnumake.exe variable.o rule.o remote-stub.o commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o getopt1.o guile.o job.o output.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o strcache.o ar.o function.o vpath.o implicit.o loadapi.o load.o glob.o fnmatch.o pathstuff.o posixfcn.o w32_misc.o sub_proc.o w32err.o %GUILELIBS% -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -Wl,--out-implib=libgnumake-1.dll.a +@GoTo BuildEnd :Usage echo Usage: %0 [options] [gcc] echo Options: @@ -233,18 +299,12 @@ echo. (MSVC build always makes both debug and release) echo. --without-guile Do not compile Guile support even if found echo. --help Display these instructions and exit -goto :EOF - -:Reset -set COMPILER= -set DEBUG= -set GUILE= -set GUILECFLAGS= +:BuildEnd +@echo off set GUILELIBS= -set LINKOPTS= -set MAKE= -set NOGUILE= -set OPTS= -set OUTDIR= +set GUILECFLAGS= set PKGMSC= -goto :EOF +set OPT= +set COMPILER= +set NOGUILE= +echo on diff -Nru make-dfsg-4.2.1/ChangeLog make-dfsg-4.1/ChangeLog --- make-dfsg-4.2.1/ChangeLog 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,1137 +0,0 @@ -2016-06-10 Paul Smith - - GNU Make release 4.2.1. - -2016-06-06 Paul Smith - - * maintMakefile: TP recommends rsync for retrieving PO files. - -2016-05-31 Jeremy Devenport (tiny change) - - * main.c (main): [SV 48009] Reset stack limit for make re-exec. - -2016-05-31 Paul Smith - - [SV 47995] Ensure forced double-colon rules work with -j. - The fix for SV 44742 had a side-effect that some double-colon targets - were skipped. This happens because the "considered" facility assumed - that all targets would be visited on each walk through the dependency - graph: we used a bit for considered and toggled it on each pass; if - we didn't walk the entire graph on every pass the bit would get out - of sync. The new behavior after SV 44742 might return early without - walking the entire graph. To fix this I changed the considered value - to an integer which is monotonically increasing: it is then never - possible to incorrectly determine that a previous pass through the - graph already considered the current target. - - * filedef.h (struct file): make CONSIDERED an unsigned int. - * main.c (main): No longer need to reset CONSIDERED. - * remake.c (update_goal_chain): increment CONSIDERED rather than - inverting it between 0<->1. - (update_file_1): Reset CONSIDERED to 0 so it's re-considered. - (check_dep): Ditto. - * tests/scripts/features/double_colon: Add a regression test. - -2016-05-31 Paul Smith - - * DELETE_ON_ERROR: [SV 48061] Use "exit 1" for portability. - Reported by Joel Fredrikson - - * w32/pathstuff.c: [SV 47996] Use ISBLANK() not isblank(). - -2016-05-28 Eli Zaretskii - - Fix printing time stamps on MS-Windows - * dir.c (print_dir_data_base) [WINDOWS32]: Use %I64u format for - printing unsigned 64-bit data types, as %ull is not universally - supported. - -2016-05-27 Luke Allardyce (tiny change) - - [SV 48037] Fix MinGW build with Posix configury tools - * w32/Makefile.am (libw32_a_CPPFLAGS): Add -I$(srcdir)/glob. - -2016-05-22 Paul Smith - - GNU Make release 4.2. - -2016-05-21 Joe Crayne (tiny change) - - [SV 44742] Fix double-colon rules plus parallel builds. - * remake.c (update_file): Don't update double-colon target status - if we're still building targets. - (ftime_t): Don't propagate timestamps for double-colon targets that - we've not examined yet. - * tests/scripts/features/double_colon: Add parallel build tests. - -2016-05-21 Paul Smith - - * read.c (eval): [SV 47960] Skip record waiting files when ignoring. - * tests/scripts/features/conditionals: Test this scenario. - - Separate the GNU make load ABI from internal types. - Create an internal type "floc" and convert all users to that type. - * gnumake.h (gmk_floc): Remove the offset field from this type. - * loadapi.c (gmk_eval): Convert gmk_floc to internal floc. - -2016-05-21 Paul Eggert - - Fixes for enhanced GCC warnings. - Move function prototypes into header files and out of .c files. - Use void argument lists for functions that accept no args. - Remove unused macros. Make private functions static. Align - types with printf format characters. - -2016-05-21 Paul Smith - - Fix compile issues with Windows and VMS. - * main.c (initialize_stopchar_map): isblank() is not part of C89. - Install bits for space and tab directly. - * makeint.h: Don't define vfork; autoconf handles this for us. - * vmsjobs.c: Rename NEXT_TOKEN to V_NEXT_TOKEN to avoid conflicts. - * dir.c (print_dir_data_base): Visual Studio C doesn't have int64_t. - * w32/subproc/sub_proc.c (process_begin): Missing arg to memset(). - * build_w32.bat: Don't use obsolete Visual Studio flags. - - Allow compiling with an ISO C 1989/1990 compiler. - * posixos.c (jobserver_post_child): Use C89 for loop syntax. - * remake.c (update_goal_chain): Ditto. - * variable.c (parse_variable_definition): Ditto. - -2016-05-17 Eli Zaretskii - - [SV 47942] Avoid random crashes in subordinate programs on MS-Windows - * w32/subproc/sub_proc.c (process_begin): Zero out startInfo - before using it. Fixes crashes in Intel Fortran compiler invoked - by Make. - -2016-04-24 Eli Zaretskii - - Fix the MS-Windows MinGW build - * build_w32.bat (GccCompile): Use -std=gnu99, as some code uses - C99 features ('for' loop initial declarations). - - * dir.c (print_dir_data_base) [WINDOWS32]: Cast 'mtime' to - 'int64_t', and use %I64d to print it, to avoid compile-time - warning about printing a 'time_t' value, which could be either - a 32-bit or a 64 bit integral type. - -2016-04-23 Paul Smith - - * tests/scripts/features/output-sync: increase test timeout. - I'm getting random failures with a timeout of 10s; increase to 30s. - -2016-04-11 Paul Smith - - * NEWS: Update for pre-release - - * dep.h, makeint.h (show_goal_error): Move to makeint.h. - -2016-04-11 Paul Smith - - [SV 46433] Show recipe line offsets in line number messages. - While displaying line numbers, show the relevant line number inside - the recipe not just the first line of the entire recipe. - Sample changes suggested by Brian Vandenberg - - * gnumake.h (gmk_floc): Add an 'offset' to track the recipe offset. - * read.c (eval, eval_makefile, eval_buffer): Initialize 'offset'. - (record_files, install_pattern_rule): Ditto. - * job.c (new_job, job_next_command): Update 'offset' based on the - line of the recipe we're expanding or invoking. - (child_error): Add 'offset' when showing the line number. - * function.c (func_shell_base): Ditto. - * output.c (error, fatal): Ditto. - * NEWS: Mention the new ability. - * tests/scripts/features/errors: Check the line number on errors. - * tests/scripts/functions/warning: Check the line number on warnings. - * tests/scripts/features/output-sync, - tests/scripts/features/parallelism, tests/scripts/functions/shell, - tests/scripts/functions/error: Update line numbers. - -2016-04-09 Paul Smith - - * maintMakefile: Add a rule for storing preprocessor output. - - [SV 102] Don't show unnecessary include file errors. - Delay the generation of error messages for included files until we - are sure that we can't rebuild that included file. - * dep.h (struct dep): Don't reuse "changed"; make a separate field - to keep "flags". Get rid of dontcare and use the flag. - (struct goaldep): Create a new structure for goal prereqs - that tracks an errno value and the floc where the include happened. - Rework the structures to ensure they are supersets as expected. - In maintainer mode with GCC, use inline to get type checking. - * read.c (eval_makefile): Return a struct goaldep for the new - makefile. Ensure errno is set properly to denote a failure. - (read_all_makefiles): Switch to goaldep and check errno. - (eval): Don't show included file errors; instead remember them. - * remake.c (update_goal_chain): Set global variables to the current - goaldep we're building, and the entire chain. - (show_goal_error): Check if the current failure is a consequence - of building an included makefile and if so print an error. - (complain): Call show_goal_error() on rule failure. - * job.c (child_error): Call show_goal_error() on child error. - * main.c (main): Switch from struct dep to goaldep. - * misc.c (free_dep_chain): Not used; make into a macro. - * tests/scripts/features/include: Update and include new tests. - * tests/scripts/options/dash-B, tests/scripts/options/dash-W, - tests/scripts/options/print-directory, - tests/scripts/variables/MAKE_RESTARTS: Update known-good-output. - - * job.c (child_error): Add filename length to output length. - Reported by Dale Stimson - -2016-04-04 Paul Smith - - Preserve the real value of -jN in MAKEFLAGS using jobserver. - Previously if the jobserver was active, MAKEFLAGS would contain only - the -j option but not the number (not -j5 or whatever) so users - could not discover that value. Allow that value to be provided in - MAKEFLAGS without error but still give warnings if -jN is provided - on the command line if the jobserver is already activated. - - * NEWS: Discuss the new behavior. - * os.h, posixos.c, w32/w32os.c: Return success/failure from - jobserver_setup() and jobserver_parse_auth(). - * main.c (main): Separate the command line storage of job slots (now - in arg_job_slots) from the control storage (in job_slots). Make a - distinction between -jN flags read from MAKEFLAGS and those seen - on the command line: for the latter if the jobserver is enabled then - warn and disable it, as before. - * tests/scripts/features/jobserver: Add new testing. - -2016-04-04 Paul Smith - - * tests/run_make_tests.pl: Add file/lineno info to .run file. - - * maintMakefile: Fix logging of check-alt-config target. - - * job.c (child_execute_job): Fix $(shell...) under NO_OUTPUT_SYNC. - * main.c (decode_output_sync_flags): Use NONE for NO_OUTPUT_SYNC. - - * main.c (main): Restrict disabling debugging for MAKEFILES. - - * Makefile.am, w32/Makefile.am: Fix *os.c for Windows builds. - Original change provided by Luke Allardyce - - * make.texi: Confirm that CURDIR contains an absolute path. - - * docs/make.texi: [SV 47392] Add "Integrating make" chapter. - - Change --jobserver-fds to more generic --jobserver-auth. - * NEWS: Mention the change. - * main.c: Rename jobserver_fds variable to jobserver_auth and - --jobserver-fds option to --jobserver-auth. - * os.h, posixos.c, w32/w32os.c: Rename jobserver_parse_arg() and - jobserver_get_arg() to jobserver_parse_auth()/jobserver_get_auth(). - -2016-03-23 Paul Smith - - * tests/run_make_tests.pl: Preserve $make_command - * tests/scripts/options/dash-n: Use $make_command. This fixes - a spurious failure when running tests with valgrind enabled. - - * variable.c: Clean up some memory leaks. - - [SV 46995] Strip leading/trailing space from variable names - * makeint.h: Change MAP_SPACE to MAP_NEWLINE, and add MAP_PATHSEP - and MAP_SPACE which is now MAP_BLANK|MAP_NEWLINE. Create - NEW_TOKEN(), END_OF_TOKEN(), ISBLANK(), ISSPACE() macros. - * main.c (initialize_stopchar_map): Set MAP_NEWLINE only for - newline characters. - * Convert all uses of isblank() and isspace() to macros. - * Examine all uses of isblank() (doesn't accept newlines) and - change them wherever possible to ISSPACE() (does accept newlines). - * function.c (func_foreach): Strip leading/trailing space. - * variable.c (parse_variable_definition): Clean up. - * tests/scripts/functions/foreach: Test settings and errors. - * tests/scripts/functions/call: Rewrite to new-style. - * tests/scripts/misc/bs-nl: Add many more tests for newlines. - -2016-03-21 Paul Smith - - * function.c (func_file): Support reading from files. - * NEWS: Add information about reading files. - * make.texi (File Function): Describe reading files. - * tests/scripts/functions/file: Test new features for $(file ...) - -2016-03-20 Paul Smith - - * doc/make.texi (Setting Variables): Fix typo (add comma). - - * job.c (child_error): Combine file info with error message. - * tests/scripts/...: Update error message matches. - -2016-03-19 Paul Smith - - * variable.c: Align type of variable_changenum. - -2016-03-13 Paul Smith - - [SV 45728] Detect changes in .VARIABLES more accurately. - For performance, we only recompute .VARIABLES when (a) it's expanded - and (b) when its value will change from a previous expansion. To - determine (b) we were checking the number of entries in the hash - table which used to work until we started undefining entries: now if - you undefine and redefine the same number of entries in between - expanding .VARIABLES, it doesn't detect any change. Instead, keep - an increasing change number. - * variables.c: Add variable_changenum. - (define_variable_in_set, merge_variable_sets): Increment - variable_changenum if adding a new variable to the global set. - (undefine_variable_in_set): Increment variable_changenum if - undefining a variable from the global set. - (lookup_special_var): Test variable_changenum not the hash table. - * tests/scripts/variables/special: Test undefining variables. - - * main.c(main): Disable output sync without parallel builds. - - [SV 46581] Pre-define .LOADED to avoid warnings. - * main.c (main): Pre-define .LOADED as a default-level variable. - * load.c (load_file): Set the value rather than append it. Avoid - adding an extra initial whitespace. - * tests/scripts/features/load: Run with --warn-undefined-variables. - -2016-03-13 Paul Smith - - [SV 44555] Use vfork() instead of fork() where available. - Testing has shown that vfork() is actually significantly - more efficient on systems where it's supported, even for - copy-on-write implementations. If make is big enough, - duplicating the page tables is significant overhead. - - * configure.ac: Check for fork/vfork. - * makeint.h: Include vfork.h and set up #define for it. - * os.h, posixos.c (get_bad_stdin): For children who can't use - the normal stdin file descriptor, get a broken one. - * job.c (start_job_command): Avoid so many ifdefs and simplify - the invocation of child_execute_job() - (child_execute_job): move the fork operation here so it can - return early for the parent process. Switch to use vfork(). - * function.c (func_shell_base): Use new child_execute_job() and - simplify ifdefs. - * job.h, main.c, remote-cstms.c, vmsjobs.c, w32os.c: Update - declarations and calls. - -2016-03-09 Paul Smith - - * job.c (exec_command): [SV 47365] Show error on exec failure. - -2016-03-08 Paul Smith - - [SV 46261] Use pselect() for jobserver where supported. - * Makefile.am, configure.ac: Check for pselect() and sys/select.h. - * main.c (main): Block SIGCHLD if we have pselect() support. - * posixos.c (jobserver_acquire): If we support pselect() then use - it to query the jobserver pipe, while also listening for SIGCHLD. - Also pselect() supports a timeout so avoid alarm() calls. - - Clean up some compiler warnings. - * commands.c, commands.h: Use unsigned char for flags. - * dir.c: Use time_t and size_t, and char for a boolean value. - * job.c: Use unsigned and char. - * read.c: Return a signed type since -1 is a valid return code. - - Extract jobserver implementation into OS-specific files. - * os.h, posixos.c, w32/w32os.c: New files implementing jobserver. - * job.c, job.h, main.c, makeint.h: Move content to new files. - * w32/include/sub_proc.h, w32/subproc/sub_proc.c: Ditto. - * Makefile.am: Build and package OS-specific files. - * build_w32.bat, make_msvc_net2003.vcproj, README.W32.template: - Update for new files, and clean up the build. - * POTFILES.in, maintMakefile, NMakefile.template: Ditto. - * w32/subproc/build.bat: Delete as unused. - - [SV 46261] Add more EINTRLOOP wrappers. - This cannot be a perfect solution because there are always other - possible places EINTR can happen, including external libraries - such as gettext, Guile etc. - -2016-02-29 Paul Smith - - * strcache.c (add_hugestring): [SV 46832] Support huge strings. - The strcache was limited to strings of length 65535 or less, - because the length is kept in an unsigned short. To support - huge strings add a new simple linked list, which we don't try - to hash. - - * strcache.c (add_string): [SV 47071] Handle huge initial string. - If the very first string added to the string cache is more than - half the maximum size, we failed when moving the only strcache - buffer to the full list. - - [SV 47151] Exit with 1 when checking recursive make -q - * job.h (struct child): New bit to mark recursive command lines. - * job.c (start_job_command): Set the recursive command line bit. - (reap_children): If the child is a recursive command and it exits - with 1 during question mode, don't print an error and exit with 1. - * tests/scripts/options/dash-q: Add a regression test. - - * main.c (define_makeflags): Add parens to avoid GCC warning. - -2016-02-29 Paul Smith - - * tests/scripts/features/archives: Handle deterministic archives. - Newer versions of binutils allow ar to be compiled to generate - "deterministic archives" by default: in this mode no timestamp - information is generated in the static archive, which utterly - breaks GNU make's archive updating capability. Debian and Ubuntu - have turned this feature on by default in their distributions - which causes the regression tests to fail. - - Update the regression tests to check for the availability of the - "U" option to ar which disables deterministic archives and allows - GNU make's archive support to work properly again. - -2016-02-28 Paul Smith - - Update Copyright statements for the new year. - - * doc/make.texi: [SV 47163] Fix typo in 'ifdef' documentation. - - * doc/make.texi: [SV 35455] Add more uses for Empty Recipes. - -2015-11-07 Gisle Vanem - - Fix diagnostics on MS-Windows when environment is too large - * w32/subproc/sub_proc.c (process_begin): Fix test of the error - cause when the environment block is too large. - -2015-10-27 Eli Zaretskii - - Update README.W32.template - * README.W32.template: Update for latest developments. Make it - clear we don't recommend using HAVE_CASE_INSENSITIVE_FS in - general. - - [SV 46304] Don't invoke C++ compiler on C sources on MS-Windows - * default.c (default_variables) [HAVE_CASE_INSENSITIVE_FS]: Make - COMPILE.C and LINK.C be synonyms for COMPILE.c and LINK.c, - respectively. - -2015-09-23 Eli Zaretskii - - [SV 45838] When invoking w32 programs, don't use free'd memory. - * w32/subproc/sub_proc.c (process_begin): Freeing argv[0] makes - the other argv[i] pointers invalid, so need to allocate a new - array and copy argv[i] for i != 0 first, replacing argv[0] with - the batch file name, before we can free argv[0]. - -2015-07-13 Paul Smith - - * implicit.c (pattern_search): [SV 43677] Mark files secondary. - In order to fix SV 12267 we were marking the prerequisites of - implicit (pattern) targets that existed elsewhere in the makefile - as precious to keep them from being deleted as intermediate files. - However this also keeps them from being deleted on error. Instead - mark them as secondary. - * tests/scripts/targets/DELETE_ON_ERROR: Test DELETE_ON_ERROR. - -2015-07-12 Paul Smith - - [SV 28092] Preserve the exit status of the $(shell...) function. - Add a new variable .SHELLSTATUS which holds the exit status of the - last-invoked shell function or != assignment. - - * NEWS, doc/make.texi: Document the change. - * function.c (shell_completed, msdos_openpipe, func_shell_base): Add - shell_completed() to handle the completion of the shell, by setting - .SHELLSTATUS. Call it where needed. - * job.c (child_handler): Call shell_completed(). - * tests/scripts/functions/shell: Add tests for .SHELLSTATUS. - -2015-07-12 Paul Smith - - * tests/scripts/misc/fopen-fail: [SV 42390] Increase test timeout. - * Makefile.am (check-regression): Force ulimit -n for fopen-fail test. - - * job.c: [SV 43936] Check sigaction for error return. - - [SV 45049] Check for '$' being the last character in a string. - * expand.c (variable_expand_string): Add a single '$' if '$' ends the - string. - * read.c (find_char_unquote, get_next_mword): Stop if '$' ends the - string. - * variable.c (parse_variable_definition): Ditto. - - * read.c (unescape_char): [SV 45050] Handle final backslashes. - If the last thing in the string to be unescaped is a backslash, - stop without reading beyond the end of the string. - - * strcache.c: [SV 45275] Handle very long strings. - Our previous behavior for handling too-long strings involved - increasing the size of the default string cache buffer, but the - implementation was incomplete. Instead, create a one-off large - string cache entry and add it directly to the full cache list - without changing the default buffer size. - -2015-07-12 Duncan Moore (tiny change) - - * job.c [RISCOS]: Remove logic that is no longer required. - -2015-07-12 Paul Smith - - * remake.c (update_file): [SV 44742] Keep double-colon rule status. - Fix suggested by Everett Boyer - -2015-07-10 James Johnston (tiny change) - - [SVN 45515] Check exit status of sub-make in subproc.bat - * subproc.bat: Exit when sub-make invocation fails. - -2015-07-10 Eli Zaretskii - - [SV 45515] Ignore Windows-specific build artifacts - * .gitignore: Ignore *.exe, *.dll.a, *.lib, *pdb, and a few more MSVC - specific artifacts. - Suggested by James Johnston - -2015-02-28 Eli Zaretskii - - [SV 44348] Fix handling of shell widlcards on MS-Windows. - * job.c (construct_command_argv_internal): If shell wildcard - characters are found inside a string quoted with "..", give up the - fast route and go through the shell. Fixes Savannah bug #44348. - -2015-01-27 John Malmberg - - Fix bs-nl handling, exit and Environment for VMS. - This fix required a complete rewrite of the command parser vmsjobs.c - child_execute_job. The old parser had too many incorrect assumptions - about DCL commands and could not be repaired to extended. - - The parser now more closely parses VMS commands and handles quoted - commands and redirection. Command File mode has been improved, but can - not fully support bs-nl syntax. - - VMS Unix shell simulation has been improved. - - * commands.c: vms_comma_separator is now a run-time setting. - * function.c: vms_comma_separator is now a run-time setting. - * function.c(func_basename_dir) now reports "[]" or "./" based on - VMS crtl runtime setting. - * job.c(start_job_command): VMS Handle empty commands propery. - * main.c: Add VMS environment variables for run-time settings. - * vms_legacy_behavior - Force older behavior. - * vms_comma_separator - Commas or spaces for separators. - * vms_unix_simulation - Enhanced Posix shell simulation features. - * Detect if VMS CRTL is set to report Unix paths instead of VMS. - * ':' and '>' are also MAP_DIRSEP on VMS. - * makeint.h: Add VMS run-time option variables. - * readme.vms: Update to current behavior. - * variable.c(define_variable_in_set): Fix VMS Environment variable - lookup. - * variable.c(define_automatic_variables): Remove some VMS specific - automatic variables and use the Unix ones instead. - * vms_export_symbol.c: Set max symbol size correctly. - * vmsjobs.c: child_execute_job() complete rewrite of VMS comand - parsing. - * vmsjobs.c(build_vms_cmd): VMS commmand building with shell simulation. - -2014-12-27 Christian Boos (tiny change) - - Fix $(shell) on hosts with 64-bit pid_t. - * function.c: Use pid_t for shell_function_pid. - * job.c: Likewise. - -2014-10-20 Paul Smith - - * main.c (main): [SV 43434] Handle NULL returns from ttyname(). - -2014-10-20 Benedikt Morbach (tiny change) - - * tests/scripts/features/archives: [SV 43405] override AR variable. - -2014-10-20 John Malmberg - - Fix VMS implicit rules and UNIX paths. - This fixes VMS implicit rules and UNIX style pathname handling. - It also fixes some of the VMS style pathname handling, more work - there will be needed later. - TODO: There are other case insensitive platforms besides VMS. - We need to find out why there is extra VMS code for this. This - indicates either the extra VMS code is not needed, or the case - insensitive support may not be complete on the other case - insensitive platforms. - - * default.c: Add missing definitions to default_suffix_rules[] and - default_variables[]. - TODO: As it is important that VMS DCL mode definitions must always - be a superset of UNIX definitions, a better way of maintaining the - VMS DCL mode definitions should be devised. - * dir.c (downcase_inplace): Add a reentrant downcase() routine. - Add future support for VMS 8.2+ _USE_STD_STAT macro which will - disable a lot of VMS specific code from compiling. - (dir_file_exists_p): vmsify filename only if directory name has VMS - directory delimiters. - (file_exists_p): Handle both VMS and UNIX directories. - (file_impossible): Handle both VMS and Unix directories. Track - whether a VMS format path is needed for the return value. - * file.c (lookup_file): Check if vmsify is needed; handle UNIX paths. - * implicit.c (pattern_search): Enable UNIX paths. - * read.c (parse_file_seq): Enable UNIX paths. - * remake.c (f_mtime): Fix gpath_search call for VMS paths. - * rule.c (count_implicit_rule): Enable UNIX paths, Fix VMS paths. - * vpath.c (selective_vpath_search): Enable UNIX paths. - -2014-10-20 John Malmberg - - Update README.VMS and move news to the NEWS file - * NEWS: Merge in VMS history. - * README.VMS: Remove VMS history, document current behavior and - known issues. - -2014-10-20 John Malmberg - - [SV 41758]: Fix archive support for VMS. - Upated to match change to run_make_tests and some future fixes to - make on VMS. - - * arscan.c: Use ANSI compatible pragmas instead of VAX C extensions. - * tests/scripts/features/archives: Fix tests to use VMS rules and - answers when running on VMS and using DCL as a shell. - * tests/scripts/features/vpath3: Fix epected answer on test when - run on VMS. - * tests/scripts/vms/library: (New) Test the VMS library rules that - are not tested by existing tests. - -2014-10-20 John Malmberg - - [SV 42447]: VMS simulate exporting symbols - This also includes fixing the most of the exit handling code for VMS. - - Self tests: - Previously about 94 Tests in 36 categories fail. - Now about 45 tests in 22 categories fail. - - Because some tests do not properly clean up, the number of tests that - fail can vary by one or two test cases between consecutive runs. - - * Makefile.am: Add new VMS files. - * job.c: add prototype for vms_strsignal(). - * job.c: (child_error): Remove VMS specific code as no longer needed. - * job.c: (reap_children): The VMS specific code was setting the - status to 0 instead of setting it to the proper exit status. - * job.h: Add vms_launch_status to struct child. - * main.c: (main): Use environment variables for options to use MCR - * instead of a foreign command, and to always use command files for - subprocesses. - For VMS use (set_program_name) routine which is common to ports of - other GNU packages to VMS to set the program name used internally. - Use (vms_putenv_symbol) to set up symbols to be visible in child - programs, including recursive make launched by execve() - Start of Bash shell detection code for VMS. - * makefile.com: Need nested_include=none for building on VMS search - lists. Add vms_progname, vms_exit, and vms_export_symbol. - * makefile.vms: Need nested_include=none for building on VMS search - lists. Add vms_progname, vms_exit, vms_export_symbol. - * makeint.h: Make sure non-standard "VMS" macro is defined. Add - prototypes for new VMS routines. Remove VMS-specific failure codes. - * vmsjobs.c: Add VMS POSIX exit code constants. - (_is_unixy_shell): Detect Bash shell. - (vms_strsignal): simulate strsignal() on VMS. - (vmsHandleChildTerm): fix to properly report failed LIB$SPAWN() exit - status codes. Remove code that duplicated code in job.c. - (child_execute_job): Export environment symbols before spawning a - child and restore afterward unless option to use command files for - subprocesses is set. Improve handling of UNIX null commands ":". - * vms_exit.c: Provides vms_exit() to detect if an exit code is UNIX - or VMS, and converts the UNIX code into a VMS exit code. - * vms_export_symbol.c: Routines to create DCL symbols that work like - shell aliases or exported shell symbols and clean them up on exit. - * vms_export_symbol_test.com: Unit test for vms_export_symbol.c - * vms_progname.c: New file: VMS specific replace for progname.c that - is used in some GNU projects. - -2014-10-20 John Malmberg - - Set up for running tests on VMS. - * run_make_tests.pl: set $port_type to be 'VMS-DCL' when the test are - run from the VMS DCL Interpreter. When the tests are run from GNV - on VMS, the $port_type will be 'UNIX'. - * run_make_tests.com: VMS search list support. This is needed for - using a search list such as prj_root = lcl_root:,vms_root:,src_root: - for building and testing. - -2014-10-09 Paul Smith - - * configure.ac, NEWS, README.git: Set up for the next release. - -2014-10-05 Paul Smith - - GNU Make release 4.1. - -2014-10-02 Eli Zaretskii - - Fix Cygwin compilation error. - * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: Fix - initializer for sh_chars_sh. - Reported by Denis Excoffier. - -2014-10-01 Gisle Vanem - - Fix last commit. - - * makeint.h (ftruncate): Define also for __WATCOMC__. - -2014-10-01 Eli Zaretskii - - Avoid compilation warnings. - * main.c (find_and_set_default_shell, main) [WINDOWS32]: Declare - variables 'const char *' to avoid compiler warnings. - * job.c (construct_command_argv_internal) [!NDEBUG]: Declare 'end' - and set it only if NDEBUG is not defined, to avoid compiler - warnings. - - Treat redirection of standard handles on Windows as it is done on Unix. - * job.c (start_job_command) [WINDOWS32]: Compute outfd and errfd - as on Posix platforms, and pass the results to process_easy. - * function.c (windows32_openpipe) [WINDOWS32]: Accept an - additional argument ERRFD and use it for redirecting the standard - error handle passed to the subprocess. - (func_shell_base) [WINDOWS32]: Pass the computed errfd to - windows32_openpipe. - -2014-09-30 Paul Smith - - Update Copyright statements for 2014. - - * tests/scripts/features/load: Avoid unused variable warnings. - - * loadapi.c (gmk_eval): Use C90 syntax. - -2014-09-30 Hartmut Becker - - * job.c: fix make action continuation lines. - * vmsjobs.c: fix writing DCL command files when trimming (white - spaces and $ signs) especially after a split (command continuation). - -2014-09-15 Bernhard Reutner-Fischer (tiny change) - - * configure.ac: Fix spacing in helptext of customs - -2014-09-15 Eli Zaretskii - - Support MAKE_TERMOUT and MAKE_TERMERR on MS-Windows. - * w32/compat/posixfcn.c (isatty, ttyname): New functions. - * config.h.W32.template (HAVE_TTYNAME): Define. Add a prototype - for ttyname. - -2014-09-15 Paul Smith - - * loadapi.c (gmk_eval): [SV 43221] Preserve var buff content for eval. - - * main.c, NEWS, doc/make.text: Rename MAKE_TTY* to MAKE_TERM* - -2014-09-14 Paul Smith - - * main.c (main): Set MAKE_TTYOUT and MAKE_TTYERR. - * configure.ac: Test for isatty() and ttyname() - * makeint.h: provide a substitute for ttyname() if it's not available. - * config.ami.template, config.h-vms.template, config.h.W32.template: - define/undefine HAVE_ISATTY/HAVE_TTYNAME macros. - * NEWS, doc/make.texi: Document these new variables. - -2014-09-07 Paul Smith - - * tests/config-flags.pm.in, tests/scripts/features/archives: [SV 43046] - Use the "ar" program detected by configure when running the test suite. - - * doc/make.texi: Clarify implicit rule lookup of phony targets - Reported by Frank Heckenbach - -2014-09-07 Hartmut Becker - - Fix and enhance VMS library support. - * ar.c: fix VMS library search for members, which do not have - suffixes, aka filename extensions. - * arscan.c: fix time conversion and library callback routines. - * default.c: more suffixes and automatically create the VMS library - if it doesn't exists. - - Enhance VMS exporting make environment variables. - * config.h-vms.template: add feature macro USE_DCL_COM_FILE to always - write a DCL command file, enabled by default. - * vmsjobs.c: with USE_DCL_COM_FILE enabled write make variables as DCL - symbol assignments into the command file. This enables printing - directory and make level info for recursive use of make. This also - enables forced DCL symbol substitution in the actions. - - Fix VMS automatic variable expansion - * function.c: add VMS code to func_notdir_suffix and func_basename_dir - to work on comma separated lists; this fixes the expansion of - $(^D), $(+D) and the F variants for VMS. - - * main.c [VMS]: Say that parallel jobs (-j) are not supported on VMS - - Enhance/fix VMS ONESHELL implementation and command execution - * job.c, vmsjobs.c: fix some double quote and new line handling; - implement ONESHELL with writing multiple lines into one DCL command - procedure; in ONESHELL allow VMS/make internal redirection only on the - first line; fix the created DCL command procedure, which didn't abort - on errors; return correct exit status from the DCL command procedure; - preserve current procedure verification; make the generated command - procedure more robust. - - Enhance/fix VMS setting of program name, MAKE/MAKE_COMMAND variables - * default.c, main.c, makeint.h, vmsfunctions.c: prefix argv[0] with - "mcr " for MAKE/MAKE_COMMAND and set the program name to the image - filename (without the .exe;version) - * vmsfunctions.c: remove obsolete code - * vmsify: use xmalloc - - Enhance/fix VMS exit code handling. - * commands.c, function.c, hash.c, job.c, main.c, output.c: - use MAKE exit codes. - * makeint.h: encode make exit codes so that they are VMS compatible. - * job.c: check child exit code for VMS style exit codes. - * vmsjobs.c: save and return VMS style exit code. - - Enhance/fix VMS multi-line support. - * job.c: split the command line at a newline. - * default.c, vmsjobs.c: change ECHO variable to a pseudo builtin, - which ensures that the VMS/DCL ECHO ("write sys$output") is used - and is correctly quoted. - * vmsjobs.c: remove unused builtin 'rm'. - - * config_flags_pm.com, [RENAMED test_make.com] run_make_tests.com: - Moved into tests directory. - - Enhance/fix VMS build environment - * config.h-vms.template: make sure the CRTL version is known - * makefile.com: always compile/link the guile module, remove VAXCRTL - parameter, new LIST parameter - * makefile.vms: always compile/link the guile module, use more - complete dependencies - * prepare_vms.com: helper to create a VMS config file when building - from a snapshot of the repository - -2014-09-07 Paul Smith - - * configure.ac, maintMakefile, w32/Makefile.am: Fix autotools issues. - Reported by Paul Eggert - -2014-08-30 Eli Zaretskii - - Change the order of "makefile" and "Makefile" to match the manual. - - Fix regression with "makefile" not being found on MS-Windows. - * read.c (read_all_makefiles) [WINDOWS32]: Recognize "makefile", - all-lowercase, as a makefile. Reported by Michael Waeber - . - -2014-07-16 Eli Zaretskii - - Fix compilation on MS-Windows. - * makeint.h [WINDOWS32]: Don't declare 'program' as 'const char *', - since it is modified in 'main'. - -2014-07-12 Eli Zaretskii - - [SV 42695] Fix compilation error on MS-Windows. - * main.c [WINDOWS32]: Don't declare 'program' as 'const char *', - since it is modified in 'main'. - -2014-07-12 Jonny Grant (tiny change) - - Fix defalt_makefiles[] for MS-Windows. - * read.c (read_all_makefiles) [WINDOWS32]: Remove the redundant - "makefile" and add "makefile.mak". - -2014-07-07 Fredrik Fornwall (tiny change) - - * arscan.c [ANDROID]: Android has no ar.h but supports archives. - -2014-07-07 Paul Smith - - * read.c (eval): [SV 41677] Correct test for TAB vs. 8 spaces. - -2014-07-07 Piotr Jaroszynski (tiny change) - - * output.c (pump_from_tmp): [SV 42378] Flush the output file regularly. - -2014-07-07 John Malmberg - - Update the regression test harness to support VMS. - * config_flags_pm.com, test_make.com: set up and run the regression - test environment on VMS. - * tests/run_make_tests.pl [VMS]: Use an alternate rmdir() - implementation on VMS. - (run_make_with_options) [VMS]: Provide VMS-specific quoting and shell - invocations. - (set_more_defaults) [VMS]: Set default values when running on VMS. - * tests/test_driver.pl (vms_get_process_logicals) [VMS]: Retrieve the - proper values from %ENV on VMS. - (resetENV) [VMS]: Use it. - (toplevel) [VMS]: Fix a bug with opendir() on some logical_devices. - (compare_output) [VMS]: Convert VMS test output to a "standard" format. - (_run_command) [VMS]: Handle signals and exit codes the VMS way. - (remove_directory_tree_inner) [VMS]: Unlink all versions of the file. - -2014-07-07 Paul Smith - - * various: Assume ISO C89-compliant free() implementation. - - * maintMakefile, various: Improve constification of the codebase. - - [SV 41983] Support omitting the text argument to $(file ...) - Reported by Tim Murphy - * function.c (func_file): Only write TEXT if it is not NULL. - * NEWS, doc/make.texi: Document the new feature - * tests/scripts/functions/file: Verify that the no-text version of - $(file ...) works and doesn't add a newline. - -2014-05-13 Jacques Germishuys - - NMakefile.template ($(OUTDIR)/posixfcn.obj): Fix a typo. - -2014-05-01 Paul Smith - - [SV 42249] Propagate correct rule status results. - * remake.c (update_file, update_file_1, check_dep): Return an enum - update_status value instead of an int, and keep the highest value we - find as we walk the graph so that the ultimate status is correct. - * tests/scripts/options/dash-q: Add a test for updating prerequisites. - -2014-02-08 Paul Smith - - * Rename MAP_PATHSEP to MAP_DIRSEP. - - * configure.ac: Fixup for newer autoconf/automake - -2014-02-08 Ray Donnelly (tiny change) - - * output.c: Ensure space for final nul byte in fmtbuf. - -2014-02-07 Gisle Vanem (tiny change) - - Improve error reporting in the Windows port when env size is too large. - w32/subproc/misc.c (arr2envblk): Compute and return the size of - the environment passed to child process. - - w32/subproc/sub_proc.c (process_begin): If the call to - CreateProcess failed with EINVAL, and the required environment - size was larger than 32KB, assume it's a Windows XP limitation, - and display an error message to that effect. - - w32/subproc/proc.h (arr2envblk): Update prototype. - -2014-02-01 Paul Smith - - * job.c (set_child_handler_action_flags): [SV 41341] - Ensure signal handler is in place before alarm(1). - -2014-01-20 Alan Hourihane (tiny change) - - * configure.ac: [SV 40790] Fix load autoconf variables. - -2014-01-17 Pavel Fedin (tiny change) - - Allow the EMX build to use output_sync. - job.c (start_job_command): Move the child output diversion out - of non-EMX branch. - [__EMX__]: Don't use fixed FD_STDOUT and FD_STDERR in the call to - child_execute_job. - -2014-01-12 Paul Smith - - * commands.c: [SV 40789] Remove unneeded header dlfcn.h - - * main.c (die): Close output_context AND make_sync. - die() can be invoked inside a separate output_context, if the - $(error ...) function is expanded as part of a recipe. - -2014-01-11 Pavel Fedin (tiny change) - - Fix .LIBPATTERNS for MS-Windows builds. - default.c (.LIBPATTERNS) [__CYGWIN__ || WINDOWS32]: Provide - library patterns for MS-Windows. - -2013-11-27 Paul Smith - - * w32/*: Remove TABs from the source code. - I know whitespace commits are annoying, but having these TABs is - causing me to miss things when I search through the code. This - doesn't try to change the w32 code to meet GNU coding standards. - - * main.c (decode_env_switches): Ensure we have enough space. - Reported (with patch) by Gerte Hoogewerf - -2013-11-27 Stephan T. Lavavej (tiny change) - - Solve some Windows build issues. - * main.c (main): Use ONS(), not OSN(). - (prepare_mutex_handle_string) [WINDOWS32]: Use %Ix formatting to - support both 32bit and 64bit systems. - * job.c (free_child, new_job): Use ONS(), not OSN(). - * w32/subproc/w32err.c (map_windws32_error_to_string): Use O() when - calling fatal(). - -2013-11-24 Paul Smith - - * features/loadapi (test_expand): Allocate memory for the nul byte. - - * load.c (load_file): Reset the name length minus the symbol. - - * read.c (unescape_char): Use memmove() for overlapping memory. - - Fix memory leak during environment option decoding. - * main.c (decode_switches): Always make a copy of option arguments. - (decode_env_switches): Use a stack buffer to convert environment - switches for parsing. - - [SV 40226] Add a new type of switch: single-string options - * main.c (struct command_switch): Change the "string" types to "strlist" - and make "string" be a single-valued string instead. - (output_sync_option, jobserver_fds, sync_mutex): Change to string type. - (decode_output_sync_flags): Handle single strings instead of lists. - (prepare_mutex_handle_string): Ditto. - (main): Ditto. - (clean_jobserver): Ditto. - (init_switches): Handle the new type. - (decode_switches): Ditto. - (define_makeflags): Ditto. - -2013-11-23 Daniel Richard G (tiny change) - - * load.c: [SV 40515] Define RTLD_GLOBAL if not set. - -2013-11-23 Paul Smith - - [SV 40361] Don't use vsnprintf(), which is an ISO C99 function. - * output.c (error, fatal, message): Take an extra argument specifying - how many bytes are used by the formatted arguments. - (get_buffer): New function that allocates the requested buffer size. - Remove msc_vsnprintf(), vfmtconcat(), and fmtconcat() as unneeded. - * makeint.h: Declare various helper macros for generating output. - * *.c: Change all error(), fatal(), message() calls to use the macros, - or pass the extra length argument directly. - -2013-10-27 Paul Smith - - * makeint.h (STOP_SET): [SV 40371] Cast to unsigned char. - * tests/scripts/misc/utf8: Test variable names with characters >127. - Fix suggested by Robert Bogomip - -2013-10-24 Gerte Hoogewerf - - Fix MS Visual Studio NET2003 build. - * make_msvc_net2003.vcproj: Do not exclude guile.c from compilation. - -2013-10-23 Christian Boos - - Fix SV bug #40227 with respect to stack size set for the MSVC build. - * NMakefile.template (/STACK): Increase to 0x400000, mainly for - the 64-bit builds. Fixes SV bug #40227. - (guile): Uncomment. - -2013-10-23 Eli Zaretskii - - Fix the MS-Windows build: now guile.c must always be compiled in. - * build_w32.bat: Always compile guile.c and link against guile.o. - Reported by Alexey Pavlov . - - * makeint.h (guile_gmake_setup): Define prototype unconditionally, - to avoid compiler warnings. - -2013-10-22 Eli Zaretskii - - Fix Savannah bug #31150 with failures due to setting window title. - * sub_proc.c (process_begin): Don't set startInfo.lpTitle, it - reportedly causes SV bug #31150, and according to MSDN it's a - no-no. - - Fix Savannah bug 40241 with Unixy file names as commands to MSYS shell. - * sub_proc.c: Include filedef.h and variable.h. - (process_begin): If exec_path was not found, but its first - character is '/', assume there's some shell magic, and invoke the - command through '$(SHELL) -c "COMMAND"'. Fixes SV bug#40241. - (make_command_line): Kludgey feature: if full_exec_path is "-c", - assume that argv[0] is not to be skipped, as it holds the command - string to be passed to the shell. - -2013-10-20 Paul Smith - - * glob.c (glob) [SV 18123]: Cherry-pick glibc fix - Apply commit a471e96a5352a5f0bde6d32dd36d33524811a2b1 from - git://sourceware.org/git/glibc.git to fix - https://sourceware.org/bugzilla/show_bug.cgi?id=10278 - - * read.c (record_files): [SV 33034] Change fatal() to error() - Allows deprecated syntax. However we don't guarantee this syntax - will continue to be legal in the future. - Change suggested by David Boyce - - * README.git: Add some missing release steps. - -2013-10-19 Paul Smith - - [SV 40240] Use configure info to build load test shared libs - * tests/config-flags.pm.in: A new file containing variable assignments - for the test suite; these variables are set by configure to contain - the values detected there for compilers, flags, etc. - * tests/run_make_tests.pl: Require the config-flags.pm file - * tests/scripts/features/load, tests/scripts/features/loadapi: Use the - configure-provided values when building the shared test library. - * configure.ac: Replace tests/config-flags.pm.in - * Makefile.am: Make sure tests/config-flags.pm is up to date - - * maintMakefile (checkcfg.%): Add testing of build.sh - - [SV 40254] Modify build.sh to work properly with Guile support. - * guile.c (guile_gmake_setup) [HAVE_GUILE]: Define a stub function - when Guile support is not enabled. - * main.c (main) [HAVE_GUILE]: Always invoke guile_gmake_setup(). - * Makefile.am: Make guile.c standard, not optional. - * build.template: Add the Guile compiler and linker flags. - - * maintMakefile: Accept variable overrides from the environment. - - * NEWS: Fix version so we can build a distfile. - - * read.c (eval): Avoid GCC warning to add braces. - - * GNUMAKEFLAGS: Remove -O so it passes in NO_OUTPUT_SYNC mode. - -2013-10-18 Christian Boos - - Fix initialization of stringlist variables for jobserver_fds and sync_mutex. - (tiny change) - - main.c (prepare_mutex_handle_string, main): Initialize - stringlist variables with at least 2 members, as one member is not - currently supported. - -2013-10-18 Eli Zaretskii - - Fix MinGW64 problem with non-compliant vsnprintf. - makeint.h (__USE_MINGW_ANSI_STDIO) [__MINGW64_VERSION_MAJOR]: - Define for MinGW64, to force it to use an ANSI-compliant - implementation of vsnprintf. Reported by Christian Boos - . - - Fix the MSVC build on MS-Windows. - output.c (vsnprintf) [_MSC_VER]: Define, instead of defining - snprintf, which isn't used. Reported by Christian Boos - . - NMakefile.template (OBJS): Add load.obj and posixfcn.obj. - ($(OUTDIR)/pathstuff.obj): New dependency. - Suggested by Christian Boos . - -2013-10-13 Paul Smith - - [SV 40139] Modify "missing separator" for better translation - - Add support for updating the GNU make web pages. - Add makefile rules for updating the http://www.gnu.org/software/make - web pages, including the online GNU make manual. - - Convert to auto-generated ChangeLog files. - Rename existing ChangeLog files so they won't be distributed. - Add targets to maintMakefile to generate ChangeLog from the Git - repository. This will require a version of gnulib be available. - Because ChangeLog is auto-generated, we have to switch our - automake mode to "foreign" or it will complain and fail. - - Set up for the next release. diff -Nru make-dfsg-4.2.1/commands.c make-dfsg-4.1/commands.c --- make-dfsg-4.2.1/commands.c 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/commands.c 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Command processing for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -26,11 +26,13 @@ #endif #if VMS -# define FILE_LIST_SEPARATOR (vms_comma_separator ? ',' : ' ') +# define FILE_LIST_SEPARATOR ',' #else # define FILE_LIST_SEPARATOR ' ' #endif +int remote_kill (int id, int sig); + #ifndef HAVE_UNISTD_H int getpid (); #endif @@ -409,10 +411,10 @@ for (idx = 0; idx < nlines; ++idx) { - unsigned char flags = 0; + int flags = 0; const char *p = lines[idx]; - while (ISBLANK (*p) || *p == '-' || *p == '@' || *p == '+') + while (isblank (*p) || *p == '-' || *p == '@' || *p == '+') switch (*(p++)) { case '+': @@ -449,7 +451,7 @@ the commands are nothing but whitespace. */ for (p = file->cmds->commands; *p != '\0'; ++p) - if (!ISSPACE (*p) && *p != '-' && *p != '@' && *p != '+') + if (!isspace ((unsigned char)*p) && *p != '-' && *p != '@') break; if (*p == '\0') { @@ -620,7 +622,10 @@ time_t file_date = (file->last_mtime == NONEXISTENT_MTIME ? (time_t) -1 : (time_t) FILE_TIMESTAMP_S (file->last_mtime)); - if (ar_member_date (file->name) != file_date) + time_t member_date = NONEXISTENT_MTIME; + int found; + found = ar_member_date (file->name, &member_date); + if (found && member_date != file_date) { if (on_behalf_of) OSS (error, NILF, diff -Nru make-dfsg-4.2.1/commands.h make-dfsg-4.1/commands.h --- make-dfsg-4.2.1/commands.h 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/commands.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definition of data structures describing shell commands for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -19,10 +19,10 @@ struct commands { - floc fileinfo; /* Where commands were defined. */ + gmk_floc fileinfo; /* Where commands were defined. */ char *commands; /* Commands text. */ char **command_lines; /* Commands chopped up into lines. */ - unsigned char *lines_flags; /* One set of flag bits for each line. */ + char *lines_flags; /* One set of flag bits for each line. */ unsigned short ncommand_lines;/* Number of command lines. */ char recipe_prefix; /* Recipe prefix for this command set. */ unsigned int any_recurse:1; /* Nonzero if any 'lines_flags' elt has */ @@ -34,7 +34,6 @@ #define COMMANDS_SILENT 2 /* Silent: @. */ #define COMMANDS_NOERROR 4 /* No errors: -. */ -RETSIGTYPE fatal_error_signal (int sig); void execute_file_commands (struct file *file); void print_commands (const struct commands *cmds); void delete_child_targets (struct child *child); diff -Nru make-dfsg-4.2.1/config/config.rpath make-dfsg-4.1/config/config.rpath --- make-dfsg-4.2.1/config/config.rpath 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/config.rpath 2016-01-16 10:25:59.000000000 +0000 @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2014 Free Software Foundation, Inc. +# Copyright 1996-2010 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # @@ -25,7 +25,7 @@ # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. -# All known linkers require a '.a' archive for static linking (except MSVC, +# All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so @@ -57,6 +57,13 @@ aix*) wl='-Wl,' ;; + darwin*) + case $cc_basename in + xlc*) + wl='-Wl,' + ;; + esac + ;; mingw* | cygwin* | pw32* | os2* | cegcc*) ;; hpux9* | hpux10* | hpux11*) @@ -65,7 +72,9 @@ irix5* | irix6* | nonstopux*) wl='-Wl,' ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + newsos6) + ;; + linux* | k*bsd*-gnu) case $cc_basename in ecc*) wl='-Wl,' @@ -76,26 +85,17 @@ lf95*) wl='-Wl,' ;; - nagfor*) - wl='-Wl,-Wl,,' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; - xl* | bgxl* | bgf* | mpixl*) - wl='-Wl,' - ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) - wl= - ;; *Sun\ C*) wl='-Wl,' ;; @@ -103,24 +103,13 @@ ;; esac ;; - newsos6) - ;; - *nto* | *qnx*) - ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - wl='-Qoption ld ' - ;; - *) - wl='-Wl,' - ;; - esac + wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' @@ -182,14 +171,15 @@ fi ;; amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we cannot use + # them. + ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then @@ -208,13 +198,11 @@ ld_shlibs=no fi ;; - haiku*) - ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else @@ -337,14 +325,10 @@ fi ;; amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no ;; bsdi[45]*) ;; @@ -358,16 +342,29 @@ ;; darwin* | rhapsody*) hardcode_direct=no - if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then + if test "$GCC" = yes ; then : else - ld_shlibs=no + case $cc_basename in + xlc*) + ;; + *) + ld_shlibs=no + ;; + esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; - freebsd2.[01]*) + freebsd1*) + ld_shlibs=no + ;; + freebsd2.2*) + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + ;; + freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; @@ -423,8 +420,6 @@ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; - *nto* | *qnx*) - ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes @@ -520,12 +515,7 @@ library_names_spec='$libname$shrext' ;; amigaos*) - case "$host_cpu" in - powerpc*) - library_names_spec='$libname$shrext' ;; - m68k) - library_names_spec='$libname.a' ;; - esac + library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' @@ -544,18 +534,19 @@ dgux*) library_names_spec='$libname$shrext' ;; - freebsd[23].*) - library_names_spec='$libname$shrext$versuffix' + freebsd1*) ;; freebsd* | dragonfly*) - library_names_spec='$libname$shrext' + case "$host_os" in + freebsd[123]*) + library_names_spec='$libname$shrext$versuffix' ;; + *) + library_names_spec='$libname$shrext' ;; + esac ;; gnu*) library_names_spec='$libname$shrext' ;; - haiku*) - library_names_spec='$libname$shrext' - ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) @@ -591,7 +582,7 @@ ;; linux*oldld* | linux*aout* | linux*coff*) ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) + linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) @@ -603,7 +594,7 @@ newsos6) library_names_spec='$libname$shrext' ;; - *nto* | *qnx*) + nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) @@ -634,9 +625,6 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; - tpf*) - library_names_spec='$libname$shrext' - ;; uts4*) library_names_spec='$libname$shrext' ;; diff -Nru make-dfsg-4.2.1/config/dospaths.m4 make-dfsg-4.1/config/dospaths.m4 --- make-dfsg-4.2.1/config/dospaths.m4 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/config/dospaths.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ # Test if the system uses DOS-style pathnames (drive specs and backslashes) # By Paul Smith . Based on dos.m4 by Jim Meyering. # -# Copyright (C) 1993-2016 Free Software Foundation, Inc. +# Copyright (C) 1993-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/config/gettext.m4 make-dfsg-4.1/config/gettext.m4 --- make-dfsg-4.2.1/config/gettext.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/gettext.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ -# gettext.m4 serial 66 (gettext-0.18.2) -dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. +# gettext.m4 serial 63 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -35,7 +35,7 @@ dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value '$(top_builddir)/intl/' is used. +dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled @@ -97,7 +97,7 @@ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) - dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation. + dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. @@ -157,18 +157,12 @@ fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include + [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - ]])], +extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) @@ -189,47 +183,35 @@ gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include + AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias (const char *); - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ]])], +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include + AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif -const char *_nl_expand_alias (const char *); - ]], - [[ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ]])], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) +const char *_nl_expand_alias (const char *);], + [bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) diff -Nru make-dfsg-4.2.1/config/iconv.m4 make-dfsg-4.1/config/iconv.m4 --- make-dfsg-4.2.1/config/iconv.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/iconv.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ -# iconv.m4 serial 19 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2007-2014 Free Software Foundation, Inc. +# iconv.m4 serial 11 (gettext-0.18.1) +dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -30,35 +30,27 @@ dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], [am_cv_func_iconv=yes]) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include -#include - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], + AC_TRY_LINK([#include +#include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], [am_cv_lib_iconv=yes] [am_cv_func_iconv=yes]) LIBS="$am_save_LIBS" @@ -66,43 +58,33 @@ ]) if test "$am_cv_func_iconv" = yes; then AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ - dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, - dnl Solaris 10. + dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. am_save_LIBS="$LIBS" if test $am_cv_lib_iconv = yes; then LIBS="$LIBS $LIBICONV" fi - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[ + AC_TRY_RUN([ #include #include - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - ]], - [[int result = 0; +int main () +{ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful returns. */ { iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); if (cd_utf8_to_88591 != (iconv_t)(-1)) { - static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + static const char input[] = "\342\202\254"; /* EURO SIGN */ char buf[10]; - ICONV_CONST char *inptr = input; + const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_utf8_to_88591, - &inptr, &inbytesleft, + (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); + return 1; } } /* Test against Solaris 10 bug: Failures are not distinguishable from @@ -111,37 +93,17 @@ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); if (cd_ascii_to_88591 != (iconv_t)(-1)) { - static ICONV_CONST char input[] = "\263"; + static const char input[] = "\263"; char buf[10]; - ICONV_CONST char *inptr = input; + const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_ascii_to_88591, - &inptr, &inbytesleft, + (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); + return 1; } } #if 0 /* This bug could be worked around by the caller. */ @@ -150,18 +112,17 @@ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); if (cd_88591_to_utf8 != (iconv_t)(-1)) { - static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; char buf[50]; - ICONV_CONST char *inptr = input; + const char *inptr = input; size_t inbytesleft = strlen (input); char *outptr = buf; size_t outbytesleft = sizeof (buf); size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, + (char **) &inptr, &inbytesleft, &outptr, &outbytesleft); if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); + return 1; } } #endif @@ -175,16 +136,13 @@ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) /* Try HP-UX names. */ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - result |= 16; - return result; -]])], - [am_cv_func_iconv_works=yes], , - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - test "$am_cv_func_iconv_works" = no || break - done + return 1; + return 0; +}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) LIBS="$am_save_LIBS" ]) case "$am_cv_func_iconv_works" in @@ -225,47 +183,32 @@ m4_version_prereq([2.64], [[AC_DEFUN_ONCE( [$1], [$2])]], - [m4_ifdef([gl_00GNULIB], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [[AC_DEFUN( - [$1], [$2])]])])) + [[AC_DEFUN( + [$1], [$2])]])) gl_iconv_AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL([am_cv_proto_iconv], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ + AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) +#if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif - ]], - [[]])], - [am_cv_proto_iconv_arg1=""], - [am_cv_proto_iconv_arg1="const"]) +], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([ $am_cv_proto_iconv]) AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], [Define as const if the declaration of iconv() needs const.]) - dnl Also substitute ICONV_CONST in the gnulib generated . - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) fi ]) diff -Nru make-dfsg-4.2.1/config/intlmacosx.m4 make-dfsg-4.1/config/intlmacosx.m4 --- make-dfsg-4.2.1/config/intlmacosx.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/intlmacosx.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ -# intlmacosx.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2004-2014 Free Software Foundation, Inc. +# intlmacosx.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,40 +13,35 @@ dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. -dnl Checks for special options needed on Mac OS X. +dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ - dnl Check for API introduced in Mac OS X 10.2. + dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], [gt_cv_func_CFPreferencesCopyAppValue], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFPreferencesCopyAppValue(NULL, NULL)]])], + AC_TRY_LINK([#include ], + [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], - [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) + [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi - dnl Check for API introduced in Mac OS X 10.3. + dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[#include ]], - [[CFLocaleCopyCurrent();]])], + AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) + [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then diff -Nru make-dfsg-4.2.1/config/lib-ld.m4 make-dfsg-4.1/config/lib-ld.m4 --- make-dfsg-4.2.1/config/lib-ld.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/lib-ld.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,56 +1,50 @@ -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc. +# lib-ld.m4 serial 4 (gettext-0.18) +dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, -dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid -dnl collision with libtool.m4. +dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision +dnl with libtool.m4. -dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. +dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU lds only accept -v. +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 /dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi - ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) + AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -60,11 +54,11 @@ esac case $ac_prog in # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + [[\\/]* | [A-Za-z]:[\\/]*)] + [re_direlt='/[^/][^/]*/\.\./'] + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" @@ -85,26 +79,23 @@ fi AC_CACHE_VAL([acl_cv_path_LD], [if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do - IFS="$acl_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. + # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 &1 < /dev/null` in *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; + test "$with_gnu_ld" != no && break ;; *) - test "$with_gnu_ld" != yes && break - ;; + test "$with_gnu_ld" != yes && break ;; esac fi done - IFS="$acl_save_ifs" + IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) diff -Nru make-dfsg-4.2.1/config/lib-link.m4 make-dfsg-4.1/config/lib-link.m4 --- make-dfsg-4.2.1/config/lib-link.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/lib-link.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ -# lib-link.m4 serial 26 (gettext-0.18.2) -dnl Copyright (C) 2001-2014 Free Software Foundation, Inc. +# lib-link.m4 serial 21 (gettext-0.18) +dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,9 +18,9 @@ [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[m4_translit([$1],[./+-], [____])]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" @@ -58,9 +58,9 @@ [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[m4_translit([$1],[./+-], [____])]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([Name],[translit([$1],[./-], [___])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. @@ -85,8 +85,7 @@ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; *) LIBS="$LIB[]NAME $LIBS" ;; esac - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[$3]], [[$4]])], + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) LIBS="$ac_save_LIBS" @@ -116,8 +115,6 @@ dnl Determine the platform dependent parameters needed to use rpath: dnl acl_libext, dnl acl_shlibext, -dnl acl_libname_spec, -dnl acl_library_names_spec, dnl acl_hardcode_libdir_flag_spec, dnl acl_hardcode_libdir_separator, dnl acl_hardcode_direct, @@ -160,15 +157,15 @@ dnl macro call that searches for libname. AC_DEFUN([AC_LIB_FROMPACKAGE], [ - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_frompackage_]NAME, [$2]) popdef([NAME]) pushdef([PACK],[$2]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) + m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) popdef([PACKUP]) popdef([PACK]) ]) @@ -181,14 +178,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) + pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) + pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ @@ -245,7 +242,7 @@ names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then diff -Nru make-dfsg-4.2.1/config/lib-prefix.m4 make-dfsg-4.1/config/lib-prefix.m4 --- make-dfsg-4.2.1/config/lib-prefix.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/lib-prefix.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ # lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. diff -Nru make-dfsg-4.2.1/config/longlong.m4 make-dfsg-4.1/config/longlong.m4 --- make-dfsg-4.2.1/config/longlong.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/longlong.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,113 +0,0 @@ -# longlong.m4 serial 17 -dnl Copyright (C) 1999-2007, 2009-2014 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Paul Eggert. - -# Define HAVE_LONG_LONG_INT if 'long long int' works. -# This fixes a bug in Autoconf 2.61, and can be faster -# than what's in Autoconf 2.62 through 2.68. - -# Note: If the type 'long long int' exists but is only 32 bits large -# (as on some very old compilers), HAVE_LONG_LONG_INT will not be -# defined. In this case you can treat 'long long int' like 'long int'. - -AC_DEFUN([AC_TYPE_LONG_LONG_INT], -[ - AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT]) - AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int], - [ac_cv_type_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int - if test $ac_cv_type_long_long_int = yes; then - dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004. - dnl If cross compiling, assume the bug is not important, since - dnl nobody cross compiles for this platform as far as we know. - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[@%:@include - @%:@ifndef LLONG_MAX - @%:@ define HALF \ - (1LL << (sizeof (long long int) * CHAR_BIT - 2)) - @%:@ define LLONG_MAX (HALF - 1 + HALF) - @%:@endif]], - [[long long int n = 1; - int i; - for (i = 0; ; i++) - { - long long int m = n << i; - if (m >> i != n) - return 1; - if (LLONG_MAX / 2 < m) - break; - } - return 0;]])], - [], - [ac_cv_type_long_long_int=no], - [:]) - fi - fi]) - if test $ac_cv_type_long_long_int = yes; then - AC_DEFINE([HAVE_LONG_LONG_INT], [1], - [Define to 1 if the system has the type 'long long int'.]) - fi -]) - -# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works. -# This fixes a bug in Autoconf 2.61, and can be faster -# than what's in Autoconf 2.62 through 2.68. - -# Note: If the type 'unsigned long long int' exists but is only 32 bits -# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT -# will not be defined. In this case you can treat 'unsigned long long int' -# like 'unsigned long int'. - -AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT], -[ - AC_CACHE_CHECK([for unsigned long long int], - [ac_cv_type_unsigned_long_long_int], - [ac_cv_type_unsigned_long_long_int=yes - if test "x${ac_cv_prog_cc_c99-no}" = xno; then - AC_LINK_IFELSE( - [_AC_TYPE_LONG_LONG_SNIPPET], - [], - [ac_cv_type_unsigned_long_long_int=no]) - fi]) - if test $ac_cv_type_unsigned_long_long_int = yes; then - AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1], - [Define to 1 if the system has the type 'unsigned long long int'.]) - fi -]) - -# Expands to a C program that can be used to test for simultaneous support -# of 'long long' and 'unsigned long long'. We don't want to say that -# 'long long' is available if 'unsigned long long' is not, or vice versa, -# because too many programs rely on the symmetry between signed and unsigned -# integer types (excluding 'bool'). -AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET], -[ - AC_LANG_PROGRAM( - [[/* For now, do not test the preprocessor; as of 2007 there are too many - implementations with broken preprocessors. Perhaps this can - be revisited in 2012. In the meantime, code should not expect - #if to work with literals wider than 32 bits. */ - /* Test literals. */ - long long int ll = 9223372036854775807ll; - long long int nll = -9223372036854775807LL; - unsigned long long int ull = 18446744073709551615ULL; - /* Test constant expressions. */ - typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll) - ? 1 : -1)]; - typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1 - ? 1 : -1)]; - int i = 63;]], - [[/* Test availability of runtime routines for shift and division. */ - long long int llmax = 9223372036854775807ll; - unsigned long long int ullmax = 18446744073709551615ull; - return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i) - | (llmax / ll) | (llmax % ll) - | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i) - | (ullmax / ull) | (ullmax % ull));]]) -]) diff -Nru make-dfsg-4.2.1/config/Makefile.am make-dfsg-4.1/config/Makefile.am --- make-dfsg-4.2.1/config/Makefile.am 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/config/Makefile.am 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ # -*-Makefile-*-, or close enough -# Copyright (C) 2002-2016 Free Software Foundation, Inc. +# Copyright (C) 2002-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/config/mdate-sh make-dfsg-4.1/config/mdate-sh --- make-dfsg-4.2.1/config/mdate-sh 2016-06-10 23:03:22.000000000 +0000 +++ make-dfsg-4.1/config/mdate-sh 2016-01-16 10:25:59.000000000 +0000 @@ -1,9 +1,9 @@ #!/bin/sh # Get modification time of a file or directory and pretty-print it. -scriptversion=2015-04-09.19; # UTC +scriptversion=2010-08-21.06; # UTC -# Copyright (C) 1995-2014 Free Software Foundation, Inc. +# Copyright (C) 1995-2013 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify @@ -74,10 +74,6 @@ LC_TIME=C export LC_TIME -# Use UTC to get reproducible result -TZ=UTC -export TZ - # GNU ls changes its time format in response to the TIME_STYLE # variable. Since we cannot assume 'unset' works, revert this # variable to its documented default. diff -Nru make-dfsg-4.2.1/config/nls.m4 make-dfsg-4.1/config/nls.m4 --- make-dfsg-4.2.1/config/nls.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/nls.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ # nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014 Free Software Foundation, +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, diff -Nru make-dfsg-4.2.1/config/po.m4 make-dfsg-4.1/config/po.m4 --- make-dfsg-4.2.1/config/po.m4 2016-06-10 23:03:16.000000000 +0000 +++ make-dfsg-4.1/config/po.m4 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ -# po.m4 serial 24 (gettext-0.19) -dnl Copyright (C) 1995-2014 Free Software Foundation, Inc. +# po.m4 serial 17 (gettext-0.18) +dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -17,20 +17,19 @@ dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. -AC_PREREQ([2.60]) +AC_PREREQ([2.50]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_MKDIR_P])dnl - AC_REQUIRE([AC_PROG_SED])dnl + AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.19]) + AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. @@ -103,7 +102,7 @@ case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -119,8 +118,7 @@ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - gt_tab=`printf '\t'` - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" + cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration @@ -131,12 +129,12 @@ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assignment from automake < 1.5. + # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assignment from automake < 1.5. + # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES @@ -228,7 +226,7 @@ changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -256,7 +254,6 @@ fi # A sed script that extracts the value of VARIABLE from a Makefile. - tab=`printf '\t'` sed_x_variable=' # Test if the hold space is empty. x @@ -264,9 +261,9 @@ x ta # Yes it was empty. Look if we have the expected variable definition. -/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{ +/^[ ]*VARIABLE[ ]*=/{ # Seen the first line of the variable definition. - s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=// + s/^[ ]*VARIABLE[ ]*=// ba } bd @@ -318,7 +315,7 @@ sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'` ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"` fi - # Hide the ALL_LINGUAS assignment from automake < 1.5. + # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) @@ -408,15 +405,14 @@ fi sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp" - tab=`printf '\t'` if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" </dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, diff -Nru make-dfsg-4.2.1/config/texinfo.tex make-dfsg-4.1/config/texinfo.tex --- make-dfsg-4.2.1/config/texinfo.tex 2016-06-10 23:03:38.000000000 +0000 +++ make-dfsg-4.1/config/texinfo.tex 2016-01-16 10:25:59.000000000 +0000 @@ -3,12 +3,11 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2016-06-07.21} +\def\texinfoversion{2014-05-20.16} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 -% Free Software Foundation, Inc. +% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -67,10 +66,6 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} -% LaTeX's \typeout. This ensures that the messages it is used for -% are identical in format to the corresponding ones from latex/pdflatex. -\def\typeout{\immediate\write17}% - \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. @@ -101,9 +96,7 @@ \let\ptexraggedright=\raggedright \let\ptexrbrace=\} \let\ptexslash=\/ -\let\ptexsp=\sp \let\ptexstar=\* -\let\ptexsup=\sup \let\ptext=\t \let\ptextop=\top {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode @@ -162,10 +155,22 @@ \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi -% Give the space character the catcode for a space. -\def\spaceisspace{\catcode`\ =10\relax} - +% Since the category of space is not known, we have to be careful. +\chardef\spacecat = 10 +\def\spaceisspace{\catcode`\ =\spacecat} + +% sometimes characters are active, so we need control sequences. +\chardef\ampChar = `\& +\chardef\colonChar = `\: +\chardef\commaChar = `\, \chardef\dashChar = `\- +\chardef\dotChar = `\. +\chardef\exclamChar= `\! +\chardef\hashChar = `\# +\chardef\lquoteChar= `\` +\chardef\questChar = `\? +\chardef\rquoteChar= `\' +\chardef\semiChar = `\; \chardef\slashChar = `\/ \chardef\underChar = `\_ @@ -188,6 +193,17 @@ wide-spread wrap-around } +% Margin to add to right of even pages, to left of odd pages. +\newdimen\bindingoffset +\newdimen\normaloffset +\newdimen\pagewidth \newdimen\pageheight + +% For a final copy, take out the rectangles +% that mark overfull boxes (in case you have decided +% that the text looks ok even though it passes the margin). +% +\def\finalout{\overfullrule=0pt } + % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. We also make @@ -232,15 +248,6 @@ \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} -% Output routine -% - -% For a final copy, take out the rectangles -% that mark overfull boxes (in case you have decided -% that the text looks ok even though it passes the margin). -% -\def\finalout{\overfullrule=0pt } - % Do @cropmarks to get crop marks. % \newif\ifcropmarks @@ -263,18 +270,10 @@ % % Another complication is to let the user choose whether \thischapter % (\thissection) refers to the chapter (section) in effect at the top -% of a page, or that at the bottom of a page. - -% \domark is called twice inside \chapmacro, to add one -% mark before the section break, and one after. -% In the second call \prevchapterdefs is the same as \lastchapterdefs, -% and \prevsectiondefs is the same as \lastsectiondefs. -% Then if the page is not broken at the mark, some of the previous -% section appears on the page, and we can get the name of this section -% from \firstmark for @everyheadingmarks top. -% @everyheadingmarks bottom uses \botmark. -% -% See page 260 of The TeXbook. +% of a page, or that at the bottom of a page. The solution is +% described on page 260 of The TeXbook. It involves outputting two +% marks for the sectioning macros, one before the section break, and +% one after. I won't pretend I can describe this better than DEK... \def\domark{% \toks0=\expandafter{\lastchapterdefs}% \toks2=\expandafter{\lastsectiondefs}% @@ -282,15 +281,11 @@ \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% - \the\toks0 \the\toks2 % 0: marks for @everyheadingmarks top - \noexpand\or \the\toks4 \the\toks6 % 1: for @everyheadingmarks bottom + \the\toks0 \the\toks2 % 0: top marks (\last...) + \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...) \noexpand\else \the\toks8 % 2: color marks }% } - -% \gettopheadingmarks, \getbottomheadingmarks, -% \getcolormarks - extract needed part of mark. -% % \topmark doesn't work for the very first chapter (after the title % page or the contents), so we use \firstmark there -- this gets us % the mark with the chapter defs, unless the user sneaks in, e.g., @@ -306,67 +301,36 @@ % Avoid "undefined control sequence" errors. \def\lastchapterdefs{} \def\lastsectiondefs{} -\def\lastsection{} \def\prevchapterdefs{} \def\prevsectiondefs{} \def\lastcolordefs{} -% Margin to add to right of even pages, to left of odd pages. -\newdimen\bindingoffset -\newdimen\normaloffset -\newdimen\txipagewidth \newdimen\txipageheight - % Main output routine. -% \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox -% \onepageout takes a vbox as an argument. -% \shipout a vbox for a single page, adding an optional header, footer, -% cropmarks, and footnote. This also causes index entries for this page -% to be written to the auxiliary files. -% +% \onepageout takes a vbox as an argument. Note that \pagecontents +% does insertions, but you have to call it yourself. \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % - % Common context changes for both heading and footing. % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). - \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars} - % - % Retrieve the information for the headings from the marks in the page, - % and call Plain TeX's \makeheadline and \makefootline, which use the - % values in \headline and \footline. - % - % This is used to check if we are on the first page of a chapter. - \ifcase1\topmark\fi - \let\prevchaptername\thischaptername - \ifcase0\firstmark\fi - \let\curchaptername\thischaptername + \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars} % \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi - % - \ifx\curchaptername\prevchaptername - \let\thischapterheading\thischapter - \else - % \thischapterheading is the same as \thischapter except it is blank - % for the first page of a chapter. This is to prevent the chapter name - % being shown twice. - \def\thischapterheading{}% - \fi - % \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% + % + \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% % {% - % Set context for writing to auxiliary files like index files. % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. @@ -375,10 +339,10 @@ \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. % We don't want .vr (or whatever) entries like this: - % \entry{{\indexbackslash }acronym}{32}{\code {\acronym}} + % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} % "\acronym" won't work when it's read back in; % it needs to be - % {\code {{\backslashcurfont }acronym} + % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi @@ -436,8 +400,7 @@ \newinsert\margin \dimen\margin=\maxdimen -% Main part of page, including any footnotes -\def\pagebody#1{\vbox to\txipageheight{\boxmaxdepth=\maxdepth #1}} +\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) @@ -459,13 +422,9 @@ \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} - -% Argument parsing - % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. -% For example, \def\foo{\parsearg\fooxxx}. % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% @@ -484,11 +443,9 @@ }% } -% First remove any @comment, then any @c comment. Also remove a @texinfoc -% comment (see \scanmacro for details). Pass the result on to \argcheckspaces. +% First remove any @comment, then any @c comment. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} -\def\argremovec#1\c#2\ArgTerm{\argremovetexinfoc #1\texinfoc\ArgTerm} -\def\argremovetexinfoc#1\texinfoc#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % @@ -523,13 +480,14 @@ % \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} - -% \parseargdef - define a command taking an argument on the line -% % \parseargdef\foo{...} % is roughly equivalent to % \def\foo{\parsearg\Xfoo} % \def\Xfoo#1{...} +% +% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my +% favourite TeX trick. --kasal, 16nov03 + \def\parseargdef#1{% \expandafter \doparseargdef \csname\string#1\endcsname #1% } @@ -719,26 +677,21 @@ \endgraf % Not \par, as it may have been set to \lisppar. \global\dimen1 = \prevdepth \egroup % End the \vtop. - \addgroupbox - \prevdepth = \dimen1 - \checkinserts -} - -\def\addgroupbox{ % \dimen0 is the vertical size of the group's box. \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox % \dimen2 is how much space is left on the page (more or less). - \dimen2 = \txipageheight \advance\dimen2 by -\pagetotal + \dimen2 = \pageheight \advance\dimen2 by -\pagetotal % if the group doesn't fit on the current page, and it's a big big % group, force a page break. \ifdim \dimen0 > \dimen2 - \ifdim \pagetotal < \vfilllimit\txipageheight + \ifdim \pagetotal < \vfilllimit\pageheight \page \fi \fi \box\groupbox + \prevdepth = \dimen1 + \checkinserts } - % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. @@ -981,20 +934,12 @@ % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment % -\def\comment{\begingroup \catcode`\^^M=\active% -\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other\commentxxx}% - -{\catcode`\^^M=\active% -\gdef\commentxxx#1^^M{\endgroup% -\futurelet\nexttoken\commentxxxx}% -\gdef\commentxxxx{\ifx\nexttoken\aftermacro\expandafter\comment\fi}% -} - -\def\c{\begingroup \catcode`\^^M=\active% +\def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% -\cxxx} -{\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}} -% See comment in \scanmacro about why the definitions of @c and @comment differ +\commentxxx} +{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} +% +\let\c=\comment % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. @@ -1065,23 +1010,69 @@ % paragraph. % \gdef\dosuppressfirstparagraphindent{% - \gdef\indent {\restorefirstparagraphindent \indent}% - \gdef\noindent{\restorefirstparagraphindent \noindent}% - \global\everypar = {\kern -\parindent \restorefirstparagraphindent}% + \gdef\indent{% + \restorefirstparagraphindent + \indent + }% + \gdef\noindent{% + \restorefirstparagraphindent + \noindent + }% + \global\everypar = {% + \kern -\parindent + \restorefirstparagraphindent + }% } -% + \gdef\restorefirstparagraphindent{% - \global\let\indent = \ptexindent - \global\let\noindent = \ptexnoindent - \global\everypar = {}% + \global \let \indent = \ptexindent + \global \let \noindent = \ptexnoindent + \global \everypar = {}% } % @refill is a no-op. \let\refill=\relax -% @setfilename INFO-FILENAME - ignored -\let\setfilename=\comment +% If working on a large document in chapters, it is convenient to +% be able to disable indexing, cross-referencing, and contents, for test runs. +% This is done with @novalidate (before @setfilename). +% +\newif\iflinks \linkstrue % by default we want the aux files. +\let\novalidate = \linksfalse + +% @setfilename is done at the beginning of every texinfo file. +% So open here the files we need to have open while reading the input. +% This makes it possible to make a .fmt file for texinfo. +\def\setfilename{% + \fixbackslash % Turn off hack to swallow `\input texinfo'. + \iflinks + \tryauxfile + % Open the new aux file. TeX will close it automatically at exit. + \immediate\openout\auxfile=\jobname.aux + \fi % \openindices needs to do some work in any case. + \openindices + \let\setfilename=\comment % Ignore extra @setfilename cmds. + % + % If texinfo.cnf is present on the system, read it. + % Useful for site-wide @afourpaper, etc. + \openin 1 texinfo.cnf + \ifeof 1 \else \input texinfo.cnf \fi + \closein 1 + % + \comment % Ignore the actual filename. +} + +% Called from \setfilename. +% +\def\openindices{% + \newindex{cp}% + \newcodeindex{fn}% + \newcodeindex{vr}% + \newcodeindex{tp}% + \newcodeindex{ky}% + \newcodeindex{pg}% +} % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} @@ -1099,69 +1090,10 @@ \newtoks\toksC \newtoks\toksD \newbox\boxA -\newbox\boxB \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest -% -% For LuaTeX -% - -\ifx\luatexversion\thisisundefined -\else - % Escape PDF strings UTF-8 to UTF-16 - \begingroup - \catcode`\%=12 - \directlua{ - function UTF16oct(str) - tex.sprint(string.char(0x5c) .. '376' .. string.char(0x5c) .. '377') - for c in string.utfvalues(str) do - if c < 0x10000 then - tex.sprint( - string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o', - (c / 256), (c % 256))) - else - c = c - 0x10000 - local c_hi = c / 1024 + 0xd800 - local c_lo = c % 1024 + 0xdc00 - tex.sprint( - string.format(string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o' .. - string.char(0x5c) .. string.char(0x25) .. '03o', - (c_hi / 256), (c_hi % 256), - (c_lo / 256), (c_lo % 256))) - end - end - end - } - \endgroup - \def\pdfescapestring#1{\directlua{UTF16oct('\luaescapestring{#1}')}} - \ifnum\luatexversion>84 - % For LuaTeX >= 0.85 - \def\pdfdest{\pdfextension dest} - \let\pdfoutput\outputmode - \def\pdfliteral{\pdfextension literal} - \def\pdfcatalog{\pdfextension catalog} - \def\pdftexversion{\numexpr\pdffeedback version\relax} - \let\pdfximage\saveimageresource - \let\pdfrefximage\useimageresource - \let\pdflastximage\lastsavedimageresourceindex - \def\pdfendlink{\pdfextension endlink\relax} - \def\pdfoutline{\pdfextension outline} - \def\pdfstartlink{\pdfextension startlink} - \def\pdffontattr{\pdfextension fontattr} - \def\pdfobj{\pdfextension obj} - \def\pdflastobj{\numexpr\pdffeedback lastobj\relax} - \let\pdfpagewidth\pagewidth - \let\pdfpageheight\pageheight - \edef\pdfhorigin{\pdfvariable horigin} - \edef\pdfvorigin{\pdfvariable vorigin} - \fi -\fi - % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 % can be set). So we test for \relax and 0 as well as being undefined. \ifx\pdfoutput\thisisundefined @@ -1192,7 +1124,6 @@ \ifx\pdfescapestring\thisisundefined % No primitive available; should we give a warning or log? % Many times it won't matter. - \xdef#1{#1}% \else % The expandable \pdfescapestring primitive escapes parentheses, % backslashes, and other special chars. @@ -1216,8 +1147,8 @@ \def\rgbDarkRed{0.50 0.09 0.12} \def\rgbBlack{0 0 0} % - % rg sets the color for filling (usual text, etc.); - % RG sets the color for stroking (thin rules, e.g., normal _'s). + % k sets the color for filling (usual text, etc.); + % K sets the color for stroking (thin rules, e.g., normal _'s). \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} % % Set color, and create a mark which defines \thiscolor accordingly, @@ -1312,10 +1243,8 @@ % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. \indexnofonts - \makevalueexpandable \turnoffactive - % Use ASCII approximations in destination names. - \passthroughcharsfalse + \makevalueexpandable \def\pdfdestname{#1}% \txiescapepdf\pdfdestname \safewhatsit{\pdfdest name{\pdfdestname} xyz}% @@ -1348,36 +1277,18 @@ % page number. We could generate a destination for the section % text in the case where a section has no node, but it doesn't % seem worth the trouble, since most documents are normally structured. - { - \ifx\luatexversion\thisisundefined \else - \turnoffactive % LuaTeX can use Unicode strings for PDF - \fi - \edef\pdfoutlinedest{#3}% - \ifx\pdfoutlinedest\empty - \def\pdfoutlinedest{#4}% - \else - \txiescapepdf\pdfoutlinedest - \fi - % - % Also escape PDF chars in the display string. - \bgroup - \ifx \declaredencoding \latone - % The PDF format can use an extended form of Latin-1 in bookmark - % strings. See Appendix D of the PDF Reference, Sixth Edition, for - % the "PDFDocEncoding". - \passthroughcharstrue - \fi - \ifx \declaredencoding \utfeight - % TODO: the PDF format can use UTF-16 in bookmark strings, but the - % code for this isn't done yet. - \fi - \globaldefs=1 - \edef\pdfoutlinetext{#1}% - \txiescapepdf\pdfoutlinetext - \egroup - % - \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% - } + \edef\pdfoutlinedest{#3}% + \ifx\pdfoutlinedest\empty + \def\pdfoutlinedest{#4}% + \else + \txiescapepdf\pdfoutlinedest + \fi + % + % Also escape PDF chars in the display string. + \edef\pdfoutlinetext{#1}% + \txiescapepdf\pdfoutlinetext + % + \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% } % \def\pdfmakeoutlines{% @@ -1532,232 +1443,6 @@ \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput -% -% For XeTeX -% -\newif\iftxiuseunicodedestname -\ifx\XeTeXrevision\thisisundefined -\else - % - % XeTeX version check - % - \ifnum\strcmp{\the\XeTeXversion\XeTeXrevision}{0.99995}>-1 - % XeTeX 0.99995+ contains xdvipdfmx 20160307+. - % It can handle Unicode destination name for PDF. - \txiuseunicodedestnametrue - \else - % XeTeX < 0.99995 can not handle Unicode destination name for PDF - % because xdvipdfmx 20150315 has UTF-16 convert issue. - % It fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). - \txiuseunicodedestnamefalse - \fi - % - % PDF outline support - % - % Emulate the primitive of pdfTeX - \def\pdfdest name#1 xyz{% - \special{pdf:dest (name#1) [@thispage /XYZ @xpos @ypos]}% - } - \def\pdfmkdest#1{{% - % We have to set dummies so commands such as @code, and characters - % such as \, aren't expanded when present in a section title. - \indexnofonts - \iftxiuseunicodedestname - \def\pdfdestname{#1}% Pass through Unicode characters. - \else - \edef\pdfdestname{#1}% Replace Unicode characters to ASCII. - \fi - \turnoffactive - \makevalueexpandable - \txiescapepdf\pdfdestname - \safewhatsit{\pdfdest name{\pdfdestname} xyz}% - }} - % - \def\dopdfoutline#1#2#3#4{% - \iftxiuseunicodedestname - \def\pdfoutlinedest{#3}% Pass through Unicode characters. - \else - \edef\pdfoutlinedest{#3}% Replace Unicode characters to ASCII. - \fi - \ifx\pdfoutlinedest\empty - \def\pdfoutlinedest{#4}% - \fi - { - \turnoffactive - \txiescapepdf\pdfoutlinedest - \edef\pdfoutlinetext{#1}% - \txiescapepdf\pdfoutlinetext - % - \special{pdf:out [-] #2 << /Title (\pdfoutlinetext) /A - << /S /GoTo /D (name\pdfoutlinedest) >> >> }% - } - } - % - \def\pdfmakeoutlines{% - \begingroup - % - % In the case of XeTeX, counts of subentries is not necesary. - % Therefore, read toc only once. - % - % We use the node names as the destinations. - \def\partentry##1##2##3##4{}% ignore parts in the outlines - \def\numchapentry##1##2##3##4{% - \dopdfoutline{##1}{1}{##3}{##4}}% - \def\numsecentry##1##2##3##4{% - \dopdfoutline{##1}{2}{##3}{##4}}% - \def\numsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{3}{##3}{##4}}% - \def\numsubsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{4}{##3}{##4}}% - % - \let\appentry\numchapentry% - \let\appsecentry\numsecentry% - \let\appsubsecentry\numsubsecentry% - \let\appsubsubsecentry\numsubsubsecentry% - \let\unnchapentry\numchapentry% - \let\unnsecentry\numsecentry% - \let\unnsubsecentry\numsubsecentry% - \let\unnsubsubsecentry\numsubsubsecentry% - % - % In the case of XeTeX, xdvipdfmx converts strings to UTF-16. - % Therefore, the encoding and the language may not be considered. - % - \indexnofonts - \setupdatafile - % We can have normal brace characters in the PDF outlines, unlike - % Texinfo index files. So set that up. - \def\{{\lbracecharliteral}% - \def\}{\rbracecharliteral}% - \catcode`\\=\active \otherbackslash - \input \tocreadfilename - \endgroup - } - {\catcode`[=1 \catcode`]=2 - \catcode`{=\other \catcode`}=\other - \gdef\lbracecharliteral[{]% - \gdef\rbracecharliteral[}]% - ] - - \special{pdf:docview << /PageMode /UseOutlines >> } - % ``\special{pdf:tounicode ...}'' is not necessary - % because xdvipdfmx converts strings from UTF-8 to UTF-16 without it. - % However, due to UTF-16 convert issue of xdvipdfmx 20150315, - % ``\special{pdf:dest ...}'' can not handle non-ASCII strings. - % It fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). -% - \def\skipspaces#1{\def\PP{#1}\def\D{|}% - \ifx\PP\D\let\nextsp\relax - \else\let\nextsp\skipspaces - \addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi - \nextsp} - \def\getfilename#1{% - \filenamelength=0 - % If we don't expand the argument now, \skipspaces will get - % snagged on things like "@value{foo}". - \edef\temp{#1}% - \expandafter\skipspaces\temp|\relax - } - % make a live url in pdf output. - \def\pdfurl#1{% - \begingroup - % it seems we really need yet another set of dummies; have not - % tried to figure out what each command should do in the context - % of @url. for now, just make @/ a no-op, that's the only one - % people have actually reported a problem with. - % - \normalturnoffactive - \def\@{@}% - \let\/=\empty - \makevalueexpandable - % do we want to go so far as to use \indexnofonts instead of just - % special-casing \var here? - \def\var##1{##1}% - % - \leavevmode\setcolor{\urlcolor}% - \special{pdf:bann << /Border [0 0 0] - /Subtype /Link /A << /S /URI /URI (#1) >> >>}% - \endgroup} - \def\endlink{\setcolor{\maincolor}\special{pdf:eann}} - \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} - \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} - \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} - \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS|\relax - \ifx\first0\adn0 - \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 - \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 - \else - \ifnum0=\countA\else\makelink\fi - \ifx\first.\let\next=\done\else - \let\next=\maketoks - \addtokens{\toksB}{\the\toksD} - \ifx\first,\addtokens{\toksB}{\space}\fi - \fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \next} - \def\makelink{\addtokens{\toksB}% - {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} - \def\pdflink#1{% - \special{pdf:bann << /Border [0 0 0] - /Type /Annot /Subtype /Link /A << /S /GoTo /D (name#1) >> >>}% - \setcolor{\linkcolor}#1\endlink} - \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -% - % - % @image support - % - % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). - \def\doxeteximage#1#2#3{% - \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% - % - % XeTeX (and the PDF format) support .pdf, .png, .jpg (among - % others). Let's try in that order, PDF first since if - % someone has a scalable image, presumably better to use that than a - % bitmap. - \let\xeteximgext=\empty - \begingroup - \openin 1 #1.pdf \ifeof 1 - \openin 1 #1.PDF \ifeof 1 - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \errmessage{Could not find image file #1 for XeTeX}% - \else \gdef\xeteximgext{JPG}% - \fi - \else \gdef\xeteximgext{jpeg}% - \fi - \else \gdef\xeteximgext{jpg}% - \fi - \else \gdef\xeteximgext{png}% - \fi - \else \gdef\xeteximgext{PDF}% - \fi - \else \gdef\xeteximgext{pdf}% - \fi - \closein 1 - \endgroup - % - \def\xetexpdfext{pdf}% - \ifx\xeteximgext\xetexpdfext - \XeTeXpdffile "#1".\xeteximgext "" - \else - \def\xetexpdfext{PDF}% - \ifx\xeteximgext\xetexpdfext - \XeTeXpdffile "#1".\xeteximgext "" - \else - \XeTeXpicfile "#1".\xeteximgext "" - \fi - \fi - \ifdim \wd0 >0pt width \xeteximagewidth \fi - \ifdim \wd2 >0pt height \xeteximageheight \fi \relax - } -\fi \message{fonts,} @@ -2141,10 +1826,8 @@ % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} -\setfont\defsl\slshape{10}{\magstep1}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf -\let\tenttsl=\defttsl \let\tensl=\defsl \bf} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} @@ -2205,7 +1888,6 @@ % Section fonts (14.4pt). \def\secnominalsize{14pt} \setfont\secrm\rmbshape{12}{\magstep1}{OT1} -\setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1} \setfont\secit\itbshape{10}{\magstep2}{OT1IT} \setfont\secsl\slbshape{10}{\magstep2}{OT1} \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} @@ -2275,10 +1957,8 @@ % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} -\setfont\defsl\slshape{10}{\magstephalf}{OT1TT} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf -\let\tensl=\defsl \let\tenttsl=\defttsl \bf} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} @@ -2410,9 +2090,12 @@ \endgroup } + % In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. We don't -% bother to reset \scriptfont and \scriptscriptfont; awaiting user need. +% we have to define the \textfont of the standard families. Since +% texinfo doesn't allow for producing subscripts and superscripts except +% in the main text, we don't bother to reset \scriptfont and +% \scriptscriptfont (which would also require loading a lot more fonts). % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy @@ -2426,8 +2109,8 @@ % \tenSTYLE to set the current font. % % Each font-changing command also sets the names \lsize (one size lower) -% and \lllsize (three sizes lower). These relative commands are used -% in, e.g., the LaTeX logo and acronyms. +% and \lllsize (three sizes lower). These relative commands are used in +% the LaTeX logo and acronyms. % % This all needs generalizing, badly. % @@ -2749,8 +2432,8 @@ % \catcode`@=11 \def\plainfrenchspacing{% - \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m - \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m + \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m + \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m \def\endofsentencespacefactor{1000}% for @. and friends } \def\plainnonfrenchspacing{% @@ -2918,7 +2601,6 @@ \setbox0 = \hbox{\ignorespaces #2}% look for second arg \ifdim\wd0 > 0pt \ifpdf - % For pdfTeX and LuaTeX \ifurefurlonlylink % PDF plus option to not display url, show just arg \unhbox0 @@ -2928,19 +2610,7 @@ \unhbox0\ (\urefcode{#1})% \fi \else - \ifx\XeTeXrevision\thisisundefined - \unhbox0\ (\urefcode{#1})% DVI, always show arg and url - \else - % For XeTeX - \ifurefurlonlylink - % PDF plus option to not display url, show just arg - \unhbox0 - \else - % PDF, normally display both arg and url for consistency, - % visibility, if the pdf is eventually used to print, etc. - \unhbox0\ (\urefcode{#1})% - \fi - \fi + \unhbox0\ (\urefcode{#1})% DVI, always show arg and url \fi \else \urefcode{#1}% only url given, so show it @@ -2951,9 +2621,9 @@ % Allow line breaks around only a few characters (only). \def\urefcatcodes{% - \catcode`\&=\active \catcode`\.=\active - \catcode`\#=\active \catcode`\?=\active - \catcode`\/=\active + \catcode\ampChar=\active \catcode\dotChar=\active + \catcode\hashChar=\active \catcode\questChar=\active + \catcode\slashChar=\active } { \urefcatcodes @@ -3041,18 +2711,7 @@ \endlink \endgroup} \else - \ifx\XeTeXrevision\thisisundefined - \let\email=\uref - \else - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} - \fi + \let\email=\uref \fi % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), @@ -3121,6 +2780,11 @@ % \def\dmn#1{\thinspace #1} +% @l was never documented to mean ``switch to the Lisp font'', +% and it is not used as such in any manual I can find. We need it for +% Polish suppressed-l. --karl, 22sep96. +%\def\l#1{{\li #1}\null} + % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. @@ -3173,24 +2837,21 @@ \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% - \ifmmode\else % only go into math if not in math mode already - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - % make the texinfo accent commands work in math mode - \let\"=\ddot - \let\'=\acute - \let\==\bar - \let\^=\hat - \let\`=\grave - \let\u=\breve - \let\v=\check - \let\~=\tilde - \let\dotaccent=\dot - % have to provide another name for sup operator - \let\mathopsup=\sup - $\expandafter\finishmath\fi + \tex + \mathunderscore + \let\\ = \mathbackslash + \mathactive + % make the texinfo accent commands work in math mode + \let\"=\ddot + \let\'=\acute + \let\==\bar + \let\^=\hat + \let\`=\grave + \let\u=\breve + \let\v=\check + \let\~=\tilde + \let\dotaccent=\dot + $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. @@ -3213,17 +2874,8 @@ } } -% for @sub and @sup, if in math mode, just do a normal sub/superscript. -% If in text, use math to place as sub/superscript, but switch -% into text mode, with smaller fonts. This is a different font than the -% one used for real math sub/superscripts (8pt vs. 7pt), but let's not -% fix it (significant additions to font machinery) until someone notices. -% -\def\sub{\ifmmode \expandafter\sb \else \expandafter\finishsub\fi} -\def\finishsub#1{$\sb{\hbox{\selectfonts\lllsize #1}}$}% -% -\def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi} -\def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}% +% ctrl is no longer a Texinfo command, but leave this definition for fun. +\def\ctrl #1{{\tt \rawbackslash \hat}#1} % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, @@ -3289,8 +2941,8 @@ % @{ @} @lbracechar{} @rbracechar{} all generate brace characters. % Unless we're in typewriter, use \ecfont because the CM text fonts do % not have braces, and we don't want to switch into math. -\def\mylbrace{{\ifmonospace\char123\else\ensuremath\lbrace\fi}} -\def\myrbrace{{\ifmonospace\char125\else\ensuremath\rbrace\fi}} +\def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}} +\def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}} \let\{=\mylbrace \let\lbracechar=\{ \let\}=\myrbrace \let\rbracechar=\} \begingroup @@ -3365,16 +3017,11 @@ \TeX } -% Some math mode symbols. Define \ensuremath to switch into math mode -% unless we are already there. Expansion tricks may not be needed here, -% but safer, and can't hurt. -\def\ensuremath{\ifmmode \expandafter\asis \else\expandafter\ensuredmath \fi} -\def\ensuredmath#1{$\relax#1$} -% -\def\bullet{\ensuremath\ptexbullet} -\def\geq{\ensuremath\ge} -\def\leq{\ensuremath\le} -\def\minus{\ensuremath-} +% Some math mode symbols. +\def\bullet{$\ptexbullet$} +\def\geq{\ifmmode \ge\else $\ge$\fi} +\def\leq{\ifmmode \le\else $\le$\fi} +\def\minus{\ifmmode -\else $-$\fi} % @dots{} outputs an ellipsis using the current font. % We do .5em per period so that it has the same spacing in the cm @@ -3538,15 +3185,8 @@ \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} % -% Use the European Computer Modern fonts (cm-super in outline format) -% for non-CM glyphs. That is ec* for regular text and tc* for the text -% companion symbols (LaTeX TS1 encoding). Both are part of the ec -% package and follow the same conventions. -% -\def\ecfont{\etcfont{e}} -\def\tcfont{\etcfont{t}} -% -\def\etcfont#1{% +% Use the ec* fonts (cm-super in outline format) for non-CM glyphs. +\def\ecfont{% % We can't distinguish serif/sans and italic/slanted, but this % is used for crude hacks anyway (like adding French and German % quotes to documents typeset with CM, where we lose kerning), so @@ -3555,14 +3195,14 @@ \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% \ifmonospace % typewriter: - \font\thisecfont = #1ctt\ecsize \space at \nominalsize + \font\thisecfont = ectt\ecsize \space at \nominalsize \else \ifx\curfontstyle\bfstylename % bold: - \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize + \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize \else % regular: - \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize \fi \fi \thisecfont @@ -3606,16 +3246,13 @@ \newif\ifseenauthor \newif\iffinishedtitlepage -% @setcontentsaftertitlepage used to do an implicit @contents or -% @shortcontents after @end titlepage, but it is now obsolete. -\def\setcontentsaftertitlepage{% - \errmessage{@setcontentsaftertitlepage has been removed as a Texinfo - command; move your @contents command if you want the contents - after the title page.}}% -\def\setshortcontentsaftertitlepage{% - \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo - command; move your @shortcontents and @contents commands if you - want the contents after the title page.}}% +% Do an implicit @contents or @shortcontents after @end titlepage if the +% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. +% +\newif\ifsetcontentsaftertitlepage + \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue +\newif\ifsetshortcontentsaftertitlepage + \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue \parseargdef\shorttitlepage{% \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}% @@ -3657,6 +3294,20 @@ % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon + % + % If they want short, they certainly want long too. + \ifsetshortcontentsaftertitlepage + \shortcontents + \contents + \global\let\shortcontents = \relax + \global\let\contents = \relax + \fi + % + \ifsetcontentsaftertitlepage + \contents + \global\let\contents = \relax + \global\let\shortcontents = \relax + \fi } \def\finishtitlepage{% @@ -3721,7 +3372,7 @@ \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages -% Now make \makeheadline and \makefootline in Plain TeX use those variables +% Now make TeX use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline @@ -3760,7 +3411,7 @@ % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. - \global\advance\txipageheight by -12pt + \global\advance\pageheight by -12pt \global\advance\vsize by -12pt } @@ -3777,17 +3428,13 @@ % @everyheadingmarks % @everyfootingmarks -% These define \getoddheadingmarks, \getevenheadingmarks, -% \getoddfootingmarks, and \getevenfootingmarks, each to one of -% \gettopheadingmarks, \getbottomheadingmarks. -% \def\evenheadingmarks{\headingmarks{even}{heading}} \def\oddheadingmarks{\headingmarks{odd}{heading}} \def\evenfootingmarks{\headingmarks{even}{footing}} \def\oddfootingmarks{\headingmarks{odd}{footing}} -\parseargdef\everyheadingmarks{\headingmarks{even}{heading}{#1} +\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} \headingmarks{odd}{heading}{#1} } -\parseargdef\everyfootingmarks{\headingmarks{even}{footing}{#1} +\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} \headingmarks{odd}{footing}{#1} } % #1 = even/odd, #2 = heading/footing, #3 = top/bottom. \def\headingmarks#1#2#3 {% @@ -3808,7 +3455,7 @@ % By default, they are off at the start of a document, % and turned `on' after @end titlepage. -\parseargdef\headings{\csname HEADINGS#1\endcsname} +\def\headings #1 {\csname HEADINGS#1\endcsname} \def\headingsoff{% non-global headings elimination \evenheadline={\hfil}\evenfootline={\hfil}% @@ -3828,7 +3475,7 @@ \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager @@ -3839,8 +3486,8 @@ \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapterheading\hfil\folio}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} @@ -3851,7 +3498,7 @@ \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } @@ -3859,8 +3506,8 @@ \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapterheading\hfil\folio}} -\global\oddheadline={\line{\thischapterheading\hfil\folio}} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } @@ -4070,12 +3717,7 @@ \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% % - \ifinner\else - \vadjust{\penalty 1200}% not good to break after first line of item. - \fi - % We can be in inner vertical mode in a footnote, although an - % @itemize looks awful there. - }% + \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } @@ -4622,31 +4264,6 @@ \fi } -% Like \expandablevalue, but completely expandable (the \message in the -% definition above operates at the execution level of TeX). Used when -% writing to auxiliary files, due to the expansion that \write does. -% If flag is undefined, pass through an unexpanded @value command: maybe it -% will be set by the time it is read back in. -% -% NB flag names containing - or _ may not work here. -\def\dummyvalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - \noexpand\value{#1}% - \else - \csname SET#1\endcsname - \fi -} - -% Used for @value's in index entries to form the sort key: expand the @value -% if possible, otherwise sort late. -\def\indexnofontsvalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - ZZZZZZZ - \else - \csname SET#1\endcsname - \fi -} - % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % @@ -4722,16 +4339,19 @@ % except not \outer, so it can be used within macros and \if's. \edef\newwrite{\makecsname{ptexnewwrite}} -% \newindex {foo} defines an index named IX. -% It automatically defines \IXindex such that -% \IXindex ...rest of line... puts an entry in the index IX. -% It also defines \IXindfile to be the number of the output channel for -% the file that accumulates this index. The file's extension is IX. +% \newindex {foo} defines an index named foo. +% It automatically defines \fooindex such that +% \fooindex ...rest of line... puts an entry in the index foo. +% It also defines \fooindfile to be the number of the output channel for +% the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% - \expandafter\chardef\csname#1indfile\endcsname=0 + \iflinks + \expandafter\newwrite \csname#1indfile\endcsname + \openout \csname#1indfile\endcsname \jobname.#1 % Open the file + \fi \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } @@ -4745,19 +4365,14 @@ \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% - \expandafter\chardef\csname#1indfile\endcsname=0 + \iflinks + \expandafter\newwrite \csname#1indfile\endcsname + \openout \csname#1indfile\endcsname \jobname.#1 + \fi \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } -% The default indices: -\newindex{cp}% concepts, -\newcodeindex{fn}% functions, -\newcodeindex{vr}% variables, -\newcodeindex{tp}% types, -\newcodeindex{ky}% keys -\newcodeindex{pg}% and programs. - % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. @@ -4786,20 +4401,26 @@ \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } -% Define \doindex, the driver for all index macros. +% Define \doindex, the driver for all \fooindex macros. % Argument #1 is generated by the calling \fooindex macro, -% and it is the two-letter name of the index. +% and it is "foo", the name of the index. + +% \doindex just uses \parsearg; it calls \doind for the actual work. +% This is because \doind is more useful to call from other macros. + +% There is also \dosubind {index}{topic}{subtopic} +% which makes an entry in a two-level index such as the operation index. -\def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx} -\def\doindexxxx #1{\doind{\indexname}{#1}} +\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} +\def\singleindexer #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. -\def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} -\def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} +\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} +\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} - -% Used when writing an index entry out to an index file to prevent -% expansion of Texinfo commands that can appear in an index entry. +% Take care of Texinfo commands that can appear in an index entry. +% Since there are some commands we want to expand, and others we don't, +% we have to laboriously prevent expansion for those that we don't. % \def\indexdummies{% \escapechar = `\\ % use backslash in output files. @@ -4815,12 +4436,35 @@ \def\{{{\tt\char123}}% \def\}{{\tt\char125}}% % + % I don't entirely understand this, but when an index entry is + % generated from a macro call, the \endinput which \scanmacro inserts + % causes processing to be prematurely terminated. This is, + % apparently, because \indexsorttmp is fully expanded, and \endinput + % is an expandable command. The redefinition below makes \endinput + % disappear altogether for that purpose -- although logging shows that + % processing continues to some further point. On the other hand, it + % seems \endinput does not hurt in the printed index arg, since that + % is still getting written without apparent harm. + % + % Sample source (mac-idx3.tex, reported by Graham Percival to + % help-texinfo, 22may06): + % @macro funindex {WORD} + % @findex xyz + % @end macro + % ... + % @funindex commtest + % This is not enough to reproduce the bug, but it gives the flavor. + % + % Sample whatsit resulting: + % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} + % + % So: + \let\endinput = \empty + % % Do the redefinitions. - \definedummies + \commondummies } -% Used for the aux and toc files, where @ is the escape character. -% % For the aux and toc files, @ is the escape character. So we want to % redefine everything using @ as the escape character (instead of % \realbackslash, still used for index files). When everything uses @, @@ -4833,35 +4477,31 @@ \let\} = \rbraceatcmd % % Do the redefinitions. - \definedummies + \commondummies \otherbackslash } -% \definedummyword defines \#1 as \string\#1\space, thus effectively -% preventing its expansion. This is used only for control words, -% not control letters, because the \space would be incorrect for -% control characters, but is needed to separate the control word -% from whatever follows. -% -% These can be used both for control words that take an argument and -% those that do not. If it is followed by {arg} in the input, then -% that will dutifully get written to the index (or wherever). -% -% For control letters, we have \definedummyletter, which omits the -% space. -% -\def\definedummyword #1{\def#1{\string#1\space}}% -\def\definedummyletter#1{\def#1{\string#1}}% -\let\definedummyaccent\definedummyletter - -% Called from \indexdummies and \atdummies, to effectively prevent -% the expansion of commands. -% -\def\definedummies{% - % - \let\commondummyword\definedummyword - \let\commondummyletter\definedummyletter - \let\commondummyaccent\definedummyaccent +% Called from \indexdummies and \atdummies. +% +\def\commondummies{% + % + % \definedummyword defines \#1 as \string\#1\space, thus effectively + % preventing its expansion. This is used only for control words, + % not control letters, because the \space would be incorrect for + % control characters, but is needed to separate the control word + % from whatever follows. + % + % For control letters, we have \definedummyletter, which omits the + % space. + % + % These can be used both for control words that take an argument and + % those that do not. If it is followed by {arg} in the input, then + % that will dutifully get written to the index (or wherever). + % + \def\definedummyword ##1{\def##1{\string##1\space}}% + \def\definedummyletter##1{\def##1{\string##1}}% + \let\definedummyaccent\definedummyletter + % \commondummiesnofonts % \definedummyletter\_% @@ -4921,7 +4561,6 @@ \definedummyword\guilsinglright \definedummyword\lbracechar \definedummyword\leq - \definedummyword\mathopsup \definedummyword\minus \definedummyword\ogonek \definedummyword\pounds @@ -4935,136 +4574,101 @@ \definedummyword\quotesinglbase \definedummyword\rbracechar \definedummyword\result - \definedummyword\sub - \definedummyword\sup \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist - \let\value\dummyvalue % \normalturnoffactive + % + % Handle some cases of @value -- where it does not contain any + % (non-fully-expandable) commands. + \makevalueexpandable } -% \commondummiesnofonts: common to \definedummies and \indexnofonts. -% Define \commondummyletter, \commondummyaccent and \commondummyword before -% using. Used for accents, font commands, and various control letters. +% \commondummiesnofonts: common to \commondummies and \indexnofonts. % \def\commondummiesnofonts{% % Control letters and accents. - \commondummyletter\!% - \commondummyaccent\"% - \commondummyaccent\'% - \commondummyletter\*% - \commondummyaccent\,% - \commondummyletter\.% - \commondummyletter\/% - \commondummyletter\:% - \commondummyaccent\=% - \commondummyletter\?% - \commondummyaccent\^% - \commondummyaccent\`% - \commondummyaccent\~% - \commondummyword\u - \commondummyword\v - \commondummyword\H - \commondummyword\dotaccent - \commondummyword\ogonek - \commondummyword\ringaccent - \commondummyword\tieaccent - \commondummyword\ubaraccent - \commondummyword\udotaccent - \commondummyword\dotless + \definedummyletter\!% + \definedummyaccent\"% + \definedummyaccent\'% + \definedummyletter\*% + \definedummyaccent\,% + \definedummyletter\.% + \definedummyletter\/% + \definedummyletter\:% + \definedummyaccent\=% + \definedummyletter\?% + \definedummyaccent\^% + \definedummyaccent\`% + \definedummyaccent\~% + \definedummyword\u + \definedummyword\v + \definedummyword\H + \definedummyword\dotaccent + \definedummyword\ogonek + \definedummyword\ringaccent + \definedummyword\tieaccent + \definedummyword\ubaraccent + \definedummyword\udotaccent + \definedummyword\dotless % % Texinfo font commands. - \commondummyword\b - \commondummyword\i - \commondummyword\r - \commondummyword\sansserif - \commondummyword\sc - \commondummyword\slanted - \commondummyword\t + \definedummyword\b + \definedummyword\i + \definedummyword\r + \definedummyword\sansserif + \definedummyword\sc + \definedummyword\slanted + \definedummyword\t % % Commands that take arguments. - \commondummyword\abbr - \commondummyword\acronym - \commondummyword\anchor - \commondummyword\cite - \commondummyword\code - \commondummyword\command - \commondummyword\dfn - \commondummyword\dmn - \commondummyword\email - \commondummyword\emph - \commondummyword\env - \commondummyword\file - \commondummyword\image - \commondummyword\indicateurl - \commondummyword\inforef - \commondummyword\kbd - \commondummyword\key - \commondummyword\math - \commondummyword\option - \commondummyword\pxref - \commondummyword\ref - \commondummyword\samp - \commondummyword\strong - \commondummyword\tie - \commondummyword\U - \commondummyword\uref - \commondummyword\url - \commondummyword\var - \commondummyword\verb - \commondummyword\w - \commondummyword\xref + \definedummyword\abbr + \definedummyword\acronym + \definedummyword\anchor + \definedummyword\cite + \definedummyword\code + \definedummyword\command + \definedummyword\dfn + \definedummyword\dmn + \definedummyword\email + \definedummyword\emph + \definedummyword\env + \definedummyword\file + \definedummyword\image + \definedummyword\indicateurl + \definedummyword\inforef + \definedummyword\kbd + \definedummyword\key + \definedummyword\math + \definedummyword\option + \definedummyword\pxref + \definedummyword\ref + \definedummyword\samp + \definedummyword\strong + \definedummyword\tie + \definedummyword\uref + \definedummyword\url + \definedummyword\var + \definedummyword\verb + \definedummyword\w + \definedummyword\xref + % + % Consider: + % @macro mkind{arg1,arg2} + % @cindex \arg2\ + % @end macro + % @mkind{foo, bar} + % The space after the comma will end up in the temporary definition + % that we make for arg2 (see \parsemargdef ff.). We want all this to be + % expanded for the sake of the index, so we end up just seeing "bar". + \let\xeatspaces = \eatspaces } % For testing: output @{ and @} in index sort strings as \{ and \}. \newif\ifusebracesinindexes -\let\indexlbrace\relax -\let\indexrbrace\relax - -{\catcode`\@=0 -\catcode`\\=13 - @gdef@backslashdisappear{@def\{}} -} - -{ -\catcode`\<=13 -\catcode`\-=13 -\catcode`\`=13 - \gdef\indexnonalnumdisappear{% - \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else - % @set txiindexlquoteignore makes us ignore left quotes in the sort term. - % (Introduced for FSFS 2nd ed.) - \let`=\empty - \fi - % - \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else - \backslashdisappear - \fi - % - \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else - \def-{}% - \fi - \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else - \def<{}% - \fi - \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else - \def\@{}% - \fi - } - - \gdef\indexnonalnumreappear{% - \useindexbackslash - \let-\normaldash - \let<\normalless - \def\@{@}% - } -} - - % \indexnofonts is used when outputting the strings to sort the index % by, and when constructing control sequence names. It eliminates all % control sequences and just writes whatever the best ASCII sort string @@ -5072,11 +4676,12 @@ % \def\indexnofonts{% % Accent commands should become @asis. - \def\commondummyaccent##1{\let##1\asis}% + \def\definedummyaccent##1{\let##1\asis}% % We can just ignore other control letters. - \def\commondummyletter##1{\let##1\empty}% + \def\definedummyletter##1{\let##1\empty}% % All control words become @asis by default; overrides below. - \let\commondummyword\commondummyaccent + \let\definedummyword\definedummyaccent + % \commondummiesnofonts % % Don't no-op \tt, since it isn't a user-level command @@ -5089,10 +4694,19 @@ \def\_{\normalunderscore}% \def\-{}% @- shouldn't affect sorting % - \uccode`\1=`\{ \uppercase{\def\{{1}}% - \uccode`\1=`\} \uppercase{\def\}{1}}% - \let\lbracechar\{% - \let\rbracechar\}% + % Unfortunately, texindex is not prepared to handle braces in the + % content at all. So for index sorting, we map @{ and @} to strings + % starting with |, since that ASCII character is between ASCII { and }. + \ifusebracesinindexes + \def\lbracechar{\lbracecmd}% + \def\rbracechar{\rbracecmd}% + \else + \def\lbracechar{|a}% + \def\rbracechar{|b}% + \fi + \let\{=\lbracechar + \let\}=\rbracechar + % % % Non-English letters. \def\AA{AA}% @@ -5101,7 +4715,7 @@ \def\L{L}% \def\OE{OE}% \def\O{O}% - \def\TH{TH}% + \def\TH{ZZZ}% \def\aa{aa}% \def\ae{ae}% \def\dh{dzz}% @@ -5113,7 +4727,7 @@ \def\o{o}% \def\questiondown{?}% \def\ss{ss}% - \def\th{th}% + \def\th{zzz}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% @@ -5150,6 +4764,9 @@ \def\result{=>}% \def\textdegree{o}% % + \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax + \else \indexlquoteignore \fi + % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up @@ -5161,23 +4778,21 @@ % goes to end-of-line is not handled. % \macrolist - \let\value\indexnofontsvalue } - - +% Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us +% ignore left quotes in the sort term. +{\catcode`\`=\active + \gdef\indexlquoteignore{\let`=\empty}} +\let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. \def\doind#1#2{\dosubind{#1}{#2}{}} -% There is also \dosubind {index}{topic}{subtopic} -% which makes an entry in a two-level index such as the operation index. -% TODO: Two-level index? Operation index? - -% Workhorse for all indexes. +% Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % empty if called from \doind, as we usually are (the main exception % is with most defuns, which call us directly). @@ -5185,7 +4800,6 @@ \def\dosubind#1#2#3{% \iflinks {% - \requireopenindexfile{#1}% % Store the main index entry text (including the third arg). \toks0 = {#2}% % If third arg is present, precede it with a space. @@ -5201,50 +4815,7 @@ \fi } -% Check if an index file has been opened, and if not, open it. -\def\requireopenindexfile#1{% -\ifnum\csname #1indfile\endcsname=0 - \expandafter\newwrite \csname#1indfile\endcsname - \edef\suffix{#1}% - % A .fls suffix would conflict with the file extension for the output - % of -recorder, so use .f1s instead. - \ifx\suffix\indexisfl\def\suffix{f1}\fi - % Open the file - \immediate\openout\csname#1indfile\endcsname \jobname.\suffix - % Using \immediate above here prevents an object entering into the current - % box, which could confound checks such as those in \safewhatsit for - % preceding skips. - \typeout{Writing index file \jobname.\suffix}% -\fi} -\def\indexisfl{fl} - -% Output \ as {\indexbackslash}, because \ is an escape character in -% the index files. -\let\indexbackslash=\relax -{\catcode`\@=0 \catcode`\\=\active - @gdef@useindexbackslash{@def\{{@indexbackslash}}} -} - -% Definition for writing index entry text. -\def\sortas#1{\ignorespaces}% - -% Definition for writing index entry sort key. Should occur at the at -% the beginning of the index entry, like -% @cindex @sortas{september} \september -% The \ignorespaces takes care of following space, but there's no way -% to remove space before it. -{ -\catcode`\-=13 -\gdef\indexwritesortas{% - \begingroup - \indexnonalnumreappear - \indexwritesortasxxx} -\gdef\indexwritesortasxxx#1{% - \xdef\indexsortkey{#1}\endgroup} -} - - -% Write the entry in \toks0 to the index file. +% Write the entry in \toks0 to the index file: % \def\dosubindwrite{% % Put the index entry in the margin if desired. @@ -5254,26 +4825,14 @@ % % Remember, we are within a group. \indexdummies % Must do this here, since \bf, etc expand at this stage - \useindexbackslash % \indexbackslash isn't defined now so it will be output - % as is; and it will print as backslash. - % The braces around \indexbrace are recognized by texindex. + \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now + % so it will be output as is; and it will print as backslash. % - % Get the string to sort by, by processing the index entry with all - % font commands turned off. + % Process the index entry with all font commands turned off, to + % get the string to sort by. {\indexnofonts - \def\lbracechar{{\indexlbrace}}% - \def\rbracechar{{\indexrbrace}}% - \let\{=\lbracechar - \let\}=\rbracechar - \indexnonalnumdisappear - \xdef\indexsortkey{}% - \let\sortas=\indexwritesortas - \edef\temp{\the\toks0}% - \setbox\dummybox = \hbox{\temp}% Make sure to execute any \sortas - \ifx\indexsortkey\empty - \xdef\indexsortkey{\temp}% - \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi - \fi + \edef\temp{\the\toks0}% need full expansion + \xdef\indexsorttmp{\temp}% }% % % Set up the complete index entry, with both the sort key and @@ -5283,11 +4842,10 @@ % sorted result. \edef\temp{% \write\writeto{% - \string\entry{\indexsortkey}{\noexpand\folio}{\the\toks0}}% + \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% }% \temp } -\newbox\dummybox % used above % Take care of unwanted page breaks/skips around a whatsit: % @@ -5413,106 +4971,51 @@ % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 11 - % See comment in \requireopenindexfile. - \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi - \openin 1 \jobname.\indexname s + \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent - \typeout{No file \jobname.\indexname s.}% \else - \catcode`\\ = 0 % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. - \read 1 to \thisline + \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. - \def\indexbackslash{\ttbackslash}% - \let\indexlbrace\{ % Likewise, set these sequences for braces - \let\indexrbrace\} % used in the sort key. + \def\indexbackslash{\backslashcurfont}% + \catcode`\\ = 0 + \escapechar = `\\ \begindoublecolumns - \let\entryorphanpenalty=\indexorphanpenalty - % - % Read input from the index file line by line. - \loopdo - \ifeof1 - \let\firsttoken\relax - \else - \read 1 to \nextline - \edef\act{\gdef\noexpand\firsttoken{\getfirsttoken\nextline}}% - \act - \fi - \thisline - % - \ifeof1\else - \let\thisline\nextline - \repeat - %% + \input \jobname.#1s \enddoublecolumns \fi \fi \closein 1 \endgroup} -\def\getfirsttoken#1{\expandafter\getfirsttokenx#1\endfirsttoken} -\long\def\getfirsttokenx#1#2\endfirsttoken{\noexpand#1} - -\def\loopdo#1\repeat{\def\body{#1}\loopdoxxx} -\def\loopdoxxx{\let\next=\relax\body\let\next=\loopdoxxx\fi\next} - % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. -{\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13 -\catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13 -\catcode`\$=3 -\gdef\initialglyphs{% - % Some changes for non-alphabetic characters. Using the glyphs from the - % math fonts looks more consistent than the typewriter font used elsewhere - % for these characters. - \def\indexbackslash{\math{\backslash}}% - \let\\=\indexbackslash - % - % Can't get bold backslash so don't use bold forward slash - \catcode`\/=13 - \def/{{\secrmnotbold \normalslash}}% - \def-{{\normaldash\normaldash}}% en dash `--' - \def^{{\chapbf \normalcaret}}% - \def~{{\chapbf \normaltilde}}% - \def\_{% - \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }% - \def|{$\vert$}% - \def<{$\less$}% - \def>{$\gtr$}% - \def+{$\normalplus$}% -}} - -\def\initial{% - \bgroup - \initialglyphs - \initialx -} - -\def\initialx#1{% +\def\initial#1{{% + % Some minor font changes for the special characters. + \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt + % % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. - % The glue before the bonus allows a little bit of space at the - % bottom of a column to reduce an increase in inter-line spacing. \nobreak - \vskip 0pt plus 5\baselineskip - \penalty -300 - \vskip 0pt plus -5\baselineskip + \vskip 0pt plus 3\baselineskip + \penalty 0 + \vskip 0pt plus -3\baselineskip % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column @@ -5520,24 +5023,24 @@ % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. - \vskip 1.67\baselineskip plus 1\baselineskip - \leftline{\secfonts \kern-0.05em \secbf #1}% - % \secfonts is inside the argument of \leftline so that the change of - % \baselineskip will not affect any glue inserted before the vbox that - % \leftline creates. + \vskip 1.67\baselineskip plus .5\baselineskip + \leftline{\secbf #1}% % Do our best not to break after the initial. \nobreak \vskip .33\baselineskip plus .1\baselineskip - \egroup % \initialglyphs -} - -\newdimen\entryrightmargin -\entryrightmargin=0pt +}} % \entry typesets a paragraph consisting of the text (#1), dot leaders, and % then page number (#2) flushed to the right margin. It is used for index % and table of contents entries. The paragraph is indented by \leftskip. % +% A straightforward implementation would start like this: +% \def\entry#1#2{... +% But this freezes the catcodes in the argument, and can cause problems to +% @code, which sets - active. This problem was fixed by a kludge--- +% ``-'' was active throughout whole index, but this isn't really right. +% The right solution is to prevent \entry from swallowing the whole text. +% --kasal, 21nov03 \def\entry{% \begingroup % @@ -5545,18 +5048,38 @@ % affect previous text. \par % + % Do not fill out the last line with white space. + \parfillskip = 0in + % % No extra space above this paragraph. \parskip = 0in % + % Do not prefer a separate line ending with a hyphen to fewer lines. + \finalhyphendemerits = 0 + % + % \hangindent is only relevant when the entry text and page number + % don't both fit on one line. In that case, bob suggests starting the + % dots pretty far over on the line. Unfortunately, a large + % indentation looks wrong when the entry text itself is broken across + % lines. So we use a small indentation and put up with long leaders. + % + % \hangafter is reset to 1 (which is the value we want) at the start + % of each paragraph, so we need not do anything with that. + \hangindent = 2em + % + % When the entry text needs to be broken, just fill out the first line + % with blank space. + \rightskip = 0pt plus1fil + % + % A bit of stretch before each entry for the benefit of balancing + % columns. + \vskip 0pt plus1pt + % % When reading the text of entry, convert explicit line breaks % from @* into spaces. The user might give these in long section % titles, for instance. \def\*{\unskip\space\ignorespaces}% - \def\entrybreak{\hfil\break}% An undocumented command - % - % A bit of stretch before each entry for the benefit of balancing - % columns. - \vskip 0pt plus0.5pt + \def\entrybreak{\hfil\break}% % % Swallow the left brace of the text (first parameter): \afterassignment\doentry @@ -5564,169 +5087,45 @@ } \def\entrybreak{\unskip\space\ignorespaces}% \def\doentry{% - % Save the text of the entry - \global\setbox\boxA=\hbox\bgroup \bgroup % Instead of the swallowed brace. \noindent \aftergroup\finishentry % And now comes the text of the entry. - % Not absorbing as a macro argument reduces the chance of problems - % with catcodes occurring. } -{\catcode`\@=11 -\gdef\finishentry#1{% - \egroup % end box A - \dimen@ = \wd\boxA % Length of text of entry - \global\setbox\boxA=\hbox\bgroup\unhbox\boxA +\def\finishentry#1{% % #1 is the page number. % - % Get the width of the page numbers, and only use - % leaders if they are present. - \global\setbox\boxB = \hbox{#1}% - \ifdim\wd\boxB = 0pt - \null\nobreak\hfill\ % + % The following is kludged to not output a line of dots in the index if + % there are no page numbers. The next person who breaks this will be + % cursed by a Unix daemon. + \setbox\boxA = \hbox{#1}% + \ifdim\wd\boxA = 0pt + \ % \else % + % If we must, put the page number on a line of its own, and fill out + % this line with blank space. (The \hfil is overwhelmed with the + % fill leaders glue in \indexdotfill if the page number does fit.) + \hfil\penalty50 \null\nobreak\indexdotfill % Have leaders before the page number. % + % The `\ ' here is removed by the implicit \unskip that TeX does as + % part of (the primitive) \par. Without it, a spurious underfull + % \hbox ensues. \ifpdf - \pdfgettoks#1.% - \bgroup\let\domark\relax - \hskip\skip\thinshrinkable\the\toksA - \egroup - % The redefinion of \domark stops marks being added in \pdflink to - % preserve coloured links across page boundaries. Otherwise the marks - % would get in the way of \lastbox in \insertindexentrybox. + \pdfgettoks#1.% + \ \the\toksA \else - \ifx\XeTeXrevision\thisisundefined - \hskip\skip\thinshrinkable #1% - \else - \pdfgettoks#1.% - \bgroup\let\domark\relax - \hskip\skip\thinshrinkable\the\toksA - \egroup - \fi + \ #1% \fi \fi - \egroup % end \boxA - \ifdim\wd\boxB = 0pt - \global\setbox\entryindexbox=\vbox{\unhbox\boxA}% - \else - \global\setbox\entryindexbox=\vbox\bgroup - \prevdepth=\entrylinedepth - \noindent - % We want the text of the entries to be aligned to the left, and the - % page numbers to be aligned to the right. - % - \advance\leftskip by 0pt plus 1fil - \advance\leftskip by 0pt plus -1fill - \rightskip = 0pt plus -1fil - \advance\rightskip by 0pt plus 1fill - % Cause last line, which could consist of page numbers on their own - % if the list of page numbers is long, to be aligned to the right. - \parfillskip=0pt plus -1fill - % - \hangindent=1em - % - \advance\rightskip by \entryrightmargin - % Determine how far we can stretch into the margin. - % This allows, e.g., "Appendix H GNU Free Documentation License" to - % fit on one line in @letterpaper format. - \ifdim\entryrightmargin>2.1em - \dimen@i=2.1em - \else - \dimen@i=0em - \fi - \advance \parfillskip by 0pt minus 1\dimen@i - % - \dimen@ii = \hsize - \advance\dimen@ii by -1\leftskip - \advance\dimen@ii by -1\entryrightmargin - \advance\dimen@ii by 1\dimen@i - \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line - \ifdim\dimen@ > 0.8\dimen@ii % due to long index text - \dimen@ = 0.7\dimen@ % Try to split the text roughly evenly - \dimen@ii = \hsize - \advance \dimen@ii by -1em - \ifnum\dimen@>\dimen@ii - % If the entry is too long, use the whole line - \dimen@ = \dimen@ii - \fi - \advance\leftskip by 0pt plus 1fill % ragged right - \advance \dimen@ by 1\rightskip - \parshape = 2 0pt \dimen@ 1em \dimen@ii - % Ideally we'd add a finite glue at the end of the first line only, but - % TeX doesn't seem to provide a way to do such a thing. - \fi\fi - \unhbox\boxA - % - % Do not prefer a separate line ending with a hyphen to fewer lines. - \finalhyphendemerits = 0 - % - % Word spacing - no stretch - \spaceskip=\fontdimen2\font minus \fontdimen4\font - % - \linepenalty=1000 % Discourage line breaks. - \hyphenpenalty=5000 % Discourage hyphenation. - % - \par % format the paragraph - \egroup % The \vbox - \fi + \par \endgroup - % delay text of entry until after penalty - \bgroup\aftergroup\insertindexentrybox - \entryorphanpenalty -}} - -\newskip\thinshrinkable -\skip\thinshrinkable=.15em minus .15em - -\newbox\entryindexbox -\def\insertindexentrybox{% - \copy\entryindexbox - % The following gets the depth of the last box. This is for even - % line spacing when entries span several lines. - \setbox\dummybox\vbox{% - \unvbox\entryindexbox - \nointerlineskip - \lastbox - \global\entrylinedepth=\prevdepth - }% - % Note that we couldn't simply \unvbox\entryindexbox followed by - % \nointerlineskip\lastbox to remove the last box and then reinstate it, - % because this resets how far the box has been \moveleft'ed to 0. \unvbox - % doesn't affect \prevdepth either. -} -\newdimen\entrylinedepth - -% Default is no penalty -\let\entryorphanpenalty\egroup - -% Used from \printindex. \firsttoken should be the first token -% after the \entry. If it's not another \entry, we are at the last -% line of a group of index entries, so insert a penalty to discourage -% orphaned index entries. -\long\def\indexorphanpenalty{% - \def\isentry{\entry}% - \ifx\firsttoken\isentry - \else - \unskip\penalty 9000 - % The \unskip here stops breaking before the glue. It relies on the - % \vskip above being there, otherwise there is an error - % "You can't use `\unskip' in vertical mode". There has to be glue - % in the current vertical list that hasn't been added to the - % "current page". See Chapter 24 of the TeXbook. This contradicts - % Section 8.3.7 in "TeX by Topic," though. - \fi - \egroup % now comes the box added with \aftergroup } % Like plain.tex's \dotfill, except uses up at least 1 em. -% The filll stretch here overpowers both the fil and fill stretch to push -% the page number to the right. \def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1filll} - + \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} @@ -5740,11 +5139,7 @@ \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else - \ifx\XeTeXrevision\thisisundefined - #2 - \else - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. - \fi + #2 \fi \par }} @@ -5752,39 +5147,12 @@ % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. -\catcode`\@=11 % private names +\catcode`\@=11 \newbox\partialpage \newdimen\doublecolumnhsize -\newdimen\doublecolumntopgap -\doublecolumntopgap = 0pt - -% Use inside an output routine to save \topmark and \firstmark -\def\savemarks{% - \global\savedtopmark=\expandafter{\topmark }% - \global\savedfirstmark=\expandafter{\firstmark }% -} -\newtoks\savedtopmark -\newtoks\savedfirstmark - -% Set \topmark and \firstmark for next time \output runs. -% Can't be run from withinside \output (because any material -% added while an output routine is active, including -% penalties, is saved for after it finishes). The page so far -% should be empty, otherwise what's on it will be thrown away. -\def\restoremarks{% - \mark{\the\savedtopmark}% - \bgroup\output = {% - \setbox\dummybox=\box\PAGE - }abc\eject\egroup - % "abc" because output routine doesn't fire for a completely empty page. - \mark{\the\savedfirstmark}% -} \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns - % If not much space left on page, start a new page. - \ifdim\pagetotal>0.8\vsize\vfill\eject\fi - % % Grab any single-column material above us. \output = {% % @@ -5804,15 +5172,8 @@ \unvbox\PAGE \kern-\topskip \kern\baselineskip }% - \savemarks }% \eject % run that output routine to set \partialpage - \restoremarks - % - % We recover the two marks that the last output routine saved in order - % to propagate the information in marks added around a chapter heading, - % which could be otherwise be lost by the time the final page is output. - % % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% @@ -5840,19 +5201,13 @@ % % Double the \vsize as well. (We don't need a separate register here, % since nobody clobbers \vsize.) - \global\doublecolumntopgap = \topskip - \global\advance\doublecolumntopgap by -1\baselineskip - \advance\vsize by -1\doublecolumntopgap \vsize = 2\vsize - \topskip=0pt - \global\entrylinedepth=0pt\relax } % The double-column output routine for all double-column pages except -% the last, which is done by \balancecolumns. +% the last. % \def\doublecolumnout{% - % \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the @@ -5875,13 +5230,10 @@ % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize - \vbox{% - \vskip\doublecolumntopgap - \hbox to\txipagewidth{\box0\hfil\box2}}% + \hbox to\pagewidth{\box0\hfil\box2}% } - - -% Finished with with double columns. +% +% All done with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the @@ -5904,7 +5256,7 @@ % goal. When TeX sees \eject from below which follows the final % section, it invokes the new output routine that we've set after % \balancecolumns below; \onepageout will try to fit the two columns - % and the final section into the vbox of \txipageheight (see + % and the final section into the vbox of \pageheight (see % \pagebody), causing an overfull box. % % Note that glue won't work here, because glue does not exercise the @@ -5912,21 +5264,21 @@ \penalty0 % \output = {% - % Split the last of the double-column material. - \savemarks + % Split the last of the double-column material. Leave it on the + % current page, no automatic page break. \balancecolumns % - % Having called \balancecolumns once, we do not + % If we end up splitting too much material for the current page, + % though, there will be another page break right after this \output + % invocation ends. Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal - % definition right away. + % definition right away. (We hope \balancecolumns will never be + % called on to balance too much material, but if it is, this makes + % the output somewhat more palatable.) \global\output = {\onepageout{\pagecontents\PAGE}}% }% \eject \endgroup % started in \begindoublecolumns - \restoremarks - % Leave the double-column material on the current page, no automatic - % page break. - \box\balancedcolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column @@ -5934,52 +5286,31 @@ % \endgroup where \vsize got restored). \pagegoal = \vsize } -\newbox\balancedcolumns -\setbox\balancedcolumns=\vbox{shouldnt see this}% % -% Only called for the last of the double column material. \doublecolumnout -% does the others. +% Called at the end of the double column material. \def\balancecolumns{% \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip - \ifdim\dimen@<14\baselineskip - % Don't split a short final column in two. - \setbox2=\vbox{}% - \else - \divide\dimen@ by 2 % target to split to - \dimen@ii = \dimen@ - \splittopskip = \topskip - % Loop until the second column is no higher than the first - {% - \vbadness = 10000 - \loop - \global\setbox3 = \copy0 - \global\setbox1 = \vsplit3 to \dimen@ - % Remove glue from bottom of first column to - % make sure it is higher than the second. - \global\setbox1 = \vbox{\unvbox1\unpenalty\unskip}% - \ifdim\ht3>\ht1 - \global\advance\dimen@ by 1pt - \repeat - }% - \multiply\dimen@ii by 4 - \divide\dimen@ii by 5 - \ifdim\ht3<\dimen@ii - % Column heights are too different, so don't make their bottoms - % flush with each other. The glue at the end of the second column - % allows a second column to stretch, reducing the difference in - % height between the two. - \setbox0=\vbox to\dimen@{\unvbox1\vfill}% - \setbox2=\vbox to\dimen@{\unvbox3\vskip 0pt plus 0.3\ht0}% - \else - \setbox0=\vbox to\dimen@{\unvbox1}% - \setbox2=\vbox to\dimen@{\unvbox3}% - \fi - \fi + \divide\dimen@ by 2 % target to split to + %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% + \splittopskip = \topskip + % Loop until we get a decent breakpoint. + {% + \vbadness = 10000 + \loop + \global\setbox3 = \copy0 + \global\setbox1 = \vsplit3 to \dimen@ + \ifdim\ht3>\dimen@ + \global\advance\dimen@ by 1pt + \repeat + }% + %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% + \setbox0=\vbox to\dimen@{\unvbox1}% + \setbox2=\vbox to\dimen@{\unvbox3}% % - \global\setbox\balancedcolumns=\vbox{\pagesofar}% + \pagesofar } \catcode`\@ = \other @@ -5998,10 +5329,6 @@ \let\lastnode=\empty % no node to associate with \writetocentry{part}{#1}{}% but put it in the toc \headingsoff % no headline or footline on the part page - % This outputs a mark at the end of the page that clears \thischapter - % and \thissection, as is done in \startcontents. - \let\pchapsepmacro\relax - \chapmacro{}{Yomitfromtoc}{}% \chapoddpage \endgroup } @@ -6246,6 +5573,9 @@ % @centerchap is like @unnumbered, but the heading is centered. \outer\parseargdef\centerchap{% + % Well, we could do the following in a group, but that would break + % an assumption that \chapmacro is called at the outermost level. + % Thus we are safer this way: --kasal, 24feb04 \let\centerparametersmaybe = \centerparameters \unnmhead0{#1}% \let\centerparametersmaybe = \relax @@ -6369,11 +5699,7 @@ % Define plain chapter starts, and page on/off switching for it. \def\chapbreak{\dobreak \chapheadingskip {-4000}} - -% Start a new page \def\chappager{\par\vfill\supereject} - -% \chapoddpage - start on an odd page for a new chapter % Because \domark is called before \chapoddpage, the filler page will % get the headings for the next chapter, which is wrong. But we don't % care -- we just disable all headings on the filler page. @@ -6388,7 +5714,7 @@ \fi } -\parseargdef\setchapternewpage{\csname CHAPPAG#1\endcsname} +\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager @@ -6409,26 +5735,17 @@ \CHAPPAGon -% \chapmacro - Chapter opening. +% Chapter opening. % % #1 is the text, #2 is the section type (Ynumbered, Ynothing, % Yappendix, Yomitfromtoc), #3 the chapter number. -% Not used for @heading series. % % To test against our argument. \def\Ynothingkeyword{Ynothing} -\def\Yappendixkeyword{Yappendix} \def\Yomitfromtockeyword{Yomitfromtoc} +\def\Yappendixkeyword{Yappendix} % \def\chapmacro#1#2#3{% - \expandafter\ifx\thisenv\titlepage\else - \checkenv{}% chapters, etc., should not start inside an environment. - \fi - % FIXME: \chapmacro is currently called from inside \titlepage when - % \setcontentsaftertitlepage to print the "Table of Contents" heading, but - % this should probably be done by \sectionheading with an option to print - % in chapter size. - % % Insert the first mark before the heading break (see notes for \domark). \let\prevchapterdefs=\lastchapterdefs \let\prevsectiondefs=\lastsectiondefs @@ -6481,7 +5798,6 @@ % {% \chapfonts \rmisbold - \let\footnote=\errfootnoteheading % give better error message % % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called @@ -6534,6 +5850,30 @@ } +% I don't think this chapter style is supported any more, so I'm not +% updating it with the new noderef stuff. We'll see. --karl, 11aug03. +% +\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} +% +\def\unnchfopen #1{% + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings #1\par}% + \nobreak\bigskip\nobreak +} +\def\chfopen #1#2{\chapoddpage {\chapfonts +\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% +\par\penalty 5000 % +} +\def\centerchfopen #1{% + \chapoddpage + \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}% + \nobreak\bigskip \nobreak +} +\def\CHAPFopen{% + \global\let\chapmacro=\chfopen + \global\let\centerchapmacro=\centerchfopen} + + % Section titles. These macros combine the section number parts and % call the generic \sectionheading to do the printing. % @@ -6551,29 +5891,22 @@ % Print any size, any type, section title. % -% #1 is the text of the title, -% #2 is the section level (sec/subsec/subsubsec), -% #3 is the section type (Ynumbered, Ynothing, Yappendix, Yomitfromtoc), -% #4 is the section number. +% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is +% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the +% section number. % \def\seckeyword{sec} % \def\sectionheading#1#2#3#4{% {% - \def\sectionlevel{#2}% - \def\temptype{#3}% - % - % It is ok for the @heading series commands to appear inside an - % environment (it's been historically allowed, though the logic is - % dubious), but not the others. - \ifx\temptype\Yomitfromtockeyword\else - \checkenv{}% non-@*heading should not be in an environment. - \fi - \let\footnote=\errfootnoteheading + \checkenv{}% should not be in an environment. % % Switch to the right set of fonts. \csname #2fonts\endcsname \rmisbold % + \def\sectionlevel{#2}% + \def\temptype{#3}% + % % Insert first mark before the heading break (see notes for \domark). \let\prevsectiondefs=\lastsectiondefs \ifx\temptype\Ynothingkeyword @@ -6736,14 +6069,7 @@ % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. - \ifpdf - \global\pdfmakepagedesttrue - \else - \ifx\XeTeXrevision\thisisundefined - \else - \global\pdfmakepagedesttrue - \fi - \fi + \ifpdf \global\pdfmakepagedesttrue \fi } @@ -6792,7 +6118,7 @@ \savepageno = \pageno \begingroup % Set up to handle contents files properly. \raggedbottom % Worry more about breakpoints than the bottom. - \entryrightmargin=\contentsrightmargin % Don't use the full line length. + \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi @@ -6897,7 +6223,7 @@ % Chapters, in the main contents. \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} - +% % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3#4{% @@ -6912,7 +6238,7 @@ \setbox0 = \hbox{\putwordAppendix{} M}% \hbox to \wd0{\putwordAppendix{} #1\hss}} % -\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\hskip.7em#1}{#4}} +\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} % Unnumbered chapters. \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} @@ -6945,8 +6271,6 @@ \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup - % Move the page numbers slightly to the right - \advance\entryrightmargin by -0.05em \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup @@ -7003,12 +6327,12 @@ \catcode `\>=\other \catcode `\`=\other \catcode `\'=\other + \escapechar=`\\ % % ' is active in math mode (mathcode"8000). So reset it, and all our % other math active characters (just in case), to plain's definitions. \mathactive % - % Inverse of the list at the beginning of the file. \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc @@ -7024,9 +6348,7 @@ \let\+=\tabalign \let\}=\ptexrbrace \let\/=\ptexslash - \let\sp=\ptexsp \let\*=\ptexstar - %\let\sup=\ptexsup % do not redefine, we want @sup to work in math mode \let\t=\ptext \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing @@ -7065,24 +6387,6 @@ \endgraf \ifdim\lastskip<\envskipamount \removelastskip - \ifnum\lastpenalty<10000 - % Penalize breaking before the environment, because preceding text - % often leads into it. - \penalty100 - \fi - \vskip\envskipamount - \fi - \fi -}} - -\def\afterenvbreak{{% - % =10000 instead of <10000 because of a special case in \itemzzz and - % \sectionheading, q.v. - \ifnum \lastpenalty=10000 \else - \advance\envskipamount by \parskip - \endgraf - \ifdim\lastskip<\envskipamount - \removelastskip % it's not a good place to break if the last penalty was \nobreak % or better ... \ifnum\lastpenalty<10000 \penalty-50 \fi @@ -7091,6 +6395,8 @@ \fi }} +\let\afterenvbreak = \aboveenvbreak + % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will % also clear it, so that its embedded environments do the narrowing again. \let\nonarrowing=\relax @@ -7134,7 +6440,7 @@ % collide with the section heading. \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi % - \setbox\groupbox=\vbox\bgroup + \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup @@ -7158,7 +6464,6 @@ \egroup \cartbot \egroup - \addgroupbox \checkinserts } @@ -7541,7 +6846,7 @@ % typesetting commands (@smallbook, font changes, etc.) have to be done % beforehand -- and a) we want @copying to be done first in the source % file; b) letting users define the frontmatter in as flexible order as -% possible is desirable. +% possible is very desirable. % \def\copying{\checkenv{}\begingroup\scanargctxt\docopying} \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} @@ -7636,7 +6941,7 @@ \temp } -% \domakedefun \deffn \deffnx \deffnheader { (defn. of \deffnheader) } +% \domakedefun \deffn \deffnx \deffnheader % % Define \deffn and \deffnx, without parameters. % \deffnheader has to be defined explicitly. @@ -7974,49 +7279,34 @@ } \fi -\let\aftermacroxxx\relax -\def\aftermacro{\aftermacroxxx} - -% alias because \c means cedilla in @tex or @math -\let\texinfoc=\c - -\newcount\savedcatcodeone -\newcount\savedcatcodetwo - -% Used at the time of macro expansion. -% Argument is macro body with arguments substituted -\def\scanmacro#1{% +\def\scanmacro#1{\begingroup \newlinechar`\^^M - \def\xeatspaces{\eatspaces}% - % - % Temporarily undo catcode changes of \printindex. Set catcode of @ to - % 0 so that @-commands in macro expansions aren't printed literally when - % formatting an index file, where \ is used as the escape character. - \savedcatcodeone=\catcode`\@ - \savedcatcodetwo=\catcode`\\ - \catcode`\@=0 - \catcode`\\=\active + \let\xeatspaces\eatspaces % - % Process the macro body under the current catcode regime. - \scantokens{#1@texinfoc}\aftermacro% + % Undo catcode changes of \startcontents and \doprintindex + % When called from @insertcopying or (short)caption, we need active + % backslash to get it printed correctly. Previously, we had + % \catcode`\\=\other instead. We'll see whether a problem appears + % with macro expansion. --kasal, 19aug04 + \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ % - \catcode`\@=\savedcatcodeone - \catcode`\\=\savedcatcodetwo + % ... and for \example: + \spaceisspace % - % The \texinfoc is to remove the \newlinechar added by \scantokens, and - % can be noticed by \parsearg. - % The \aftermacro allows a \comment at the end of the macro definition - % to duplicate itself past the final \newlinechar added by \scantokens: - % this is used in the definition of \group to comment out a newline. We - % don't do the same for \c to support Texinfo files with macros that ended - % with a @c, which should no longer be necessary. - % We avoid surrounding the call to \scantokens with \bgroup and \egroup - % to allow macros to open or close groups themselves. -} + % The \empty here causes a following catcode 5 newline to be eaten as + % part of reading whitespace after a control sequence. It does not + % eat a catcode 13 newline. There's no good way to handle the two + % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX + % would then have different behavior). See the Macro Details node in + % the manual for the workaround we recommend for macros and + % line-oriented commands. + % + \scantokens{#1\empty}% +\endgroup} -% Used for copying and captions \def\scanexp#1{% - \expandafter\scanmacro\expandafter{#1}% + \edef\temp{\noexpand\scanmacro{#1}}% + \temp } \newcount\paramno % Count of parameters @@ -8082,45 +7372,48 @@ \catcode`\+=\other \catcode`\<=\other \catcode`\>=\other + \catcode`\@=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other - \passthroughcharstrue + \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } \def\scanargctxt{% used for copying and captions, not macros. \scanctxt - \catcode`\@=\other \catcode`\\=\other \catcode`\^^M=\other } \def\macrobodyctxt{% used for @macro definitions \scanctxt - \catcode`\ =\other - \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other \catcode`\^^M=\other \usembodybackslash } -% Used when scanning braced macro arguments. Note, however, that catcode -% changes here are ineffectual if the macro invocation was nested inside -% an argument to another Texinfo command. -\def\macroargctxt{% +\def\macroargctxt{% used when scanning invocations \scanctxt - \catcode`\ =\active - \catcode`\^^M=\other - \catcode`\\=\active + \catcode`\\=0 } +% why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes" +% for the single characters \ { }. Thus, we end up with the "commands" +% that would be written @\ @{ @} in a Texinfo document. +% +% We already have @{ and @}. For @\, we define it here, and only for +% this purpose, to produce a typewriter backslash (so, the @\ that we +% define for @math can't be used with @macro calls): +% +\def\\{\normalbackslash}% +% +% We would like to do this for \, too, since that is what makeinfo does. +% But it is not possible, because Texinfo already has a command @, for a +% cedilla accent. Documents must use @comma{} instead. +% +% \anythingelse will almost certainly be an error of some kind. -\def\macrolineargctxt{% used for whole-line arguments without braces - \scanctxt - \catcode`\{=\other - \catcode`\}=\other -} % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N @@ -8192,36 +7485,57 @@ \fi } -% \getargs -- Parse the arguments to a @macro line. Set \macname to -% the name of the macro, and \argl to the braced argument list. +% This makes use of the obscure feature that if the last token of a +% is #, then the preceding argument is delimited by +% an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname#1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} -% This made use of the feature that if the last token of a -% is #, then the preceding argument is delimited by -% an opening brace, and that opening brace is not consumed. -% Parse the optional {params} list to @macro or @rmacro. -% Set \paramno to the number of arguments, -% and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a -% three-param macro.) Define \macarg.BLAH for each BLAH in the params -% list to some hook where the argument is to be expanded. If there are -% less than 10 arguments that hook is to be replaced by ##N where N +% For macro processing make @ a letter so that we can make Texinfo private macro names. +\edef\texiatcatcode{\the\catcode`\@} +\catcode `@=11\relax + +% Parse the optional {params} list. Set up \paramno and \paramlist +% so \defmacro knows what to do. Define \macarg.BLAH for each BLAH +% in the params list to some hook where the argument is to be expanded. If +% there are less than 10 arguments that hook is to be replaced by ##N where N % is the position in that list, that is to say the macro arguments are to be % defined `a la TeX in the macro body. % % That gets used by \mbodybackslash (above). % -% If there are 10 or more arguments, a different technique is used: see -% \parsemmanyargdef. +% We need to get `macro parameter char #' into several definitions. +% The technique used is stolen from LaTeX: let \hash be something +% unexpandable, insert that wherever you need a #, and then redefine +% it to # just before using the token list produced. +% +% The same technique is used to protect \eatspaces till just before +% the macro is used. +% +% If there are 10 or more arguments, a different technique is used, where the +% hook remains in the body, and when macro is to be expanded the body is +% processed again to replace the arguments. +% +% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the +% argument N value and then \edef the body (nothing else will expand because of +% the catcode regime underwhich the body was input). % +% If you compile with TeX (not eTeX), and you have macros with 10 or more +% arguments, you need that no macro has more than 256 arguments, otherwise an +% error is produced. \def\parsemargdef#1;{% \paramno=0\def\paramlist{}% \let\hash\relax - % \hash is redefined to `#' later to get it into definitions \let\xeatspaces\relax \parsemargdefxxx#1,;,% + % In case that there are 10 or more arguments we parse again the arguments + % list to set new definitions for the \macarg.BLAH macros corresponding to + % each BLAH argument. It was anyhow needed to parse already once this list + % in order to count the arguments, and as macros with at most 9 arguments + % are by far more frequent than macro with 10 or more arguments, defining + % twice the \macarg.BLAH macros does not cost too much processing power. \ifnum\paramno<10\relax\else \paramno0\relax \parsemmanyargdef@@#1,;,% 10 or more arguments @@ -8236,43 +7550,6 @@ \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} -% \parsemacbody, \parsermacbody -% -% Read recursive and nonrecursive macro bodies. (They're different since -% rec and nonrec macros end differently.) -% -% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro -% body to be transformed. -% Set \macrobody to the body of the macro, and call \defmacro. -% -{\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{% -\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% -{\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{% -\xdef\macrobody{\eatcr{#1}}\endgroup\defmacro}}% - -% Make @ a letter, so that we can make private-to-Texinfo macro names. -\edef\texiatcatcode{\the\catcode`\@} -\catcode `@=11\relax - -%%%%%%%%%%%%%% Code for > 10 arguments only %%%%%%%%%%%%%%%%%% - -% If there are 10 or more arguments, a different technique is used, where the -% hook remains in the body, and when macro is to be expanded the body is -% processed again to replace the arguments. -% -% In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the -% argument N value and then \edef the body (nothing else will expand because of -% the catcode regime under which the body was input). -% -% If you compile with TeX (not eTeX), and you have macros with 10 or more -% arguments, no macro can have more than 256 arguments (else error). -% -% In case that there are 10 or more arguments we parse again the arguments -% list to set new definitions for the \macarg.BLAH macros corresponding to -% each BLAH argument. It was anyhow needed to parse already once this list -% in order to count the arguments, and as macros with at most 9 arguments -% are by far more frequent than macro with 10 or more arguments, defining -% twice the \macarg.BLAH macros does not cost too much processing power. \def\parsemmanyargdef@@#1,{% \if#1;\let\next=\relax \else @@ -8288,6 +7565,16 @@ \advance\paramno by 1\relax \fi\next} +% These two commands read recursive and nonrecursive macro bodies. +% (They're different since rec and nonrec macros end differently.) +% + +\catcode `\@\texiatcatcode +\long\def\parsemacbody#1@end macro% +{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +\long\def\parsermacbody#1@end rmacro% +{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +\catcode `\@=11\relax \let\endargs@\relax \let\nil@\relax @@ -8295,7 +7582,7 @@ \long\def\nillm@{\nil@}% % This macro is expanded during the Texinfo macro expansion, not during its -% definition. It gets all the arguments' values and assigns them to macros +% definition. It gets all the arguments values and assigns them to macros % macarg.ARGNAME % % #1 is the macro name @@ -8316,6 +7603,8 @@ \getargvals@@ \fi } + +% \def\getargvals@@{% \ifx\paramlist\nilm@ % Some sanity check needed here that \argvaluelist is also empty. @@ -8359,8 +7648,7 @@ } % Replace arguments by their values in the macro body, and place the result -% in macro \@tempa. -% +% in macro \@tempa \def\macvalstoargs@{% % To do this we use the property that token registers that are \the'ed % within an \edef expand only once. So we are going to place all argument @@ -8384,9 +7672,8 @@ \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% } -% Define the named-macro outside of this group and then close this group. -% \def\macargexpandinbody@{% + %% Define the named-macro outside of this group and then close this group. \expandafter \endgroup \macargdeflist@ @@ -8423,8 +7710,14 @@ \next } -% Trailing missing arguments are set to empty. -% +% Save the token stack pointer into macro #1 +\def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}} +% Restore the token stack pointer from number in macro #1 +\def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax} +% newtoks that can be used non \outer . +\def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi} + +% Tailing missing arguments are set to empty \def\setemptyargvalues@{% \ifx\paramlist\nilm@ \let\next\macargexpandinbody@ @@ -8454,228 +7747,99 @@ \long\def#2{#4}% } - -%%%%%%%%%%%%%% End of code for > 10 arguments %%%%%%%%%%%%%%%%%% - - -% This defines a Texinfo @macro or @rmacro, called by \parsemacbody. -% \macrobody has the body of the macro in it, with placeholders for -% its parameters, looking like "\xeatspaces{\hash 1}". -% \paramno is the number of parameters -% \paramlist is a TeX parameter text, e.g. "#1,#2,#3," -% There are eight cases: recursive and nonrecursive macros of zero, one, -% up to nine, and many arguments. +% This defines a Texinfo @macro. There are eight cases: recursive and +% nonrecursive macros of zero, one, up to nine, and many arguments. +% Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file -% they're defined in: @include reads the file inside a group. +% they're defined in; @include reads the file inside a group. % \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars - \ifnum\paramno=1 - \def\xeatspaces##1{##1}% - % This removes the pair of braces around the argument. We don't - % use \eatspaces, because this can cause ends of lines to be lost - % when the argument to \eatspaces is read, leading to line-based - % commands like "@itemize" not being read correctly. - \else - \let\xeatspaces\relax % suppress expansion - \fi - \ifrecursive %%%%%%%%%%%%%% Recursive %%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \ifrecursive \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\scanmacro{\macrobody}}% + \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup + \bgroup\noexpand\macroargctxt \noexpand\braceorline - \expandafter\noexpand\csname\the\macname @@@\endcsname}% - \expandafter\xdef\csname\the\macname @@@\endcsname##1{% - \egroup - \noexpand\scanmacro{\macrobody}% - }% + \expandafter\noexpand\csname\the\macname xxx\endcsname}% + \expandafter\xdef\csname\the\macname xxx\endcsname##1{% + \egroup\noexpand\scanmacro{\temp}}% \else \ifnum\paramno<10\relax % at most 9 - % See non-recursive section below for comments \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup - \noexpand\expandafter - \noexpand\macroargctxt - \noexpand\expandafter - \expandafter\noexpand\csname\the\macname @@\endcsname}% - \expandafter\xdef\csname\the\macname @@\endcsname##1{% - \noexpand\passargtomacro - \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}% - \expandafter\xdef\csname\the\macname @@@\endcsname##1{% - \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}% + \bgroup\noexpand\macroargctxt + \noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter - \csname\the\macname @@@@\endcsname\paramlist{% - \egroup\noexpand\scanmacro{\macrobody}}% + \csname\the\macname xxx\endcsname + \paramlist{\egroup\noexpand\scanmacro{\temp}}% \else % 10 or more \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\getargvals@{\the\macname}{\argl}% }% - \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble \fi \fi - \else %%%%%%%%%%%%%%%%%%%%%% Non-recursive %%%%%%%%%%%%%%%%%%%%%%%%%% + \else \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\scanmacro{\macrobody}}% + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup + \bgroup\noexpand\macroargctxt \noexpand\braceorline - \expandafter\noexpand\csname\the\macname @@@\endcsname}% - \expandafter\xdef\csname\the\macname @@@\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname}% + \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup - \noexpand\scanmacro{\macrobody}% - }% + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% \else % at most 9 \ifnum\paramno<10\relax - % @MACNAME sets the context for reading the macro argument - % @MACNAME@@ gets the argument, processes backslashes and appends a - % comma. - % @MACNAME@@@ removes braces surrounding the argument list. - % @MACNAME@@@@ scans the macro body with arguments substituted. \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup - \noexpand\expandafter % This \expandafter skip any spaces after the - \noexpand\macroargctxt % macro before we change the catcode of space. - \noexpand\expandafter - \expandafter\noexpand\csname\the\macname @@\endcsname}% - \expandafter\xdef\csname\the\macname @@\endcsname##1{% - \noexpand\passargtomacro - \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}% - \expandafter\xdef\csname\the\macname @@@\endcsname##1{% - \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}% + \bgroup\noexpand\macroargctxt + \expandafter\noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter - \csname\the\macname @@@@\endcsname\paramlist{% - \egroup\noexpand\scanmacro{\macrobody}}% + \csname\the\macname xxx\endcsname + \paramlist{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% \else % 10 or more: \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\getargvals@{\the\macname}{\argl}% }% - \global\expandafter\let\csname mac.\the\macname .body\endcsname\macrobody + \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse \fi \fi \fi} -\catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes +\catcode `\@\texiatcatcode\relax \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -{\catcode`\@=0 \catcode`\\=13 % We need to manipulate \ so use @ as escape -@catcode`@_=11 % private names -@catcode`@!=11 % used as argument separator - -% \passargtomacro#1#2 - -% Call #1 with a list of tokens #2, with any doubled backslashes in #2 -% compressed to one. -% -% This implementation works by expansion, and not execution (so we cannot use -% \def or similar). This reduces the risk of this failing in contexts where -% complete expansion is done with no execution (for example, in writing out to -% an auxiliary file for an index entry). -% -% State is kept in the input stream: the argument passed to -% @look_ahead, @gobble_and_check_finish and @add_segment is -% -% THE_MACRO ARG_RESULT ! {PENDING_BS} NEXT_TOKEN (... rest of input) -% -% where: -% THE_MACRO - name of the macro we want to call -% ARG_RESULT - argument list we build to pass to that macro -% PENDING_BS - either a backslash or nothing -% NEXT_TOKEN - used to look ahead in the input stream to see what's coming next - -@gdef@passargtomacro#1#2{% - @add_segment #1!{}@relax#2\@_finish\% -} -@gdef@_finish{@_finishx} @global@let@_finishx@relax - -% #1 - THE_MACRO ARG_RESULT -% #2 - PENDING_BS -% #3 - NEXT_TOKEN -% #4 used to look ahead -% -% If the next token is not a backslash, process the rest of the argument; -% otherwise, remove the next token. -@gdef@look_ahead#1!#2#3#4{% - @ifx#4\% - @expandafter@gobble_and_check_finish - @else - @expandafter@add_segment - @fi#1!{#2}#4#4% -} - -% #1 - THE_MACRO ARG_RESULT -% #2 - PENDING_BS -% #3 - NEXT_TOKEN -% #4 should be a backslash, which is gobbled. -% #5 looks ahead -% -% Double backslash found. Add a single backslash, and look ahead. -@gdef@gobble_and_check_finish#1!#2#3#4#5{% - @add_segment#1\!{}#5#5% -} - -@gdef@is_fi{@fi} - -% #1 - THE_MACRO ARG_RESULT -% #2 - PENDING_BS -% #3 - NEXT_TOKEN -% #4 is input stream until next backslash -% -% Input stream is either at the start of the argument, or just after a -% backslash sequence, either a lone backslash, or a doubled backslash. -% NEXT_TOKEN contains the first token in the input stream: if it is \finish, -% finish; otherwise, append to ARG_RESULT the segment of the argument up until -% the next backslash. PENDING_BACKSLASH contains a backslash to represent -% a backslash just before the start of the input stream that has not been -% added to ARG_RESULT. -@gdef@add_segment#1!#2#3#4\{% -@ifx#3@_finish - @call_the_macro#1!% -@else - % append the pending backslash to the result, followed by the next segment - @expandafter@is_fi@look_ahead#1#2#4!{\}@fi - % this @fi is discarded by @look_ahead. - % we can't get rid of it with \expandafter because we don't know how - % long #4 is. -} - -% #1 - THE_MACRO -% #2 - ARG_RESULT -% #3 discards the res of the conditional in @add_segment, and @is_fi ends the -% conditional. -@gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} - -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% \braceorline MAC is used for a one-argument macro MAC. It checks -% whether the next non-whitespace character is a {. It sets the context -% for reading the argument (slightly different in the two cases). Then, -% to read the argument, in the whole-line case, it then calls the regular -% \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. +% \braceorline decides whether the next nonwhitespace character is a +% {. If so it reads up to the closing }, if not, it reads the whole +% line. Whatever was read is then fed to the next control sequence +% as an argument (by \parsebrace or \parsearg). % \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% - \ifx\nchar\bgroup - \macroargctxt - \expandafter\passargtomacro - \else - \macrolineargctxt\expandafter\parsearg + \ifx\nchar\bgroup\else + \expandafter\parsearg \fi \macnamexxx} @@ -8757,10 +7921,7 @@ \pdfmkdest{#1}% \iflinks {% - \requireauxfile \atdummies % preserve commands, but don't expand them - % match definition in \xrdef, \refx, \xrefX. - \def\value##1{##1}% \edef\writexrdef##1##2{% \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef @@ -8799,12 +7960,9 @@ % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % -\def\pxref{\putwordsee{} \xrefXX} -\def\xref{\putwordSee{} \xrefXX} -\def\ref{\xrefXX} - -\def\xrefXX#1{\def\xrefXXarg{#1}\futurelet\tokenafterxref\xrefXXX} -\def\xrefXXX{\expandafter\xrefX\expandafter[\xrefXXarg,,,,,,,]} +\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} +\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} +\def\ref#1{\xrefX[#1,,,,,,,]} % \newbox\toprefbox \newbox\printedrefnamebox @@ -8851,7 +8009,6 @@ % % Make link in pdf output. \ifpdf - % For pdfTeX and LuaTeX {\indexnofonts \turnoffactive \makevalueexpandable @@ -8878,61 +8035,19 @@ \fi }% \setcolor{\linkcolor}% - \else - \ifx\XeTeXrevision\thisisundefined - \else - % For XeTeX - {\indexnofonts - \turnoffactive - \makevalueexpandable - % This expands tokens, so do it after making catcode changes, so _ - % etc. don't get their TeX definitions. This ignores all spaces in - % #4, including (wrongly) those in the middle of the filename. - \getfilename{#4}% - % - % This (wrongly) does not take account of leading or trailing - % spaces in #1, which should be ignored. - \iftxiuseunicodedestname - \def\pdfxrefdest{#1}% Pass through Unicode characters. - \else - \edef\pdfxrefdest{#1}% Replace Unicode characters to ASCII. - \fi - \ifx\pdfxrefdest\empty - \def\pdfxrefdest{Top}% no empty targets - \else - \txiescapepdf\pdfxrefdest % escape PDF special chars - \fi - % - \leavevmode - \ifnum\filenamelength>0 - % By the default settings, - % XeTeX (xdvipdfmx) replaces link destination names with integers. - % In this case, the replaced destination names of - % remote PDF cannot be known. In order to avoid replacement, - % you can use commandline option `-C 0x0010' for xdvipdfmx. - \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A - << /S /GoToR /F (\the\filename.pdf) /D (name\pdfxrefdest) >> >>}% - \else - \special{pdf:bann << /Border [0 0 0] /Type /Annot /Subtype /Link /A - << /S /GoTo /D (name\pdfxrefdest) >> >>}% - \fi - }% - \setcolor{\linkcolor}% - \fi \fi + % + % Float references are printed completely differently: "Figure 1.2" + % instead of "[somenode], p.3". We distinguish them by the + % LABEL-title being set to a magic string. {% % Have to otherify everything special to allow the \csname to % include an _ in the xref name, etc. \indexnofonts \turnoffactive - \def\value##1{##1}% \expandafter\global\expandafter\let\expandafter\Xthisreftitle \csname XR#1-title\endcsname }% - % - % Float references are printed completely differently: "Figure 1.2" - % instead of "[somenode], p.3". \iffloat distinguishes them by - % \Xthisreftitle being set to a magic string. \iffloat\Xthisreftitle % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". @@ -8991,15 +8106,6 @@ % % output the `page 3'. \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - % Add a , if xref followed by a space - \if\space\noexpand\tokenafterxref ,% - \else\ifx\ \tokenafterxref ,% @TAB - \else\ifx\*\tokenafterxref ,% @* - \else\ifx\ \tokenafterxref ,% @SPACE - \else\ifx\ - \tokenafterxref ,% @NL - \else\ifx\tie\tokenafterxref ,% @tie - \fi\fi\fi\fi\fi\fi \fi\fi \fi \endlink @@ -9066,14 +8172,13 @@ \fi\fi\fi } -% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX -% is output afterwards if non-empty. +% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. +% If its value is nonempty, SUFFIX is output afterward. +% \def\refx#1#2{% - \requireauxfile {% \indexnofonts \otherbackslash - \def\value##1{##1}% \expandafter\global\expandafter\let\expandafter\thisrefX \csname XR#1\endcsname }% @@ -9098,18 +8203,16 @@ #2% Output the suffix in any case. } -% This is the macro invoked by entries in the aux file. Define a control -% sequence for a cross-reference target (we prepend XR to the control sequence -% name to avoid collisions). The value is the page number. If this is a float -% type, we have more work to do. +% This is the macro invoked by entries in the aux file. Usually it's +% just a \def (we prepend XR to the control sequence name to avoid +% collisions). But if this is a float type, we have more work to do. % \def\xrdef#1#2{% - {% Expand the node or anchor name to remove control sequences. - % \turnoffactive stops 8-bit characters being changed to commands - % like @'e. \refx does the same to retrieve the value in the definition. + {% The node name might contain 8-bit characters, which in our current + % implementation are changed to commands like @'e. Don't let these + % mess up the control sequence name. \indexnofonts \turnoffactive - \def\value##1{##1}% \xdef\safexrefname{#1}% }% % @@ -9136,23 +8239,6 @@ \fi } -% If working on a large document in chapters, it is convenient to -% be able to disable indexing, cross-referencing, and contents, for test runs. -% This is done with @novalidate at the beginning of the file. -% -\newif\iflinks \linkstrue % by default we want the aux files. -\let\novalidate = \linksfalse - -% Used when writing to the aux file, or when using data from it. -\def\requireauxfile{% - \iflinks - \tryauxfile - % Open the new aux file. TeX will close it automatically at exit. - \immediate\openout\auxfile=\jobname.aux - \fi - \global\let\requireauxfile=\relax % Only do this once. -} - % Read the last existing aux file, if any. No error if none exists. % \def\tryauxfile{% @@ -9231,6 +8317,16 @@ % now. --karl, 15jan04. \catcode`\\=\other % + % Make the characters 128-255 be printing characters. + {% + \count1=128 + \def\loop{% + \catcode\count1=\other + \advance\count1 by 1 + \ifnum \count1<256 \loop \fi + }% + }% + % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 \catcode`\}=2 @@ -9263,6 +8359,9 @@ % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% + \let\indent=\ptexindent + \let\noindent=\ptexnoindent + % \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % @@ -9289,12 +8388,12 @@ % % Nested footnotes are not supported in TeX, that would take a lot % more work. (\startsavinginserts does not suffice.) - \let\footnote=\errfootnotenest + \let\footnote=\errfootnote % % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. - \hsize=\txipagewidth + \hsize=\pagewidth \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox @@ -9328,17 +8427,12 @@ } }%end \catcode `\@=11 -\def\errfootnotenest{% +\def\errfootnote{% \errhelp=\EMsimple \errmessage{Nested footnotes not supported in texinfo.tex, even though they work in makeinfo; sorry} } -\def\errfootnoteheading{% - \errhelp=\EMsimple - \errmessage{Footnotes in chapters, sections, etc., are not supported} -} - % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. @@ -9443,7 +8537,6 @@ \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names - \def\xprocessmacroarg{\eatspaces}% in case we are being used via a macro % If the image is by itself, center it. \ifvmode \imagevmodetrue @@ -9473,21 +8566,12 @@ % % Output the image. \ifpdf - % For pdfTeX and LuaTeX <= 0.80 \dopdfimage{#1}{#2}{#3}% \else - \ifx\XeTeXrevision\thisisundefined - % For epsf.tex - % \epsfbox itself resets \epsf?size at each figure. - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi - \epsfbox{#1.eps}% - \else - % For XeTeX - \doxeteximage{#1}{#2}{#3}% - \fi + % \epsfbox itself resets \epsf?size at each figure. + \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi + \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi + \epsfbox{#1.eps}% \fi % \ifimagevmode @@ -9609,7 +8693,7 @@ % \ifx\thiscaption\empty \else \ifx\floatident\empty \else - \appendtomacro\captionline{: }% had ident, so need a colon between + \appendtomacro\captionline{: }% had ident, so need a colon between \fi % % caption text. @@ -9633,20 +8717,32 @@ % \floatlabel-lof. Besides \floatident, we include the short % caption if specified, else the full caption if specified, else nothing. {% - \requireauxfile \atdummies % - \ifx\thisshortcaption\empty - \def\gtemp{\thiscaption}% - \else - \def\gtemp{\thisshortcaption}% - \fi + % since we read the caption text in the macro world, where ^^M + % is turned into a normal character, we have to scan it back, so + % we don't write the literal three characters "^^M" into the aux file. + \scanexp{% + \xdef\noexpand\gtemp{% + \ifx\thisshortcaption\empty + \thiscaption + \else + \thisshortcaption + \fi + }% + }% \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident - \ifx\gtemp\empty \else : \gtemp \fi}}% + \ifx\gtemp\empty \else : \gtemp \fi}}% }% \fi \egroup % end of \vtop % + % place the captured inserts + % + % BEWARE: when the floats start floating, we have to issue warning + % whenever an insert appears inside a float which could possibly + % float. --kasal, 26may04 + % \checkinserts } @@ -9821,70 +8917,6 @@ \global\righthyphenmin = #3\relax } -% XeTeX and LuaTeX can handle native Unicode. -% Their default I/O is UTF-8 sequence instead of byte-wise. -% Other TeX engine (pdfTeX etc.) I/O is byte-wise. -% -\newif\iftxinativeunicodecapable -\newif\iftxiusebytewiseio - -\ifx\XeTeXrevision\thisisundefined - \ifx\luatexversion\thisisundefined - \txinativeunicodecapablefalse - \txiusebytewiseiotrue - \else - \txinativeunicodecapabletrue - \txiusebytewiseiofalse - \fi -\else - \txinativeunicodecapabletrue - \txiusebytewiseiofalse -\fi - -% Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex -% for non-UTF-8 (byte-wise) encodings. -% -\def\setbytewiseio{% - \ifx\XeTeXrevision\thisisundefined - \else - \XeTeXdefaultencoding "bytes" % For subsequent files to be read - \XeTeXinputencoding "bytes" % For document root file - % Unfortunately, there seems to be no corresponding XeTeX command for - % output encoding. This is a problem for auxiliary index and TOC files. - % The only solution would be perhaps to write out @U{...} sequences in - % place of non-ASCII characters. - \fi - - \ifx\luatexversion\thisisundefined - \else - \directlua{ - local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub - local function convert_char (char) - return utf8_char(byte(char)) - end - - local function convert_line (line) - return gsub(line, ".", convert_char) - end - - callback.register("process_input_buffer", convert_line) - - local function convert_line_out (line) - local line_out = "" - for c in string.utfvalues(line) do - line_out = line_out .. string.char(c) - end - return line_out - end - - callback.register("process_output_buffer", convert_line_out) - } - \fi - - \txiusebytewiseiotrue -} - - % Helpers for encodings. % Set the catcode of characters 128 through 255 to the specified number. % @@ -9907,9 +8939,7 @@ % @documentencoding sets the definition of non-ASCII characters % according to the specified encoding. % -\def\documentencoding{\parseargusing\filenamecatcodes\documentencodingzzz} -\def\documentencodingzzz#1{% - % +\parseargdef\documentencoding{% % Encoding being declared for the document. \def\declaredencoding{\csname #1.enc\endcsname}% % @@ -9925,40 +8955,23 @@ \asciichardefs % \else \ifx \declaredencoding \lattwo - \iftxinativeunicodecapable - \setbytewiseio - \fi \setnonasciicharscatcode\active \lattwochardefs % \else \ifx \declaredencoding \latone - \iftxinativeunicodecapable - \setbytewiseio - \fi \setnonasciicharscatcode\active \latonechardefs % \else \ifx \declaredencoding \latnine - \iftxinativeunicodecapable - \setbytewiseio - \fi \setnonasciicharscatcode\active \latninechardefs % \else \ifx \declaredencoding \utfeight - \iftxinativeunicodecapable - % For native Unicode (XeTeX and LuaTeX) - \nativeunicodechardefs - \else - % For UTF-8 byte sequence (TeX, eTeX and pdfTeX) - \setnonasciicharscatcode\active - % since we already invoked \utfeightchardefs at the top level - % (below), do not re-invoke it, then our check for duplicated - % definitions triggers. Making non-ascii chars active is enough. - \fi + \setnonasciicharscatcode\active + \utfeightchardefs % \else - \message{Ignoring unknown document encoding: #1.}% + \message{Unknown document encoding #1, ignoring.}% % \fi % utfeight \fi % latnine @@ -9967,11 +8980,10 @@ \fi % ascii } -% emacs-page % A message to be logged when using a character that isn't available % the default font encoding (OT1). % -\def\missingcharmsg#1{\message{Character missing, sorry: #1.}} +\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} % Take account of \c (plain) vs. \, (Texinfo) difference. \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} @@ -9981,119 +8993,111 @@ % macros containing the character definitions. \setnonasciicharscatcode\active % - -\def\gdefchar#1#2{% -\gdef#1{% - \ifpassthroughchars - \string#1% - \else - #2% - \fi -}} - % Latin1 (ISO-8859-1) character definitions. \def\latonechardefs{% - \gdefchar^^a0{\tie} - \gdefchar^^a1{\exclamdown} - \gdefchar^^a2{{\tcfont \char162}} % cent - \gdefchar^^a3{\pounds} - \gdefchar^^a4{{\tcfont \char164}} % currency - \gdefchar^^a5{{\tcfont \char165}} % yen - \gdefchar^^a6{{\tcfont \char166}} % broken bar - \gdefchar^^a7{\S} - \gdefchar^^a8{\"{}} - \gdefchar^^a9{\copyright} - \gdefchar^^aa{\ordf} - \gdefchar^^ab{\guillemetleft} - \gdefchar^^ac{\ensuremath\lnot} - \gdefchar^^ad{\-} - \gdefchar^^ae{\registeredsymbol} - \gdefchar^^af{\={}} - % - \gdefchar^^b0{\textdegree} - \gdefchar^^b1{$\pm$} - \gdefchar^^b2{$^2$} - \gdefchar^^b3{$^3$} - \gdefchar^^b4{\'{}} - \gdefchar^^b5{$\mu$} - \gdefchar^^b6{\P} - \gdefchar^^b7{\ensuremath\cdot} - \gdefchar^^b8{\cedilla\ } - \gdefchar^^b9{$^1$} - \gdefchar^^ba{\ordm} - \gdefchar^^bb{\guillemetright} - \gdefchar^^bc{$1\over4$} - \gdefchar^^bd{$1\over2$} - \gdefchar^^be{$3\over4$} - \gdefchar^^bf{\questiondown} - % - \gdefchar^^c0{\`A} - \gdefchar^^c1{\'A} - \gdefchar^^c2{\^A} - \gdefchar^^c3{\~A} - \gdefchar^^c4{\"A} - \gdefchar^^c5{\ringaccent A} - \gdefchar^^c6{\AE} - \gdefchar^^c7{\cedilla C} - \gdefchar^^c8{\`E} - \gdefchar^^c9{\'E} - \gdefchar^^ca{\^E} - \gdefchar^^cb{\"E} - \gdefchar^^cc{\`I} - \gdefchar^^cd{\'I} - \gdefchar^^ce{\^I} - \gdefchar^^cf{\"I} - % - \gdefchar^^d0{\DH} - \gdefchar^^d1{\~N} - \gdefchar^^d2{\`O} - \gdefchar^^d3{\'O} - \gdefchar^^d4{\^O} - \gdefchar^^d5{\~O} - \gdefchar^^d6{\"O} - \gdefchar^^d7{$\times$} - \gdefchar^^d8{\O} - \gdefchar^^d9{\`U} - \gdefchar^^da{\'U} - \gdefchar^^db{\^U} - \gdefchar^^dc{\"U} - \gdefchar^^dd{\'Y} - \gdefchar^^de{\TH} - \gdefchar^^df{\ss} - % - \gdefchar^^e0{\`a} - \gdefchar^^e1{\'a} - \gdefchar^^e2{\^a} - \gdefchar^^e3{\~a} - \gdefchar^^e4{\"a} - \gdefchar^^e5{\ringaccent a} - \gdefchar^^e6{\ae} - \gdefchar^^e7{\cedilla c} - \gdefchar^^e8{\`e} - \gdefchar^^e9{\'e} - \gdefchar^^ea{\^e} - \gdefchar^^eb{\"e} - \gdefchar^^ec{\`{\dotless i}} - \gdefchar^^ed{\'{\dotless i}} - \gdefchar^^ee{\^{\dotless i}} - \gdefchar^^ef{\"{\dotless i}} - % - \gdefchar^^f0{\dh} - \gdefchar^^f1{\~n} - \gdefchar^^f2{\`o} - \gdefchar^^f3{\'o} - \gdefchar^^f4{\^o} - \gdefchar^^f5{\~o} - \gdefchar^^f6{\"o} - \gdefchar^^f7{$\div$} - \gdefchar^^f8{\o} - \gdefchar^^f9{\`u} - \gdefchar^^fa{\'u} - \gdefchar^^fb{\^u} - \gdefchar^^fc{\"u} - \gdefchar^^fd{\'y} - \gdefchar^^fe{\th} - \gdefchar^^ff{\"y} + \gdef^^a0{\tie} + \gdef^^a1{\exclamdown} + \gdef^^a2{\missingcharmsg{CENT SIGN}} + \gdef^^a3{{\pounds}} + \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} + \gdef^^a5{\missingcharmsg{YEN SIGN}} + \gdef^^a6{\missingcharmsg{BROKEN BAR}} + \gdef^^a7{\S} + \gdef^^a8{\"{}} + \gdef^^a9{\copyright} + \gdef^^aa{\ordf} + \gdef^^ab{\guillemetleft} + \gdef^^ac{$\lnot$} + \gdef^^ad{\-} + \gdef^^ae{\registeredsymbol} + \gdef^^af{\={}} + % + \gdef^^b0{\textdegree} + \gdef^^b1{$\pm$} + \gdef^^b2{$^2$} + \gdef^^b3{$^3$} + \gdef^^b4{\'{}} + \gdef^^b5{$\mu$} + \gdef^^b6{\P} + % + \gdef^^b7{$^.$} + \gdef^^b8{\cedilla\ } + \gdef^^b9{$^1$} + \gdef^^ba{\ordm} + % + \gdef^^bb{\guillemetright} + \gdef^^bc{$1\over4$} + \gdef^^bd{$1\over2$} + \gdef^^be{$3\over4$} + \gdef^^bf{\questiondown} + % + \gdef^^c0{\`A} + \gdef^^c1{\'A} + \gdef^^c2{\^A} + \gdef^^c3{\~A} + \gdef^^c4{\"A} + \gdef^^c5{\ringaccent A} + \gdef^^c6{\AE} + \gdef^^c7{\cedilla C} + \gdef^^c8{\`E} + \gdef^^c9{\'E} + \gdef^^ca{\^E} + \gdef^^cb{\"E} + \gdef^^cc{\`I} + \gdef^^cd{\'I} + \gdef^^ce{\^I} + \gdef^^cf{\"I} + % + \gdef^^d0{\DH} + \gdef^^d1{\~N} + \gdef^^d2{\`O} + \gdef^^d3{\'O} + \gdef^^d4{\^O} + \gdef^^d5{\~O} + \gdef^^d6{\"O} + \gdef^^d7{$\times$} + \gdef^^d8{\O} + \gdef^^d9{\`U} + \gdef^^da{\'U} + \gdef^^db{\^U} + \gdef^^dc{\"U} + \gdef^^dd{\'Y} + \gdef^^de{\TH} + \gdef^^df{\ss} + % + \gdef^^e0{\`a} + \gdef^^e1{\'a} + \gdef^^e2{\^a} + \gdef^^e3{\~a} + \gdef^^e4{\"a} + \gdef^^e5{\ringaccent a} + \gdef^^e6{\ae} + \gdef^^e7{\cedilla c} + \gdef^^e8{\`e} + \gdef^^e9{\'e} + \gdef^^ea{\^e} + \gdef^^eb{\"e} + \gdef^^ec{\`{\dotless i}} + \gdef^^ed{\'{\dotless i}} + \gdef^^ee{\^{\dotless i}} + \gdef^^ef{\"{\dotless i}} + % + \gdef^^f0{\dh} + \gdef^^f1{\~n} + \gdef^^f2{\`o} + \gdef^^f3{\'o} + \gdef^^f4{\^o} + \gdef^^f5{\~o} + \gdef^^f6{\"o} + \gdef^^f7{$\div$} + \gdef^^f8{\o} + \gdef^^f9{\`u} + \gdef^^fa{\'u} + \gdef^^fb{\^u} + \gdef^^fc{\"u} + \gdef^^fd{\'y} + \gdef^^fe{\th} + \gdef^^ff{\"y} } % Latin9 (ISO-8859-15) encoding character definitions. @@ -10101,119 +9105,119 @@ % Encoding is almost identical to Latin1. \latonechardefs % - \gdefchar^^a4{\euro} - \gdefchar^^a6{\v S} - \gdefchar^^a8{\v s} - \gdefchar^^b4{\v Z} - \gdefchar^^b8{\v z} - \gdefchar^^bc{\OE} - \gdefchar^^bd{\oe} - \gdefchar^^be{\"Y} + \gdef^^a4{\euro} + \gdef^^a6{\v S} + \gdef^^a8{\v s} + \gdef^^b4{\v Z} + \gdef^^b8{\v z} + \gdef^^bc{\OE} + \gdef^^bd{\oe} + \gdef^^be{\"Y} } % Latin2 (ISO-8859-2) character definitions. \def\lattwochardefs{% - \gdefchar^^a0{\tie} - \gdefchar^^a1{\ogonek{A}} - \gdefchar^^a2{\u{}} - \gdefchar^^a3{\L} - \gdefchar^^a4{\missingcharmsg{CURRENCY SIGN}} - \gdefchar^^a5{\v L} - \gdefchar^^a6{\'S} - \gdefchar^^a7{\S} - \gdefchar^^a8{\"{}} - \gdefchar^^a9{\v S} - \gdefchar^^aa{\cedilla S} - \gdefchar^^ab{\v T} - \gdefchar^^ac{\'Z} - \gdefchar^^ad{\-} - \gdefchar^^ae{\v Z} - \gdefchar^^af{\dotaccent Z} - % - \gdefchar^^b0{\textdegree} - \gdefchar^^b1{\ogonek{a}} - \gdefchar^^b2{\ogonek{ }} - \gdefchar^^b3{\l} - \gdefchar^^b4{\'{}} - \gdefchar^^b5{\v l} - \gdefchar^^b6{\'s} - \gdefchar^^b7{\v{}} - \gdefchar^^b8{\cedilla\ } - \gdefchar^^b9{\v s} - \gdefchar^^ba{\cedilla s} - \gdefchar^^bb{\v t} - \gdefchar^^bc{\'z} - \gdefchar^^bd{\H{}} - \gdefchar^^be{\v z} - \gdefchar^^bf{\dotaccent z} - % - \gdefchar^^c0{\'R} - \gdefchar^^c1{\'A} - \gdefchar^^c2{\^A} - \gdefchar^^c3{\u A} - \gdefchar^^c4{\"A} - \gdefchar^^c5{\'L} - \gdefchar^^c6{\'C} - \gdefchar^^c7{\cedilla C} - \gdefchar^^c8{\v C} - \gdefchar^^c9{\'E} - \gdefchar^^ca{\ogonek{E}} - \gdefchar^^cb{\"E} - \gdefchar^^cc{\v E} - \gdefchar^^cd{\'I} - \gdefchar^^ce{\^I} - \gdefchar^^cf{\v D} - % - \gdefchar^^d0{\DH} - \gdefchar^^d1{\'N} - \gdefchar^^d2{\v N} - \gdefchar^^d3{\'O} - \gdefchar^^d4{\^O} - \gdefchar^^d5{\H O} - \gdefchar^^d6{\"O} - \gdefchar^^d7{$\times$} - \gdefchar^^d8{\v R} - \gdefchar^^d9{\ringaccent U} - \gdefchar^^da{\'U} - \gdefchar^^db{\H U} - \gdefchar^^dc{\"U} - \gdefchar^^dd{\'Y} - \gdefchar^^de{\cedilla T} - \gdefchar^^df{\ss} - % - \gdefchar^^e0{\'r} - \gdefchar^^e1{\'a} - \gdefchar^^e2{\^a} - \gdefchar^^e3{\u a} - \gdefchar^^e4{\"a} - \gdefchar^^e5{\'l} - \gdefchar^^e6{\'c} - \gdefchar^^e7{\cedilla c} - \gdefchar^^e8{\v c} - \gdefchar^^e9{\'e} - \gdefchar^^ea{\ogonek{e}} - \gdefchar^^eb{\"e} - \gdefchar^^ec{\v e} - \gdefchar^^ed{\'{\dotless{i}}} - \gdefchar^^ee{\^{\dotless{i}}} - \gdefchar^^ef{\v d} - % - \gdefchar^^f0{\dh} - \gdefchar^^f1{\'n} - \gdefchar^^f2{\v n} - \gdefchar^^f3{\'o} - \gdefchar^^f4{\^o} - \gdefchar^^f5{\H o} - \gdefchar^^f6{\"o} - \gdefchar^^f7{$\div$} - \gdefchar^^f8{\v r} - \gdefchar^^f9{\ringaccent u} - \gdefchar^^fa{\'u} - \gdefchar^^fb{\H u} - \gdefchar^^fc{\"u} - \gdefchar^^fd{\'y} - \gdefchar^^fe{\cedilla t} - \gdefchar^^ff{\dotaccent{}} + \gdef^^a0{\tie} + \gdef^^a1{\ogonek{A}} + \gdef^^a2{\u{}} + \gdef^^a3{\L} + \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} + \gdef^^a5{\v L} + \gdef^^a6{\'S} + \gdef^^a7{\S} + \gdef^^a8{\"{}} + \gdef^^a9{\v S} + \gdef^^aa{\cedilla S} + \gdef^^ab{\v T} + \gdef^^ac{\'Z} + \gdef^^ad{\-} + \gdef^^ae{\v Z} + \gdef^^af{\dotaccent Z} + % + \gdef^^b0{\textdegree} + \gdef^^b1{\ogonek{a}} + \gdef^^b2{\ogonek{ }} + \gdef^^b3{\l} + \gdef^^b4{\'{}} + \gdef^^b5{\v l} + \gdef^^b6{\'s} + \gdef^^b7{\v{}} + \gdef^^b8{\cedilla\ } + \gdef^^b9{\v s} + \gdef^^ba{\cedilla s} + \gdef^^bb{\v t} + \gdef^^bc{\'z} + \gdef^^bd{\H{}} + \gdef^^be{\v z} + \gdef^^bf{\dotaccent z} + % + \gdef^^c0{\'R} + \gdef^^c1{\'A} + \gdef^^c2{\^A} + \gdef^^c3{\u A} + \gdef^^c4{\"A} + \gdef^^c5{\'L} + \gdef^^c6{\'C} + \gdef^^c7{\cedilla C} + \gdef^^c8{\v C} + \gdef^^c9{\'E} + \gdef^^ca{\ogonek{E}} + \gdef^^cb{\"E} + \gdef^^cc{\v E} + \gdef^^cd{\'I} + \gdef^^ce{\^I} + \gdef^^cf{\v D} + % + \gdef^^d0{\DH} + \gdef^^d1{\'N} + \gdef^^d2{\v N} + \gdef^^d3{\'O} + \gdef^^d4{\^O} + \gdef^^d5{\H O} + \gdef^^d6{\"O} + \gdef^^d7{$\times$} + \gdef^^d8{\v R} + \gdef^^d9{\ringaccent U} + \gdef^^da{\'U} + \gdef^^db{\H U} + \gdef^^dc{\"U} + \gdef^^dd{\'Y} + \gdef^^de{\cedilla T} + \gdef^^df{\ss} + % + \gdef^^e0{\'r} + \gdef^^e1{\'a} + \gdef^^e2{\^a} + \gdef^^e3{\u a} + \gdef^^e4{\"a} + \gdef^^e5{\'l} + \gdef^^e6{\'c} + \gdef^^e7{\cedilla c} + \gdef^^e8{\v c} + \gdef^^e9{\'e} + \gdef^^ea{\ogonek{e}} + \gdef^^eb{\"e} + \gdef^^ec{\v e} + \gdef^^ed{\'{\dotless{i}}} + \gdef^^ee{\^{\dotless{i}}} + \gdef^^ef{\v d} + % + \gdef^^f0{\dh} + \gdef^^f1{\'n} + \gdef^^f2{\v n} + \gdef^^f3{\'o} + \gdef^^f4{\^o} + \gdef^^f5{\H o} + \gdef^^f6{\"o} + \gdef^^f7{$\div$} + \gdef^^f8{\v r} + \gdef^^f9{\ringaccent u} + \gdef^^fa{\'u} + \gdef^^fb{\H u} + \gdef^^fc{\"u} + \gdef^^fd{\'y} + \gdef^^fe{\cedilla t} + \gdef^^ff{\dotaccent{}} } % UTF-8 character definitions. @@ -10243,93 +9247,38 @@ \fi } -% Give non-ASCII bytes the active definitions for processing UTF-8 sequences \begingroup \catcode`\~13 - \catcode`\$12 \catcode`\"12 - % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp - % substituting ~ and $ with a character token of that value. \def\UTFviiiLoop{% \global\catcode\countUTFx\active \uccode`\~\countUTFx - \uccode`\$\countUTFx \uppercase\expandafter{\UTFviiiTmp}% \advance\countUTFx by 1 \ifnum\countUTFx < \countUTFy \expandafter\UTFviiiLoop \fi} - % For bytes other than the first in a UTF-8 sequence. Not expected to - % be expanded except when writing to auxiliary files. - \countUTFx = "80 - \countUTFy = "C2 - \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $\fi}}% - \UTFviiiLoop - \countUTFx = "C2 \countUTFy = "E0 \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $% - \else\expandafter\UTFviiiTwoOctets\expandafter$\fi}}% + \xdef~{\noexpand\UTFviiiTwoOctets\string~}} \UTFviiiLoop \countUTFx = "E0 \countUTFy = "F0 \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $% - \else\expandafter\UTFviiiThreeOctets\expandafter$\fi}}% + \xdef~{\noexpand\UTFviiiThreeOctets\string~}} \UTFviiiLoop \countUTFx = "F0 \countUTFy = "F4 \def\UTFviiiTmp{% - \gdef~{% - \ifpassthroughchars $% - \else\expandafter\UTFviiiFourOctets\expandafter$\fi - }}% + \xdef~{\noexpand\UTFviiiFourOctets\string~}} \UTFviiiLoop \endgroup -\def\globallet{\global\let} % save some \expandafter's below - -% @U{xxxx} to produce U+xxxx, if we support it. -\def\U#1{% - \expandafter\ifx\csname uni:#1\endcsname \relax - \iftxinativeunicodecapable - % Any Unicode characters can be used by native Unicode. - % However, if the font does not have the glyph, the letter will miss. - \begingroup - \uccode`\.="#1\relax - \uppercase{.} - \endgroup - \else - \errhelp = \EMsimple - \errmessage{Unicode character U+#1 not supported, sorry}% - \fi - \else - \csname uni:#1\endcsname - \fi -} - -% These macros are used here to construct the name of a control -% sequence to be defined. -\def\UTFviiiTwoOctetsName#1#2{% - \csname u8:#1\string #2\endcsname}% -\def\UTFviiiThreeOctetsName#1#2#3{% - \csname u8:#1\string #2\string #3\endcsname}% -\def\UTFviiiFourOctetsName#1#2#3#4{% - \csname u8:#1\string #2\string #3\string #4\endcsname}% - -% For UTF-8 byte sequence (TeX, e-TeX and pdfTeX) -% Definition macro to replace the Unicode character -% Definition macro that is used by @U command -% \begingroup \catcode`\"=12 \catcode`\<=12 @@ -10338,848 +9287,459 @@ \catcode`\;=12 \catcode`\!=12 \catcode`\~=13 - \gdef\DeclareUnicodeCharacterUTFviii#1#2{% + + \gdef\DeclareUnicodeCharacter#1#2{% \countUTFz = "#1\relax + %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% \begingroup \parseXMLCharref - - % Give \u8:... its definition. The sequence of seven \expandafter's - % expands after the \gdef three times, e.g. - % - % 1. \UTFviiTwoOctetsName B1 B2 - % 2. \csname u8:B1 \string B2 \endcsname - % 3. \u8: B1 B2 (a single control sequence token) - % - \expandafter\expandafter - \expandafter\expandafter - \expandafter\expandafter - \expandafter\gdef \UTFviiiTmp{#2}% - % - \expandafter\ifx\csname uni:#1\endcsname \relax \else - \message{Internal error, already defined: #1}% - \fi - % - % define an additional control sequence for this code point. - \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp + \def\UTFviiiTwoOctets##1##2{% + \csname u8:##1\string ##2\endcsname}% + \def\UTFviiiThreeOctets##1##2##3{% + \csname u8:##1\string ##2\string ##3\endcsname}% + \def\UTFviiiFourOctets##1##2##3##4{% + \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter + \gdef\UTFviiiTmp{#2}% \endgroup} - % - % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp - % to the corresponding UTF-8 sequence. + \gdef\parseXMLCharref{% \ifnum\countUTFz < "A0\relax \errhelp = \EMsimple \errmessage{Cannot define Unicode char value < 00A0}% \else\ifnum\countUTFz < "800\relax \parseUTFviiiA,% - \parseUTFviiiB C\UTFviiiTwoOctetsName.,% + \parseUTFviiiB C\UTFviiiTwoOctets.,% \else\ifnum\countUTFz < "10000\relax \parseUTFviiiA;% \parseUTFviiiA,% - \parseUTFviiiB E\UTFviiiThreeOctetsName.{,;}% + \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% \else \parseUTFviiiA;% \parseUTFviiiA,% \parseUTFviiiA!% - \parseUTFviiiB F\UTFviiiFourOctetsName.{!,;}% + \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% \fi\fi\fi } - % Extract a byte from the end of the UTF-8 representation of \countUTFx. - % It must be a non-initial byte in the sequence. - % Change \uccode of #1 for it to be used in \parseUTFviiiB as one - % of the bytes. \gdef\parseUTFviiiA#1{% \countUTFx = \countUTFz \divide\countUTFz by 64 - \countUTFy = \countUTFz % Save to be the future value of \countUTFz. + \countUTFy = \countUTFz \multiply\countUTFz by 64 - - % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract - % in order to get the last five bits. \advance\countUTFx by -\countUTFz - - % Convert this to the byte in the UTF-8 sequence. \advance\countUTFx by 128 \uccode `#1\countUTFx \countUTFz = \countUTFy} - % Used to put a UTF-8 byte sequence into \UTFviiiTmp - % #1 is the increment for \countUTFz to yield a the first byte of the UTF-8 - % sequence. - % #2 is one of the \UTFviii*OctetsName macros. - % #3 is always a full stop (.) - % #4 is a template for the other bytes in the sequence. The values for these - % bytes is substituted in here with \uppercase using the \uccode's. \gdef\parseUTFviiiB#1#2#3#4{% \advance\countUTFz by "#10\relax \uccode `#3\countUTFz \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} \endgroup -% For native Unicode (XeTeX and LuaTeX) -% Definition macro that is set catcode other non global -% -\def\DeclareUnicodeCharacterNativeOther#1#2{% - \catcode"#1=\other -} - -% https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M -% U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block) -% U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) -% U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A -% U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B -% -% Many of our renditions are less than wonderful, and all the missing -% characters are available somewhere. Loading the necessary fonts -% awaits user request. We can't truly support Unicode without -% reimplementing everything that's been done in LaTeX for many years, -% plus probably using luatex or xetex, and who knows what else. -% We won't be doing that here in this simple file. But we can try to at -% least make most of the characters not bomb out. -% -\def\unicodechardefs{% - \DeclareUnicodeCharacter{00A0}{\tie}% - \DeclareUnicodeCharacter{00A1}{\exclamdown}% - \DeclareUnicodeCharacter{00A2}{{\tcfont \char162}}% 0242=cent - \DeclareUnicodeCharacter{00A3}{\pounds}% - \DeclareUnicodeCharacter{00A4}{{\tcfont \char164}}% 0244=currency - \DeclareUnicodeCharacter{00A5}{{\tcfont \char165}}% 0245=yen - \DeclareUnicodeCharacter{00A6}{{\tcfont \char166}}% 0246=brokenbar - \DeclareUnicodeCharacter{00A7}{\S}% - \DeclareUnicodeCharacter{00A8}{\"{ }}% - \DeclareUnicodeCharacter{00A9}{\copyright}% - \DeclareUnicodeCharacter{00AA}{\ordf}% - \DeclareUnicodeCharacter{00AB}{\guillemetleft}% - \DeclareUnicodeCharacter{00AC}{\ensuremath\lnot}% - \DeclareUnicodeCharacter{00AD}{\-}% - \DeclareUnicodeCharacter{00AE}{\registeredsymbol}% - \DeclareUnicodeCharacter{00AF}{\={ }}% - % - \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}% - \DeclareUnicodeCharacter{00B1}{\ensuremath\pm}% - \DeclareUnicodeCharacter{00B2}{$^2$}% - \DeclareUnicodeCharacter{00B3}{$^3$}% - \DeclareUnicodeCharacter{00B4}{\'{ }}% - \DeclareUnicodeCharacter{00B5}{$\mu$}% - \DeclareUnicodeCharacter{00B6}{\P}% - \DeclareUnicodeCharacter{00B7}{\ensuremath\cdot}% - \DeclareUnicodeCharacter{00B8}{\cedilla{ }}% - \DeclareUnicodeCharacter{00B9}{$^1$}% - \DeclareUnicodeCharacter{00BA}{\ordm}% - \DeclareUnicodeCharacter{00BB}{\guillemetright}% - \DeclareUnicodeCharacter{00BC}{$1\over4$}% - \DeclareUnicodeCharacter{00BD}{$1\over2$}% - \DeclareUnicodeCharacter{00BE}{$3\over4$}% - \DeclareUnicodeCharacter{00BF}{\questiondown}% - % - \DeclareUnicodeCharacter{00C0}{\`A}% - \DeclareUnicodeCharacter{00C1}{\'A}% - \DeclareUnicodeCharacter{00C2}{\^A}% - \DeclareUnicodeCharacter{00C3}{\~A}% - \DeclareUnicodeCharacter{00C4}{\"A}% - \DeclareUnicodeCharacter{00C5}{\AA}% - \DeclareUnicodeCharacter{00C6}{\AE}% - \DeclareUnicodeCharacter{00C7}{\cedilla{C}}% - \DeclareUnicodeCharacter{00C8}{\`E}% - \DeclareUnicodeCharacter{00C9}{\'E}% - \DeclareUnicodeCharacter{00CA}{\^E}% - \DeclareUnicodeCharacter{00CB}{\"E}% - \DeclareUnicodeCharacter{00CC}{\`I}% - \DeclareUnicodeCharacter{00CD}{\'I}% - \DeclareUnicodeCharacter{00CE}{\^I}% - \DeclareUnicodeCharacter{00CF}{\"I}% - % - \DeclareUnicodeCharacter{00D0}{\DH}% - \DeclareUnicodeCharacter{00D1}{\~N}% - \DeclareUnicodeCharacter{00D2}{\`O}% - \DeclareUnicodeCharacter{00D3}{\'O}% - \DeclareUnicodeCharacter{00D4}{\^O}% - \DeclareUnicodeCharacter{00D5}{\~O}% - \DeclareUnicodeCharacter{00D6}{\"O}% - \DeclareUnicodeCharacter{00D7}{\ensuremath\times}% - \DeclareUnicodeCharacter{00D8}{\O}% - \DeclareUnicodeCharacter{00D9}{\`U}% - \DeclareUnicodeCharacter{00DA}{\'U}% - \DeclareUnicodeCharacter{00DB}{\^U}% - \DeclareUnicodeCharacter{00DC}{\"U}% - \DeclareUnicodeCharacter{00DD}{\'Y}% - \DeclareUnicodeCharacter{00DE}{\TH}% - \DeclareUnicodeCharacter{00DF}{\ss}% - % - \DeclareUnicodeCharacter{00E0}{\`a}% - \DeclareUnicodeCharacter{00E1}{\'a}% - \DeclareUnicodeCharacter{00E2}{\^a}% - \DeclareUnicodeCharacter{00E3}{\~a}% - \DeclareUnicodeCharacter{00E4}{\"a}% - \DeclareUnicodeCharacter{00E5}{\aa}% - \DeclareUnicodeCharacter{00E6}{\ae}% - \DeclareUnicodeCharacter{00E7}{\cedilla{c}}% - \DeclareUnicodeCharacter{00E8}{\`e}% - \DeclareUnicodeCharacter{00E9}{\'e}% - \DeclareUnicodeCharacter{00EA}{\^e}% - \DeclareUnicodeCharacter{00EB}{\"e}% - \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}% - \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}% - \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}% - \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}% - % - \DeclareUnicodeCharacter{00F0}{\dh}% - \DeclareUnicodeCharacter{00F1}{\~n}% - \DeclareUnicodeCharacter{00F2}{\`o}% - \DeclareUnicodeCharacter{00F3}{\'o}% - \DeclareUnicodeCharacter{00F4}{\^o}% - \DeclareUnicodeCharacter{00F5}{\~o}% - \DeclareUnicodeCharacter{00F6}{\"o}% - \DeclareUnicodeCharacter{00F7}{\ensuremath\div}% - \DeclareUnicodeCharacter{00F8}{\o}% - \DeclareUnicodeCharacter{00F9}{\`u}% - \DeclareUnicodeCharacter{00FA}{\'u}% - \DeclareUnicodeCharacter{00FB}{\^u}% - \DeclareUnicodeCharacter{00FC}{\"u}% - \DeclareUnicodeCharacter{00FD}{\'y}% - \DeclareUnicodeCharacter{00FE}{\th}% - \DeclareUnicodeCharacter{00FF}{\"y}% - % - \DeclareUnicodeCharacter{0100}{\=A}% - \DeclareUnicodeCharacter{0101}{\=a}% - \DeclareUnicodeCharacter{0102}{\u{A}}% - \DeclareUnicodeCharacter{0103}{\u{a}}% - \DeclareUnicodeCharacter{0104}{\ogonek{A}}% - \DeclareUnicodeCharacter{0105}{\ogonek{a}}% - \DeclareUnicodeCharacter{0106}{\'C}% - \DeclareUnicodeCharacter{0107}{\'c}% - \DeclareUnicodeCharacter{0108}{\^C}% - \DeclareUnicodeCharacter{0109}{\^c}% - \DeclareUnicodeCharacter{010A}{\dotaccent{C}}% - \DeclareUnicodeCharacter{010B}{\dotaccent{c}}% - \DeclareUnicodeCharacter{010C}{\v{C}}% - \DeclareUnicodeCharacter{010D}{\v{c}}% - \DeclareUnicodeCharacter{010E}{\v{D}}% - \DeclareUnicodeCharacter{010F}{d'}% - % - \DeclareUnicodeCharacter{0110}{\DH}% - \DeclareUnicodeCharacter{0111}{\dh}% - \DeclareUnicodeCharacter{0112}{\=E}% - \DeclareUnicodeCharacter{0113}{\=e}% - \DeclareUnicodeCharacter{0114}{\u{E}}% - \DeclareUnicodeCharacter{0115}{\u{e}}% - \DeclareUnicodeCharacter{0116}{\dotaccent{E}}% - \DeclareUnicodeCharacter{0117}{\dotaccent{e}}% - \DeclareUnicodeCharacter{0118}{\ogonek{E}}% - \DeclareUnicodeCharacter{0119}{\ogonek{e}}% - \DeclareUnicodeCharacter{011A}{\v{E}}% - \DeclareUnicodeCharacter{011B}{\v{e}}% - \DeclareUnicodeCharacter{011C}{\^G}% - \DeclareUnicodeCharacter{011D}{\^g}% - \DeclareUnicodeCharacter{011E}{\u{G}}% - \DeclareUnicodeCharacter{011F}{\u{g}}% - % - \DeclareUnicodeCharacter{0120}{\dotaccent{G}}% - \DeclareUnicodeCharacter{0121}{\dotaccent{g}}% - \DeclareUnicodeCharacter{0122}{\cedilla{G}}% - \DeclareUnicodeCharacter{0123}{\cedilla{g}}% - \DeclareUnicodeCharacter{0124}{\^H}% - \DeclareUnicodeCharacter{0125}{\^h}% - \DeclareUnicodeCharacter{0126}{\missingcharmsg{H WITH STROKE}}% - \DeclareUnicodeCharacter{0127}{\missingcharmsg{h WITH STROKE}}% - \DeclareUnicodeCharacter{0128}{\~I}% - \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}% - \DeclareUnicodeCharacter{012A}{\=I}% - \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}% - \DeclareUnicodeCharacter{012C}{\u{I}}% - \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}% - \DeclareUnicodeCharacter{012E}{\ogonek{I}}% - \DeclareUnicodeCharacter{012F}{\ogonek{i}}% - % - \DeclareUnicodeCharacter{0130}{\dotaccent{I}}% - \DeclareUnicodeCharacter{0131}{\dotless{i}}% - \DeclareUnicodeCharacter{0132}{IJ}% - \DeclareUnicodeCharacter{0133}{ij}% - \DeclareUnicodeCharacter{0134}{\^J}% - \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}% - \DeclareUnicodeCharacter{0136}{\cedilla{K}}% - \DeclareUnicodeCharacter{0137}{\cedilla{k}}% - \DeclareUnicodeCharacter{0138}{\ensuremath\kappa}% - \DeclareUnicodeCharacter{0139}{\'L}% - \DeclareUnicodeCharacter{013A}{\'l}% - \DeclareUnicodeCharacter{013B}{\cedilla{L}}% - \DeclareUnicodeCharacter{013C}{\cedilla{l}}% - \DeclareUnicodeCharacter{013D}{L'}% should kern - \DeclareUnicodeCharacter{013E}{l'}% should kern - \DeclareUnicodeCharacter{013F}{L\U{00B7}}% - % - \DeclareUnicodeCharacter{0140}{l\U{00B7}}% - \DeclareUnicodeCharacter{0141}{\L}% - \DeclareUnicodeCharacter{0142}{\l}% - \DeclareUnicodeCharacter{0143}{\'N}% - \DeclareUnicodeCharacter{0144}{\'n}% - \DeclareUnicodeCharacter{0145}{\cedilla{N}}% - \DeclareUnicodeCharacter{0146}{\cedilla{n}}% - \DeclareUnicodeCharacter{0147}{\v{N}}% - \DeclareUnicodeCharacter{0148}{\v{n}}% - \DeclareUnicodeCharacter{0149}{'n}% - \DeclareUnicodeCharacter{014A}{\missingcharmsg{ENG}}% - \DeclareUnicodeCharacter{014B}{\missingcharmsg{eng}}% - \DeclareUnicodeCharacter{014C}{\=O}% - \DeclareUnicodeCharacter{014D}{\=o}% - \DeclareUnicodeCharacter{014E}{\u{O}}% - \DeclareUnicodeCharacter{014F}{\u{o}}% - % - \DeclareUnicodeCharacter{0150}{\H{O}}% - \DeclareUnicodeCharacter{0151}{\H{o}}% - \DeclareUnicodeCharacter{0152}{\OE}% - \DeclareUnicodeCharacter{0153}{\oe}% - \DeclareUnicodeCharacter{0154}{\'R}% - \DeclareUnicodeCharacter{0155}{\'r}% - \DeclareUnicodeCharacter{0156}{\cedilla{R}}% - \DeclareUnicodeCharacter{0157}{\cedilla{r}}% - \DeclareUnicodeCharacter{0158}{\v{R}}% - \DeclareUnicodeCharacter{0159}{\v{r}}% - \DeclareUnicodeCharacter{015A}{\'S}% - \DeclareUnicodeCharacter{015B}{\'s}% - \DeclareUnicodeCharacter{015C}{\^S}% - \DeclareUnicodeCharacter{015D}{\^s}% - \DeclareUnicodeCharacter{015E}{\cedilla{S}}% - \DeclareUnicodeCharacter{015F}{\cedilla{s}}% - % - \DeclareUnicodeCharacter{0160}{\v{S}}% - \DeclareUnicodeCharacter{0161}{\v{s}}% - \DeclareUnicodeCharacter{0162}{\cedilla{T}}% - \DeclareUnicodeCharacter{0163}{\cedilla{t}}% - \DeclareUnicodeCharacter{0164}{\v{T}}% - \DeclareUnicodeCharacter{0165}{\v{t}}% - \DeclareUnicodeCharacter{0166}{\missingcharmsg{H WITH STROKE}}% - \DeclareUnicodeCharacter{0167}{\missingcharmsg{h WITH STROKE}}% - \DeclareUnicodeCharacter{0168}{\~U}% - \DeclareUnicodeCharacter{0169}{\~u}% - \DeclareUnicodeCharacter{016A}{\=U}% - \DeclareUnicodeCharacter{016B}{\=u}% - \DeclareUnicodeCharacter{016C}{\u{U}}% - \DeclareUnicodeCharacter{016D}{\u{u}}% - \DeclareUnicodeCharacter{016E}{\ringaccent{U}}% - \DeclareUnicodeCharacter{016F}{\ringaccent{u}}% - % - \DeclareUnicodeCharacter{0170}{\H{U}}% - \DeclareUnicodeCharacter{0171}{\H{u}}% - \DeclareUnicodeCharacter{0172}{\ogonek{U}}% - \DeclareUnicodeCharacter{0173}{\ogonek{u}}% - \DeclareUnicodeCharacter{0174}{\^W}% - \DeclareUnicodeCharacter{0175}{\^w}% - \DeclareUnicodeCharacter{0176}{\^Y}% - \DeclareUnicodeCharacter{0177}{\^y}% - \DeclareUnicodeCharacter{0178}{\"Y}% - \DeclareUnicodeCharacter{0179}{\'Z}% - \DeclareUnicodeCharacter{017A}{\'z}% - \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}% - \DeclareUnicodeCharacter{017C}{\dotaccent{z}}% - \DeclareUnicodeCharacter{017D}{\v{Z}}% - \DeclareUnicodeCharacter{017E}{\v{z}}% - \DeclareUnicodeCharacter{017F}{\missingcharmsg{LONG S}}% - % - \DeclareUnicodeCharacter{01C4}{D\v{Z}}% - \DeclareUnicodeCharacter{01C5}{D\v{z}}% - \DeclareUnicodeCharacter{01C6}{d\v{z}}% - \DeclareUnicodeCharacter{01C7}{LJ}% - \DeclareUnicodeCharacter{01C8}{Lj}% - \DeclareUnicodeCharacter{01C9}{lj}% - \DeclareUnicodeCharacter{01CA}{NJ}% - \DeclareUnicodeCharacter{01CB}{Nj}% - \DeclareUnicodeCharacter{01CC}{nj}% - \DeclareUnicodeCharacter{01CD}{\v{A}}% - \DeclareUnicodeCharacter{01CE}{\v{a}}% - \DeclareUnicodeCharacter{01CF}{\v{I}}% - % - \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}% - \DeclareUnicodeCharacter{01D1}{\v{O}}% - \DeclareUnicodeCharacter{01D2}{\v{o}}% - \DeclareUnicodeCharacter{01D3}{\v{U}}% - \DeclareUnicodeCharacter{01D4}{\v{u}}% - % - \DeclareUnicodeCharacter{01E2}{\={\AE}}% - \DeclareUnicodeCharacter{01E3}{\={\ae}}% - \DeclareUnicodeCharacter{01E6}{\v{G}}% - \DeclareUnicodeCharacter{01E7}{\v{g}}% - \DeclareUnicodeCharacter{01E8}{\v{K}}% - \DeclareUnicodeCharacter{01E9}{\v{k}}% - % - \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}% - \DeclareUnicodeCharacter{01F1}{DZ}% - \DeclareUnicodeCharacter{01F2}{Dz}% - \DeclareUnicodeCharacter{01F3}{dz}% - \DeclareUnicodeCharacter{01F4}{\'G}% - \DeclareUnicodeCharacter{01F5}{\'g}% - \DeclareUnicodeCharacter{01F8}{\`N}% - \DeclareUnicodeCharacter{01F9}{\`n}% - \DeclareUnicodeCharacter{01FC}{\'{\AE}}% - \DeclareUnicodeCharacter{01FD}{\'{\ae}}% - \DeclareUnicodeCharacter{01FE}{\'{\O}}% - \DeclareUnicodeCharacter{01FF}{\'{\o}}% - % - \DeclareUnicodeCharacter{021E}{\v{H}}% - \DeclareUnicodeCharacter{021F}{\v{h}}% - % - \DeclareUnicodeCharacter{0226}{\dotaccent{A}}% - \DeclareUnicodeCharacter{0227}{\dotaccent{a}}% - \DeclareUnicodeCharacter{0228}{\cedilla{E}}% - \DeclareUnicodeCharacter{0229}{\cedilla{e}}% - \DeclareUnicodeCharacter{022E}{\dotaccent{O}}% - \DeclareUnicodeCharacter{022F}{\dotaccent{o}}% - % - \DeclareUnicodeCharacter{0232}{\=Y}% - \DeclareUnicodeCharacter{0233}{\=y}% - \DeclareUnicodeCharacter{0237}{\dotless{j}}% - % - \DeclareUnicodeCharacter{02DB}{\ogonek{ }}% - % - % Greek letters upper case - \DeclareUnicodeCharacter{0391}{{\it A}}% - \DeclareUnicodeCharacter{0392}{{\it B}}% - \DeclareUnicodeCharacter{0393}{\ensuremath{\mit\Gamma}}% - \DeclareUnicodeCharacter{0394}{\ensuremath{\mit\Delta}}% - \DeclareUnicodeCharacter{0395}{{\it E}}% - \DeclareUnicodeCharacter{0396}{{\it Z}}% - \DeclareUnicodeCharacter{0397}{{\it H}}% - \DeclareUnicodeCharacter{0398}{\ensuremath{\mit\Theta}}% - \DeclareUnicodeCharacter{0399}{{\it I}}% - \DeclareUnicodeCharacter{039A}{{\it K}}% - \DeclareUnicodeCharacter{039B}{\ensuremath{\mit\Lambda}}% - \DeclareUnicodeCharacter{039C}{{\it M}}% - \DeclareUnicodeCharacter{039D}{{\it N}}% - \DeclareUnicodeCharacter{039E}{\ensuremath{\mit\Xi}}% - \DeclareUnicodeCharacter{039F}{{\it O}}% - \DeclareUnicodeCharacter{03A0}{\ensuremath{\mit\Pi}}% - \DeclareUnicodeCharacter{03A1}{{\it P}}% - %\DeclareUnicodeCharacter{03A2}{} % none - corresponds to final sigma - \DeclareUnicodeCharacter{03A3}{\ensuremath{\mit\Sigma}}% - \DeclareUnicodeCharacter{03A4}{{\it T}}% - \DeclareUnicodeCharacter{03A5}{\ensuremath{\mit\Upsilon}}% - \DeclareUnicodeCharacter{03A6}{\ensuremath{\mit\Phi}}% - \DeclareUnicodeCharacter{03A7}{{\it X}}% - \DeclareUnicodeCharacter{03A8}{\ensuremath{\mit\Psi}}% - \DeclareUnicodeCharacter{03A9}{\ensuremath{\mit\Omega}}% - % - % Vowels with accents - \DeclareUnicodeCharacter{0390}{\ensuremath{\ddot{\acute\iota}}}% - \DeclareUnicodeCharacter{03AC}{\ensuremath{\acute\alpha}}% - \DeclareUnicodeCharacter{03AD}{\ensuremath{\acute\epsilon}}% - \DeclareUnicodeCharacter{03AE}{\ensuremath{\acute\eta}}% - \DeclareUnicodeCharacter{03AF}{\ensuremath{\acute\iota}}% - \DeclareUnicodeCharacter{03B0}{\ensuremath{\acute{\ddot\upsilon}}}% - % - % Standalone accent - \DeclareUnicodeCharacter{0384}{\ensuremath{\acute{\ }}}% - % - % Greek letters lower case - \DeclareUnicodeCharacter{03B1}{\ensuremath\alpha}% - \DeclareUnicodeCharacter{03B2}{\ensuremath\beta}% - \DeclareUnicodeCharacter{03B3}{\ensuremath\gamma}% - \DeclareUnicodeCharacter{03B4}{\ensuremath\delta}% - \DeclareUnicodeCharacter{03B5}{\ensuremath\epsilon}% - \DeclareUnicodeCharacter{03B6}{\ensuremath\zeta}% - \DeclareUnicodeCharacter{03B7}{\ensuremath\eta}% - \DeclareUnicodeCharacter{03B8}{\ensuremath\theta}% - \DeclareUnicodeCharacter{03B9}{\ensuremath\iota}% - \DeclareUnicodeCharacter{03BA}{\ensuremath\kappa}% - \DeclareUnicodeCharacter{03BB}{\ensuremath\lambda}% - \DeclareUnicodeCharacter{03BC}{\ensuremath\mu}% - \DeclareUnicodeCharacter{03BD}{\ensuremath\nu}% - \DeclareUnicodeCharacter{03BE}{\ensuremath\xi}% - \DeclareUnicodeCharacter{03BF}{{\it o}}% omicron - \DeclareUnicodeCharacter{03C0}{\ensuremath\pi}% - \DeclareUnicodeCharacter{03C1}{\ensuremath\rho}% - \DeclareUnicodeCharacter{03C2}{\ensuremath\varsigma}% - \DeclareUnicodeCharacter{03C3}{\ensuremath\sigma}% - \DeclareUnicodeCharacter{03C4}{\ensuremath\tau}% - \DeclareUnicodeCharacter{03C5}{\ensuremath\upsilon}% - \DeclareUnicodeCharacter{03C6}{\ensuremath\phi}% - \DeclareUnicodeCharacter{03C7}{\ensuremath\chi}% - \DeclareUnicodeCharacter{03C8}{\ensuremath\psi}% - \DeclareUnicodeCharacter{03C9}{\ensuremath\omega}% - % - % More Greek vowels with accents - \DeclareUnicodeCharacter{03CA}{\ensuremath{\ddot\iota}}% - \DeclareUnicodeCharacter{03CB}{\ensuremath{\ddot\upsilon}}% - \DeclareUnicodeCharacter{03CC}{\ensuremath{\acute o}}% - \DeclareUnicodeCharacter{03CD}{\ensuremath{\acute\upsilon}}% - \DeclareUnicodeCharacter{03CE}{\ensuremath{\acute\omega}}% - % - % Variant Greek letters - \DeclareUnicodeCharacter{03D1}{\ensuremath\vartheta}% - \DeclareUnicodeCharacter{03D6}{\ensuremath\varpi}% - \DeclareUnicodeCharacter{03F1}{\ensuremath\varrho}% - % - \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}% - \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}% - \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}% - \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}% - \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}% - \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}% - \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}% - \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}% - \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}% - \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}% - \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}% - \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}% - % - \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}% - \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}% - % - \DeclareUnicodeCharacter{1E20}{\=G}% - \DeclareUnicodeCharacter{1E21}{\=g}% - \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}% - \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}% - \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}% - \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}% - \DeclareUnicodeCharacter{1E26}{\"H}% - \DeclareUnicodeCharacter{1E27}{\"h}% - % - \DeclareUnicodeCharacter{1E30}{\'K}% - \DeclareUnicodeCharacter{1E31}{\'k}% - \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}% - \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}% - \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}% - \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}% - \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}% - \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}% - \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}% - \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}% - \DeclareUnicodeCharacter{1E3E}{\'M}% - \DeclareUnicodeCharacter{1E3F}{\'m}% - % - \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}% - \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}% - \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}% - \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}% - \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}% - \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}% - \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}% - \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}% - \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}% - \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}% - % - \DeclareUnicodeCharacter{1E54}{\'P}% - \DeclareUnicodeCharacter{1E55}{\'p}% - \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}% - \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}% - \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}% - \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}% - \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}% - \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}% - \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}% - \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}% - % - \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}% - \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}% - \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}% - \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}% - \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}% - \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}% - \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}% - \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}% - \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}% - \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}% - % - \DeclareUnicodeCharacter{1E7C}{\~V}% - \DeclareUnicodeCharacter{1E7D}{\~v}% - \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}% - \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}% - % - \DeclareUnicodeCharacter{1E80}{\`W}% - \DeclareUnicodeCharacter{1E81}{\`w}% - \DeclareUnicodeCharacter{1E82}{\'W}% - \DeclareUnicodeCharacter{1E83}{\'w}% - \DeclareUnicodeCharacter{1E84}{\"W}% - \DeclareUnicodeCharacter{1E85}{\"w}% - \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}% - \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}% - \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}% - \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}% - \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}% - \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}% - \DeclareUnicodeCharacter{1E8C}{\"X}% - \DeclareUnicodeCharacter{1E8D}{\"x}% - \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}% - \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}% - % - \DeclareUnicodeCharacter{1E90}{\^Z}% - \DeclareUnicodeCharacter{1E91}{\^z}% - \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}% - \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}% - \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}% - \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}% - \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}% - \DeclareUnicodeCharacter{1E97}{\"t}% - \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}% - \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}% - % - \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}% - \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}% - % - \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}% - \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}% - \DeclareUnicodeCharacter{1EBC}{\~E}% - \DeclareUnicodeCharacter{1EBD}{\~e}% - % - \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}% - \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}% - \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}% - \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}% - % - \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}% - \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}% - % - \DeclareUnicodeCharacter{1EF2}{\`Y}% - \DeclareUnicodeCharacter{1EF3}{\`y}% - \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}% - % - \DeclareUnicodeCharacter{1EF8}{\~Y}% - \DeclareUnicodeCharacter{1EF9}{\~y}% - % - % Punctuation - \DeclareUnicodeCharacter{2013}{--}% - \DeclareUnicodeCharacter{2014}{---}% - \DeclareUnicodeCharacter{2018}{\quoteleft}% - \DeclareUnicodeCharacter{2019}{\quoteright}% - \DeclareUnicodeCharacter{201A}{\quotesinglbase}% - \DeclareUnicodeCharacter{201C}{\quotedblleft}% - \DeclareUnicodeCharacter{201D}{\quotedblright}% - \DeclareUnicodeCharacter{201E}{\quotedblbase}% - \DeclareUnicodeCharacter{2020}{\ensuremath\dagger}% - \DeclareUnicodeCharacter{2021}{\ensuremath\ddagger}% - \DeclareUnicodeCharacter{2022}{\bullet}% - \DeclareUnicodeCharacter{202F}{\thinspace}% - \DeclareUnicodeCharacter{2026}{\dots}% - \DeclareUnicodeCharacter{2039}{\guilsinglleft}% - \DeclareUnicodeCharacter{203A}{\guilsinglright}% - % - \DeclareUnicodeCharacter{20AC}{\euro}% - % - \DeclareUnicodeCharacter{2192}{\expansion}% - \DeclareUnicodeCharacter{21D2}{\result}% - % - % Mathematical symbols - \DeclareUnicodeCharacter{2200}{\ensuremath\forall}% - \DeclareUnicodeCharacter{2203}{\ensuremath\exists}% - \DeclareUnicodeCharacter{2208}{\ensuremath\in}% - \DeclareUnicodeCharacter{2212}{\minus}% - \DeclareUnicodeCharacter{2217}{\ast}% - \DeclareUnicodeCharacter{221E}{\ensuremath\infty}% - \DeclareUnicodeCharacter{2225}{\ensuremath\parallel}% - \DeclareUnicodeCharacter{2227}{\ensuremath\wedge}% - \DeclareUnicodeCharacter{2229}{\ensuremath\cap}% - \DeclareUnicodeCharacter{2261}{\equiv}% - \DeclareUnicodeCharacter{2264}{\ensuremath\leq}% - \DeclareUnicodeCharacter{2265}{\ensuremath\geq}% - \DeclareUnicodeCharacter{2282}{\ensuremath\subset}% - \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}% - % - \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}% - \DeclareUnicodeCharacter{2032}{\ensuremath\prime}% - \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}% - \DeclareUnicodeCharacter{2111}{\ensuremath\Im}% - \DeclareUnicodeCharacter{2113}{\ensuremath\ell}% - \DeclareUnicodeCharacter{2118}{\ensuremath\wp}% - \DeclareUnicodeCharacter{211C}{\ensuremath\Re}% - \DeclareUnicodeCharacter{2127}{\ensuremath\mho}% - \DeclareUnicodeCharacter{2135}{\ensuremath\aleph}% - \DeclareUnicodeCharacter{2190}{\ensuremath\leftarrow}% - \DeclareUnicodeCharacter{2191}{\ensuremath\uparrow}% - \DeclareUnicodeCharacter{2193}{\ensuremath\downarrow}% - \DeclareUnicodeCharacter{2194}{\ensuremath\leftrightarrow}% - \DeclareUnicodeCharacter{2195}{\ensuremath\updownarrow}% - \DeclareUnicodeCharacter{2196}{\ensuremath\nwarrow}% - \DeclareUnicodeCharacter{2197}{\ensuremath\nearrow}% - \DeclareUnicodeCharacter{2198}{\ensuremath\searrow}% - \DeclareUnicodeCharacter{2199}{\ensuremath\swarrow}% - \DeclareUnicodeCharacter{21A6}{\ensuremath\mapsto}% - \DeclareUnicodeCharacter{21A9}{\ensuremath\hookleftarrow}% - \DeclareUnicodeCharacter{21AA}{\ensuremath\hookrightarrow}% - \DeclareUnicodeCharacter{21BC}{\ensuremath\leftharpoonup}% - \DeclareUnicodeCharacter{21BD}{\ensuremath\leftharpoondown}% - \DeclareUnicodeCharacter{21BE}{\ensuremath\upharpoonright}% - \DeclareUnicodeCharacter{21C0}{\ensuremath\rightharpoonup}% - \DeclareUnicodeCharacter{21C1}{\ensuremath\rightharpoondown}% - \DeclareUnicodeCharacter{21CC}{\ensuremath\rightleftharpoons}% - \DeclareUnicodeCharacter{21D0}{\ensuremath\Leftarrow}% - \DeclareUnicodeCharacter{21D1}{\ensuremath\Uparrow}% - \DeclareUnicodeCharacter{21D3}{\ensuremath\Downarrow}% - \DeclareUnicodeCharacter{21D4}{\ensuremath\Leftrightarrow}% - \DeclareUnicodeCharacter{21D5}{\ensuremath\Updownarrow}% - \DeclareUnicodeCharacter{21DD}{\ensuremath\leadsto}% - \DeclareUnicodeCharacter{2201}{\ensuremath\complement}% - \DeclareUnicodeCharacter{2202}{\ensuremath\partial}% - \DeclareUnicodeCharacter{2205}{\ensuremath\emptyset}% - \DeclareUnicodeCharacter{2207}{\ensuremath\nabla}% - \DeclareUnicodeCharacter{2209}{\ensuremath\notin}% - \DeclareUnicodeCharacter{220B}{\ensuremath\owns}% - \DeclareUnicodeCharacter{220F}{\ensuremath\prod}% - \DeclareUnicodeCharacter{2210}{\ensuremath\coprod}% - \DeclareUnicodeCharacter{2211}{\ensuremath\sum}% - \DeclareUnicodeCharacter{2213}{\ensuremath\mp}% - \DeclareUnicodeCharacter{2218}{\ensuremath\circ}% - \DeclareUnicodeCharacter{221A}{\ensuremath\surd}% - \DeclareUnicodeCharacter{221D}{\ensuremath\propto}% - \DeclareUnicodeCharacter{2220}{\ensuremath\angle}% - \DeclareUnicodeCharacter{2223}{\ensuremath\mid}% - \DeclareUnicodeCharacter{2228}{\ensuremath\vee}% - \DeclareUnicodeCharacter{222A}{\ensuremath\cup}% - \DeclareUnicodeCharacter{222B}{\ensuremath\smallint}% - \DeclareUnicodeCharacter{222E}{\ensuremath\oint}% - \DeclareUnicodeCharacter{223C}{\ensuremath\sim}% - \DeclareUnicodeCharacter{2240}{\ensuremath\wr}% - \DeclareUnicodeCharacter{2243}{\ensuremath\simeq}% - \DeclareUnicodeCharacter{2245}{\ensuremath\cong}% - \DeclareUnicodeCharacter{2248}{\ensuremath\approx}% - \DeclareUnicodeCharacter{224D}{\ensuremath\asymp}% - \DeclareUnicodeCharacter{2250}{\ensuremath\doteq}% - \DeclareUnicodeCharacter{2260}{\ensuremath\neq}% - \DeclareUnicodeCharacter{226A}{\ensuremath\ll}% - \DeclareUnicodeCharacter{226B}{\ensuremath\gg}% - \DeclareUnicodeCharacter{227A}{\ensuremath\prec}% - \DeclareUnicodeCharacter{227B}{\ensuremath\succ}% - \DeclareUnicodeCharacter{2283}{\ensuremath\supset}% - \DeclareUnicodeCharacter{2286}{\ensuremath\subseteq}% - \DeclareUnicodeCharacter{228E}{\ensuremath\uplus}% - \DeclareUnicodeCharacter{228F}{\ensuremath\sqsubset}% - \DeclareUnicodeCharacter{2290}{\ensuremath\sqsupset}% - \DeclareUnicodeCharacter{2291}{\ensuremath\sqsubseteq}% - \DeclareUnicodeCharacter{2292}{\ensuremath\sqsupseteq}% - \DeclareUnicodeCharacter{2293}{\ensuremath\sqcap}% - \DeclareUnicodeCharacter{2294}{\ensuremath\sqcup}% - \DeclareUnicodeCharacter{2295}{\ensuremath\oplus}% - \DeclareUnicodeCharacter{2296}{\ensuremath\ominus}% - \DeclareUnicodeCharacter{2297}{\ensuremath\otimes}% - \DeclareUnicodeCharacter{2298}{\ensuremath\oslash}% - \DeclareUnicodeCharacter{2299}{\ensuremath\odot}% - \DeclareUnicodeCharacter{22A2}{\ensuremath\vdash}% - \DeclareUnicodeCharacter{22A3}{\ensuremath\dashv}% - \DeclareUnicodeCharacter{22A4}{\ensuremath\ptextop}% - \DeclareUnicodeCharacter{22A5}{\ensuremath\bot}% - \DeclareUnicodeCharacter{22A8}{\ensuremath\models}% - \DeclareUnicodeCharacter{22B4}{\ensuremath\unlhd}% - \DeclareUnicodeCharacter{22B5}{\ensuremath\unrhd}% - \DeclareUnicodeCharacter{22C0}{\ensuremath\bigwedge}% - \DeclareUnicodeCharacter{22C1}{\ensuremath\bigvee}% - \DeclareUnicodeCharacter{22C2}{\ensuremath\bigcap}% - \DeclareUnicodeCharacter{22C3}{\ensuremath\bigcup}% - \DeclareUnicodeCharacter{22C4}{\ensuremath\diamond}% - \DeclareUnicodeCharacter{22C5}{\ensuremath\cdot}% - \DeclareUnicodeCharacter{22C6}{\ensuremath\star}% - \DeclareUnicodeCharacter{22C8}{\ensuremath\bowtie}% - \DeclareUnicodeCharacter{2308}{\ensuremath\lceil}% - \DeclareUnicodeCharacter{2309}{\ensuremath\rceil}% - \DeclareUnicodeCharacter{230A}{\ensuremath\lfloor}% - \DeclareUnicodeCharacter{230B}{\ensuremath\rfloor}% - \DeclareUnicodeCharacter{2322}{\ensuremath\frown}% - \DeclareUnicodeCharacter{2323}{\ensuremath\smile}% - % - \DeclareUnicodeCharacter{25A1}{\ensuremath\Box}% - \DeclareUnicodeCharacter{25B3}{\ensuremath\triangle}% - \DeclareUnicodeCharacter{25B7}{\ensuremath\triangleright}% - \DeclareUnicodeCharacter{25BD}{\ensuremath\bigtriangledown}% - \DeclareUnicodeCharacter{25C1}{\ensuremath\triangleleft}% - \DeclareUnicodeCharacter{25C7}{\ensuremath\Diamond}% - \DeclareUnicodeCharacter{2660}{\ensuremath\spadesuit}% - \DeclareUnicodeCharacter{2661}{\ensuremath\heartsuit}% - \DeclareUnicodeCharacter{2662}{\ensuremath\diamondsuit}% - \DeclareUnicodeCharacter{2663}{\ensuremath\clubsuit}% - \DeclareUnicodeCharacter{266D}{\ensuremath\flat}% - \DeclareUnicodeCharacter{266E}{\ensuremath\natural}% - \DeclareUnicodeCharacter{266F}{\ensuremath\sharp}% - \DeclareUnicodeCharacter{26AA}{\ensuremath\bigcirc}% - \DeclareUnicodeCharacter{27B9}{\ensuremath\rangle}% - \DeclareUnicodeCharacter{27C2}{\ensuremath\perp}% - \DeclareUnicodeCharacter{27E8}{\ensuremath\langle}% - \DeclareUnicodeCharacter{27F5}{\ensuremath\longleftarrow}% - \DeclareUnicodeCharacter{27F6}{\ensuremath\longrightarrow}% - \DeclareUnicodeCharacter{27F7}{\ensuremath\longleftrightarrow}% - \DeclareUnicodeCharacter{27FC}{\ensuremath\longmapsto}% - \DeclareUnicodeCharacter{29F5}{\ensuremath\setminus}% - \DeclareUnicodeCharacter{2A00}{\ensuremath\bigodot}% - \DeclareUnicodeCharacter{2A01}{\ensuremath\bigoplus}% - \DeclareUnicodeCharacter{2A02}{\ensuremath\bigotimes}% - \DeclareUnicodeCharacter{2A04}{\ensuremath\biguplus}% - \DeclareUnicodeCharacter{2A06}{\ensuremath\bigsqcup}% - \DeclareUnicodeCharacter{2A1D}{\ensuremath\Join}% - \DeclareUnicodeCharacter{2A3F}{\ensuremath\amalg}% - \DeclareUnicodeCharacter{2AAF}{\ensuremath\preceq}% - \DeclareUnicodeCharacter{2AB0}{\ensuremath\succeq}% - % - \global\mathchardef\checkmark="1370% actually the square root sign - \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}% -}% end of \unicodechardefs - -% UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command) -% It makes the setting that replace UTF-8 byte sequence. \def\utfeightchardefs{% - \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterUTFviii - \unicodechardefs -} - -% Whether the active definitions of non-ASCII characters expand to -% non-active tokens with the same character code. This is used to -% write characters literally, instead of using active definitions for -% printing the correct glyphs. -\newif\ifpassthroughchars -\passthroughcharsfalse - -% For native Unicode (XeTeX and LuaTeX) -% Definition macro to replace / pass-through the Unicode character -% -\def\DeclareUnicodeCharacterNative#1#2{% - \catcode"#1=\active - \def\dodeclareunicodecharacternative##1##2##3{% - \begingroup - \uccode`\~="##2\relax - \uppercase{\gdef~}{% - \ifpassthroughchars - ##1% - \else - ##3% - \fi - } - \endgroup - } - \begingroup - \uccode`\.="#1\relax - \uppercase{\def\UTFNativeTmp{.}}% - \expandafter\dodeclareunicodecharacternative\UTFNativeTmp{#1}{#2}% - \endgroup -} + \DeclareUnicodeCharacter{00A0}{\tie} + \DeclareUnicodeCharacter{00A1}{\exclamdown} + \DeclareUnicodeCharacter{00A3}{\pounds} + \DeclareUnicodeCharacter{00A8}{\"{ }} + \DeclareUnicodeCharacter{00A9}{\copyright} + \DeclareUnicodeCharacter{00AA}{\ordf} + \DeclareUnicodeCharacter{00AB}{\guillemetleft} + \DeclareUnicodeCharacter{00AD}{\-} + \DeclareUnicodeCharacter{00AE}{\registeredsymbol} + \DeclareUnicodeCharacter{00AF}{\={ }} + + \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} + \DeclareUnicodeCharacter{00B4}{\'{ }} + \DeclareUnicodeCharacter{00B8}{\cedilla{ }} + \DeclareUnicodeCharacter{00BA}{\ordm} + \DeclareUnicodeCharacter{00BB}{\guillemetright} + \DeclareUnicodeCharacter{00BF}{\questiondown} + + \DeclareUnicodeCharacter{00C0}{\`A} + \DeclareUnicodeCharacter{00C1}{\'A} + \DeclareUnicodeCharacter{00C2}{\^A} + \DeclareUnicodeCharacter{00C3}{\~A} + \DeclareUnicodeCharacter{00C4}{\"A} + \DeclareUnicodeCharacter{00C5}{\AA} + \DeclareUnicodeCharacter{00C6}{\AE} + \DeclareUnicodeCharacter{00C7}{\cedilla{C}} + \DeclareUnicodeCharacter{00C8}{\`E} + \DeclareUnicodeCharacter{00C9}{\'E} + \DeclareUnicodeCharacter{00CA}{\^E} + \DeclareUnicodeCharacter{00CB}{\"E} + \DeclareUnicodeCharacter{00CC}{\`I} + \DeclareUnicodeCharacter{00CD}{\'I} + \DeclareUnicodeCharacter{00CE}{\^I} + \DeclareUnicodeCharacter{00CF}{\"I} + + \DeclareUnicodeCharacter{00D0}{\DH} + \DeclareUnicodeCharacter{00D1}{\~N} + \DeclareUnicodeCharacter{00D2}{\`O} + \DeclareUnicodeCharacter{00D3}{\'O} + \DeclareUnicodeCharacter{00D4}{\^O} + \DeclareUnicodeCharacter{00D5}{\~O} + \DeclareUnicodeCharacter{00D6}{\"O} + \DeclareUnicodeCharacter{00D8}{\O} + \DeclareUnicodeCharacter{00D9}{\`U} + \DeclareUnicodeCharacter{00DA}{\'U} + \DeclareUnicodeCharacter{00DB}{\^U} + \DeclareUnicodeCharacter{00DC}{\"U} + \DeclareUnicodeCharacter{00DD}{\'Y} + \DeclareUnicodeCharacter{00DE}{\TH} + \DeclareUnicodeCharacter{00DF}{\ss} + + \DeclareUnicodeCharacter{00E0}{\`a} + \DeclareUnicodeCharacter{00E1}{\'a} + \DeclareUnicodeCharacter{00E2}{\^a} + \DeclareUnicodeCharacter{00E3}{\~a} + \DeclareUnicodeCharacter{00E4}{\"a} + \DeclareUnicodeCharacter{00E5}{\aa} + \DeclareUnicodeCharacter{00E6}{\ae} + \DeclareUnicodeCharacter{00E7}{\cedilla{c}} + \DeclareUnicodeCharacter{00E8}{\`e} + \DeclareUnicodeCharacter{00E9}{\'e} + \DeclareUnicodeCharacter{00EA}{\^e} + \DeclareUnicodeCharacter{00EB}{\"e} + \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} + \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} + \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} + \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} + + \DeclareUnicodeCharacter{00F0}{\dh} + \DeclareUnicodeCharacter{00F1}{\~n} + \DeclareUnicodeCharacter{00F2}{\`o} + \DeclareUnicodeCharacter{00F3}{\'o} + \DeclareUnicodeCharacter{00F4}{\^o} + \DeclareUnicodeCharacter{00F5}{\~o} + \DeclareUnicodeCharacter{00F6}{\"o} + \DeclareUnicodeCharacter{00F8}{\o} + \DeclareUnicodeCharacter{00F9}{\`u} + \DeclareUnicodeCharacter{00FA}{\'u} + \DeclareUnicodeCharacter{00FB}{\^u} + \DeclareUnicodeCharacter{00FC}{\"u} + \DeclareUnicodeCharacter{00FD}{\'y} + \DeclareUnicodeCharacter{00FE}{\th} + \DeclareUnicodeCharacter{00FF}{\"y} + + \DeclareUnicodeCharacter{0100}{\=A} + \DeclareUnicodeCharacter{0101}{\=a} + \DeclareUnicodeCharacter{0102}{\u{A}} + \DeclareUnicodeCharacter{0103}{\u{a}} + \DeclareUnicodeCharacter{0104}{\ogonek{A}} + \DeclareUnicodeCharacter{0105}{\ogonek{a}} + \DeclareUnicodeCharacter{0106}{\'C} + \DeclareUnicodeCharacter{0107}{\'c} + \DeclareUnicodeCharacter{0108}{\^C} + \DeclareUnicodeCharacter{0109}{\^c} + \DeclareUnicodeCharacter{0118}{\ogonek{E}} + \DeclareUnicodeCharacter{0119}{\ogonek{e}} + \DeclareUnicodeCharacter{010A}{\dotaccent{C}} + \DeclareUnicodeCharacter{010B}{\dotaccent{c}} + \DeclareUnicodeCharacter{010C}{\v{C}} + \DeclareUnicodeCharacter{010D}{\v{c}} + \DeclareUnicodeCharacter{010E}{\v{D}} + + \DeclareUnicodeCharacter{0112}{\=E} + \DeclareUnicodeCharacter{0113}{\=e} + \DeclareUnicodeCharacter{0114}{\u{E}} + \DeclareUnicodeCharacter{0115}{\u{e}} + \DeclareUnicodeCharacter{0116}{\dotaccent{E}} + \DeclareUnicodeCharacter{0117}{\dotaccent{e}} + \DeclareUnicodeCharacter{011A}{\v{E}} + \DeclareUnicodeCharacter{011B}{\v{e}} + \DeclareUnicodeCharacter{011C}{\^G} + \DeclareUnicodeCharacter{011D}{\^g} + \DeclareUnicodeCharacter{011E}{\u{G}} + \DeclareUnicodeCharacter{011F}{\u{g}} + + \DeclareUnicodeCharacter{0120}{\dotaccent{G}} + \DeclareUnicodeCharacter{0121}{\dotaccent{g}} + \DeclareUnicodeCharacter{0124}{\^H} + \DeclareUnicodeCharacter{0125}{\^h} + \DeclareUnicodeCharacter{0128}{\~I} + \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} + \DeclareUnicodeCharacter{012A}{\=I} + \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} + \DeclareUnicodeCharacter{012C}{\u{I}} + \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} + + \DeclareUnicodeCharacter{0130}{\dotaccent{I}} + \DeclareUnicodeCharacter{0131}{\dotless{i}} + \DeclareUnicodeCharacter{0132}{IJ} + \DeclareUnicodeCharacter{0133}{ij} + \DeclareUnicodeCharacter{0134}{\^J} + \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} + \DeclareUnicodeCharacter{0139}{\'L} + \DeclareUnicodeCharacter{013A}{\'l} + + \DeclareUnicodeCharacter{0141}{\L} + \DeclareUnicodeCharacter{0142}{\l} + \DeclareUnicodeCharacter{0143}{\'N} + \DeclareUnicodeCharacter{0144}{\'n} + \DeclareUnicodeCharacter{0147}{\v{N}} + \DeclareUnicodeCharacter{0148}{\v{n}} + \DeclareUnicodeCharacter{014C}{\=O} + \DeclareUnicodeCharacter{014D}{\=o} + \DeclareUnicodeCharacter{014E}{\u{O}} + \DeclareUnicodeCharacter{014F}{\u{o}} + + \DeclareUnicodeCharacter{0150}{\H{O}} + \DeclareUnicodeCharacter{0151}{\H{o}} + \DeclareUnicodeCharacter{0152}{\OE} + \DeclareUnicodeCharacter{0153}{\oe} + \DeclareUnicodeCharacter{0154}{\'R} + \DeclareUnicodeCharacter{0155}{\'r} + \DeclareUnicodeCharacter{0158}{\v{R}} + \DeclareUnicodeCharacter{0159}{\v{r}} + \DeclareUnicodeCharacter{015A}{\'S} + \DeclareUnicodeCharacter{015B}{\'s} + \DeclareUnicodeCharacter{015C}{\^S} + \DeclareUnicodeCharacter{015D}{\^s} + \DeclareUnicodeCharacter{015E}{\cedilla{S}} + \DeclareUnicodeCharacter{015F}{\cedilla{s}} + + \DeclareUnicodeCharacter{0160}{\v{S}} + \DeclareUnicodeCharacter{0161}{\v{s}} + \DeclareUnicodeCharacter{0162}{\cedilla{t}} + \DeclareUnicodeCharacter{0163}{\cedilla{T}} + \DeclareUnicodeCharacter{0164}{\v{T}} + + \DeclareUnicodeCharacter{0168}{\~U} + \DeclareUnicodeCharacter{0169}{\~u} + \DeclareUnicodeCharacter{016A}{\=U} + \DeclareUnicodeCharacter{016B}{\=u} + \DeclareUnicodeCharacter{016C}{\u{U}} + \DeclareUnicodeCharacter{016D}{\u{u}} + \DeclareUnicodeCharacter{016E}{\ringaccent{U}} + \DeclareUnicodeCharacter{016F}{\ringaccent{u}} + + \DeclareUnicodeCharacter{0170}{\H{U}} + \DeclareUnicodeCharacter{0171}{\H{u}} + \DeclareUnicodeCharacter{0174}{\^W} + \DeclareUnicodeCharacter{0175}{\^w} + \DeclareUnicodeCharacter{0176}{\^Y} + \DeclareUnicodeCharacter{0177}{\^y} + \DeclareUnicodeCharacter{0178}{\"Y} + \DeclareUnicodeCharacter{0179}{\'Z} + \DeclareUnicodeCharacter{017A}{\'z} + \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} + \DeclareUnicodeCharacter{017C}{\dotaccent{z}} + \DeclareUnicodeCharacter{017D}{\v{Z}} + \DeclareUnicodeCharacter{017E}{\v{z}} + + \DeclareUnicodeCharacter{01C4}{D\v{Z}} + \DeclareUnicodeCharacter{01C5}{D\v{z}} + \DeclareUnicodeCharacter{01C6}{d\v{z}} + \DeclareUnicodeCharacter{01C7}{LJ} + \DeclareUnicodeCharacter{01C8}{Lj} + \DeclareUnicodeCharacter{01C9}{lj} + \DeclareUnicodeCharacter{01CA}{NJ} + \DeclareUnicodeCharacter{01CB}{Nj} + \DeclareUnicodeCharacter{01CC}{nj} + \DeclareUnicodeCharacter{01CD}{\v{A}} + \DeclareUnicodeCharacter{01CE}{\v{a}} + \DeclareUnicodeCharacter{01CF}{\v{I}} + + \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} + \DeclareUnicodeCharacter{01D1}{\v{O}} + \DeclareUnicodeCharacter{01D2}{\v{o}} + \DeclareUnicodeCharacter{01D3}{\v{U}} + \DeclareUnicodeCharacter{01D4}{\v{u}} + + \DeclareUnicodeCharacter{01E2}{\={\AE}} + \DeclareUnicodeCharacter{01E3}{\={\ae}} + \DeclareUnicodeCharacter{01E6}{\v{G}} + \DeclareUnicodeCharacter{01E7}{\v{g}} + \DeclareUnicodeCharacter{01E8}{\v{K}} + \DeclareUnicodeCharacter{01E9}{\v{k}} + + \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} + \DeclareUnicodeCharacter{01F1}{DZ} + \DeclareUnicodeCharacter{01F2}{Dz} + \DeclareUnicodeCharacter{01F3}{dz} + \DeclareUnicodeCharacter{01F4}{\'G} + \DeclareUnicodeCharacter{01F5}{\'g} + \DeclareUnicodeCharacter{01F8}{\`N} + \DeclareUnicodeCharacter{01F9}{\`n} + \DeclareUnicodeCharacter{01FC}{\'{\AE}} + \DeclareUnicodeCharacter{01FD}{\'{\ae}} + \DeclareUnicodeCharacter{01FE}{\'{\O}} + \DeclareUnicodeCharacter{01FF}{\'{\o}} + + \DeclareUnicodeCharacter{021E}{\v{H}} + \DeclareUnicodeCharacter{021F}{\v{h}} + + \DeclareUnicodeCharacter{0226}{\dotaccent{A}} + \DeclareUnicodeCharacter{0227}{\dotaccent{a}} + \DeclareUnicodeCharacter{0228}{\cedilla{E}} + \DeclareUnicodeCharacter{0229}{\cedilla{e}} + \DeclareUnicodeCharacter{022E}{\dotaccent{O}} + \DeclareUnicodeCharacter{022F}{\dotaccent{o}} + + \DeclareUnicodeCharacter{0232}{\=Y} + \DeclareUnicodeCharacter{0233}{\=y} + \DeclareUnicodeCharacter{0237}{\dotless{j}} + + \DeclareUnicodeCharacter{02DB}{\ogonek{ }} + + \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} + \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} + \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} + \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} + \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} + \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} + \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} + \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} + \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} + \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} + \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} + \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} + + \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} + \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} + + \DeclareUnicodeCharacter{1E20}{\=G} + \DeclareUnicodeCharacter{1E21}{\=g} + \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} + \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} + \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} + \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} + \DeclareUnicodeCharacter{1E26}{\"H} + \DeclareUnicodeCharacter{1E27}{\"h} + + \DeclareUnicodeCharacter{1E30}{\'K} + \DeclareUnicodeCharacter{1E31}{\'k} + \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} + \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} + \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} + \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} + \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} + \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} + \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} + \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} + \DeclareUnicodeCharacter{1E3E}{\'M} + \DeclareUnicodeCharacter{1E3F}{\'m} + + \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} + \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} + \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} + \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} + \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} + \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} + \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} + \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} + \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} + \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} + + \DeclareUnicodeCharacter{1E54}{\'P} + \DeclareUnicodeCharacter{1E55}{\'p} + \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} + \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} + \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} + \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} + \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} + \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} + \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} + \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} + + \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} + \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} + \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} + \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} + \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} + \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} + \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} + \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} + \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} + \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} + + \DeclareUnicodeCharacter{1E7C}{\~V} + \DeclareUnicodeCharacter{1E7D}{\~v} + \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} + \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} + + \DeclareUnicodeCharacter{1E80}{\`W} + \DeclareUnicodeCharacter{1E81}{\`w} + \DeclareUnicodeCharacter{1E82}{\'W} + \DeclareUnicodeCharacter{1E83}{\'w} + \DeclareUnicodeCharacter{1E84}{\"W} + \DeclareUnicodeCharacter{1E85}{\"w} + \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} + \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} + \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} + \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} + \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} + \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} + \DeclareUnicodeCharacter{1E8C}{\"X} + \DeclareUnicodeCharacter{1E8D}{\"x} + \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} + \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} + + \DeclareUnicodeCharacter{1E90}{\^Z} + \DeclareUnicodeCharacter{1E91}{\^z} + \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} + \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} + \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} + \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} + \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} + \DeclareUnicodeCharacter{1E97}{\"t} + \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} + \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} + + \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} + \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} + + \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} + \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} + \DeclareUnicodeCharacter{1EBC}{\~E} + \DeclareUnicodeCharacter{1EBD}{\~e} + + \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} + \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} + \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} + \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} + + \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} + \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} + + \DeclareUnicodeCharacter{1EF2}{\`Y} + \DeclareUnicodeCharacter{1EF3}{\`y} + \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} + + \DeclareUnicodeCharacter{1EF8}{\~Y} + \DeclareUnicodeCharacter{1EF9}{\~y} + + \DeclareUnicodeCharacter{2013}{--} + \DeclareUnicodeCharacter{2014}{---} + \DeclareUnicodeCharacter{2018}{\quoteleft} + \DeclareUnicodeCharacter{2019}{\quoteright} + \DeclareUnicodeCharacter{201A}{\quotesinglbase} + \DeclareUnicodeCharacter{201C}{\quotedblleft} + \DeclareUnicodeCharacter{201D}{\quotedblright} + \DeclareUnicodeCharacter{201E}{\quotedblbase} + \DeclareUnicodeCharacter{2022}{\bullet} + \DeclareUnicodeCharacter{2026}{\dots} + \DeclareUnicodeCharacter{2039}{\guilsinglleft} + \DeclareUnicodeCharacter{203A}{\guilsinglright} + \DeclareUnicodeCharacter{20AC}{\euro} + + \DeclareUnicodeCharacter{2192}{\expansion} + \DeclareUnicodeCharacter{21D2}{\result} + + \DeclareUnicodeCharacter{2212}{\minus} + \DeclareUnicodeCharacter{2217}{\point} + \DeclareUnicodeCharacter{2261}{\equiv} +}% end of \utfeightchardefs -% Native Unicode (XeTeX and LuaTeX) character replacing definitions -% It makes the setting that replace the Unicode characters. -\def\nativeunicodechardefs{% - \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNative - \unicodechardefs -} - -% For native Unicode (XeTeX and LuaTeX). Make the character token expand -% to the sequences given in \unicodechardefs for printing. -\def\DeclareUnicodeCharacterNativeAtU#1#2{% - \def\UTFAtUTmp{#2} - \expandafter\globallet\csname uni:#1\endcsname \UTFAtUTmp -} - -% Native Unicode (XeTeX and LuaTeX) @U command definitions -\def\nativeunicodechardefsatu{% - \let\DeclareUnicodeCharacter\DeclareUnicodeCharacterNativeAtU - \unicodechardefs -} % US-ASCII character definitions. \def\asciichardefs{% nothing need be done \relax } -% define all the unicode characters we know about, for the sake of @U. -\iftxinativeunicodecapable - \nativeunicodechardefsatu -\else - \utfeightchardefs -\fi - - % Make non-ASCII characters printable again for compatibility with % existing Texinfo documents that may use them, even without declaring a % document encoding. @@ -11235,12 +9795,12 @@ \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin - \txipageheight = \vsize + \pageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in - \txipagewidth = \hsize + \pagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax @@ -11252,13 +9812,6 @@ % whatever layout pdftex was dumped with. \pdfhorigin = 1 true in \pdfvorigin = 1 true in - \else - \ifx\XeTeXrevision\thisisundefined - \else - \pdfpageheight #7\relax - \pdfpagewidth #8\relax - % XeTeX does not have \pdfhorigin and \pdfvorigin. - \fi \fi % \setleading{\textleading} @@ -11446,25 +9999,26 @@ % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} -% Set catcodes for Texinfo file - -% Active characters for printing the wanted glyph. +% Turn off all special characters except @ +% (and those which the user can use as if they were ordinary). % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. -% + \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde -\chardef\hatchar=`\^ -\catcode`\^=\active \def\activehat{{\tt \hatchar}} \let^ = \activehat +\chardef\hat=`\^ +\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} -\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } \let\realunder=_ +% Subroutine for the previous macro. +\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } -\catcode`\|=\active \def|{{\tt\char124}} +\catcode`\|=\active +\def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless @@ -11472,8 +10026,6 @@ \catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix -\catcode`\-=\active \let-=\normaldash - % used for headline/footline in the output routine, in case the page % breaks in the middle of an @tex block. @@ -11488,6 +10040,12 @@ % in principle, all other definitions in \tex have to be undone too. } +% If a .fmt file is being used, characters that might appear in a file +% name cannot be active until we have parsed the command line. +% So turn them off again, and have \everyjob (or @setfilename) turn them on. +% \otherifyactive is called near the end of this file. +\def\otherifyactive{\catcode`+=\other \catcode`\_=\other} + % Used sometimes to turn off (effectively) the active characters even after % parsing them. \def\turnoffactive{% @@ -11506,22 +10064,23 @@ % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} -% In Texinfo, backslash is an active character; it prints the backslash +% In texinfo, backslash is an active character; it prints the backslash % in fixed width font. \catcode`\\=\active % @ for escape char from now on. -% Print a typewriter backslash. For math mode, we can't simply use -% \backslashcurfont: the story here is that in math mode, the \char -% of \backslashcurfont ends up printing the roman \ from the math symbol -% font (because \char in math mode uses the \mathcode, and plain.tex -% sets \mathcode`\\="026E). Hence we use an explicit \mathchar, +% The story here is that in math mode, the \char of \backslashcurfont +% ends up printing the roman \ from the math symbol font (because \char +% in math mode uses the \mathcode, and plain.tex sets +% \mathcode`\\="026E). It seems better for @backslashchar{} to always +% print a typewriter backslash, hence we use an explicit \mathchar, % which is the decimal equivalent of "715c (class 7, e.g., use \fam; % ignored family value; char position "5C). We can't use " for the % usual hex value because it has already been made active. +@def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} +@let@backslashchar = @normalbackslash % @backslashchar{} is for user documents. -@def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} -@let@backslashchar = @ttbackslash % @backslashchar{} is for user documents. - +% On startup, @fixbackslash assigns: +% @let \ = @normalbackslash % \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with % catcode other. We switch back and forth between these. @@ -11529,89 +10088,51 @@ @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. +% the literal character `\'. Also revert - to its normal character, in +% case the active - from code has slipped in. % {@catcode`- = @active @gdef@normalturnoffactive{% - @passthroughcharstrue @let-=@normaldash @let"=@normaldoublequote @let$=@normaldollar %$ font-lock fix @let+=@normalplus @let<=@normalless @let>=@normalgreater + @let\=@normalbackslash @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let~=@normaltilde - @let\=@ttbackslash @markupsetuplqdefault @markupsetuprqdefault @unsepspaces } } -% If a .fmt file is being used, characters that might appear in a file -% name cannot be active until we have parsed the command line. -% So turn them off again, and have @fixbackslash turn them back on. -@catcode`+=@other @catcode`@_=@other +% Make _ and + \other characters, temporarily. +% This is canceled by @fixbackslash. +@otherifyactive -% \enablebackslashhack - allow file to begin `\input texinfo' -% % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. -% If the file did not have a `\input texinfo', then it is turned off after -% the first line; otherwise the first `\' in the file would cause an error. -% This is used on the very last line of this file, texinfo.tex. -% We also use @c to call @fixbackslash, in case ends of lines are hidden. -{ -@catcode`@^=7 -@catcode`@^^M=13@gdef@enablebackslashhack{% - @global@let\ = @eatinput% - @catcode`@^^M=13% - @def@c{@fixbackslash@c}% - % Definition for the newline at the end of this file. - @def ^^M{@let^^M@secondlinenl}% - % Definition for a newline in the main Texinfo file. - @gdef @secondlinenl{@fixbackslash}% -}} - -{@catcode`@^=7 @catcode`@^^M=13% -@gdef@eatinput input texinfo#1^^M{@fixbackslash}} - -% Emergency active definition of newline, in case an active newline token -% appears by mistake. -{@catcode`@^=7 @catcode13=13% -@gdef@enableemergencynewline{% - @gdef^^M{% - @par% - %@par% -}}} - +% +@gdef@eatinput input texinfo{@fixbackslash} +@global@let\ = @eatinput +% On the other hand, perhaps the file did not have a `\input texinfo'. Then +% the first `\' in the file would cause an error. This macro tries to fix +% that, assuming it is called before the first `\' could plausibly occur. +% Also turn back on active characters that might appear in the input +% file name, in case not using a pre-dumped format. +% @gdef@fixbackslash{% - @ifx\@eatinput @let\ = @ttbackslash @fi - @catcode13=5 % regular end of line - @enableemergencynewline - @let@c=@texinfoc - % Also turn back on active characters that might appear in the input - % file name, in case not using a pre-dumped format. + @ifx\@eatinput @let\ = @normalbackslash @fi @catcode`+=@active @catcode`@_=@active - % - % If texinfo.cnf is present on the system, read it. - % Useful for site-wide @afourpaper, etc. This macro, @fixbackslash, gets - % called at the beginning of every Texinfo file. Not opening texinfo.cnf - % directly in this file, texinfo.tex, makes it possible to make a format - % file for Texinfo. - % - @openin 1 texinfo.cnf - @ifeof 1 @else @input texinfo.cnf @fi - @closein 1 } - % Say @foo, not \foo, in error messages. @escapechar = `@@ @@ -11640,7 +10161,7 @@ @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) -@c page-delimiter: "^\\\\message\\|emacs-page" +@c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @@ -11651,4 +10172,3 @@ @ignore arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 @end ignore -@enablebackslashhack diff -Nru make-dfsg-4.2.1/config.ami make-dfsg-4.1/config.ami --- make-dfsg-4.2.1/config.ami 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/config.ami 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* config.h -- hand-massaged for Amiga -*-C-*- -Copyright (C) 1995-2016 Free Software Foundation, Inc. +Copyright (C) 1995-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -177,7 +177,7 @@ #define PACKAGE "make" /* Version of this package (needed by automake) */ -#define VERSION "4.2.1" +#define VERSION "4.1" /* Define to the name of the SCCS 'get' command. */ #define SCCS_GET "get" diff -Nru make-dfsg-4.2.1/configh.dos make-dfsg-4.1/configh.dos --- make-dfsg-4.2.1/configh.dos 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/configh.dos 2016-01-16 10:25:59.000000000 +0000 @@ -1,6 +1,6 @@ /* configh.dos -- hand-massaged config.h file for MS-DOS builds -*-C-*- -Copyright (C) 1994-2016 Free Software Foundation, Inc. +Copyright (C) 1994-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -92,19 +92,19 @@ #define PACKAGE_NAME "GNU make" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU make 4.2.1" +#define PACKAGE_STRING "GNU make 4.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "make" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.2.1" +#define PACKAGE_VERSION "4.1" /* Output sync sypport */ #define NO_OUTPUT_SYNC /* Version number of package */ -#define VERSION "4.2.1" +#define VERSION "4.1" /* Build host information. */ #define MAKE_HOST "i386-pc-msdosdjgpp" diff -Nru make-dfsg-4.2.1/config.h-vms make-dfsg-4.1/config.h-vms --- make-dfsg-4.2.1/config.h-vms 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/config.h-vms 2016-01-16 10:25:59.000000000 +0000 @@ -1,6 +1,6 @@ /* config.h-vms. Generated by hand by Klaus Kämpf -*-C-*- -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -217,7 +217,7 @@ #define PACKAGE "make" /* Version of this package (needed by automake) */ -#define VERSION "4.2.1" +#define VERSION "4.1" /* Define to the name of the SCCS 'get' command. */ /* #undef SCCS_GET */ diff -Nru make-dfsg-4.2.1/config.h.W32 make-dfsg-4.1/config.h.W32 --- make-dfsg-4.2.1/config.h.W32 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/config.h.W32 2016-01-16 10:25:59.000000000 +0000 @@ -1,6 +1,6 @@ /* config.h.W32 -- hand-massaged config.h file for Windows builds -*-C-*- -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -384,7 +384,7 @@ #define PACKAGE_URL "http://www.gnu.org/software/make/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.2.1" +#define PACKAGE_VERSION "4.1" /* Define to the character that separates directories in PATH. */ #define PATH_SEPARATOR_CHAR ';' @@ -436,7 +436,7 @@ /* #undef UMAX4_3 */ /* Version number of package */ -#define VERSION "4.2.1" +#define VERSION "4.1" /* Define if using the dmalloc debugging malloc package */ /* #undef WITH_DMALLOC */ diff -Nru make-dfsg-4.2.1/configure.ac make-dfsg-4.1/configure.ac --- make-dfsg-4.2.1/configure.ac 2018-02-12 21:07:00.000000000 +0000 +++ make-dfsg-4.1/configure.ac 2018-04-17 12:38:17.000000000 +0000 @@ -1,6 +1,6 @@ # Process this file with autoconf to produce a configure script. # -# Copyright (C) 1993-2016 Free Software Foundation, Inc. +# Copyright (C) 1993-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -16,9 +16,9 @@ # You should have received a copy of the GNU General Public License along with # this program. If not, see . -AC_INIT([GNU make],[4.2.1],[bug-make@gnu.org]) +AC_INIT([GNU make],[4.1],[bug-make@gnu.org]) -AC_PREREQ([2.69]) +AC_PREREQ([2.62]) # Autoconf setup AC_CONFIG_AUX_DIR([config]) @@ -29,7 +29,7 @@ # We have to enable "foreign" because ChangeLog is auto-generated # We cannot enable -Werror because gettext 0.18.1 has invalid content # When we update gettext to 0.18.3 or better we can add it again. -AM_INIT_AUTOMAKE([1.15 foreign -Werror -Wall]) +AM_INIT_AUTOMAKE([1.11.1 silent-rules foreign -Wall]) # Checks for programs. AC_USE_SYSTEM_EXTENSIONS @@ -51,7 +51,7 @@ AC_MINIX # Enable gettext, in "external" mode. -AM_GNU_GETTEXT_VERSION([0.19.4]) +AM_GNU_GETTEXT_VERSION([0.18.1]) AM_GNU_GETTEXT([external]) # This test must come as early as possible after the compiler configuration @@ -69,17 +69,22 @@ AC_HEADER_TIME AC_CHECK_HEADERS([stdlib.h locale.h unistd.h limits.h fcntl.h string.h \ memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h \ - sys/select.h]) + sys/user.h linux/binfmts.h]) AM_PROG_CC_C_O AC_C_CONST AC_TYPE_SIGNAL AC_TYPE_UID_T AC_TYPE_PID_T -AC_TYPE_OFF_T -AC_TYPE_SIZE_T -AC_TYPE_SSIZE_T -AC_TYPE_UINTMAX_T + +# Find some definition for uintmax_t + +AC_CHECK_TYPE([uintmax_t],[], +[ uintmax_t="unsigned long" + AC_CHECK_TYPE([unsigned long long],[uintmax_t="unsigned long long"]) + AC_DEFINE_UNQUOTED([uintmax_t], [$uintmax_t], + [Define uintmax_t if not defined in or .]) +]) # Find out whether our struct stat returns nanosecond resolution timestamps. @@ -136,7 +141,7 @@ dup dup2 getcwd realpath sigsetmask sigaction \ getgroups seteuid setegid setlinebuf setreuid setregid \ getrlimit setrlimit setvbuf pipe strerror strsignal \ - lstat readlink atexit isatty ttyname pselect]) + lstat readlink atexit isatty ttyname]) # We need to check declarations, not just existence, because on Tru64 this # function is not declared without special flags, which themselves cause @@ -144,8 +149,6 @@ AC_CHECK_DECLS([bsd_signal], [], [], [[#define _GNU_SOURCE 1 #include ]]) -AC_FUNC_FORK - AC_FUNC_SETVBUF_REVERSED # Rumor has it that strcasecmp lives in -lresolv on some odd systems. @@ -399,10 +402,9 @@ #include #include -#define GLOB_INTERFACE_VERSION 1 #if !defined _LIBC && defined __GNU_LIBRARY__ && __GNU_LIBRARY__ > 1 # include -# if _GNU_GLOB_INTERFACE_VERSION == GLOB_INTERFACE_VERSION +# if _GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 gnu glob # endif #endif], diff -Nru make-dfsg-4.2.1/configure.bat make-dfsg-4.1/configure.bat --- make-dfsg-4.2.1/configure.bat 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/configure.bat 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ @echo off -rem Copyright (C) 1994-2016 Free Software Foundation, Inc. +rem Copyright (C) 1994-2014 Free Software Foundation, Inc. rem This file is part of GNU Make. rem rem GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/debian/changelog make-dfsg-4.1/debian/changelog --- make-dfsg-4.2.1/debian/changelog 2018-04-17 12:38:17.000000000 +0000 +++ make-dfsg-4.1/debian/changelog 2018-04-17 12:38:17.000000000 +0000 @@ -1,27 +1,10 @@ -make-dfsg (4.2.1-1) unstable; urgency=medium +make-dfsg (4.1-9.1ubuntu1) bionic; urgency=medium - * New Upsrteam release. - * New variable: $(.SHELLSTATUS) is set to the exit status of the last != or - $(shell ...) function invoked in this instance of make. This will be "0" if - successful or not "0" if not successful. The variable value is unset if no - != or $(shell ...) function has been invoked. - * The $(file ...) function can now read from a file with $(file - * The interface to GNU make's "jobserver" is stable as documented in the - manual, for tools which may want to access it. - WARNING: Backward-incompatibility! The internal-only command line option - --jobserver-fds has been renamed for publishing, to --jobserver-auth. - * The amount of parallelism can be determined by querying MAKEFLAGS, even when - the job server is enabled (previously MAKEFLAGS would always contain only - "-j", with no number, when job server was enabled). - * Bug fix: "SIGSEGVs on long parameter", thanks to Marcos Dione (Closes: - #858647). + * Cherry-pick two patches from upstream to support the glob implementation + in glibc 2.27. Kindly supplied by Aurelien Jarno on Debian bug #891365, + with thanks. - -- Manoj Srivastava Mon, 12 Feb 2018 16:36:45 -0800 + -- Iain Lane Tue, 17 Apr 2018 13:12:28 +0100 make-dfsg (4.1-9.1) unstable; urgency=medium diff -Nru make-dfsg-4.2.1/debian/control make-dfsg-4.1/debian/control --- make-dfsg-4.2.1/debian/control 2018-04-17 12:38:17.000000000 +0000 +++ make-dfsg-4.1/debian/control 2018-04-17 12:38:17.000000000 +0000 @@ -4,7 +4,7 @@ Section: devel Priority: optional Maintainer: Manoj Srivastava -Standards-Version: 4.1.3 +Standards-Version: 3.9.7 Homepage: http://www.gnu.org/software/make/ Build-Depends: gettext, po-debconf, debhelper (>= 9.0.0), dh-autoreconf, autoconf, automake | automaken, autopoint, file, pkg-config, diff -Nru make-dfsg-4.2.1/debug.h make-dfsg-4.1/debug.h --- make-dfsg-4.2.1/debug.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/debug.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Debugging macros and interface. -Copyright (C) 1999-2016 Free Software Foundation, Inc. +Copyright (C) 1999-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/default.c make-dfsg-4.1/default.c --- make-dfsg-4.2.1/default.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/default.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Data base of default implicit rules for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -131,47 +131,10 @@ static const char *default_suffix_rules[] = { #ifdef VMS - ".o", - "$(LINK.obj) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".obj", - "$(LINK.obj) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".s", - "$(LINK.s) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".S", - "$(LINK.S) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".c", - "$(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".cc", - "$(LINK.cc) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".C", - "$(LINK.C) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".cpp", - "$(LINK.cpp) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".f", - "$(LINK.f) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".m", - "$(LINK.m) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".p", - "$(LINK.p) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".F", - "$(LINK.F) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".r", - "$(LINK.r) $^ $(LOADLIBES) $(LDLIBS) -o $@", - ".mod", - "$(COMPILE.mod) -o $@ -e $@ $^", - - ".def.sym", - "$(COMPILE.def) -o $@ $<", - - ".sh", - "copy $< >$@", - ".obj.exe", "$(LINK.obj) $^ $(LOADLIBES) $(LDLIBS) $(CRT0) /exe=$@", ".mar.exe", "$(COMPILE.mar) $^ \n $(LINK.obj) $(subst .mar,.obj,$^) $(LOADLIBES) $(LDLIBS) $(CRT0) /exe=$@", - ".s.o", - "$(COMPILE.s) -o $@ $<", ".s.exe", "$(COMPILE.s) $^ \n $(LINK.obj) $(subst .s,.obj,$^) $(LOADLIBES) $(LDLIBS) $(CRT0) /exe=$@", ".c.exe", @@ -242,27 +205,6 @@ ".tex.dvi", "$(TEX) $<", - ".cpp.o", - "$(COMPILE.cpp) $(OUTPUT_OPTION) $<", - ".f.o", - "$(COMPILE.f) $(OUTPUT_OPTION) $<", - ".m.o", - "$(COMPILE.m) $(OUTPUT_OPTION) $<", - ".p.o", - "$(COMPILE.p) $(OUTPUT_OPTION) $<", - ".r.o", - "$(COMPILE.r) $(OUTPUT_OPTION) $<", - ".mod.o", - "$(COMPILE.mod) -o $@ $<", - - ".c.ln", - "$(LINT.c) -C$* $<", - ".y.ln", - "$(YACC.y) $< \n rename y_tab.c $@", - - ".l.ln", - "@$(RM) $*.c\n $(LEX.l) $< > $*.c\n$(LINT.c) -i $*.c -o $@\n $(RM) $*.c", - #else /* ! VMS */ ".o", @@ -471,44 +413,19 @@ "LDLIBS", "", #endif - "LINK.o", "$(LD) $(LDFLAGS)", "LINK.obj", "$(LD) $(LDFLAGS)", #ifndef GCC_IS_NATIVE "CXXLINK.obj", "$(CXXLD) $(LDFLAGS)", "COMPILE.cxx", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH)", #endif "COMPILE.c", "$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH)", - "LINK.c", "$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH)", - "COMPILE.m", "$(OBJC) $(OBJCFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c", - "LINK.m", "$(OBJC) $(OBJCFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)", "COMPILE.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH)", - "COMPILE.C", "$(COMPILE.cc)", - "COMPILE.cpp", "$(COMPILE.cc)", - "LINK.C", "$(LINK.cc)", - "LINK.cpp", "$(LINK.cc)", "YACC.y", "$(YACC) $(YFLAGS)", "LEX.l", "$(LEX) $(LFLAGS)", - "YACC.m", "$(YACC) $(YFLAGS)", - "LEX.m", "$(LEX) $(LFLAGS) -t", "COMPILE.for", "$(FC) $(FFLAGS) $(TARGET_ARCH)", - "COMPILE.f", "$(FC) $(FFLAGS) $(TARGET_ARCH) -c", - "LINK.f", "$(FC) $(FFLAGS) $(LDFLAGS) $(TARGET_ARCH)", - "COMPILE.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c", - "LINK.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)", - "COMPILE.r", "$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -c", - "LINK.r", "$(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) $(TARGET_ARCH)", "COMPILE.pas", "$(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH)", - "COMPILE.def", "$(M2C) $(M2FLAGS) $(DEFFLAGS) $(TARGET_ARCH)", - "COMPILE.mod", "$(M2C) $(M2FLAGS) $(MODFLAGS) $(TARGET_ARCH)", - "COMPILE.p", "$(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c", - "LINK.p", "$(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)", "COMPILE.mar", "$(MACRO) $(MACROFLAGS)", "COMPILE.s", "$(AS) $(ASFLAGS) $(TARGET_MACH)", - "LINK.S", "$(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH)", - "COMPILE.S", "$(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c", - "PREPROCESS.S", "$(CC) -E $(CPPFLAGS)", - "PREPROCESS.F", "$(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -F", - "PREPROCESS.r", "$(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -F", "LINT.c", "$(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH)", "MV", "rename/new_version", @@ -602,21 +519,10 @@ "COMPILE.m", "$(OBJC) $(OBJCFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c", "LINK.m", "$(OBJC) $(OBJCFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)", "COMPILE.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c", -#ifndef HAVE_CASE_INSENSITIVE_FS - /* On case-insensitive filesystems, treat *.C files as *.c files, - to avoid erroneously compiling C sources as C++, which will - probably fail. */ "COMPILE.C", "$(COMPILE.cc)", -#else - "COMPILE.C", "$(COMPILE.c)", -#endif "COMPILE.cpp", "$(COMPILE.cc)", "LINK.cc", "$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)", -#ifndef HAVE_CASE_INSENSITIVE_FS "LINK.C", "$(LINK.cc)", -#else - "LINK.C", "$(LINK.c)", -#endif "LINK.cpp", "$(LINK.cc)", "YACC.y", "$(YACC) $(YFLAGS)", "LEX.l", "$(LEX) $(LFLAGS) -t", diff -Nru make-dfsg-4.2.1/dep.h make-dfsg-4.1/dep.h --- make-dfsg-4.2.1/dep.h 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/dep.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions of dependency data structures for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -14,21 +14,9 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ - -/* Structure used in chains of names, for parsing and globbing. */ - -#define NAMESEQ(_t) \ - _t *next; \ - const char *name - -struct nameseq - { - NAMESEQ (struct nameseq); - }; - /* Flag bits for the second argument to 'read_makefile'. - These flags are saved in the 'flags' field of each - 'struct goaldep' in the chain returned by 'read_all_makefiles'. */ + These flags are saved in the 'changed' field of each + 'struct dep' in the chain returned by 'read_all_makefiles'. */ #define RM_NO_DEFAULT_GOAL (1 << 0) /* Do not set default goal. */ #define RM_INCLUDED (1 << 1) /* Search makefile search path. */ @@ -37,37 +25,34 @@ #define RM_NOFLAG 0 /* Structure representing one dependency of a file. - Each struct file's 'deps' points to a chain of these, through 'next'. - 'stem' is the stem for this dep line of static pattern rule or NULL. */ + Each struct file's 'deps' points to a chain of these, + chained through the 'next'. 'stem' is the stem for this + dep line of static pattern rule or NULL. -#define DEP(_t) \ - NAMESEQ (_t); \ - struct file *file; \ - const char *stem; \ - unsigned short flags : 8; \ - unsigned short changed : 1; \ - unsigned short ignore_mtime : 1; \ - unsigned short staticpattern : 1; \ - unsigned short need_2nd_expansion : 1 + Note that the first two words of this match a struct nameseq. */ struct dep { - DEP (struct dep); + struct dep *next; + const char *name; + const char *stem; + struct file *file; + unsigned int changed : 8; + unsigned int ignore_mtime : 1; + unsigned int staticpattern : 1; + unsigned int need_2nd_expansion : 1; + unsigned int dontcare : 1; }; -/* Structure representing one goal. - The goals to be built constitute a chain of these, chained through 'next'. - 'stem' is not used, but it's simpler to include and ignore it. */ -struct goaldep +/* Structure used in chains of names, for parsing and globbing. */ + +struct nameseq { - DEP (struct goaldep); - unsigned short error; - floc floc; + struct nameseq *next; + const char *name; }; -/* Options for parsing lists of filenames. */ - #define PARSEFS_NONE 0x0000 #define PARSEFS_NOSTRIP 0x0001 #define PARSEFS_NOAR 0x0002 @@ -93,39 +78,15 @@ struct nameseq *ar_glob (const char *arname, const char *member_pattern, unsigned int size); #endif -#define dep_name(d) ((d)->name ? (d)->name : (d)->file->name) - -#define alloc_seq_elt(_t) xcalloc (sizeof (_t)) -void free_ns_chain (struct nameseq *n); - -#if defined(MAKE_MAINTAINER_MODE) && defined(__GNUC__) -/* Use inline to get real type-checking. */ -#define SI static inline -SI struct nameseq *alloc_ns() { return alloc_seq_elt (struct nameseq); } -SI struct dep *alloc_dep() { return alloc_seq_elt (struct dep); } -SI struct goaldep *alloc_goaldep() { return alloc_seq_elt (struct goaldep); } - -SI void free_ns(struct nameseq *n) { free (n); } -SI void free_dep(struct dep *d) { free_ns ((struct nameseq *)d); } -SI void free_goaldep(struct goaldep *g) { free_dep ((struct dep *)g); } +#define dep_name(d) ((d)->name == 0 ? (d)->file->name : (d)->name) -SI void free_dep_chain(struct dep *d) { free_ns_chain((struct nameseq *)d); } -SI void free_goal_chain(struct goaldep *g) { free_dep_chain((struct dep *)g); } -#else -# define alloc_ns() alloc_seq_elt (struct nameseq) -# define alloc_dep() alloc_seq_elt (struct dep) -# define alloc_goaldep() alloc_seq_elt (struct goaldep) - -# define free_ns(_n) free (_n) -# define free_dep(_d) free_ns (_d) -# define free_goaldep(_g) free_dep (_g) - -# define free_dep_chain(_d) free_ns_chain ((struct nameseq *)(_d)) -# define free_goal_chain(_g) free_ns_chain ((struct nameseq *)(_g)) -#endif +#define alloc_dep() (xcalloc (sizeof (struct dep))) +#define free_ns(_n) free (_n) +#define free_dep(_d) free_ns (_d) struct dep *copy_dep_chain (const struct dep *d); - -struct goaldep *read_all_makefiles (const char **makefiles); -void eval_buffer (char *buffer, const floc *floc); -enum update_status update_goal_chain (struct goaldep *goals); +void free_dep_chain (struct dep *d); +void free_ns_chain (struct nameseq *n); +struct dep *read_all_makefiles (const char **makefiles); +void eval_buffer (char *buffer, const gmk_floc *floc); +enum update_status update_goal_chain (struct dep *goals); diff -Nru make-dfsg-4.2.1/dir.c make-dfsg-4.1/dir.c --- make-dfsg-4.2.1/dir.c 2016-05-31 07:17:26.000000000 +0000 +++ make-dfsg-4.1/dir.c 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Directory hashing for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -142,32 +142,6 @@ #ifdef VMS -static char * -downcase_inplace(char *filename) -{ - char *name; - name = filename; - while (*name != '\0') - { - *name = tolower ((unsigned char)*name); - ++name; - } - return filename; -} - -#ifndef _USE_STD_STAT -/* VMS 8.2 fixed the VMS stat output to have unique st_dev and st_ino - when _USE_STD_STAT is used on the compile line. - - Prior to _USE_STD_STAT support, the st_dev is a pointer to thread - static memory containing the device of the last filename looked up. - - Todo: find out if the ino_t still needs to be faked on a directory. - */ - -/* Define this if the older VMS_INO_T is needed */ -#define VMS_INO_T 1 - static int vms_hash (const char *name) { @@ -226,10 +200,6 @@ return 0; } - -# define stat(__path, __sbuf) vmsstat_dir (__path, __sbuf) - -#endif /* _USE_STD_STAT */ #endif /* VMS */ /* Hash table of directories. */ @@ -248,14 +218,14 @@ * qualified name of the directory. Beware though, this is also * unreliable. I'm open to suggestion on a better way to emulate inode. */ char *path_key; - time_t ctime; - time_t mtime; /* controls check for stale directory cache */ - int fs_flags; /* FS_FAT, FS_NTFS, ... */ + int ctime; + int mtime; /* controls check for stale directory cache */ + int fs_flags; /* FS_FAT, FS_NTFS, ... */ # define FS_FAT 0x1 # define FS_NTFS 0x2 # define FS_UNKNOWN 0x4 #else -# ifdef VMS_INO_T +# ifdef VMS ino_t ino[3]; # else ino_t ino; @@ -276,7 +246,7 @@ ISTRING_HASH_1 (key->path_key, hash); hash ^= ((unsigned int) key->dev << 4) ^ (unsigned int) key->ctime; #else -# ifdef VMS_INO_T +# ifdef VMS hash = (((unsigned int) key->dev << 4) ^ ((unsigned int) key->ino[0] + (unsigned int) key->ino[1] @@ -299,7 +269,7 @@ ISTRING_HASH_2 (key->path_key, hash); hash ^= ((unsigned int) key->dev << 4) ^ (unsigned int) ~key->ctime; #else -# ifdef VMS_INO_T +# ifdef VMS hash = (((unsigned int) key->dev << 4) ^ ~((unsigned int) key->ino[0] + (unsigned int) key->ino[1] @@ -338,7 +308,7 @@ if (result) return result; #else -# ifdef VMS_INO_T +# ifdef VMS result = MAKECMP(x->ino[0], y->ino[0]); if (result) return result; @@ -405,7 +375,7 @@ struct dirfile { const char *name; /* Name of the file. */ - size_t length; + short length; short impossible; /* This file is impossible. */ }; @@ -449,6 +419,13 @@ struct directory **dir_slot; struct directory dir_key; +#ifdef VMS + if ((*name == '.') && (*(name+1) == 0)) + name = "[]"; + else + name = vmsify (name,1); +#endif + dir_key.name = name; dir_slot = (struct directory **) hash_find_slot (&directories, &dir_key); dir = *dir_slot; @@ -462,12 +439,7 @@ dir = xmalloc (sizeof (struct directory)); #if defined(HAVE_CASE_INSENSITIVE_FS) && defined(VMS) - /* Todo: Why is this only needed on VMS? */ - { - char *lname = downcase_inplace (xstrdup (name)); - dir->name = strcache_add_len (lname, p - name); - free (lname); - } + dir->name = strcache_add_len (downcase (name), p - name); #else dir->name = strcache_add_len (name, p - name); #endif @@ -475,7 +447,9 @@ /* The directory is not in the name hash table. Find its device and inode numbers, and look it up by them. */ -#if defined(WINDOWS32) +#ifdef VMS + r = vmsstat_dir (name, &st); +#elif defined(WINDOWS32) { char tem[MAXPATHLEN], *tstart, *tend; @@ -518,7 +492,7 @@ dc_key.path_key = w32_path = w32ify (name, 1); dc_key.ctime = st.st_ctime; #else -# ifdef VMS_INO_T +# ifdef VMS dc_key.ino[0] = st.st_ino[0]; dc_key.ino[1] = st.st_ino[1]; dc_key.ino[2] = st.st_ino[2]; @@ -563,7 +537,7 @@ else dc->fs_flags = FS_UNKNOWN; #else -# ifdef VMS_INO_T +# ifdef VMS dc->ino[0] = st.st_ino[0]; dc->ino[1] = st.st_ino[1]; dc->ino[2] = st.st_ino[2]; @@ -628,6 +602,11 @@ if (filename != 0) _fnlwr (filename); /* lower case for FAT drives */ #endif + +#ifdef VMS + filename = vmsify (filename,0); +#endif + if (filename != 0) { struct dirfile dirfile_key; @@ -700,9 +679,7 @@ } #if defined(VMS) && defined(HAVE_DIRENT_H) - /* In VMS we get file versions too, which have to be stripped off. - Some versions of VMS return versions on Unix files even when - the feature option to strip them is set. */ + /* In VMS we get file versions too, which have to be stripped off */ { char *p = strrchr (d->d_name, ';'); if (p) @@ -726,8 +703,7 @@ { df = xmalloc (sizeof (struct dirfile)); #if defined(HAVE_CASE_INSENSITIVE_FS) && defined(VMS) - /* TODO: Why is this only needed on VMS? */ - df->name = strcache_add_len (downcase_inplace (d->d_name), len); + df->name = strcache_add_len (downcase (d->d_name), len); #else df->name = strcache_add_len (d->d_name, len); #endif @@ -758,15 +734,6 @@ int dir_file_exists_p (const char *dirname, const char *filename) { -#ifdef VMS - if ((filename != NULL) && (dirname != NULL)) - { - int want_vmsify; - want_vmsify = (strpbrk (dirname, ":<[") != NULL); - if (want_vmsify) - filename = vmsify (filename, 0); - } -#endif return dir_contents_file_exists_p (find_directory (dirname)->contents, filename); } @@ -781,28 +748,21 @@ const char *slash; #ifndef NO_ARCHIVES - if (ar_name (name)) - return ar_member_date (name) != (time_t) -1; + { + time_t member_date; + if (ar_name (name)) + return ar_member_date (name, &member_date); + } #endif - dirend = strrchr (name, '/'); #ifdef VMS + dirend = strrchr (name, ']'); if (dirend == 0) - { - dirend = strrchr (name, ']'); - dirend == NULL ? dirend : dirend++; - } - if (dirend == 0) - { - dirend = strrchr (name, '>'); - dirend == NULL ? dirend : dirend++; - } + dirend = strrchr (name, ':'); if (dirend == 0) - { - dirend = strrchr (name, ':'); - dirend == NULL ? dirend : dirend++; - } -#endif /* VMS */ + return dir_file_exists_p ("[]", name); +#else /* !VMS */ + dirend = strrchr (name, '/'); #ifdef HAVE_DOS_PATHS /* Forward and backslashes might be mixed. We need the rightmost one. */ { @@ -817,9 +777,10 @@ if (dirend == 0) #ifndef _AMIGA return dir_file_exists_p (".", name); -#else /* !AMIGA */ +#else /* !VMS && !AMIGA */ return dir_file_exists_p ("", name); #endif /* AMIGA */ +#endif /* VMS */ slash = dirend; if (dirend == name) @@ -838,13 +799,7 @@ p[dirend - name] = '\0'; dirname = p; } -#ifdef VMS - if (*slash == '/') - slash++; -#else - slash++; -#endif - return dir_file_exists_p (dirname, slash); + return dir_file_exists_p (dirname, slash + 1); } /* Mark FILENAME as 'impossible' for 'file_impossible_p'. @@ -859,25 +814,16 @@ struct directory *dir; struct dirfile *new; - dirend = strrchr (p, '/'); #ifdef VMS - if (dirend == NULL) - { - dirend = strrchr (p, ']'); - dirend == NULL ? dirend : dirend++; - } - if (dirend == NULL) - { - dirend = strrchr (p, '>'); - dirend == NULL ? dirend : dirend++; - } - if (dirend == NULL) - { - dirend = strrchr (p, ':'); - dirend == NULL ? dirend : dirend++; - } -#endif -#ifdef HAVE_DOS_PATHS + dirend = strrchr (p, ']'); + if (dirend == 0) + dirend = strrchr (p, ':'); + dirend++; + if (dirend == (char *)1) + dir = find_directory ("[]"); +#else + dirend = strrchr (p, '/'); +# ifdef HAVE_DOS_PATHS /* Forward and backslashes might be mixed. We need the rightmost one. */ { const char *bslash = strrchr (p, '\\'); @@ -887,13 +833,14 @@ if (!dirend && p[0] && p[1] == ':') dirend = p + 1; } -#endif /* HAVE_DOS_PATHS */ +# endif /* HAVE_DOS_PATHS */ if (dirend == 0) -#ifdef _AMIGA +# ifdef _AMIGA dir = find_directory (""); -#else /* !AMIGA */ +# else /* !VMS && !AMIGA */ dir = find_directory ("."); -#endif /* AMIGA */ +# endif /* AMIGA */ +#endif /* VMS */ else { const char *dirname; @@ -915,14 +862,7 @@ dirname = cp; } dir = find_directory (dirname); -#ifdef VMS - if (*slash == '/') - filename = p = slash + 1; - else - filename = p = slash; -#else filename = p = slash + 1; -#endif } if (dir->contents == 0) @@ -941,7 +881,6 @@ new = xmalloc (sizeof (struct dirfile)); new->length = strlen (filename); #if defined(HAVE_CASE_INSENSITIVE_FS) && defined(VMS) - /* todo: Why is this only needed on VMS? */ new->name = strcache_add_len (downcase (filename), new->length); #else new->name = strcache_add_len (filename, new->length); @@ -959,22 +898,13 @@ struct directory_contents *dir; struct dirfile *dirfile; struct dirfile dirfile_key; -#ifdef VMS - int want_vmsify = 0; -#endif - dirend = strrchr (filename, '/'); #ifdef VMS - if (dirend == NULL) - { - want_vmsify = (strpbrk (filename, "]>:^") != NULL); - dirend = strrchr (filename, ']'); - } - if (dirend == NULL && want_vmsify) - dirend = strrchr (filename, '>'); - if (dirend == NULL && want_vmsify) - dirend = strrchr (filename, ':'); -#endif + dirend = strrchr (filename, ']'); + if (dirend == 0) + dir = find_directory ("[]")->contents; +#else + dirend = strrchr (filename, '/'); #ifdef HAVE_DOS_PATHS /* Forward and backslashes might be mixed. We need the rightmost one. */ { @@ -989,9 +919,10 @@ if (dirend == 0) #ifdef _AMIGA dir = find_directory ("")->contents; -#else /* !AMIGA */ +#else /* !VMS && !AMIGA */ dir = find_directory (".")->contents; #endif /* AMIGA */ +#endif /* VMS */ else { const char *dirname; @@ -1013,14 +944,7 @@ dirname = cp; } dir = find_directory (dirname)->contents; -#ifdef VMS - if (*slash == '/') - filename = slash + 1; - else - filename = slash; -#else filename = slash + 1; -#endif } if (dir == 0 || dir->dirfiles.ht_vec == 0) @@ -1034,8 +958,7 @@ filename = downcase (filename); #endif #ifdef VMS - if (want_vmsify) - filename = vmsify (filename, 1); + filename = vmsify (filename, 1); #endif dirfile_key.name = filename; @@ -1082,11 +1005,10 @@ else if (dir->contents->dirfiles.ht_vec == 0) { #ifdef WINDOWS32 - printf (_("# %s (key %s, mtime %I64u): could not be opened.\n"), - dir->name, dir->contents->path_key, - (unsigned long long)dir->contents->mtime); + printf (_("# %s (key %s, mtime %d): could not be opened.\n"), + dir->name, dir->contents->path_key,dir->contents->mtime); #else /* WINDOWS32 */ -#ifdef VMS_INO_T +#ifdef VMS printf (_("# %s (device %d, inode [%d,%d,%d]): could not be opened.\n"), dir->name, dir->contents->dev, dir->contents->ino[0], dir->contents->ino[1], @@ -1119,11 +1041,10 @@ } } #ifdef WINDOWS32 - printf (_("# %s (key %s, mtime %I64u): "), - dir->name, dir->contents->path_key, - (unsigned long long)dir->contents->mtime); + printf (_("# %s (key %s, mtime %d): "), + dir->name, dir->contents->path_key, dir->contents->mtime); #else /* WINDOWS32 */ -#ifdef VMS_INO_T +#ifdef VMS printf (_("# %s (device %d, inode [%d,%d,%d]): "), dir->name, dir->contents->dev, dir->contents->ino[0], dir->contents->ino[1], @@ -1169,6 +1090,8 @@ /* Hooks for globbing. */ +#include + /* Structure describing state of iterating through a directory hash table. */ struct dirstream @@ -1259,16 +1182,9 @@ * On MS-Windows, stat() "succeeds" for foo/bar/. where foo/bar is a * regular file; fix that here. */ -#if !defined(stat) && !defined(WINDOWS32) || defined(VMS) +#if !defined(stat) && !defined(WINDOWS32) # ifndef VMS -# ifndef HAVE_SYS_STAT_H int stat (const char *path, struct stat *sbuf); -# endif -# else - /* We are done with the fake stat. Go back to the real stat */ -# ifdef stat -# undef stat -# endif # endif # define local_stat stat #else @@ -1299,15 +1215,40 @@ } #endif +/* Similarly for lstat. */ +#if !defined(lstat) && !defined(WINDOWS32) || defined(VMS) +# ifndef VMS +# ifndef HAVE_SYS_STAT_H +int lstat (const char *path, struct stat *sbuf); +# endif +# else + /* We are done with the fake lstat. Go back to the real lstat */ +# ifdef lstat +# undef lstat +# endif +# endif +# define local_lstat lstat +#elif defined(WINDOWS32) +/* Windows doesn't support lstat(). */ +# define local_lstat local_stat +#else +static int +local_lstat (const char *path, struct stat *buf) +{ + int e; + EINTRLOOP (e, lstat (path, buf)); + return e; +} +#endif + void dir_setup_glob (glob_t *gl) { gl->gl_opendir = open_dirstream; gl->gl_readdir = read_dirstream; gl->gl_closedir = free; + gl->gl_lstat = local_lstat; gl->gl_stat = local_stat; - /* We don't bother setting gl_lstat, since glob never calls it. - The slot is only there for compatibility with 4.4 BSD. */ } void diff -Nru make-dfsg-4.2.1/dosbuild.bat make-dfsg-4.1/dosbuild.bat --- make-dfsg-4.2.1/dosbuild.bat 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/dosbuild.bat 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ @echo off -rem Copyright (C) 1998-2016 Free Software Foundation, Inc. +rem Copyright (C) 1998-2014 Free Software Foundation, Inc. rem This file is part of GNU Make. rem rem GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/expand.c make-dfsg-4.1/expand.c --- make-dfsg-4.2.1/expand.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/expand.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Variable expansion functions for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -26,7 +26,7 @@ /* Initially, any errors reported when expanding strings will be reported against the file where the error appears. */ -const floc **expanding_var = &reading_file; +const gmk_floc **expanding_var = &reading_file; /* The next two describe the variable output buffer. This buffer is used to hold the variable-expansion of a line of the @@ -96,8 +96,8 @@ recursively_expand_for_file (struct variable *v, struct file *file) { char *value; - const floc *this_var; - const floc **saved_varp; + const gmk_floc *this_var; + const gmk_floc **saved_varp; struct variable_set_list *save = 0; int set_reading = 0; @@ -235,10 +235,8 @@ switch (*p) { case '$': - case '\0': - /* $$ or $ at the end of the string means output one $ to the - variable output buffer. */ - o = variable_buffer_output (o, p1, 1); + /* $$ seen means output one $ to the variable output buffer. */ + o = variable_buffer_output (o, p, 1); break; case '(': @@ -383,8 +381,11 @@ } break; + case '\0': + break; + default: - if (ISSPACE (p[-1])) + if (isblank ((unsigned char)p[-1])) break; /* A $ followed by a random char is a variable reference: @@ -458,7 +459,7 @@ { char *result; struct variable_set_list *savev; - const floc *savef; + const gmk_floc *savef; if (file == 0) return variable_expand (line); diff -Nru make-dfsg-4.2.1/file.c make-dfsg-4.1/file.c --- make-dfsg-4.2.1/file.c 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/file.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Target file management for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -57,6 +57,9 @@ ((struct file const *) y)->hname); } +#ifndef FILE_BUCKETS +#define FILE_BUCKETS 1007 +#endif static struct hash_table files; /* Whether or not .SECONDARY with no prerequisites was given. */ @@ -72,12 +75,9 @@ { struct file *f; struct file file_key; -#ifdef VMS - int want_vmsify; -#ifndef WANT_CASE_SENSITIVE_TARGETS +#if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS) char *lname; #endif -#endif assert (*name != '\0'); @@ -85,7 +85,6 @@ for names read from makefiles. It is here for names passed on the command line. */ #ifdef VMS - want_vmsify = (strpbrk (name, "]>:^") != NULL); # ifndef WANT_CASE_SENSITIVE_TARGETS if (*name != '.') { @@ -101,8 +100,6 @@ while (name[0] == '[' && name[1] == ']' && name[2] != '\0') name += 2; - while (name[0] == '<' && name[1] == '>' && name[2] != '\0') - name += 2; #endif while (name[0] == '.' #ifdef HAVE_DOS_PATHS @@ -123,19 +120,15 @@ } if (*name == '\0') - { - /* It was all slashes after a dot. */ -#if defined(_AMIGA) - name = ""; -#else - name = "./"; -#endif + /* It was all slashes after a dot. */ #if defined(VMS) - /* TODO - This section is probably not needed. */ - if (want_vmsify) - name = "[]"; + name = "[]"; +#elif defined(_AMIGA) + name = ""; +#else + name = "./"; #endif - } + file_key.hname = name; f = hash_find_item (&files, &file_key); #if defined(VMS) && !defined(WANT_CASE_SENSITIVE_TARGETS) diff -Nru make-dfsg-4.2.1/filedef.h make-dfsg-4.1/filedef.h --- make-dfsg-4.2.1/filedef.h 2016-05-31 07:17:26.000000000 +0000 +++ make-dfsg-4.1/filedef.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definition of target file data structures for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -58,8 +58,6 @@ FILE_TIMESTAMP last_mtime; /* File's modtime, if already known. */ FILE_TIMESTAMP mtime_before_update; /* File's modtime before any updating has been performed. */ - unsigned int considered; /* equal to 'considered' if file has been - considered on current scan of goal chain */ int command_flags; /* Flags OR'd in for cmds; see commands.h. */ enum update_status /* Status of the last attempt to update. */ { @@ -98,12 +96,14 @@ unsigned int ignore_vpath:1;/* Nonzero if we threw out VPATH name. */ unsigned int pat_searched:1;/* Nonzero if we already searched for pattern-specific variables. */ + unsigned int considered:1; /* equal to 'considered' if file has been + considered on current scan of goal chain */ unsigned int no_diag:1; /* True if the file failed to update and no diagnostics has been issued (dontcare). */ }; -extern struct file *default_file; +extern struct file *suffix_file, *default_file; struct file *lookup_file (const char *name); @@ -117,12 +117,9 @@ void set_command_state (struct file *file, enum cmd_state state); void notice_finished_file (struct file *file); void init_hash_files (void); -void verify_file_data_base (void); char *build_target_list (char *old_list); void print_prereqs (const struct dep *deps); void print_file_data_base (void); -int try_implicit_rule (struct file *file, unsigned int depth); -int stemlen_compare (const void *v1, const void *v2); #if FILE_TIMESTAMP_HI_RES # define FILE_TIMESTAMP_STAT_MODTIME(fname, st) \ diff -Nru make-dfsg-4.2.1/function.c make-dfsg-4.1/function.c --- make-dfsg-4.2.1/function.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/function.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Builtin function expansion for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -115,8 +115,8 @@ /* If we're substituting only by fully matched words, or only at the ends of words, check that this case qualifies. */ if (by_word - && ((p > text && !ISSPACE (p[-1])) - || ! STOP_SET (p[slen], MAP_SPACE|MAP_NUL))) + && ((p > text && !isblank ((unsigned char)p[-1])) + || ! STOP_SET (p[slen], MAP_BLANK|MAP_NUL))) /* Struck out. Output the rest of the string that is no longer to be replaced. */ o = variable_buffer_output (o, subst, slen); @@ -566,12 +566,10 @@ if (is_notdir || p >= p2) { #ifdef VMS - if (vms_comma_separator) - o = variable_buffer_output (o, ",", 1); - else -#endif + o = variable_buffer_output (o, ",", 1); +#else o = variable_buffer_output (o, " ", 1); - +#endif doneany = 1; } } @@ -598,7 +596,7 @@ int stop = MAP_DIRSEP | (is_basename ? MAP_DOT : 0) | MAP_NUL; #ifdef VMS /* As in func_notdir_suffix ... */ - char *vms_p3 = alloca (strlen(p3) + 1); + char *vms_p3 = alloca(strlen(p3) + 1); int i; for (i = 0; p3[i]; i++) if (p3[i] == ',') @@ -626,13 +624,7 @@ #endif else if (is_dir) #ifdef VMS - { - extern int vms_report_unix_paths; - if (vms_report_unix_paths) - o = variable_buffer_output (o, "./", 2); - else - o = variable_buffer_output (o, "[]", 2); - } + o = variable_buffer_output (o, "[]", 2); #else #ifndef _AMIGA o = variable_buffer_output (o, "./", 2); @@ -645,12 +637,10 @@ o = variable_buffer_output (o, p2, len); #ifdef VMS - if (vms_comma_separator) - o = variable_buffer_output (o, ",", 1); - else + o = variable_buffer_output (o, ",", 1); +#else + o = variable_buffer_output (o, " ", 1); #endif - o = variable_buffer_output (o, " ", 1); - doneany = 1; } @@ -755,9 +745,9 @@ char * strip_whitespace (const char **begpp, const char **endpp) { - while (*begpp <= *endpp && ISSPACE (**begpp)) + while (*begpp <= *endpp && isspace ((unsigned char)**begpp)) (*begpp) ++; - while (*endpp >= *begpp && ISSPACE (**endpp)) + while (*endpp >= *begpp && isspace ((unsigned char)**endpp)) (*endpp) --; return (char *)*begpp; } @@ -870,12 +860,8 @@ unsigned int len; struct variable *var; - /* Clean up the variable name by removing whitespace. */ - char *vp = next_token (varname); - end_of_token (vp)[0] = '\0'; - push_new_variable_scope (); - var = define_variable (vp, strlen (vp), "", o_automatic, 0); + var = define_variable (varname, strlen (varname), "", o_automatic, 0); /* loop through LIST, put the value in VAR and expand BODY */ while ((p = find_next_token (&list_iterator, &len)) != 0) @@ -1085,9 +1071,10 @@ int i=0; const char *word_start; - NEXT_TOKEN (p); + while (isspace ((unsigned char)*p)) + ++p; word_start = p; - for (i=0; *p != '\0' && !ISSPACE (*p); ++p, ++i) + for (i=0; *p != '\0' && !isspace ((unsigned char)*p); ++p, ++i) {} if (!i) break; @@ -1453,23 +1440,10 @@ *length = last_nonnl - buffer; } -pid_t shell_function_pid = 0; -static int shell_function_completed; -void -shell_completed (int exit_code, int exit_sig) -{ - char buf[256]; - shell_function_pid = 0; - if (exit_sig == 0 && exit_code == 127) - shell_function_completed = -1; - else - shell_function_completed = 1; +int shell_function_pid = 0, shell_function_completed; - sprintf (buf, "%d", exit_code); - define_variable_cname (".SHELLSTATUS", buf, o_override, 0); -} #ifdef WINDOWS32 /*untested*/ @@ -1618,7 +1592,8 @@ extern int dos_command_running, dos_status; /* Make sure not to bother processing an empty line. */ - NEXT_TOKEN (text); + while (isblank ((unsigned char)*text)) + ++text; if (*text == '\0') return 0; @@ -1648,15 +1623,14 @@ errno = EINTR; else if (errno == 0) errno = ENOMEM; - if (fpipe) - pclose (fpipe); - shell_completed (127, 0); + shell_function_completed = -1; } else { pipedes[0] = fileno (fpipe); *pidp = 42; /* Yes, the Meaning of Life, the Universe, and Everything! */ errno = e; + shell_function_completed = 1; } return fpipe; } @@ -1715,7 +1689,7 @@ #endif return o; } -#endif /* !__MSDOS__ */ +#endif /* Using a target environment for 'shell' loses in cases like: export var = $(shell echo foobie) @@ -1735,8 +1709,7 @@ if (reading_file && reading_file->filenm) { char *p = alloca (strlen (reading_file->filenm)+11+4); - sprintf (p, "%s:%lu: ", reading_file->filenm, - reading_file->lineno + reading_file->offset); + sprintf (p, "%s:%lu: ", reading_file->filenm, reading_file->lineno); error_prefix = p; } else @@ -1755,7 +1728,6 @@ perror_with_name (error_prefix, "pipe"); return o; } - #elif defined(WINDOWS32) windows32_openpipe (pipedes, errfd, &pid, command_argv, envp); /* Restore the value of just_print_flag. */ @@ -1764,11 +1736,11 @@ if (pipedes[0] < 0) { /* Open of the pipe failed, mark as failed execution. */ - shell_completed (127, 0); + shell_function_completed = -1; perror_with_name (error_prefix, "pipe"); return o; } - + else #else if (pipe (pipedes) < 0) { @@ -1776,113 +1748,115 @@ return o; } - /* Close handles that are unnecessary for the child process. */ +# ifdef __EMX__ + /* close some handles that are unnecessary for the child process */ CLOSE_ON_EXEC(pipedes[1]); CLOSE_ON_EXEC(pipedes[0]); - - { - struct output out; - out.syncout = 1; - out.out = pipedes[1]; - out.err = errfd; - - pid = child_execute_job (&out, 1, command_argv, envp); - } - + /* Never use fork()/exec() here! Use spawn() instead in exec_command() */ + pid = child_execute_job (FD_STDIN, pipedes[1], errfd, command_argv, envp); if (pid < 0) + perror_with_name (error_prefix, "spawn"); +# else /* ! __EMX__ */ + pid = fork (); + if (pid < 0) + perror_with_name (error_prefix, "fork"); + else if (pid == 0) { - perror_with_name (error_prefix, "fork"); - return o; +# ifdef SET_STACK_SIZE + /* Reset limits, if necessary. */ + if (stack_limit.rlim_cur) + setrlimit (RLIMIT_STACK, &stack_limit); +# endif + child_execute_job (FD_STDIN, pipedes[1], errfd, command_argv, envp); } + else +# endif #endif + { + /* We are the parent. */ + char *buffer; + unsigned int maxlen, i; + int cc; - { - char *buffer; - unsigned int maxlen, i; - int cc; - - /* Record the PID for reap_children. */ - shell_function_pid = pid; + /* Record the PID for reap_children. */ + shell_function_pid = pid; #ifndef __MSDOS__ - shell_function_completed = 0; + shell_function_completed = 0; - /* Free the storage only the child needed. */ - free (command_argv[0]); - free (command_argv); + /* Free the storage only the child needed. */ + free (command_argv[0]); + free (command_argv); - /* Close the write side of the pipe. We test for -1, since - pipedes[1] is -1 on MS-Windows, and some versions of MS - libraries barf when 'close' is called with -1. */ - if (pipedes[1] >= 0) - close (pipedes[1]); + /* Close the write side of the pipe. We test for -1, since + pipedes[1] is -1 on MS-Windows, and some versions of MS + libraries barf when 'close' is called with -1. */ + if (pipedes[1] >= 0) + close (pipedes[1]); #endif - /* Set up and read from the pipe. */ + /* Set up and read from the pipe. */ - maxlen = 200; - buffer = xmalloc (maxlen + 1); + maxlen = 200; + buffer = xmalloc (maxlen + 1); - /* Read from the pipe until it gets EOF. */ - for (i = 0; ; i += cc) - { - if (i == maxlen) - { - maxlen += 512; - buffer = xrealloc (buffer, maxlen + 1); - } + /* Read from the pipe until it gets EOF. */ + for (i = 0; ; i += cc) + { + if (i == maxlen) + { + maxlen += 512; + buffer = xrealloc (buffer, maxlen + 1); + } - EINTRLOOP (cc, read (pipedes[0], &buffer[i], maxlen - i)); - if (cc <= 0) - break; - } - buffer[i] = '\0'; + EINTRLOOP (cc, read (pipedes[0], &buffer[i], maxlen - i)); + if (cc <= 0) + break; + } + buffer[i] = '\0'; - /* Close the read side of the pipe. */ + /* Close the read side of the pipe. */ #ifdef __MSDOS__ - if (fpipe) - { - int st = pclose (fpipe); - shell_completed (st, 0); - } + if (fpipe) + (void) pclose (fpipe); #else - (void) close (pipedes[0]); + (void) close (pipedes[0]); #endif - /* Loop until child_handler or reap_children() sets - shell_function_completed to the status of our child shell. */ - while (shell_function_completed == 0) - reap_children (1, 0); + /* Loop until child_handler or reap_children() sets + shell_function_completed to the status of our child shell. */ + while (shell_function_completed == 0) + reap_children (1, 0); - if (batch_filename) - { - DB (DB_VERBOSE, (_("Cleaning up temporary batch file %s\n"), - batch_filename)); - remove (batch_filename); - free (batch_filename); - } - shell_function_pid = 0; + if (batch_filename) + { + DB (DB_VERBOSE, (_("Cleaning up temporary batch file %s\n"), + batch_filename)); + remove (batch_filename); + free (batch_filename); + } + shell_function_pid = 0; - /* shell_completed() will set shell_function_completed to 1 when the - child dies normally, or to -1 if it dies with status 127, which is - most likely an exec fail. */ + /* The child_handler function will set shell_function_completed + to 1 when the child dies normally, or to -1 if it + dies with status 127, which is most likely an exec fail. */ - if (shell_function_completed == -1) - { - /* This likely means that the execvp failed, so we should just - write the error message in the pipe from the child. */ - fputs (buffer, stderr); - fflush (stderr); - } - else - { - /* The child finished normally. Replace all newlines in its output - with spaces, and put that in the variable output buffer. */ - fold_newlines (buffer, &i, trim_newlines); - o = variable_buffer_output (o, buffer, i); - } + if (shell_function_completed == -1) + { + /* This likely means that the execvp failed, so we should just + write the error message in the pipe from the child. */ + fputs (buffer, stderr); + fflush (stderr); + } + else + { + /* The child finished normally. Replace all newlines in its output + with spaces, and put that in the variable output buffer. */ + fold_newlines (buffer, &i, trim_newlines); + o = variable_buffer_output (o, buffer, i); + } - free (buffer); - } + free (buffer); + } return o; } @@ -1976,7 +1950,7 @@ } #endif /* _AMIGA */ -static char * +char * func_shell (char *o, char **argv, const char *funcname UNUSED) { return func_shell_base (o, argv, 1); @@ -2005,7 +1979,8 @@ { const char *s = argv[0]; int result = 0; - NEXT_TOKEN (s); + while (isspace ((unsigned char)*s)) + s++; result = ! (*s); o = variable_buffer_output (o, result ? "1" : "", result); return o; @@ -2209,70 +2184,29 @@ mode = "a"; ++fn; } - NEXT_TOKEN (fn); - - if (fn[0] == '\0') - O (fatal, *expanding_var, _("file: missing filename")); + fn = next_token (fn); - ENULLLOOP (fp, fopen (fn, mode)); + fp = fopen (fn, mode); if (fp == NULL) - OSS (fatal, reading_file, _("open: %s: %s"), fn, strerror (errno)); - + { + const char *err = strerror (errno); + OSS (fatal, reading_file, _("open: %s: %s"), fn, err); + } if (argv[1]) { int l = strlen (argv[1]); int nl = l == 0 || argv[1][l-1] != '\n'; if (fputs (argv[1], fp) == EOF || (nl && fputc ('\n', fp) == EOF)) - OSS (fatal, reading_file, _("write: %s: %s"), fn, strerror (errno)); - } - if (fclose (fp)) - OSS (fatal, reading_file, _("close: %s: %s"), fn, strerror (errno)); - } - else if (fn[0] == '<') - { - char *preo = o; - FILE *fp; - - ++fn; - NEXT_TOKEN (fn); - if (fn[0] == '\0') - O (fatal, *expanding_var, _("file: missing filename")); - - if (argv[1]) - O (fatal, *expanding_var, _("file: too many arguments")); - - ENULLLOOP (fp, fopen (fn, "r")); - if (fp == NULL) - { - if (errno == ENOENT) - return o; - OSS (fatal, reading_file, _("open: %s: %s"), fn, strerror (errno)); - } - - while (1) - { - char buf[1024]; - size_t l = fread (buf, 1, sizeof (buf), fp); - if (l > 0) - o = variable_buffer_output (o, buf, l); - - if (ferror (fp)) - if (errno != EINTR) - OSS (fatal, reading_file, _("read: %s: %s"), fn, strerror (errno)); - if (feof (fp)) - break; + { + const char *err = strerror (errno); + OSS (fatal, reading_file, _("write: %s: %s"), fn, err); + } } - if (fclose (fp)) - OSS (fatal, reading_file, _("close: %s: %s"), fn, strerror (errno)); - - /* Remove trailing newline. */ - if (o > preo && o[-1] == '\n') - if (--o > preo && o[-1] == '\r') - --o; + fclose (fp); } else - OS (fatal, *expanding_var, _("file: invalid file operation: %s"), fn); + OS (fatal, reading_file, _("Invalid file operation: %s"), fn); return o; } @@ -2445,8 +2379,7 @@ /* We found a builtin function. Find the beginning of its arguments (skip whitespace after the name). */ - beg += entry_p->len; - NEXT_TOKEN (beg); + beg = next_token (beg + entry_p->len); /* Find the end of the function invocation, counting nested use of whichever kind of parens we use. Since we're looking, count commas @@ -2546,6 +2479,7 @@ { static int max_args = 0; char *fname; + char *cp; char *body; int flen; int i; @@ -2553,9 +2487,16 @@ const struct function_table_entry *entry_p; struct variable *v; - /* Clean up the name of the variable to be invoked. */ - fname = next_token (argv[0]); - end_of_token (fname)[0] = '\0'; + /* There is no way to define a variable with a space in the name, so strip + leading and trailing whitespace as a favor to the user. */ + fname = argv[0]; + while (isspace ((unsigned char)*fname)) + ++fname; + + cp = fname + strlen (fname) - 1; + while (cp > fname && isspace ((unsigned char)*cp)) + --cp; + cp[1] = '\0'; /* Calling nothing is a no-op */ if (*fname == '\0') @@ -2634,7 +2575,7 @@ } void -define_new_function (const floc *flocp, const char *name, +define_new_function (const gmk_floc *flocp, const char *name, unsigned int min, unsigned int max, unsigned int flags, gmk_func_ptr func) { @@ -2654,10 +2595,10 @@ OS (fatal, flocp, _("Function name too long: %s"), name); if (min > 255) ONS (fatal, flocp, - _("Invalid minimum argument count (%u) for function %s"), min, name); + _("Invalid minimum argument count (%d) for function %s"), min, name); if (max > 255 || (max && max < min)) ONS (fatal, flocp, - _("Invalid maximum argument count (%u) for function %s"), max, name); + _("Invalid maximum argument count (%d) for function %s"), max, name); ent = xmalloc (sizeof (struct function_table_entry)); ent->name = name; diff -Nru make-dfsg-4.2.1/getloadavg.c make-dfsg-4.1/getloadavg.c --- make-dfsg-4.2.1/getloadavg.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/getloadavg.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Get the system load averages. -Copyright (C) 1985-2016 Free Software Foundation, Inc. +Copyright (C) 1985-2014 Free Software Foundation, Inc. GNU Make 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 diff -Nru make-dfsg-4.2.1/getopt1.c make-dfsg-4.1/getopt1.c --- make-dfsg-4.2.1/getopt1.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/getopt1.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* getopt_long and getopt_long_only entry points for GNU getopt. -Copyright (C) 1987-1994, 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1987-1994, 1996-2014 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. diff -Nru make-dfsg-4.2.1/getopt.c make-dfsg-4.1/getopt.c --- make-dfsg-4.2.1/getopt.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/getopt.c 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! -Copyright (C) 1987-2016 Free Software Foundation, Inc. +Copyright (C) 1987-2014 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. diff -Nru make-dfsg-4.2.1/getopt.h make-dfsg-4.1/getopt.h --- make-dfsg-4.2.1/getopt.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/getopt.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Declarations for getopt. -Copyright (C) 1989-2016 Free Software Foundation, Inc. +Copyright (C) 1989-2014 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@gnu.org. diff -Nru make-dfsg-4.2.1/gettext.h make-dfsg-4.1/gettext.h --- make-dfsg-4.2.1/gettext.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/gettext.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Convenience header for conditional use of GNU . -Copyright (C) 1995-2016 Free Software Foundation, Inc. +Copyright (C) 1995-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/gmk-default.scm make-dfsg-4.1/gmk-default.scm --- make-dfsg-4.2.1/gmk-default.scm 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/gmk-default.scm 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ ;; Contents of the (gnu make) Guile module -;; Copyright (C) 2011-2016 Free Software Foundation, Inc. +;; Copyright (C) 2011-2014 Free Software Foundation, Inc. ;; This file is part of GNU Make. ;; ;; GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/gnumake.h make-dfsg-4.1/gnumake.h --- make-dfsg-4.2.1/gnumake.h 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/gnumake.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ /* External interfaces usable by dynamic objects loaded into GNU Make. --THIS API IS A "TECHNOLOGY PREVIEW" ONLY. IT IS NOT A STABLE INTERFACE-- -Copyright (C) 2013-2016 Free Software Foundation, Inc. +Copyright (C) 2013-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/guile.c make-dfsg-4.1/guile.c --- make-dfsg-4.2.1/guile.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/guile.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* GNU Guile interface for GNU Make. -Copyright (C) 2011-2016 Free Software Foundation, Inc. +Copyright (C) 2011-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -140,7 +140,7 @@ /* We could send the flocp to define_new_function(), but since guile is "kind of" built-in, that didn't seem so useful. */ int -guile_gmake_setup (const floc *flocp UNUSED) +guile_gmake_setup (const gmk_floc *flocp UNUSED) { /* Create a make function "guile". */ gmk_add_function ("guile", func_guile, 0, 1, GMK_FUNC_DEFAULT); @@ -151,7 +151,7 @@ #else int -guile_gmake_setup (const floc *flocp UNUSED) +guile_gmake_setup (const gmk_floc *flocp UNUSED) { return 1; } diff -Nru make-dfsg-4.2.1/implicit.c make-dfsg-4.1/implicit.c --- make-dfsg-4.2.1/implicit.c 2016-03-21 19:50:02.000000000 +0000 +++ make-dfsg-4.1/implicit.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Implicit rule searching for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -72,7 +72,8 @@ char c; /* Skip any leading whitespace. */ - NEXT_TOKEN (p); + while (isblank ((unsigned char)*p)) + ++p; beg = p; c = *(p++); @@ -265,15 +266,12 @@ /* Set LASTSLASH to point at the last slash in FILENAME but not counting any slash at the end. (foo/bar/ counts as bar/ in directory foo/, not empty in directory foo/bar/.) */ - lastslash = strrchr (filename, '/'); #ifdef VMS - if (lastslash == NULL) - lastslash = strrchr (filename, ']'); - if (lastslash == NULL) - lastslash = strrchr (filename, '>'); - if (lastslash == NULL) + lastslash = strrchr (filename, ']'); + if (lastslash == 0) lastslash = strrchr (filename, ':'); -#endif +#else + lastslash = strrchr (filename, '/'); #ifdef HAVE_DOS_PATHS /* Handle backslashes (possibly mixed with forward slashes) and the case of "d:file". */ @@ -285,6 +283,7 @@ lastslash = filename + 1; } #endif +#endif if (lastslash != 0 && lastslash[1] == '\0') lastslash = 0; } @@ -316,7 +315,7 @@ { const char *target = rule->targets[ti]; const char *suffix = rule->suffixes[ti]; - char check_lastslash; + int check_lastslash; /* Rules that can match any filename and are not terminal are ignored if we're recursing, so that they cannot be @@ -340,10 +339,10 @@ if (lastslash) { #ifdef VMS - check_lastslash = strpbrk (target, "/]>:") == NULL; + check_lastslash = (strchr (target, ']') == 0 + && strchr (target, ':') == 0); #else check_lastslash = strchr (target, '/') == 0; -#endif #ifdef HAVE_DOS_PATHS /* Didn't find it yet: check for DOS-type directories. */ if (check_lastslash) @@ -352,6 +351,7 @@ check_lastslash = !(b || (target[0] && target[1] == ':')); } #endif +#endif } if (check_lastslash) { @@ -437,7 +437,7 @@ for (ri = 0; ri < nrules; ri++) { struct dep *dep; - char check_lastslash; + int check_lastslash; unsigned int failed = 0; int file_variables_set = 0; unsigned int deps_found = 0; @@ -863,10 +863,9 @@ /* We don't want to delete an intermediate file that happened to be a prerequisite of some (other) target. Mark it as - secondary. We don't want it to be precious as that disables - DELETE_ON_ERROR etc. */ + precious. */ if (f != 0) - f->secondary = 1; + f->precious = 1; else f = enter_file (imf->name); diff -Nru make-dfsg-4.2.1/job.c make-dfsg-4.1/job.c --- make-dfsg-4.2.1/job.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/job.c 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Job execution and handling for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -23,10 +23,18 @@ #include "filedef.h" #include "commands.h" #include "variable.h" -#include "os.h" +#include "debug.h" #include +#if defined (HAVE_LINUX_BINFMTS_H) && defined (HAVE_SYS_USER_H) +#include +#include +#endif +#ifndef PAGE_SIZE +# define PAGE_SIZE (sysconf(_SC_PAGESIZE)) +#endif + /* Default shell to use. */ #ifdef WINDOWS32 #include @@ -59,19 +67,13 @@ #elif defined (VMS) # include -# include const char *default_shell = ""; int batch_mode_shell = 0; -#define strsignal vms_strsignal -char * vms_strsignal (int status); +#elif defined (__riscos__) -#ifndef C_FACILITY_NO -# define C_FACILITY_NO 0x350000 -#endif -#ifndef VMS_POSIX_EXIT_MASK -# define VMS_POSIX_EXIT_MASK (C_FACILITY_NO | 0xA000) -#endif +const char *default_shell = ""; +int batch_mode_shell = 0; #else @@ -207,10 +209,14 @@ return pidstring; } -#ifndef HAVE_GETLOADAVG int getloadavg (double loadavg[], int nelem); -#endif +int start_remote_job (char **argv, char **envp, int stdin_fd, int *is_remote, + int *id_ptr, int *used_stdin); +int start_remote_job_p (int); +int remote_status (int *exit_code_ptr, int *signal_ptr, int *coredump_ptr, + int block); +RETSIGTYPE child_handler (int); static void free_child (struct child *); static void start_job_command (struct child *child); static int load_too_high (void); @@ -474,9 +480,9 @@ const char *post = ""; const char *dump = ""; const struct file *f = child->file; - const floc *flocp = &f->cmds->fileinfo; + const gmk_floc *flocp = &f->cmds->fileinfo; const char *nm; - size_t l; + size_t l = strlen (f->name); if (ignored && silent_flag) return; @@ -495,25 +501,42 @@ else { char *a = alloca (strlen (flocp->filenm) + 1 + 11 + 1); - sprintf (a, "%s:%lu", flocp->filenm, flocp->lineno + flocp->offset); + sprintf (a, "%s:%lu", flocp->filenm, flocp->lineno); nm = a; } - l = strlen (pre) + strlen (nm) + strlen (f->name) + strlen (post); - OUTPUT_SET (&child->output); - show_goal_error (); + message (0, l + strlen (nm), + _("%s: recipe for target '%s' failed"), nm, f->name); + l += strlen (pre) + strlen (post); + +#ifdef VMS + if ((exit_code & 1) != 0) + { + OUTPUT_UNSET (); + return; + } + /* Check for a Posix compatible VMS style exit code: + decode and print the Posix exit code */ + if ((exit_code & 0x35a000) == 0x35a000) + error(NILF, l + INTSTR_LENGTH, _("%s[%s] Error %d%s"), pre, f->name, + ((exit_code & 0x7f8) >> 3), post); + else + error(NILF, l + INTSTR_LENGTH, _("%s[%s] Error 0x%x%s"), pre, f->name, + exit_code, post); +#else if (exit_sig == 0) error (NILF, l + INTSTR_LENGTH, - _("%s[%s: %s] Error %d%s"), pre, nm, f->name, exit_code, post); + _("%s[%s] Error %d%s"), pre, f->name, exit_code, post); else { const char *s = strsignal (exit_sig); error (NILF, l + strlen (s) + strlen (dump), - "%s[%s: %s] %s%s%s", pre, nm, f->name, s, dump, post); + _("%s[%s] %s%s%s"), pre, f->name, s, dump, post); } +#endif /* VMS */ OUTPUT_UNSET (); } @@ -521,11 +544,10 @@ /* Handle a dead child. This handler may or may not ever be installed. - If we're using the jobserver feature without pselect(), we need it. - First, installing it ensures the read will interrupt on SIGCHLD. Second, - we close the dup'd read FD to ensure we don't enter another blocking read - without reaping all the dead children. In this case we don't need the - dead_children count. + If we're using the jobserver feature, we need it. First, installing it + ensures the read will interrupt on SIGCHLD. Second, we close the dup'd + read FD to ensure we don't enter another blocking read without reaping all + the dead children. In this case we don't need the dead_children count. If we don't have either waitpid or wait3, then make is unreliable, but we use the dead_children count to reap children as best we can. */ @@ -537,15 +559,23 @@ { ++dead_children; - jobserver_signal (); + if (job_rfd >= 0) + { + close (job_rfd); + job_rfd = -1; + } #ifdef __EMX__ /* The signal handler must called only once! */ signal (SIGCHLD, SIG_DFL); #endif + + /* This causes problems if the SIGCHLD interrupts a printf(). + DB (DB_JOBS, (_("Got a SIGCHLD; %u unreaped children.\n"), dead_children)); + */ } -extern pid_t shell_function_pid; +extern int shell_function_pid, shell_function_completed; /* Reap all dead children, storing the returned status and the new command state ('cs_finished') in the 'file' member of the 'struct child' for the @@ -580,7 +610,7 @@ while ((children != 0 || shell_function_pid != 0) && (block || REAP_MORE)) { - unsigned int remote = 0; + int remote = 0; pid_t pid; int exit_code, exit_sig, coredump; struct child *lastc, *c; @@ -656,24 +686,15 @@ if (any_local) { #ifdef VMS - /* Todo: This needs more untangling multi-process support */ - /* Just do single child process support now */ vmsWaitForChildren (&status); pid = c->pid; - - /* VMS failure status can not be fully translated */ - status = $VMS_STATUS_SUCCESS (c->cstatus) ? 0 : (1 << 8); - - /* A Posix failure can be exactly translated */ - if ((c->cstatus & VMS_POSIX_EXIT_MASK) == VMS_POSIX_EXIT_MASK) - status = (c->cstatus >> 3 & 255) << 8; #else #ifdef WAIT_NOHANG if (!block) pid = WAIT_NOHANG (&status); else #endif - EINTRLOOP (pid, wait (&status)); + EINTRLOOP(pid, wait (&status)); #endif /* !VMS */ } else @@ -803,7 +824,11 @@ /* Check if this is the child of the 'shell' function. */ if (!remote && pid == shell_function_pid) { - shell_completed (exit_code, exit_sig); + /* It is. Leave an indicator for the 'shell' function. */ + if (exit_sig == 0 && exit_code == 127) + shell_function_completed = -1; + else + shell_function_completed = 1; break; } @@ -1000,12 +1025,35 @@ /* If we're using the jobserver and this child is not the only outstanding job, put a token back into the pipe for it. */ - if (jobserver_enabled () && jobserver_tokens > 1) +#ifdef WINDOWS32 + if (has_jobserver_semaphore () && jobserver_tokens > 1) { - jobserver_release (1); + if (! release_jobserver_semaphore ()) + { + DWORD err = GetLastError (); + const char *estr = map_windows32_error_to_string (err); + ONS (fatal, NILF, + _("release jobserver semaphore: (Error %ld: %s)"), err, estr); + } + + DB (DB_JOBS, (_("Released token for child %p (%s).\n"), child, child->file->name)); + } +#else + if (job_fds[1] >= 0 && jobserver_tokens > 1) + { + char token = '+'; + int r; + + /* Write a job token back to the pipe. */ + + EINTRLOOP (r, write (job_fds[1], &token, 1)); + if (r != 1) + pfatal_with_name (_("write jobserver")); + DB (DB_JOBS, (_("Released token for child %p (%s).\n"), child, child->file->name)); } +#endif --jobserver_tokens; @@ -1057,6 +1105,56 @@ } #endif +#if defined(MAKE_JOBSERVER) && !defined(WINDOWS32) +RETSIGTYPE +job_noop (int sig UNUSED) +{ +} +/* Set the child handler action flags to FLAGS. */ +static void +set_child_handler_action_flags (int set_handler, int set_alarm) +{ + struct sigaction sa; + +#ifdef __EMX__ + /* The child handler must be turned off here. */ + signal (SIGCHLD, SIG_DFL); +#endif + + memset (&sa, '\0', sizeof sa); + sa.sa_handler = child_handler; + sa.sa_flags = set_handler ? 0 : SA_RESTART; +#if defined SIGCHLD + sigaction (SIGCHLD, &sa, NULL); +#endif +#if defined SIGCLD && SIGCLD != SIGCHLD + sigaction (SIGCLD, &sa, NULL); +#endif +#if defined SIGALRM + if (set_alarm) + { + /* If we're about to enter the read(), set an alarm to wake up in a + second so we can check if the load has dropped and we can start more + work. On the way out, turn off the alarm and set SIG_DFL. */ + if (set_handler) + { + sa.sa_handler = job_noop; + sa.sa_flags = 0; + sigaction (SIGALRM, &sa, NULL); + alarm (1); + } + else + { + alarm (0); + sa.sa_handler = SIG_DFL; + sa.sa_flags = 0; + sigaction (SIGALRM, &sa, NULL); + } + } +#endif +} +#endif + /* Start a job to run the commands specified in CHILD. CHILD is updated to reflect the commands and ID of the child process. @@ -1068,12 +1166,17 @@ static void start_job_command (struct child *child) { +#if !defined(_AMIGA) && !defined(WINDOWS32) + static int bad_stdin = -1; +#endif int flags; char *p; #ifdef VMS char *argv; #else char **argv; + int outfd = FD_STDOUT; + int errfd = FD_STDERR; #endif /* If we have a completely empty commandset, stop now. */ @@ -1096,8 +1199,7 @@ flags |= COMMANDS_RECURSE; else if (*p == '-') child->noerror = 1; - /* Don't skip newlines. */ - else if (!ISBLANK (*p)) + else if (!isblank ((unsigned char)*p)) break; ++p; } @@ -1132,19 +1234,6 @@ { char *end = 0; #ifdef VMS - /* Skip any leading whitespace */ - while (*p) - { - if (!ISSPACE (*p)) - { - if (*p != '\\') - break; - if ((p[1] != '\n') && (p[1] != 'n') && (p[1] != 't')) - break; - } - p++; - } - argv = p; /* Although construct_command_argv contains some code for VMS, it was/is not called/used. Please note, for VMS argv is a string (not an array @@ -1194,17 +1283,9 @@ free (argv[0]); free (argv); #endif -#ifdef VMS - /* On VMS, argv[0] can be a null string here */ - if (argv[0] != 0) - { -#endif - child->file->update_status = us_question; - notice_finished_file (child->file); - return; -#ifdef VMS - } -#endif + child->file->update_status = us_question; + notice_finished_file (child->file); + return; } if (touch_flag && !(flags & COMMANDS_RECURSE)) @@ -1318,6 +1399,32 @@ fflush (stdout); fflush (stderr); +#ifndef VMS +#if !defined(WINDOWS32) && !defined(_AMIGA) && !defined(__MSDOS__) + + /* Set up a bad standard input that reads from a broken pipe. */ + + if (bad_stdin == -1) + { + /* Make a file descriptor that is the read end of a broken pipe. + This will be used for some children's standard inputs. */ + int pd[2]; + if (pipe (pd) == 0) + { + /* Close the write side. */ + (void) close (pd[1]); + /* Save the read side. */ + bad_stdin = pd[0]; + + /* Set the descriptor to close on exec, so it does not litter any + child's descriptor table. When it is dup2'd onto descriptor 0, + that descriptor will not close on exec. */ + CLOSE_ON_EXEC (bad_stdin); + } + } + +#endif /* !WINDOWS32 && !_AMIGA && !__MSDOS__ */ + /* Decide whether to give this child the 'good' standard input (one that points to the terminal or whatever), or the 'bad' one that points to the read side of a broken pipe. */ @@ -1326,6 +1433,8 @@ if (child->good_stdin) good_stdin_used = 1; +#endif /* !VMS */ + child->deleted = 0; #ifndef _AMIGA @@ -1342,7 +1451,7 @@ { int is_remote, id, used_stdin; if (start_remote_job (argv, child->environment, - child->good_stdin ? 0 : get_bad_stdin (), + child->good_stdin ? 0 : bad_stdin, &is_remote, &id, &used_stdin)) /* Don't give up; remote execution may fail for various reasons. If so, simply run the job locally. */ @@ -1371,7 +1480,7 @@ child->remote = 0; #ifdef VMS - if (!child_execute_job (child, argv)) + if (!child_execute_job (argv, child)) { /* Fork failed! */ perror_with_name ("fork", ""); @@ -1382,20 +1491,83 @@ parent_environ = environ; - jobserver_pre_child (flags & COMMANDS_RECURSE); +#ifndef NO_OUTPUT_SYNC + /* Divert child output if output_sync in use. */ + if (child->output.syncout) + { + if (child->output.out >= 0) + outfd = child->output.out; + if (child->output.err >= 0) + errfd = child->output.err; + } +#endif +# ifdef __EMX__ + /* If we aren't running a recursive command and we have a jobserver + pipe, close it before exec'ing. */ + if (!(flags & COMMANDS_RECURSE) && job_fds[0] >= 0) + { + CLOSE_ON_EXEC (job_fds[0]); + CLOSE_ON_EXEC (job_fds[1]); + } + if (job_rfd >= 0) + CLOSE_ON_EXEC (job_rfd); + + /* Never use fork()/exec() here! Use spawn() instead in exec_command() */ + child->pid = child_execute_job (child->good_stdin ? FD_STDIN : bad_stdin, + outfd, errfd, + argv, child->environment); + if (child->pid < 0) + { + /* spawn failed! */ + unblock_sigs (); + perror_with_name ("spawn", ""); + goto error; + } + + /* undo CLOSE_ON_EXEC() after the child process has been started */ + if (!(flags & COMMANDS_RECURSE) && job_fds[0] >= 0) + { + fcntl (job_fds[0], F_SETFD, 0); + fcntl (job_fds[1], F_SETFD, 0); + } + if (job_rfd >= 0) + fcntl (job_rfd, F_SETFD, 0); - child->pid = child_execute_job (&child->output, child->good_stdin, argv, child->environment); +#else /* !__EMX__ */ + child->pid = fork (); environ = parent_environ; /* Restore value child may have clobbered. */ - jobserver_post_child (flags & COMMANDS_RECURSE); + if (child->pid == 0) + { + /* We are the child side. */ + unblock_sigs (); - if (child->pid < 0) + /* If we aren't running a recursive command and we have a jobserver + pipe, close it before exec'ing. */ + if (!(flags & COMMANDS_RECURSE) && job_fds[0] >= 0) + { + close (job_fds[0]); + close (job_fds[1]); + } + if (job_rfd >= 0) + close (job_rfd); + +#ifdef SET_STACK_SIZE + /* Reset limits, if necessary. */ + if (stack_limit.rlim_cur) + setrlimit (RLIMIT_STACK, &stack_limit); +#endif + child_execute_job (child->good_stdin ? FD_STDIN : bad_stdin, + outfd, errfd, argv, child->environment); + } + else if (child->pid < 0) { /* Fork failed! */ unblock_sigs (); perror_with_name ("fork", ""); goto error; } +# endif /* !__EMX__ */ #endif /* !VMS */ } @@ -1471,8 +1643,6 @@ { HANDLE hPID; char* arg0; - int outfd = FD_STDOUT; - int errfd = FD_STDERR; /* make UNC paths safe for CreateProcess -- backslash format */ arg0 = argv[0]; @@ -1710,13 +1880,14 @@ *out++ = *in++; else { - /* Skip the backslash, newline, and whitespace. */ - in += 2; - NEXT_TOKEN (in); + /* Skip the backslash, newline and + any following whitespace. */ + in = next_token (in + 2); /* Discard any preceding whitespace that has already been written to the output. */ - while (out > outref && ISBLANK (out[-1])) + while (out > outref + && isblank ((unsigned char)out[-1])) --out; /* Replace it all with a single space. */ @@ -1740,12 +1911,10 @@ memmove (out, in, strlen (in) + 1); /* Finally, expand the line. */ - cmds->fileinfo.offset = i; lines[i] = allocated_variable_expand_for_file (cmds->command_lines[i], file); } - cmds->fileinfo.offset = 0; c->command_lines = lines; /* Fetch the first command line to be run. */ @@ -1771,10 +1940,18 @@ just once). Also more thought needs to go into the entire algorithm; this is where the old parallel job code waits, so... */ - else if (jobserver_enabled ()) +#ifdef WINDOWS32 + else if (has_jobserver_semaphore ()) +#else + else if (job_fds[0] >= 0) +#endif while (1) { int got_token; +#ifndef WINDOWS32 + char token; + int saved_errno; +#endif DB (DB_JOBS, ("Need a job token; we %shave children\n", children ? "" : "don't ")); @@ -1783,8 +1960,36 @@ if (!jobserver_tokens) break; - /* Prepare for jobserver token acquisition. */ - jobserver_pre_acquire (); +#ifndef WINDOWS32 + /* Read a token. As long as there's no token available we'll block. + We enable interruptible system calls before the read(2) so that if + we get a SIGCHLD while we're waiting, we'll return with EINTR and + we can process the death(s) and return tokens to the free pool. + + Once we return from the read, we immediately reinstate restartable + system calls. This allows us to not worry about checking for + EINTR on all the other system calls in the program. + + There is one other twist: there is a span between the time + reap_children() does its last check for dead children and the time + the read(2) call is entered, below, where if a child dies we won't + notice. This is extremely serious as it could cause us to + deadlock, given the right set of events. + + To avoid this, we do the following: before we reap_children(), we + dup(2) the read FD on the jobserver pipe. The read(2) call below + uses that new FD. In the signal handler, we close that FD. That + way, if a child dies during the section mentioned above, the + read(2) will be invoked with an invalid FD and will return + immediately with EBADF. */ + + /* Make sure we have a dup'd FD. */ + if (job_rfd < 0) + { + DB (DB_JOBS, ("Duplicate the job FD\n")); + job_rfd = dup (job_fds[0]); + } +#endif /* Reap anything that's currently waiting. */ reap_children (0, 0); @@ -1793,7 +1998,8 @@ can run now (i.e., waiting for load). */ start_waiting_jobs (); - /* If our "free" slot is available, use it; we don't need a token. */ + /* If our "free" slot has become available, use it; we don't need an + actual token. */ if (!jobserver_tokens) break; @@ -1802,8 +2008,26 @@ if (!children) O (fatal, NILF, "INTERNAL: no children as we go to sleep on read\n"); - /* Get a token. */ - got_token = jobserver_acquire (waiting_jobs != NULL); +#ifdef WINDOWS32 + /* On Windows we simply wait for the jobserver semaphore to become + * signalled or one of our child processes to terminate. + */ + got_token = wait_for_semaphore_or_child_process (); + if (got_token < 0) + { + DWORD err = GetLastError (); + const char *estr = map_windows32_error_to_string (err); + ONS (fatal, NILF, + _("semaphore or child process wait: (Error %ld: %s)"), + err, estr); + } +#else + /* Set interruptible system calls, and read() for a job token. */ + set_child_handler_action_flags (1, waiting_jobs != NULL); + got_token = read (job_rfd, &token, 1); + saved_errno = errno; + set_child_handler_action_flags (0, waiting_jobs != NULL); +#endif /* If we got one, we're done here. */ if (got_token == 1) @@ -1812,6 +2036,16 @@ c, c->file->name)); break; } + +#ifndef WINDOWS32 + /* If the error _wasn't_ expected (EINTR or EBADF), punt. Otherwise, + go back and reap_children(), and try again. */ + errno = saved_errno; + if (errno != EINTR && errno != EBADF) + pfatal_with_name (_("read jobs pipe")); + if (errno == EBADF) + DB (DB_JOBS, ("Read returned EBADF.\n")); +#endif } #endif @@ -1870,15 +2104,12 @@ { /* There are no more lines to be expanded. */ child->command_ptr = 0; - child->file->cmds->fileinfo.offset = 0; return 0; } else /* Get the next line to run. */ child->command_ptr = child->command_lines[child->command_line++]; } - - child->file->cmds->fileinfo.offset = child->command_line - 1; return 1; } @@ -2018,93 +2249,82 @@ /* EMX: Start a child process. This function returns the new pid. */ # if defined __EMX__ int -child_execute_job (struct output *out, int good_stdin, char **argv, char **envp) +child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd, + char **argv, char **envp) { int pid; - int fdin = good_stdin ? FD_STDIN : get_bad_stdin (); - int fdout = FD_STDOUT; - int fderr = FD_STDERR; - int save_fdin = -1; - int save_fdout = -1; - int save_fderr = -1; - - /* Divert child output if we want to capture output. */ - if (out && out->syncout) - { - if (out->out >= 0) - fdout = out->out; - if (out->err >= 0) - fderr = out->err; - } + int save_stdin = -1; + int save_stdout = -1; + int save_stderr = -1; /* For each FD which needs to be redirected first make a dup of the standard FD to save and mark it close on exec so our child won't see it. Then dup2() the standard FD to the redirect FD, and also mark the redirect FD as close on exec. */ - if (fdin != FD_STDIN) + if (stdin_fd != FD_STDIN) { - save_fdin = dup (FD_STDIN); - if (save_fdin < 0) + save_stdin = dup (FD_STDIN); + if (save_stdin < 0) O (fatal, NILF, _("no more file handles: could not duplicate stdin\n")); - CLOSE_ON_EXEC (save_fdin); + CLOSE_ON_EXEC (save_stdin); - dup2 (fdin, FD_STDIN); - CLOSE_ON_EXEC (fdin); + dup2 (stdin_fd, FD_STDIN); + CLOSE_ON_EXEC (stdin_fd); } - if (fdout != FD_STDOUT) + if (stdout_fd != FD_STDOUT) { - save_fdout = dup (FD_STDOUT); - if (save_fdout < 0) + save_stdout = dup (FD_STDOUT); + if (save_stdout < 0) O (fatal, NILF, _("no more file handles: could not duplicate stdout\n")); - CLOSE_ON_EXEC (save_fdout); + CLOSE_ON_EXEC (save_stdout); - dup2 (fdout, FD_STDOUT); - CLOSE_ON_EXEC (fdout); + dup2 (stdout_fd, FD_STDOUT); + CLOSE_ON_EXEC (stdout_fd); } - if (fderr != FD_STDERR) + if (stderr_fd != FD_STDERR) { - if (fderr != fdout) + if (stderr_fd != stdout_fd) { - save_fderr = dup (FD_STDERR); - if (save_fderr < 0) + save_stderr = dup (FD_STDERR); + if (save_stderr < 0) O (fatal, NILF, _("no more file handles: could not duplicate stderr\n")); - CLOSE_ON_EXEC (save_fderr); + CLOSE_ON_EXEC (save_stderr); } - dup2 (fderr, FD_STDERR); - CLOSE_ON_EXEC (fderr); + dup2 (stderr_fd, FD_STDERR); + CLOSE_ON_EXEC (stderr_fd); } /* Run the command. */ pid = exec_command (argv, envp); /* Restore stdout/stdin/stderr of the parent and close temporary FDs. */ - if (save_fdin >= 0) + if (save_stdin >= 0) { - if (dup2 (save_fdin, FD_STDIN) != FD_STDIN) + if (dup2 (save_stdin, FD_STDIN) != FD_STDIN) O (fatal, NILF, _("Could not restore stdin\n")); else - close (save_fdin); + close (save_stdin); } - if (save_fdout >= 0) + if (save_stdout >= 0) { - if (dup2 (save_fdout, FD_STDOUT) != FD_STDOUT) + if (dup2 (save_stdout, FD_STDOUT) != FD_STDOUT) O (fatal, NILF, _("Could not restore stdout\n")); else - close (save_fdout); + close (save_stdout); } - if (save_fderr >= 0) + if (save_stderr >= 0) { - if (dup2 (save_fderr, FD_STDERR) != FD_STDERR) + if (dup2 (save_stderr, FD_STDERR) != FD_STDERR) O (fatal, NILF, _("Could not restore stderr\n")); else - close (save_fderr); + close (save_stderr); } return pid; @@ -2112,48 +2332,30 @@ #elif !defined (_AMIGA) && !defined (__MSDOS__) && !defined (VMS) -/* POSIX: - Create a child process executing the command in ARGV. - ENVP is the environment of the new program. Returns the PID or -1. */ -int -child_execute_job (struct output *out, int good_stdin, char **argv, char **envp) +/* UNIX: + Replace the current process with one executing the command in ARGV. + STDIN_FD/STDOUT_FD/STDERR_FD are used as the process's stdin/stdout/stderr; + ENVP is the environment of the new program. This function does not return. */ +void +child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd, + char **argv, char **envp) { - int r; - int pid; - int fdin = good_stdin ? FD_STDIN : get_bad_stdin (); - int fdout = FD_STDOUT; - int fderr = FD_STDERR; - - /* Divert child output if we want to capture it. */ - if (out && out->syncout) + /* For any redirected FD, dup2() it to the standard FD then close it. */ + if (stdin_fd != FD_STDIN) { - if (out->out >= 0) - fdout = out->out; - if (out->err >= 0) - fderr = out->err; + dup2 (stdin_fd, FD_STDIN); + close (stdin_fd); } - pid = vfork(); - if (pid != 0) - return pid; - - /* We are the child. */ - unblock_sigs (); - -#ifdef SET_STACK_SIZE - /* Reset limits, if necessary. */ - if (stack_limit.rlim_cur) - setrlimit (RLIMIT_STACK, &stack_limit); -#endif + if (stdout_fd != FD_STDOUT) + dup2 (stdout_fd, FD_STDOUT); + if (stderr_fd != FD_STDERR) + dup2 (stderr_fd, FD_STDERR); - /* For any redirected FD, dup2() it to the standard FD. - They are all marked close-on-exec already. */ - if (fdin != FD_STDIN) - EINTRLOOP (r, dup2 (fdin, FD_STDIN)); - if (fdout != FD_STDOUT) - EINTRLOOP (r, dup2 (fdout, FD_STDOUT)); - if (fderr != FD_STDERR) - EINTRLOOP (r, dup2 (fderr, FD_STDERR)); + if (stdout_fd != FD_STDOUT) + close (stdout_fd); + if (stderr_fd != FD_STDERR && stderr_fd != stdout_fd) + close (stderr_fd); /* Run the command. */ exec_command (argv, envp); @@ -2269,17 +2471,12 @@ switch (errno) { case ENOENT: - /* We are in the child: don't use the output buffer. - It's not right to run fprintf() here! */ - if (makelevel == 0) - fprintf (stderr, _("%s: %s: Command not found\n"), program, argv[0]); - else - fprintf (stderr, _("%s[%u]: %s: Command not found\n"), - program, makelevel, argv[0]); + OS (error, NILF, _("%s: Command not found"), argv[0]); break; case ENOEXEC: { /* The file is not executable. Try it as a shell script. */ + extern char *getenv (); const char *shell; char **new_argv; int argc; @@ -2550,8 +2747,8 @@ if (restp != NULL) *restp = NULL; - /* Make sure not to bother processing an empty line but stop at newline. */ - while (ISBLANK (*line)) + /* Make sure not to bother processing an empty line. */ + while (isblank ((unsigned char)*line)) ++line; if (*line == '\0') return 0; @@ -2682,10 +2879,6 @@ else if (instring == '"' && strchr ("\\$`", *p) != 0 && unixy_shell) goto slow; #ifdef WINDOWS32 - /* Quoted wildcard characters must be passed quoted to the - command, so give up the fast route. */ - else if (instring == '"' && strchr ("*?", *p) != 0 && !unixy_shell) - goto slow; else if (instring == '"' && strncmp (p, "\\\"", 2) == 0) *ap++ = *++p; #endif @@ -2726,16 +2919,15 @@ /* Throw out the backslash and newline. */ ++p; - /* At the beginning of the argument, skip any whitespace other - than newline before the start of the next word. */ + /* If there's nothing in this argument yet, skip any + whitespace before the start of the next word. */ if (ap == new_argv[i]) - while (ISBLANK (p[1])) - ++p; + p = next_token (p + 1) - 1; } #ifdef WINDOWS32 /* Backslash before whitespace is not special if our shell is not Unixy. */ - else if (ISSPACE (p[1]) && !unixy_shell) + else if (isspace (p[1]) && !unixy_shell) { *ap++ = *p; break; @@ -2762,7 +2954,7 @@ else #endif if (p[1] != '\\' && p[1] != '\'' - && !ISSPACE (p[1]) + && !isspace ((unsigned char)p[1]) && strchr (sh_chars_sh, p[1]) == 0) /* back up one notch, to copy the backslash */ --p; @@ -2826,9 +3018,8 @@ } } - /* Skip whitespace chars, but not newlines. */ - while (ISBLANK (p[1])) - ++p; + /* Ignore multiple whitespace chars. */ + p = next_token (p) - 1; break; default: @@ -2921,7 +3112,8 @@ */ /* Make sure not to bother processing an empty line. */ - NEXT_TOKEN (line); + while (isspace ((unsigned char)*line)) + ++line; if (*line == '\0') return 0; #endif /* WINDOWS32 */ @@ -2939,6 +3131,7 @@ #ifdef WINDOWS32 char *command_ptr = NULL; /* used for batch_mode_shell mode */ #endif + char *args_ptr; # ifdef __EMX__ /* is this necessary? */ if (!unixy_shell && shellflags) @@ -2981,9 +3174,9 @@ { int esc = 0; - /* This is the start of a new recipe line. Skip whitespace - and prefix characters but not newlines. */ - while (ISBLANK (*f) || *f == '-' || *f == '@' || *f == '+') + /* This is the start of a new recipe line. + Skip whitespace and prefix characters. */ + while (isblank (*f) || *f == '-' || *f == '@' || *f == '+') ++f; /* Copy until we get to the next logical recipe line. */ @@ -3033,21 +3226,21 @@ [@+-]: they're meaningless in .ONESHELL mode. */ while (*f != '\0') { - /* This is the start of a new recipe line. Skip whitespace - and prefix characters but not newlines. */ - while (ISBLANK (*f) || *f == '-' || *f == '@' || *f == '+') + /* This is the start of a new recipe line. + Skip whitespace and prefix characters. */ + while (isblank (*f) || *f == '-' || *f == '@' || *f == '+') ++f; /* Copy until we get to the next logical recipe line. */ while (*f != '\0') { - /* Remove the escaped newlines in the command, and the - blanks that follow them. Windows shells cannot handle - escaped newlines. */ + /* Remove the escaped newlines in the command, and + the whitespace that follows them. Windows + shells cannot handle escaped newlines. */ if (*f == '\\' && f[1] == '\n') { f += 2; - while (ISBLANK (*f)) + while (isblank (*f)) ++f; } *(t++) = *(f++); @@ -3059,7 +3252,7 @@ /* Write another line into the batch file. */ if (t > tstart) { - char c = *t; + int c = *t; *t = '\0'; fputs (tstart, batch); DB (DB_JOBS, ("\t%s", tstart)); @@ -3104,8 +3297,17 @@ return new_argv; } +#ifdef MAX_ARG_STRLEN + static char eval_line[] = "eval\\ \\\"set\\ x\\;\\ shift\\;\\ "; +#define ARG_NUMBER_DIGITS 5 +#define EVAL_LEN (sizeof(eval_line)-1 + shell_len + 4 \ + + (7 + ARG_NUMBER_DIGITS) * 2 * line_len / (MAX_ARG_STRLEN - 2)) +#else +#define EVAL_LEN 0 +#endif + new_line = xmalloc ((shell_len*2) + 1 + sflags_len + 1 - + (line_len*2) + 1); + + (line_len*2) + 1 + EVAL_LEN); ap = new_line; /* Copy SHELL, escaping any characters special to the shell. If we don't escape them, construct_command_argv_internal will @@ -3125,6 +3327,30 @@ #ifdef WINDOWS32 command_ptr = ap; #endif + +#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN) + if (unixy_shell && line_len > MAX_ARG_STRLEN) + { + unsigned j; + memcpy (ap, eval_line, sizeof (eval_line) - 1); + ap += sizeof (eval_line) - 1; + for (j = 1; j <= 2 * line_len / (MAX_ARG_STRLEN - 2); j++) + ap += sprintf (ap, "\\$\\{%u\\}", j); + *ap++ = '\\'; + *ap++ = '"'; + *ap++ = ' '; + /* Copy only the first word of SHELL to $0. */ + for (p = shell; *p != '\0'; ++p) + { + if (isspace ((unsigned char)*p)) + break; + *ap++ = *p; + } + *ap++ = ' '; + } +#endif + args_ptr = ap; + for (p = line; *p != '\0'; ++p) { if (restp != NULL && *p == '\n') @@ -3159,7 +3385,7 @@ /* DOS shells don't know about backslash-escaping. */ if (unixy_shell && !batch_mode_shell && (*p == '\\' || *p == '\'' || *p == '"' - || ISSPACE (*p) + || isspace ((unsigned char)*p) || strchr (sh_chars, *p) != 0)) *ap++ = '\\'; #ifdef __MSDOS__ @@ -3172,6 +3398,13 @@ } #endif *ap++ = *p; +#if !defined (WINDOWS32) && defined (MAX_ARG_STRLEN) + if (unixy_shell && line_len > MAX_ARG_STRLEN && (ap - args_ptr > MAX_ARG_STRLEN - 2)) + { + *ap++ = ' '; + args_ptr = ap; + } +#endif } if (ap == new_line + shell_len + sflags_len + 2) { @@ -3364,11 +3597,13 @@ cptr = line; for (;;) { - while ((*cptr != 0) && (ISSPACE (*cptr))) + while ((*cptr != 0) + && (isspace ((unsigned char)*cptr))) cptr++; if (*cptr == 0) break; - while ((*cptr != 0) && (!ISSPACE (*cptr))) + while ((*cptr != 0) + && (!isspace ((unsigned char)*cptr))) cptr++; argc++; } @@ -3381,13 +3616,15 @@ argc = 0; for (;;) { - while ((*cptr != 0) && (ISSPACE (*cptr))) + while ((*cptr != 0) + && (isspace ((unsigned char)*cptr))) cptr++; if (*cptr == 0) break; DB (DB_JOBS, ("argv[%d] = [%s]\n", argc, cptr)); argv[argc++] = cptr; - while ((*cptr != 0) && (!ISSPACE (*cptr))) + while ((*cptr != 0) + && (!isspace ((unsigned char)*cptr))) cptr++; if (*cptr != 0) *cptr++ = 0; @@ -3478,7 +3715,7 @@ int fd; (void) close (new); - EINTRLOOP (fd, dup (old)); + fd = dup (old); if (fd != new) { (void) close (fd); diff -Nru make-dfsg-4.2.1/job.h make-dfsg-4.1/job.h --- make-dfsg-4.2.1/job.h 2016-04-03 20:19:35.000000000 +0000 +++ make-dfsg-4.1/job.h 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for managing subprocesses in GNU Make. -Copyright (C) 1992-2016 Free Software Foundation, Inc. +Copyright (C) 1992-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -24,7 +24,7 @@ /* How to set close-on-exec for a file descriptor. */ -#if !defined(F_SETFD) || !defined(F_GETFD) +#if !defined F_SETFD # ifdef WINDOWS32 # define CLOSE_ON_EXEC(_d) process_noinherit(_d) # else @@ -99,7 +99,6 @@ char *comname; /* Temporary command file name */ int efn; /* Completion event flag number */ int cstatus; /* Completion status */ - int vms_launch_status; /* non-zero if lib$spawn, etc failed */ #endif unsigned int command_line; /* Index into command_lines. */ @@ -115,8 +114,6 @@ extern struct child *children; -/* A signal handler for SIGCHLD, if needed. */ -RETSIGTYPE child_handler (int sig); int is_bourne_compatible_shell(const char *path); void new_job (struct file *file); void reap_children (int block, int err); @@ -124,16 +121,20 @@ char **construct_command_argv (char *line, char **restp, struct file *file, int cmd_flags, char** batch_file); - #ifdef VMS -int child_execute_job (struct child *child, char *argv); +int child_execute_job (char *argv, struct child *child); #else # define FD_STDIN (fileno (stdin)) # define FD_STDOUT (fileno (stdout)) # define FD_STDERR (fileno (stderr)) -int child_execute_job (struct output *out, int good_stdin, char **argv, char **envp); +# if defined(__EMX__) +int child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd, + char **argv, char **envp); +# else +void child_execute_job (int stdin_fd, int stdout_fd, int stderr_fd, + char **argv, char **envp) __attribute__ ((noreturn)); +# endif #endif - #ifdef _AMIGA void exec_command (char **argv) __attribute__ ((noreturn)); #elif defined(__EMX__) diff -Nru make-dfsg-4.2.1/loadapi.c make-dfsg-4.1/loadapi.c --- make-dfsg-4.2.1/loadapi.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/loadapi.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* API for GNU Make dynamic objects. -Copyright (C) 2013-2016 Free Software Foundation, Inc. +Copyright (C) 2013-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -37,29 +37,17 @@ /* Evaluate a buffer as make syntax. Ideally eval_buffer() will take const char *, but not yet. */ void -gmk_eval (const char *buffer, const gmk_floc *gfloc) +gmk_eval (const char *buffer, const gmk_floc *floc) { /* Preserve existing variable buffer context. */ char *pbuf; unsigned int plen; char *s; - floc fl; - floc *flp; - - if (gfloc) - { - fl.filenm = gfloc->filenm; - fl.lineno = gfloc->lineno; - fl.offset = 0; - flp = &fl; - } - else - flp = NULL; install_variable_buffer (&pbuf, &plen); s = xstrdup (buffer); - eval_buffer (s, flp); + eval_buffer (s, floc); free (s); restore_variable_buffer (pbuf, plen); diff -Nru make-dfsg-4.2.1/load.c make-dfsg-4.1/load.c --- make-dfsg-4.2.1/load.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/load.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Loading dynamic objects for GNU Make. -Copyright (C) 2012-2016 Free Software Foundation, Inc. +Copyright (C) 2012-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -45,8 +45,8 @@ static struct load_list *loaded_syms = NULL; static load_func_t -load_object (const floc *flocp, int noerror, const char *ldname, - const char *symname) +load_object (const gmk_floc *flocp, int noerror, + const char *ldname, const char *symname) { static void *global_dl = NULL; load_func_t symp; @@ -119,7 +119,7 @@ } int -load_file (const floc *flocp, const char **ldname, int noerror) +load_file (const gmk_floc *flocp, const char **ldname, int noerror) { int nmlen = strlen (*ldname); char *new = alloca (nmlen + CSTRLEN (SYMBOL_EXTENSION) + 1); @@ -168,8 +168,9 @@ loaded = allocated_variable_expand ("$(.LOADED)"); fp = strstr (loaded, *ldname); r = fp && (fp==loaded || fp[-1]==' ') && (fp[nmlen]=='\0' || fp[nmlen]==' '); + free (loaded); if (r) - goto exit; + return 1; /* If we didn't find a symbol name yet, construct it from the ldname. */ if (! symname) @@ -213,21 +214,8 @@ /* If it succeeded, add the load file to the loaded variable. */ if (r > 0) - { - size_t loadlen = strlen (loaded); - char *newval = alloca (loadlen + strlen (*ldname) + 2); - /* Don't add a space if it's empty. */ - if (loadlen) - { - memcpy (newval, loaded, loadlen); - newval[loadlen++] = ' '; - } - strcpy (&newval[loadlen], *ldname); - do_variable_definition (flocp, ".LOADED", newval, o_default, f_simple, 0); - } + do_variable_definition (flocp, ".LOADED", *ldname, o_default, f_append, 0); - exit: - free (loaded); return r; } @@ -249,7 +237,7 @@ #else int -load_file (const floc *flocp, const char **ldname UNUSED, int noerror) +load_file (const gmk_floc *flocp, const char **ldname, int noerror) { if (! noerror) O (fatal, flocp, @@ -259,7 +247,7 @@ } void -unload_file (const char *name UNUSED) +unload_file (const char *name) { O (fatal, NILF, "INTERNAL: Cannot unload when load is not supported!"); } diff -Nru make-dfsg-4.2.1/main.c make-dfsg-4.1/main.c --- make-dfsg-4.2.1/main.c 2016-05-31 07:17:26.000000000 +0000 +++ make-dfsg-4.1/main.c 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Argument parsing and main program of GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -15,7 +15,6 @@ this program. If not, see . */ #include "makeint.h" -#include "os.h" #include "filedef.h" #include "dep.h" #include "variable.h" @@ -48,41 +47,18 @@ #ifdef _AMIGA int __stack = 20000; /* Make sure we have 20K of stack space */ #endif -#ifdef VMS -int vms_use_mcr_command = 0; -int vms_always_use_cmd_file = 0; -int vms_gnv_shell = 0; -int vms_legacy_behavior = 0; -int vms_comma_separator = 0; -int vms_unix_simulation = 0; -int vms_report_unix_paths = 0; - -/* Evaluates if a VMS environment option is set, only look at first character */ -static int -get_vms_env_flag (const char *name, int default_value) -{ -char * value; -char x; - - value = getenv (name); - if (value == NULL) - return default_value; - - x = toupper (value[0]); - switch (x) - { - case '1': - case 'T': - case 'E': - return 1; - break; - case '0': - case 'F': - case 'D': - return 0; - } -} -#endif + +void init_dir (void); +void remote_setup (void); +void remote_cleanup (void); +RETSIGTYPE fatal_error_signal (int sig); + +void print_variable_data_base (void); +void print_dir_data_base (void); +void print_rule_data_base (void); +void print_vpath_data_base (void); + +void verify_file_data_base (void); #if defined HAVE_WAITPID || defined HAVE_WAIT3 # define HAVE_WAIT_NOHANG @@ -247,28 +223,27 @@ #endif -/* Number of job slots for parallelism. */ - -unsigned int job_slots; +/* Number of job slots (commands that can be run at once). */ -#define INVALID_JOB_SLOTS (-1) +unsigned int job_slots = 1; +unsigned int default_job_slots = 1; static unsigned int master_job_slots = 0; -static int arg_job_slots = INVALID_JOB_SLOTS; - -static const int default_job_slots = INVALID_JOB_SLOTS; /* Value of job_slots that means no limit. */ -static const int inf_jobs = 0; +static unsigned int inf_jobs = 0; -/* Authorization for the jobserver. */ +/* File descriptors for the jobs pipe. */ -static char *jobserver_auth = NULL; +char *jobserver_fds = 0; + +int job_fds[2] = { -1, -1 }; +int job_rfd = -1; /* Handle for the mutex used on Windows to synchronize output of our children under -O. */ -char *sync_mutex = NULL; +char *sync_mutex = 0; /* Maximum load average at which multiple jobs will be run. Negative values mean unlimited, while zero means limit to @@ -448,7 +423,7 @@ { 'f', filename, &makefiles, 0, 0, 0, 0, 0, "file" }, { 'I', filename, &include_directories, 1, 1, 0, 0, 0, "include-dir" }, - { 'j', positive_int, &arg_job_slots, 1, 1, 0, &inf_jobs, &default_job_slots, + { 'j', positive_int, &job_slots, 1, 1, 0, &inf_jobs, &default_job_slots, "jobs" }, #ifndef NO_FLOAT { 'l', floating, &max_load_average, 1, 1, 0, &default_load_average, @@ -463,7 +438,7 @@ /* These are long-style options. */ { CHAR_MAX+1, strlist, &db_flags, 1, 1, 0, "basic", 0, "debug" }, - { CHAR_MAX+2, string, &jobserver_auth, 1, 1, 0, 0, 0, "jobserver-auth" }, + { CHAR_MAX+2, string, &jobserver_fds, 1, 1, 0, 0, 0, "jobserver-fds" }, { CHAR_MAX+3, flag, &trace_flag, 1, 1, 0, 0, 0, "trace" }, { CHAR_MAX+4, flag, &inhibit_print_directory_flag, 1, 1, 0, 0, 0, "no-print-directory" }, @@ -491,7 +466,7 @@ /* List of goal targets. */ -static struct goaldep *goals, *lastgoal; +static struct dep *goals, *lastgoal; /* List of variables which were defined on the command line (or, equivalently, in MAKEFLAGS). */ @@ -590,7 +565,7 @@ /* Mask of signals that are being caught with fatal_error_signal. */ -#ifdef POSIX +#ifdef POSIX sigset_t fatal_signal_set; #else # ifdef HAVE_SIGSETMASK @@ -633,7 +608,7 @@ Each element is true if we should stop parsing on that character. */ static void -initialize_stopchar_map (void) +initialize_stopchar_map () { int i; @@ -651,25 +626,21 @@ stopchar_map[(int)'-'] = MAP_USERFUNC; stopchar_map[(int)'_'] = MAP_USERFUNC; - stopchar_map[(int)' '] = MAP_BLANK; - stopchar_map[(int)'\t'] = MAP_BLANK; - stopchar_map[(int)'/'] = MAP_DIRSEP; #if defined(VMS) - stopchar_map[(int)':'] |= MAP_DIRSEP; - stopchar_map[(int)']'] |= MAP_DIRSEP; - stopchar_map[(int)'>'] |= MAP_DIRSEP; + stopchar_map[(int)']'] = MAP_DIRSEP; #elif defined(HAVE_DOS_PATHS) - stopchar_map[(int)'\\'] |= MAP_DIRSEP; + stopchar_map[(int)'\\'] = MAP_DIRSEP; #endif for (i = 1; i <= UCHAR_MAX; ++i) { - if (isspace (i) && NONE_SET (stopchar_map[i], MAP_BLANK)) - /* Don't mark blank characters as newline characters. */ - stopchar_map[i] |= MAP_NEWLINE; - else if (isalnum (i)) - stopchar_map[i] |= MAP_USERFUNC; + if (isblank(i)) + stopchar_map[i] = MAP_BLANK; + if (isspace(i)) + stopchar_map[i] |= MAP_SPACE; + if (isalnum(i)) + stopchar_map[i] = MAP_USERFUNC; } } @@ -788,9 +759,6 @@ static void decode_output_sync_flags (void) { -#ifdef NO_OUTPUT_SYNC - output_sync = OUTPUT_SYNC_NONE; -#else if (output_sync_option) { if (streq (output_sync_option, "none")) @@ -808,7 +776,6 @@ if (sync_mutex) RECORD_SYNC_MUTEX (sync_mutex); -#endif } #ifdef WINDOWS32 @@ -1050,14 +1017,6 @@ } #endif /* __MSDOS__ */ -static void -reset_jobserver (void) -{ - jobserver_clear (); - free (jobserver_auth); - jobserver_auth = NULL; -} - #ifdef _AMIGA int main (int argc, char **argv) @@ -1068,11 +1027,10 @@ { static char *stdin_nm = 0; int makefile_status = MAKE_SUCCESS; - struct goaldep *read_files; + struct dep *read_files; PATH_VAR (current_directory); unsigned int restarts = 0; unsigned int syncing = 0; - int argv_slots; #ifdef WINDOWS32 const char *unix_path = NULL; const char *windows32_path = NULL; @@ -1232,58 +1190,14 @@ } } #endif + if (program == 0) #ifdef VMS - set_program_name (argv[0]); - program = program_name; - { - const char *shell; - char pwdbuf[256]; - char *pwd; - shell = getenv ("SHELL"); - if (shell != NULL) - vms_gnv_shell = 1; - - /* Need to know if CRTL set to report UNIX paths. Use getcwd as - it works on all versions of VMS. */ - pwd = getcwd(pwdbuf, 256); - if (pwd[0] == '/') - vms_report_unix_paths = 1; - - vms_use_mcr_command = get_vms_env_flag ("GNV$MAKE_USE_MCR", 0); - - vms_always_use_cmd_file = get_vms_env_flag ("GNV$MAKE_USE_CMD_FILE", 0); - - /* Legacy behavior is on VMS is older behavior that needed to be - changed to be compatible with standard make behavior. - For now only completely disable when running under a Bash shell. - TODO: Update VMS built in recipes and macros to not need this - behavior, at which time the default may change. */ - vms_legacy_behavior = get_vms_env_flag ("GNV$MAKE_OLD_VMS", - !vms_gnv_shell); - - /* VMS was changed to use a comma separator in the past, but that is - incompatible with built in functions that expect space separated - lists. Allow this to be selectively turned off. */ - vms_comma_separator = get_vms_env_flag ("GNV$MAKE_COMMA", - vms_legacy_behavior); - - /* Some Posix shell syntax options are incompatible with VMS syntax. - VMS requires double quotes for strings and escapes quotes - differently. When this option is active, VMS will try - to simulate Posix shell simulations instead of using - VMS DCL behavior. */ - vms_unix_simulation = get_vms_env_flag ("GNV$MAKE_SHELL_SIM", - !vms_legacy_behavior); - - } - if (need_vms_symbol () && !vms_use_mcr_command) - create_foreign_command (program_name, argv[0]); + program = vms_progname(argv[0]); #else - if (program == 0) program = argv[0]; +#endif else ++program; -#endif } /* Set up to access user data (files). */ @@ -1320,7 +1234,6 @@ /* define_variable_cname (".TARGETS", "", o_default, 0)->special = 1; */ define_variable_cname (".RECIPEPREFIX", "", o_default, 0)->special = 1; define_variable_cname (".SHELLFLAGS", "-c", o_default, 0); - define_variable_cname (".LOADED", "", o_default, 0); /* Set up .FEATURES Use a separate variable because define_variable_cname() is a macro and @@ -1468,13 +1381,6 @@ decode_env_switches (STRING_SIZE_TUPLE ("MAKEFLAGS")); -#if 0 - /* People write things like: - MFLAGS="CC=gcc -pipe" "CFLAGS=-g" - and we set the -p, -i and -e switches. Doesn't seem quite right. */ - decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS")); -#endif - /* In output sync mode we need to sync any output generated by reading the makefiles, such as in $(info ...) or stderr from $(shell ...) etc. */ @@ -1482,34 +1388,31 @@ || output_sync == OUTPUT_SYNC_TARGET); OUTPUT_SET (&make_sync); - /* Remember the job slots set through the environment vs. command line. */ - { - int env_slots = arg_job_slots; - arg_job_slots = INVALID_JOB_SLOTS; - - decode_switches (argc, (const char **)argv, 0); - argv_slots = arg_job_slots; +#if 0 + /* People write things like: + MFLAGS="CC=gcc -pipe" "CFLAGS=-g" + and we set the -p, -i and -e switches. Doesn't seem quite right. */ + decode_env_switches (STRING_SIZE_TUPLE ("MFLAGS")); +#endif - if (arg_job_slots == INVALID_JOB_SLOTS) - arg_job_slots = env_slots; - } + decode_switches (argc, (const char **)argv, 0); - /* Set a variable specifying whether stdout/stdin is hooked to a TTY. */ + /* Set a variable specifying whether stdout/stdin is hooked to a TTY. */ #ifdef HAVE_ISATTY - if (isatty (fileno (stdout))) - if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT"))) - { - const char *tty = TTYNAME (fileno (stdout)); - define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME, - o_default, 0)->export = v_export; - } - if (isatty (fileno (stderr))) - if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR"))) - { - const char *tty = TTYNAME (fileno (stderr)); - define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME, - o_default, 0)->export = v_export; - } + if (isatty (fileno (stdout))) + if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT"))) + { + const char *tty = TTYNAME (fileno (stdout)); + define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME, + o_default, 0)->export = v_export; + } + if (isatty (fileno (stderr))) + if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR"))) + { + const char *tty = TTYNAME (fileno (stderr)); + define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME, + o_default, 0)->export = v_export; + } #endif /* Reset in case the switches changed our minds. */ @@ -1609,52 +1512,94 @@ /* We may move, but until we do, here we are. */ starting_directory = current_directory; - /* Set up the job_slots value and the jobserver. This can't be usefully set - in the makefile, and we want to verify the authorization is valid before - make has a chance to start using it for something else. */ +#ifdef MAKE_JOBSERVER + /* If the jobserver-fds option is seen, make sure that -j is reasonable. + This can't be usefully set in the makefile, and we want to verify the + FDs are valid before any other aspect of make has a chance to start + using them for something else. */ - if (jobserver_auth) + if (jobserver_fds) { - if (argv_slots == INVALID_JOB_SLOTS) + /* Make sure the jobserver option has the proper format. */ + const char *cp = jobserver_fds; + +#ifdef WINDOWS32 + if (! open_jobserver_semaphore (cp)) { - if (jobserver_parse_auth (jobserver_auth)) - { - /* Success! Use the jobserver. */ - job_slots = 0; - goto job_setup_complete; - } + DWORD err = GetLastError (); + const char *estr = map_windows32_error_to_string (err); + fatal (NILF, strlen (cp) + INTSTR_LENGTH + strlen (estr), + _("internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"), + cp, err, estr); + } + DB (DB_JOBS, (_("Jobserver client (semaphore %s)\n"), cp)); +#else + if (sscanf (cp, "%d,%d", &job_fds[0], &job_fds[1]) != 2) + OS (fatal, NILF, + _("internal error: invalid --jobserver-fds string '%s'"), cp); + + DB (DB_JOBS, + (_("Jobserver client (fds %d,%d)\n"), job_fds[0], job_fds[1])); +#endif - O (error, NILF, _("warning: jobserver unavailable: using -j1. Add '+' to parent make rule.")); - arg_job_slots = 1; + /* The combination of a pipe + !job_slots means we're using the + jobserver. If !job_slots and we don't have a pipe, we can start + infinite jobs. If we see both a pipe and job_slots >0 that means the + user set -j explicitly. This is broken; in this case obey the user + (ignore the jobserver pipe for this make) but print a message. + If we've restarted, we already printed this the first time. */ + + if (job_slots > 0) + { + if (! restarts) + O (error, NILF, + _("warning: -jN forced in submake: disabling jobserver mode.")); } +#ifndef WINDOWS32 +#ifdef HAVE_FCNTL +# define FD_OK(_f) ((fcntl ((_f), F_GETFD) != -1) || (errno != EBADF)) +#else +# define FD_OK(_f) 1 +#endif + /* Create a duplicate pipe, that will be closed in the SIGCHLD + handler. If this fails with EBADF, the parent has closed the pipe + on us because it didn't think we were a submake. If so, print a + warning then default to -j1. */ + else if (!FD_OK (job_fds[0]) || !FD_OK (job_fds[1]) + || (job_rfd = dup (job_fds[0])) < 0) + { + if (errno != EBADF) + pfatal_with_name (_("dup jobserver")); - /* The user provided a -j setting on the command line: use it. */ - else if (!restarts) - /* If restarts is >0 we already printed this message. */ - O (error, NILF, - _("warning: -jN forced in submake: disabling jobserver mode.")); - - /* We failed to use our parent's jobserver. */ - reset_jobserver (); - job_slots = (unsigned int)arg_job_slots; - } - else if (arg_job_slots == INVALID_JOB_SLOTS) - /* The default is one job at a time. */ - job_slots = 1; - else - /* Use whatever was provided. */ - job_slots = (unsigned int)arg_job_slots; + O (error, NILF, + _("warning: jobserver unavailable: using -j1. Add '+' to parent make rule.")); + job_slots = 1; + job_fds[0] = job_fds[1] = -1; + } +#endif + + if (job_slots > 0) + { +#ifdef WINDOWS32 + free_jobserver_semaphore (); +#else + if (job_fds[0] >= 0) + close (job_fds[0]); + if (job_fds[1] >= 0) + close (job_fds[1]); +#endif + job_fds[0] = job_fds[1] = -1; - job_setup_complete: + free (jobserver_fds); + jobserver_fds = 0; + } + } +#endif /* The extra indirection through $(MAKE_COMMAND) is done for hysterical raisins. */ - #ifdef VMS - if (vms_use_mcr_command) - define_variable_cname ("MAKE_COMMAND", vms_command (argv[0]), o_default, 0); - else - define_variable_cname ("MAKE_COMMAND", program, o_default, 0); + define_variable_cname("MAKE_COMMAND", vms_command(argv[0]), o_default, 0); #else define_variable_cname ("MAKE_COMMAND", argv[0], o_default, 0); #endif @@ -1706,9 +1651,6 @@ a reference to this hidden variable is written instead. */ define_variable_cname ("MAKEOVERRIDES", "${-*-command-variables-*-}", o_env, 1); -#ifdef VMS - vms_export_dcl_symbol ("MAKEOVERRIDES", "${-*-command-variables-*-}"); -#endif } /* If there were -C flags, move ourselves about. */ @@ -1805,7 +1747,7 @@ _("Makefile from standard input specified twice.")); #ifdef VMS -# define DEFAULT_TMPDIR "/sys$scratch/" +# define DEFAULT_TMPDIR "sys$scratch:" #else # ifdef P_tmpdir # define DEFAULT_TMPDIR P_tmpdir @@ -1869,7 +1811,7 @@ } #ifndef __EMX__ /* Don't use a SIGCHLD handler for OS/2 */ -#if !defined(HAVE_WAIT_NOHANG) || defined(MAKE_JOBSERVER) +#if defined(MAKE_JOBSERVER) || !defined(HAVE_WAIT_NOHANG) /* Set up to handle children dying. This must be done before reading in the makefiles so that 'shell' function calls will work. @@ -1877,12 +1819,13 @@ functionality here and rely on the signal handler and counting children. - If we're using the jobs pipe we need a signal handler so that SIGCHLD is - not ignored; we need it to interrupt the read(2) of the jobserver pipe if - we're waiting for a token. + If we're using the jobs pipe we need a signal handler so that + SIGCHLD is not ignored; we need it to interrupt the read(2) of the + jobserver pipe in job.c if we're waiting for a token. If none of these are true, we don't need a signal handler at all. */ { + RETSIGTYPE child_handler (int sig); # if defined SIGCHLD bsd_signal (SIGCHLD, child_handler); # endif @@ -1890,18 +1833,6 @@ bsd_signal (SIGCLD, child_handler); # endif } - -#ifdef HAVE_PSELECT - /* If we have pselect() then we need to block SIGCHLD so it's deferred. */ - { - sigset_t block; - sigemptyset (&block); - sigaddset (&block, SIGCHLD); - if (sigprocmask (SIG_SETMASK, &block, NULL) < 0) - pfatal_with_name ("sigprocmask(SIG_SETMASK, SIGCHLD)"); - } -#endif - #endif #endif @@ -1974,7 +1905,7 @@ no_default_sh_exe = !find_and_set_default_shell (NULL); #endif /* WINDOWS32 */ -#if defined (__MSDOS__) || defined (__EMX__) || defined (VMS) +#if defined (__MSDOS__) || defined (__EMX__) /* We need to know what kind of shell we will be using. */ { extern int _is_unixy_shell (const char *_path); @@ -2038,7 +1969,7 @@ } #if defined (__MSDOS__) || defined (__EMX__) || defined (VMS) - if (arg_job_slots != 1 + if (job_slots != 1 # ifdef __EMX__ && _osmode != OS2_MODE /* turn off -j if we are in DOS mode */ # endif @@ -2047,40 +1978,73 @@ O (error, NILF, _("Parallel jobs (-j) are not supported on this platform.")); O (error, NILF, _("Resetting to single job (-j1) mode.")); - arg_job_slots = job_slots = 1; + job_slots = 1; } #endif - /* If we have >1 slot at this point, then we're a top-level make. - Set up the jobserver. - - Every make assumes that it always has one job it can run. For the - submakes it's the token they were given by their parent. For the top - make, we just subtract one from the number the user wants. */ +#ifdef MAKE_JOBSERVER + /* If we have >1 slot but no jobserver-fds, then we're a top-level make. + Set up the pipe and install the fds option for our children. */ - if (job_slots > 1 && jobserver_setup (job_slots - 1)) + if (job_slots > 1) { - /* Fill in the jobserver_auth for our children. */ - jobserver_auth = jobserver_get_auth (); +#ifdef WINDOWS32 + /* sub_proc.c cannot wait for more than MAXIMUM_WAIT_OBJECTS objects + * and one of them is the job-server semaphore object. Limit the + * number of available job slots to (MAXIMUM_WAIT_OBJECTS - 1). */ - if (jobserver_auth) + if (job_slots >= MAXIMUM_WAIT_OBJECTS) { - /* We're using the jobserver so set job_slots to 0. */ - master_job_slots = job_slots; - job_slots = 0; + job_slots = MAXIMUM_WAIT_OBJECTS - 1; + DB (DB_JOBS, (_("Jobserver slots limited to %d\n"), job_slots)); } - } - /* If we're not using parallel jobs, then we don't need output sync. - This is so people can enable output sync in GNUMAKEFLAGS or similar, but - not have it take effect unless parallel builds are enabled. */ - if (syncing && job_slots == 1) - { - OUTPUT_UNSET (); - output_close (&make_sync); - syncing = 0; - output_sync = OUTPUT_SYNC_NONE; + if (! create_jobserver_semaphore (job_slots - 1)) + { + DWORD err = GetLastError (); + const char *estr = map_windows32_error_to_string (err); + ONS (fatal, NILF, + _("creating jobserver semaphore: (Error %ld: %s)"), err, estr); + } +#else + char c = '+'; + + if (pipe (job_fds) < 0 || (job_rfd = dup (job_fds[0])) < 0) + pfatal_with_name (_("creating jobs pipe")); +#endif + + /* Every make assumes that it always has one job it can run. For the + submakes it's the token they were given by their parent. For the + top make, we just subtract one from the number the user wants. We + want job_slots to be 0 to indicate we're using the jobserver. */ + + master_job_slots = job_slots; + +#ifdef WINDOWS32 + /* We're using the jobserver so set job_slots to 0. */ + job_slots = 0; +#else + while (--job_slots) + { + int r; + + EINTRLOOP (r, write (job_fds[1], &c, 1)); + if (r != 1) + pfatal_with_name (_("init jobserver pipe")); + } +#endif + + /* Fill in the jobserver_fds for our children. */ + +#ifdef WINDOWS32 + jobserver_fds = xmalloc (MAX_PATH + 1); + strcpy (jobserver_fds, get_jobserver_semaphore_name ()); +#else + jobserver_fds = xmalloc ((INTSTR_LENGTH * 2) + 2); + sprintf (jobserver_fds, "%d,%d", job_fds[0], job_fds[1]); +#endif } +#endif #ifndef MAKE_SYMLINKS if (check_symlink_flag) @@ -2094,7 +2058,7 @@ define_makeflags (1, 0); - /* Make each 'struct goaldep' point at the 'struct file' for the file + /* Make each 'struct dep' point at the 'struct file' for the file depended on. Also do magic for special targets. */ snap_deps (); @@ -2165,14 +2129,18 @@ char **aargv = NULL; const char **nargv; int nargc; + int orig_db_level = db_level; enum update_status status; + if (! ISDB (DB_MAKEFILES)) + db_level = DB_NONE; + DB (DB_BASIC, (_("Updating makefiles....\n"))); /* Remove any makefiles we don't want to try to update. Also record the current modtimes so we can compare them later. */ { - register struct goaldep *d, *last; + register struct dep *d, *last; last = 0; d = read_files; while (d != 0) @@ -2201,14 +2169,13 @@ last->next = d->next; /* Free the storage. */ - free_goaldep (d); + free_dep (d); d = last == 0 ? read_files : last->next; break; } } - if (f == NULL || !f->double_colon) { makefile_mtimes = xrealloc (makefile_mtimes, @@ -2224,26 +2191,18 @@ /* Set up 'MAKEFLAGS' specially while remaking makefiles. */ define_makeflags (1, 1); - { - int orig_db_level = db_level; - - if (! ISDB (DB_MAKEFILES)) - db_level = DB_NONE; - - rebuilding_makefiles = 1; - status = update_goal_chain (read_files); - rebuilding_makefiles = 0; - - db_level = orig_db_level; - } + rebuilding_makefiles = 1; + status = update_goal_chain (read_files); + rebuilding_makefiles = 0; switch (status) { case us_question: /* The only way this can happen is if the user specified -q and asked - for one of the makefiles to be remade as a target on the command - line. Since we're not actually updating anything with -q we can - treat this as "did nothing". */ + * for one of the makefiles to be remade as a target on the command + * line. Since we're not actually updating anything with -q we can + * treat this as "did nothing". + */ case us_none: /* Did nothing. */ @@ -2258,10 +2217,14 @@ in updating or could not be found at all. */ int any_failed = 0; unsigned int i; - struct goaldep *d; + struct dep *d; for (i = 0, d = read_files; d != 0; ++i, d = d->next) { + /* Reset the considered flag; we may need to look at the file + again to print an error. */ + d->file->considered = 0; + if (d->file->updated) { /* This makefile was updated. */ @@ -2271,7 +2234,7 @@ any_remade |= (file_mtime_no_search (d->file) != makefile_mtimes[i]); } - else if (! (d->flags & RM_DONTCARE)) + else if (! (d->changed & RM_DONTCARE)) { FILE_TIMESTAMP mtime; /* The update failed and this makefile was not @@ -2286,13 +2249,13 @@ } else /* This makefile was not found at all. */ - if (! (d->flags & RM_DONTCARE)) + if (! (d->changed & RM_DONTCARE)) { const char *dnm = dep_name (d); size_t l = strlen (dnm); /* This is a makefile we care about. See how much. */ - if (d->flags & RM_INCLUDED) + if (d->changed & RM_INCLUDED) /* An included makefile. We don't need to die, but we do want to complain. */ error (NILF, l, @@ -2374,6 +2337,11 @@ ++restarts; + /* If we're re-exec'ing the first make, put back the number of + job slots so define_makefiles() will get it right. */ + if (master_job_slots) + job_slots = master_job_slots; + if (ISDB (DB_BASIC)) { const char **p; @@ -2381,7 +2349,6 @@ for (p = nargv; *p != 0; ++p) printf (" %s", *p); putchar ('\n'); - fflush (stdout); } #ifndef _AMIGA @@ -2393,9 +2360,6 @@ { *p = alloca (40); sprintf (*p, "%s=%u", MAKELEVEL_NAME, makelevel); -#ifdef VMS - vms_putenv_symbol (*p); -#endif } else if (strneq (*p, "MAKE_RESTARTS=", CSTRLEN ("MAKE_RESTARTS="))) { @@ -2431,6 +2395,10 @@ fflush (stdout); fflush (stderr); + /* Close the dup'd jobserver pipe if we opened one. */ + if (job_rfd >= 0) + close (job_rfd); + #ifdef _AMIGA exec_command (nargv); exit (0); @@ -2444,7 +2412,8 @@ termination. */ int pid; int r; - pid = child_execute_job (NULL, 1, nargv, environ); + pid = child_execute_job (FD_STDIN, FD_STDOUT, FD_STDERR, + nargv, environ); /* is this loop really necessary? */ do { @@ -2465,6 +2434,8 @@ break; } + db_level = orig_db_level; + /* Free the makefile mtimes. */ free (makefile_mtimes); } @@ -2533,7 +2504,7 @@ if (f) { - goals = alloc_goaldep (); + goals = alloc_dep (); goals->file = f; } } @@ -2568,7 +2539,8 @@ makefile_status = MAKE_TROUBLE; break; case us_failed: - /* Updating failed. POSIX.2 specifies exit status >1 for this; */ + /* Updating failed. POSIX.2 specifies exit status >1 for this; + but in VMS, there is only success and failure. */ makefile_status = MAKE_FAILURE; break; } @@ -2664,31 +2636,6 @@ /* Ignore plain '-' for compatibility. */ return; -#ifdef VMS - { - /* VMS DCL quoting can result in foo="bar baz" showing up here. - Need to remove the double quotes from the value. */ - char * eq_ptr; - char * new_arg; - eq_ptr = strchr (arg, '='); - if ((eq_ptr != NULL) && (eq_ptr[1] == '"')) - { - int len; - int seg1; - int seg2; - len = strlen(arg); - new_arg = alloca(len); - seg1 = eq_ptr - arg + 1; - strncpy(new_arg, arg, (seg1)); - seg2 = len - seg1 - 1; - strncpy(&new_arg[seg1], &eq_ptr[2], seg2); - new_arg[seg1 + seg2] = 0; - if (new_arg[seg1 + seg2 - 1] == '"') - new_arg[seg1 + seg2 - 1] = 0; - arg = new_arg; - } - } -#endif v = try_variable_definition (0, arg, o_command, 0); if (v != 0) { @@ -2719,12 +2666,12 @@ if (goals == 0) { - goals = alloc_goaldep (); + goals = alloc_dep (); lastgoal = goals; } else { - lastgoal->next = alloc_goaldep (); + lastgoal->next = alloc_dep (); lastgoal = lastgoal->next; } @@ -3003,7 +2950,7 @@ value = variable_expand (varref); /* Skip whitespace, and check for an empty value. */ - NEXT_TOKEN (value); + value = next_token (value); len = strlen (value); if (len == 0) return; @@ -3026,14 +2973,14 @@ { if (*value == '\\' && value[1] != '\0') ++value; /* Skip the backslash. */ - else if (ISBLANK (*value)) + else if (isblank ((unsigned char)*value)) { /* End of the word. */ *p++ = '\0'; argv[++argc] = p; do ++value; - while (ISBLANK (*value)); + while (isblank ((unsigned char)*value)); continue; } *p++ = *value++; @@ -3064,7 +3011,7 @@ { if (*in == '$') *out++ = '$'; - else if (ISBLANK (*in) || *in == '\\') + else if (isblank ((unsigned char)*in) || *in == '\\') *out++ = '\\'; *out++ = *in++; } @@ -3131,7 +3078,7 @@ case flag: case flag_off: - if ((!*(int *) cs->value_ptr) == (cs->type == flag_off) + if (!*(int *) cs->value_ptr == (cs->type == flag_off) && (cs->default_value == 0 || *(int *) cs->value_ptr != *(int *) cs->default_value)) ADD_FLAG (0, 0); @@ -3339,7 +3286,7 @@ year, and none of the rest of it should be translated (including the word "Copyright"), so it hardly seems worth it. */ - printf ("%sCopyright (C) 1988-2016 Free Software Foundation, Inc.\n", + printf ("%sCopyright (C) 1988-2014 Free Software Foundation, Inc.\n", precede); printf (_("%sLicense GPLv3+: GNU GPL version 3 or later \n\ @@ -3357,7 +3304,7 @@ /* Print a bunch of information about this and that. */ static void -print_data_base (void) +print_data_base () { time_t when = time ((time_t *) 0); @@ -3384,7 +3331,13 @@ have written all our tokens so do that now. If tokens are left after any other error code, that's bad. */ - if (jobserver_enabled() && jobserver_tokens) +#ifdef WINDOWS32 + if (has_jobserver_semaphore () && jobserver_tokens) +#else + char token = '+'; + + if (job_fds[0] != -1 && jobserver_tokens) +#endif { if (status != 2) ON (error, NILF, @@ -3393,7 +3346,18 @@ else /* Don't write back the "free" token */ while (--jobserver_tokens) - jobserver_release (0); + { +#ifdef WINDOWS32 + if (! release_jobserver_semaphore ()) + perror_with_name ("release_jobserver_semaphore", ""); +#else + int r; + + EINTRLOOP (r, write (job_fds[1], &token, 1)); + if (r != 1) + perror_with_name ("write", ""); +#endif + } } @@ -3402,14 +3366,36 @@ if (master_job_slots) { /* We didn't write one for ourself, so start at 1. */ - unsigned int tokens = 1 + jobserver_acquire_all (); + unsigned int tcnt = 1; - if (tokens != master_job_slots) +#ifdef WINDOWS32 + while (acquire_jobserver_semaphore ()) + ++tcnt; +#else + /* Close the write side, so the read() won't hang. */ + close (job_fds[1]); + + while (read (job_fds[0], &token, 1) == 1) + ++tcnt; +#endif + + if (tcnt != master_job_slots) ONN (error, NILF, "INTERNAL: Exiting with %u jobserver tokens available; should be %u!", - tokens, master_job_slots); + tcnt, master_job_slots); + +#ifdef WINDOWS32 + free_jobserver_semaphore (); +#else + close (job_fds[0]); +#endif - reset_jobserver (); + /* Clean out jobserver_fds so we don't pass this information to any + sub-makes. Also reset job_slots since it will be put on the command + line, not in MAKEFLAGS. */ + job_slots = default_job_slots; + free (jobserver_fds); + jobserver_fds = 0; } } diff -Nru make-dfsg-4.2.1/make.1 make-dfsg-4.1/make.1 --- make-dfsg-4.2.1/make.1 2018-04-17 12:38:17.000000000 +0000 +++ make-dfsg-4.1/make.1 2018-04-17 12:38:17.000000000 +0000 @@ -1,4 +1,4 @@ -.TH MAKE 1 "28 February 2016" "GNU" "User Commands" +.TH MAKE 1 "03 March 2012" "GNU" "User Commands" .SH NAME make \- GNU make utility to maintain groups of programs .SH SYNOPSIS @@ -442,7 +442,7 @@ Further updates contributed by Mike Frysinger. It has been reworked by Roland McGrath. Maintained by Paul Smith. .SH "COPYRIGHT" -Copyright \(co 1992-1993, 1996-2016 Free Software Foundation, Inc. +Copyright \(co 1992-1993, 1996-2014 Free Software Foundation, Inc. This file is part of .IR "GNU make" . .LP diff -Nru make-dfsg-4.2.1/Makefile.am make-dfsg-4.1/Makefile.am --- make-dfsg-4.2.1/Makefile.am 2018-04-17 12:38:17.000000000 +0000 +++ make-dfsg-4.1/Makefile.am 2018-04-17 12:38:17.000000000 +0000 @@ -1,6 +1,6 @@ # This is a -*-Makefile-*-, or close enough # -# Copyright (C) 1997-2016 Free Software Foundation, Inc. +# Copyright (C) 1997-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -16,8 +16,8 @@ # You should have received a copy of the GNU General Public License along with # this program. If not, see . -AUTOMAKE_OPTIONS = dist-bzip2 silent-rules std-options -ACLOCAL_AMFLAGS = -I config +AUTOMAKE_OPTIONS = 1.8 dist-bzip2 check-news +ACLOCAL_AMFLAGS = -I config MAKE_HOST = @MAKE_HOST@ @@ -26,9 +26,6 @@ MAYBE_W32 = w32 W32INC = -I $(top_srcdir)/w32/include W32LIB = -Lw32 -lw32 - ossrc = -else - ossrc = posixos.c endif SUBDIRS = glob config po $(MAYBE_W32) @@ -44,14 +41,14 @@ make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c \ function.c getopt.c getopt1.c guile.c implicit.c job.c load.c \ - loadapi.c main.c misc.c $(ossrc) output.c read.c remake.c \ - rule.c signame.c strcache.c variable.c version.c vpath.c \ - hash.c $(remote) + loadapi.c main.c misc.c output.c read.c remake.c rule.c \ + signame.c strcache.c variable.c version.c vpath.c hash.c \ + $(remote) EXTRA_make_SOURCES = vmsjobs.c remote-stub.c remote-cstms.c noinst_HEADERS = commands.h dep.h filedef.h job.h makeint.h rule.h variable.h \ - debug.h getopt.h gettext.h hash.h output.h os.h + debug.h getopt.h gettext.h hash.h output.h make_LDADD = @LIBOBJS@ @ALLOCA@ $(GLOBLIB) @GETLOADAVG_LIBS@ @LIBINTL@ \ $(GUILE_LIBS) @@ -74,7 +71,7 @@ # Extra stuff to include in the distribution. -EXTRA_DIST = ChangeLog README build.sh.in $(man_MANS) \ +EXTRA_DIST = README build.sh.in $(man_MANS) \ README.customs README.OS2 \ SCOPTIONS SMakefile \ README.Amiga Makefile.ami config.ami make.lnk amiga.c amiga.h \ @@ -82,8 +79,7 @@ README.W32 NMakefile config.h.W32 build_w32.bat subproc.bat \ make_msvc_net2003.sln make_msvc_net2003.vcproj \ README.VMS makefile.vms makefile.com config.h-vms \ - vmsdir.h vmsfunctions.c vmsify.c vms_exit.c vms_progname.c \ - vms_export_symbol.c vms_export_symbol_test.com \ + vmsdir.h vmsfunctions.c vmsify.c \ gmk-default.scm gmk-default.h # This is built during configure, but behind configure's back @@ -129,8 +125,8 @@ gmk-default.h: $(srcdir)/gmk-default.scm (echo 'static const char *const GUILE_module_defn = " '\\ \ && sed -e 's/;.*//' -e '/^[ \t]*$$/d' -e 's/"/\\"/g' -e 's/$$/ \\/' \ - $(srcdir)/gmk-default.scm \ - && echo '";') > $@ + $(srcdir)/gmk-default.scm \ + && echo '";') > $@ # --------------- Local DIST Section @@ -178,7 +174,6 @@ check-regression: tests/config-flags.pm @if test -f '$(srcdir)/tests/run_make_tests'; then \ - ulimit -n 128; \ if $(PERL) -v >/dev/null 2>&1; then \ case `cd '$(srcdir)'; pwd` in `pwd`) : ;; \ *) test -d tests || mkdir tests; \ @@ -193,9 +188,9 @@ else \ echo "Can't find a working Perl ($(PERL)); the test suite requires Perl."; \ fi; \ - else \ + else \ echo "Can't find the GNU Make test suite ($(srcdir)/tests)."; \ - fi + fi # --------------- Maintainer's Section diff -Nru make-dfsg-4.2.1/Makefile.ami make-dfsg-4.1/Makefile.ami --- make-dfsg-4.2.1/Makefile.ami 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/Makefile.ami 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ # NOTE: If you have no 'make' program at all to process this makefile, run # 'build.sh' instead. # -# Copyright (C) 1995-2016 Free Software Foundation, Inc. +# Copyright (C) 1995-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/makefile.com make-dfsg-4.1/makefile.com --- make-dfsg-4.2.1/makefile.com 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/makefile.com 2016-01-16 10:25:59.000000000 +0000 @@ -74,9 +74,8 @@ $ filelist = "alloca ar arscan commands default dir expand file function " + - "guile hash implicit job load main misc read remake " + - "remote-stub rule output signame variable version " + - - "vmsfunctions vmsify vpath vms_progname vms_exit " + - - "vms_export_symbol [.glob]glob [.glob]fnmatch getopt1 " + - - "getopt strcache" + "vmsfunctions vmsify vpath " + - + "[.glob]glob [.glob]fnmatch getopt1 getopt strcache" $! $ copy config.h-vms config.h $ n=0 @@ -132,7 +131,6 @@ $! $ compileit : subroutine $ ploc = f$locate("]",p1) -$! filnam = p1 $ if ploc .lt. f$length(p1) $ then $ objdir = f$extract(0, ploc+1, p1) @@ -141,15 +139,14 @@ $ objdir := [] $ write optf objdir+p1 $ endif -$ cc'ccopt'/nested=none/include=([],[.glob])/obj='objdir' - - /define=("allocated_variable_expand_for_file=alloc_var_expand_for_file",- - "unlink=remove","HAVE_CONFIG_H","VMS") - +$ cc'ccopt'/include=([],[.glob])/obj='objdir' - + /define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") - 'p1' $ exit $ endsubroutine : compileit $! $!----------------------------------------------------------------------------- -$!Copyright (C) 1996-2016 Free Software Foundation, Inc. +$!Copyright (C) 1996-2014 Free Software Foundation, Inc. $!This file is part of GNU Make. $! $!GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/Makefile.DOS make-dfsg-4.1/Makefile.DOS --- make-dfsg-4.2.1/Makefile.DOS 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/Makefile.DOS 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ # -*-Makefile-*- template for DJGPP # Makefile.in generated automatically by automake 1.2 from Makefile.am # -# Copyright (C) 1994-2016 Free Software Foundation, Inc. +# Copyright (C) 1994-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -71,13 +71,13 @@ PERL = perl RANLIB = ranlib REMOTE = stub -VERSION = 4.2.1 +VERSION = 4.1 AUTOMAKE_OPTIONS = 1.2 bin_PROGRAMS = make$(EXEEXT) -make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c guile.c implicit.c job.c load.c loadapi.c main.c misc.c posixos.c output.c read.c remake.c rule.c signame.c strcache.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c +make_SOURCES = ar.c arscan.c commands.c default.c dir.c expand.c file.c function.c getopt.c getopt1.c guile.c implicit.c job.c load.c loadapi.c main.c misc.c output.c read.c remake.c rule.c signame.c strcache.c variable.c version.c vpath.c hash.c remote-$(REMOTE).c # This should include the glob/ prefix libglob_a_SOURCES = glob/fnmatch.c glob/glob.c glob/fnmatch.h glob/glob.h make_LDADD = glob/libglob.a @@ -103,7 +103,7 @@ CPPFLAGS = -DHAVE_CONFIG_H LDFLAGS = LIBS = -make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o guile.o implicit.o job.o load.o loadapi.o main.o misc.o posixos.o output.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o +make_OBJECTS = ar.o arscan.o commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o guile.o implicit.o job.o load.o loadapi.o main.o misc.o output.o read.o remake.o rule.o signame.o strcache.o variable.o version.o vpath.o hash.o remote-$(REMOTE).o make_DEPENDENCIES = glob/libglob.a make_LDFLAGS = libglob_a_LIBADD = @@ -597,7 +597,7 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h + filedef.h hash.h dep.h \ # .deps/arscan.Po arscan.o: arscan.c makeint.h config.h \ @@ -610,7 +610,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h variable.h job.h output.h \ + filedef.h hash.h dep.h \ + variable.h job.h output.h \ commands.h # .deps/default.Po @@ -618,8 +619,7 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h rule.h dep.h job.h \ - output.h \ + filedef.h hash.h variable.h rule.h dep.h job.h output.h \ commands.h # .deps/dir.Po @@ -627,8 +627,7 @@ gnumake.h \ getopt.h \ gettext.h \ - hash.h \ - filedef.h dep.h \ + hash.h filedef.h dep.h \ # .deps/expand.Po expand.o: expand.c makeint.h config.h \ @@ -652,7 +651,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h dep.h job.h output.h \ + filedef.h hash.h \ + variable.h dep.h job.h output.h \ commands.h debug.h # .deps/getloadavg.Po @@ -669,7 +669,8 @@ gnumake.h \ getopt.h \ gettext.h \ - debug.h filedef.h hash.h dep.h variable.h \ + debug.h filedef.h hash.h \ + dep.h variable.h \ gmk-default.h # .deps/hash.Po @@ -684,7 +685,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h rule.h dep.h debug.h variable.h job.h output.h \ + filedef.h hash.h rule.h \ + dep.h debug.h variable.h job.h output.h \ commands.h # .deps/job.Po @@ -694,22 +696,23 @@ gettext.h \ job.h output.h \ debug.h filedef.h hash.h \ - commands.h variable.h os.h + commands.h variable.h # .deps/load.Po load.o: load.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - debug.h \ - filedef.h hash.h variable.h + debug.h filedef.h hash.h \ + variable.h # .deps/loadapi.Po loadapi.o: loadapi.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h dep.h + filedef.h hash.h \ + variable.h dep.h # .deps/loadavg-getloadavg.Po # dummy @@ -719,8 +722,8 @@ gnumake.h \ getopt.h \ gettext.h \ - os.h \ - filedef.h hash.h dep.h variable.h job.h output.h \ + filedef.h hash.h dep.h \ + variable.h job.h output.h \ commands.h rule.h debug.h \ getopt.h @@ -729,22 +732,15 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h debug.h \ + filedef.h hash.h dep.h \ + debug.h \ # .deps/output.Po output.o: output.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - job.h \ - output.h \ - -# .deps/posixos.Po -posixos.o: posixos.c makeint.h config.h \ - gnumake.h \ - getopt.h \ - gettext.h \ - debug.h job.h output.h os.h + job.h output.h \ # .deps/read.Po read.o: read.c makeint.h config.h \ @@ -760,7 +756,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h job.h output.h \ + filedef.h hash.h job.h \ + output.h \ commands.h dep.h variable.h \ debug.h @@ -773,7 +770,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h job.h output.h \ + filedef.h hash.h job.h \ + output.h \ commands.h # .deps/rule.Po @@ -816,4 +814,5 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h + filedef.h hash.h \ + variable.h diff -Nru make-dfsg-4.2.1/makefile.vms make-dfsg-4.1/makefile.vms --- make-dfsg-4.2.1/makefile.vms 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/makefile.vms 2016-01-16 10:25:59.000000000 +0000 @@ -1,6 +1,6 @@ # -*-Makefile-*- to build GNU make on VMS # -# Copyright (C) 1996-2016 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -32,12 +32,9 @@ # ifeq ($(CC),cc) -cinclude = /nested=none/include=([],[.glob]) -cprefix = /prefix=(all,except=(glob,globfree)) -cwarn = /standard=relaxed/warn=(disable=questcompare) -CFLAGS = $(defines) $(cinclude)$(cprefix)$(cwarn) +CFLAGS = $(defines) /include=([],[.glob])/prefix=(all,except=(glob,globfree))/standard=relaxed/warn=(disable=questcompare) else -CFLAGS = $(defines) $(cinclude) +CFLAGS = $(defines) /include=([],[.glob]) endif #LDFLAGS = /deb LDFLAGS = @@ -96,14 +93,13 @@ objs = commands.obj,job.obj,output.obj,dir.obj,file.obj,misc.obj,hash.obj,\ load.obj,main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\ default.obj,variable.obj,expand.obj,function.obj,strcache.obj,\ - vpath.obj,version.obj,vms_progname.obj,vms_exit.obj,\ - vms_export_symbol.obj$(guile)$(ARCHIVES)$(extras)$(getopt)$(glob) + vpath.obj,version.obj$(guile)\ + $(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob) srcs = commands.c job.c output.c dir.c file.c misc.c guile.c hash.c \ load.c main.c read.c remake.c rule.c implicit.c \ default.c variable.c expand.c function.c strcache.c \ - vpath.c version.c vmsfunctions.c vmsify.c vms_progname.c vms_exit.c \ - vms_export_symbol.c $(ARCHIVES_SRC) $(ALLOCASRC) \ + vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \ commands.h dep.h filedef.h job.h output.h makeint.h rule.h variable.h @@ -172,9 +168,6 @@ vmsify.obj: vmsify.c vpath.obj: vpath.c makeint.h config.h gnumake.h gettext.h filedef.h hash.h \ variable.h -vms_progname.obj: vms_progname.c -vms_exit.obj: vms_exit.c -vms_export_symbol.obj: vms_export_symbol.c config.h: config.h-vms $(CP) $< $@ diff -Nru make-dfsg-4.2.1/makeint.h make-dfsg-4.1/makeint.h --- make-dfsg-4.2.1/makeint.h 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/makeint.h 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Miscellaneous global declarations and portability cruft for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -95,13 +95,8 @@ extern int errno; #endif -#ifdef __VMS -/* In strict ANSI mode, VMS compilers should not be defining the - VMS macro. Define it here instead of a bulk edit for the correct code. - */ -# ifndef VMS -# define VMS -# endif +#ifndef isblank +# define isblank(c) ((c) == ' ' || (c) == '\t') #endif #ifdef HAVE_UNISTD_H @@ -134,10 +129,6 @@ # define SA_RESTART 0 #endif -#ifdef HAVE_VFORK_H -# include -#endif - #ifdef HAVE_LIMITS_H # include #endif @@ -210,13 +201,6 @@ # include /* Needed to use alloca on VMS. */ # include - -extern int vms_use_mcr_command; -extern int vms_always_use_cmd_file; -extern int vms_gnv_shell; -extern int vms_comma_separator; -extern int vms_legacy_behavior; -extern int vms_unix_simulation; #endif #ifndef __attribute__ @@ -341,6 +325,21 @@ #define N_(msgid) gettext_noop (msgid) #define S_(msg1,msg2,num) ngettext (msg1,msg2,num) +/* Handle other OSs. + To overcome an issue parsing paths in a DOS/Windows environment when + built in a unix based environment, override the PATH_SEPARATOR_CHAR + definition unless being built for Cygwin. */ +#if defined(HAVE_DOS_PATHS) && !defined(__CYGWIN__) +# undef PATH_SEPARATOR_CHAR +# define PATH_SEPARATOR_CHAR ';' +#elif !defined(PATH_SEPARATOR_CHAR) +# if defined (VMS) +# define PATH_SEPARATOR_CHAR ',' +# else +# define PATH_SEPARATOR_CHAR ':' +# endif +#endif + /* This is needed for getcwd() and chdir(), on some W32 systems. */ #if defined(HAVE_DIRECT_H) # include @@ -376,7 +375,7 @@ # endif /* Include only the minimal stuff from windows.h. */ -# define WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN #endif /* WINDOWS32 */ #define ANY_SET(_v,_m) (((_v)&(_m)) != 0) @@ -384,7 +383,7 @@ #define MAP_NUL 0x0001 #define MAP_BLANK 0x0002 -#define MAP_NEWLINE 0x0004 +#define MAP_SPACE 0x0004 #define MAP_COMMENT 0x0008 #define MAP_SEMI 0x0010 #define MAP_EQUALS 0x0020 @@ -407,40 +406,7 @@ # define MAP_VMSCOMMA 0x0000 #endif -#define MAP_SPACE (MAP_BLANK|MAP_NEWLINE) - -/* Handle other OSs. - To overcome an issue parsing paths in a DOS/Windows environment when - built in a unix based environment, override the PATH_SEPARATOR_CHAR - definition unless being built for Cygwin. */ -#if defined(HAVE_DOS_PATHS) && !defined(__CYGWIN__) -# undef PATH_SEPARATOR_CHAR -# define PATH_SEPARATOR_CHAR ';' -# define MAP_PATHSEP MAP_SEMI -#elif !defined(PATH_SEPARATOR_CHAR) -# if defined (VMS) -# define PATH_SEPARATOR_CHAR (vms_comma_separator ? ',' : ':') -# define MAP_PATHSEP (vms_comma_separator ? MAP_COMMA : MAP_SEMI) -# else -# define PATH_SEPARATOR_CHAR ':' -# define MAP_PATHSEP MAP_COLON -# endif -#elif PATH_SEPARATOR_CHAR == ':' -# define MAP_PATHSEP MAP_COLON -#elif PATH_SEPARATOR_CHAR == ';' -# define MAP_PATHSEP MAP_SEMI -#elif PATH_SEPARATOR_CHAR == ',' -# define MAP_PATHSEP MAP_COMMA -#else -# error "Unknown PATH_SEPARATOR_CHAR" -#endif - -#define STOP_SET(_v,_m) ANY_SET(stopchar_map[(unsigned char)(_v)],(_m)) - -#define ISBLANK(c) STOP_SET((c),MAP_BLANK) -#define ISSPACE(c) STOP_SET((c),MAP_SPACE) -#define NEXT_TOKEN(s) while (ISSPACE (*(s))) ++(s) -#define END_OF_TOKEN(s) while (! STOP_SET (*(s), MAP_SPACE|MAP_NUL)) ++(s) +#define STOP_SET(_v,_m) ANY_SET (stopchar_map[(unsigned char)(_v)],(_m)) #if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) # define SET_STACK_SIZE @@ -450,9 +416,7 @@ extern struct rlimit stack_limit; #endif -#include - -#define NILF ((floc *)0) +#define NILF ((gmk_floc *)0) #define CSTRLEN(_s) (sizeof (_s)-1) #define STRING_SIZE_TUPLE(_s) (_s), CSTRLEN(_s) @@ -468,22 +432,13 @@ #endif - -/* Specify the location of elements read from makefiles. */ -typedef struct - { - const char *filenm; - unsigned long lineno; - unsigned long offset; - } floc; - const char *concat (unsigned int, ...); void message (int prefix, size_t length, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); -void error (const floc *flocp, size_t length, const char *fmt, ...) +void error (const gmk_floc *flocp, size_t length, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4))); -void fatal (const floc *flocp, size_t length, const char *fmt, ...) - __attribute__ ((noreturn, __format__ (__printf__, 3, 4))); +void fatal (const gmk_floc *flocp, size_t length, const char *fmt, ...) + __attribute__ ((noreturn, __format__ (__printf__, 3, 4))); #define O(_t,_a,_f) _t((_a), 0, (_f)) #define OS(_t,_a,_f,_s) _t((_a), strlen (_s), (_f), (_s)) @@ -524,13 +479,12 @@ int ar_name (const char *); void ar_parse_name (const char *, char **, char **); int ar_touch (const char *); -time_t ar_member_date (const char *); +int ar_member_date (const char *, time_t *); typedef long int (*ar_member_func_t) (int desc, const char *mem, int truncated, long int hdrpos, long int datapos, long int size, long int date, int uid, - int gid, unsigned int mode, - const void *arg); + int gid, int mode, const void *arg); long int ar_scan (const char *archive, ar_member_func_t function, const void *arg); int ar_name_equal (const char *name, const char *mem, int truncated); @@ -544,8 +498,6 @@ int file_impossible_p (const char *); void file_impossible (const char *); const char *dir_name (const char *); -void print_dir_data_base (void); -void dir_setup_glob (glob_t *); void hash_init_directories (void); void define_default_variables (void); @@ -568,21 +520,20 @@ char *strip_whitespace (const char **begpp, const char **endpp); -void show_goal_error (void); - /* String caching */ void strcache_init (void); void strcache_print_stats (const char *prefix); int strcache_iscached (const char *str); const char *strcache_add (const char *str); const char *strcache_add_len (const char *str, unsigned int len); +int strcache_setbufsize (unsigned int size); /* Guile support */ -int guile_gmake_setup (const floc *flocp); +int guile_gmake_setup (const gmk_floc *flocp); /* Loadable object support. Sets to the strcached name of the loaded file. */ -typedef int (*load_func_t)(const floc *flocp); -int load_file (const floc *flocp, const char **filename, int noerror); +typedef int (*load_func_t)(const gmk_floc *flocp); +int load_file (const gmk_floc *flocp, const char **filename, int noerror); void unload_file (const char *name); /* We omit these declarations on non-POSIX systems which define _POSIX_VERSION, @@ -595,16 +546,16 @@ long int lseek (); # endif -# ifdef HAVE_GETCWD -# if !defined(VMS) && !defined(__DECC) +#endif /* Not GNU C library or POSIX. */ + +#ifdef HAVE_GETCWD +# if !defined(VMS) && !defined(__DECC) char *getcwd (); -# endif -# else -char *getwd (); -# define getcwd(buf, len) getwd (buf) # endif - -#endif /* Not GNU C library or POSIX. */ +#else +char *getwd (); +# define getcwd(buf, len) getwd (buf) +#endif #if !HAVE_STRCASECMP # if HAVE_STRICMP @@ -633,11 +584,10 @@ #define OUTPUT_SYNC_TARGET 2 #define OUTPUT_SYNC_RECURSE 3 -/* Non-GNU systems may not declare this in unistd.h. */ -extern char **environ; +extern const gmk_floc *reading_file; +extern const gmk_floc **expanding_var; -extern const floc *reading_file; -extern const floc **expanding_var; +extern char **environ; extern unsigned short stopchar_map[]; @@ -649,8 +599,6 @@ extern int not_parallel, second_expansion, clock_skew_detected; extern int rebuilding_makefiles, one_shell, output_sync, verify_flag; -extern const char *default_shell; - /* can we run commands via 'sh -c xxx' or must we use batch files? */ extern int batch_mode_shell; @@ -660,6 +608,8 @@ extern char cmd_prefix; extern unsigned int job_slots; +extern int job_fds[2]; +extern int job_rfd; #ifndef NO_FLOAT extern double max_load_average; #else @@ -673,46 +623,10 @@ #endif #ifdef VMS -const char *vms_command (const char *argv0); -const char *vms_progname (const char *argv0); - -void vms_exit (int); -# define _exit(foo) vms_exit(foo) -# define exit(foo) vms_exit(foo) - -extern char *program_name; - -void -set_program_name (const char *arv0); - -int -need_vms_symbol (void); - -int -create_foreign_command (const char *command, const char *image); - -int -vms_export_dcl_symbol (const char *name, const char *value); - -int -vms_putenv_symbol (const char *string); - -void -vms_restore_symbol (const char *string); - +const char *vms_command(const char *argv0); +const char *vms_progname(const char *argv0); #endif -void remote_setup (void); -void remote_cleanup (void); -int start_remote_job_p (int); -int start_remote_job (char **, char **, int, int *, int *, int *); -int remote_status (int *, int *, int *, int); -void block_remote_children (void); -void unblock_remote_children (void); -int remote_kill (int id, int sig); -void print_variable_data_base (void); -void print_vpath_data_base (void); - extern char *starting_directory; extern unsigned int makelevel; extern char *version_string, *remote_description, *make_host; @@ -730,9 +644,18 @@ #endif -#define MAKE_SUCCESS 0 -#define MAKE_TROUBLE 1 -#define MAKE_FAILURE 2 +#ifdef VMS +/* These are the VMS __posix_exit compliant exit codes, constructed out of + STS$M_INHIB_MSG, C facility code, a POSIX condition code mask, MAKE_NNN<<3 and + the coresponding VMS severity, here STS$K_SUCCESS and STS$K_ERROR. */ +# define MAKE_SUCCESS 0x1035a001 +# define MAKE_TROUBLE 0x1035a00a +# define MAKE_FAILURE 0x1035a012 +#else +# define MAKE_SUCCESS 0 +# define MAKE_TROUBLE 1 +# define MAKE_FAILURE 2 +#endif /* Set up heap debugging library dmalloc. */ diff -Nru make-dfsg-4.2.1/make_msvc_net2003.vcproj make-dfsg-4.1/make_msvc_net2003.vcproj --- make-dfsg-4.2.1/make_msvc_net2003.vcproj 2016-03-09 04:39:55.000000000 +0000 +++ make-dfsg-4.1/make_msvc_net2003.vcproj 2016-01-16 10:25:59.000000000 +0000 @@ -235,9 +235,6 @@ RelativePath=".\w32\pathstuff.c"> - - line && ISBLANK (out[-1])) + while (out > line && isblank ((unsigned char)out[-1])) --out; *out++ = ' '; } @@ -315,7 +314,8 @@ char * end_of_token (const char *s) { - END_OF_TOKEN (s); + while (! STOP_SET (*s, MAP_BLANK|MAP_NUL)) + ++s; return (char *)s; } @@ -324,7 +324,8 @@ char * next_token (const char *s) { - NEXT_TOKEN (s); + while (isblank ((unsigned char)*s)) + ++s; return (char *)s; } @@ -376,6 +377,19 @@ return firstnew; } +/* Free a chain of 'struct dep'. */ + +void +free_dep_chain (struct dep *d) +{ + while (d != 0) + { + struct dep *df = d; + d = d->next; + free_dep (df); + } +} + /* Free a chain of struct nameseq. For struct dep chains use free_dep_chain. */ @@ -386,7 +400,7 @@ { struct nameseq *t = ns; ns = ns->next; - free_ns (t); + free (t); } } diff -Nru make-dfsg-4.2.1/NEWS make-dfsg-4.1/NEWS --- make-dfsg-4.2.1/NEWS 2016-06-10 23:01:30.000000000 +0000 +++ make-dfsg-4.1/NEWS 2016-01-16 10:25:59.000000000 +0000 @@ -1,6 +1,6 @@ GNU make NEWS -*-indented-text-*- History of user-visible changes. - 10 June 2016 + 05 Oct 2014 See the end of this file for copyrights and conditions. @@ -9,54 +9,6 @@ See the README file and the GNU make manual for instructions for reporting bugs. -Version 4.2.1 (10 Jun 2016) - -A complete list of bugs fixed in this version is available here: -h -ttp://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=107&set=custom - -This release is a bug-fix release. - - -Version 4.2 (22 May 2016) - -A complete list of bugs fixed in this version is available here: - -http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=106&set=custom - -* New variable: $(.SHELLSTATUS) is set to the exit status of the last != or - $(shell ...) function invoked in this instance of make. This will be "0" if - successful or not "0" if not successful. The variable value is unset if no - != or $(shell ...) function has been invoked. - -* The $(file ...) function can now read from a file with $(file - -* The interface to GNU make's "jobserver" is stable as documented in the - manual, for tools which may want to access it. - - WARNING: Backward-incompatibility! The internal-only command line option - --jobserver-fds has been renamed for publishing, to --jobserver-auth. - -* The amount of parallelism can be determined by querying MAKEFLAGS, even when - the job server is enabled (previously MAKEFLAGS would always contain only - "-j", with no number, when job server was enabled). - -* VMS-specific changes: - - * Perl test harness now works. - - * Full support for converting Unix exit status codes to VMS exit status - codes. BACKWARD INCOMPATIBILITY Notice: On a child failure the VMS exit - code is now the encoded Unix exit status that Make usually generates, not - the VMS exit status of the child. - - Version 4.1 (05 Oct 2014) A complete list of bugs fixed in this version is available here: @@ -77,33 +29,6 @@ make. Makefiles that rely on this syntax should be fixed. See https://savannah.gnu.org/bugs/?33034 -* VMS-specific changes: - - * Support for library files added, including support for using the GNV ar - utility. - - * Partial support for properly encoding Unix exit status codes into VMS exit - status codes. - - WARNING: Backward-incompatibility! These are different exit status codes - than Make exited with in the past. - - * Macros to hold the current make command are set up to translate the - argv[0] string to a VMS format path name and prefix it with "MCR " so that - the macro has a space in it. - - WARNING: Backward-incompatibility! This may break complex makefiles that - do processing on those macros. This is unlikely because so much in that - area was not and is still not currently working on VMS, it is unlikely to - find such a complex makefile, so this is more likely to impact - construction of a future makefile. - - * A command file is always used to run the commands for a recipe. - - WARNING: Backward-incompatibility! Running the make self tests has - exposed that there are significant differences in behavior when running - with the command file mode. It is unknown if this will be noticed by most - existing VMS makefiles. Version 4.0 (09 Oct 2013) @@ -312,57 +237,6 @@ after the variable name, to allow for simple, conditional, or appending multi-line variable assignment. -* VMS-specific changes: - - * Michael Gehre (at VISTEC-SEMI dot COM) supplied a fix for a problem with - timestamps of object modules in OLBs. The timestamps were not correctly - adjusted to GMT based time, if the local VMS time was using a daylight - saving algorithm and if daylight saving was switched off. - - * John Eisenbraun (at HP dot COM) supplied fixes and and an enhancement to - append output redirection in action lines. - - * Rework of ctrl+c and ctrl+y handling. - - * Fix a problem with cached strings, which showed on case-insensitive file - systems. - - * Build fixes for const-ified code in VMS specific sources. - - * A note on appending the redirected output. With this change, a simple - mechanism is implemented to make ">>" work in action lines. In VMS - there is no simple feature like ">>" to have DCL command or program - output redirected and appended to a file. GNU make for VMS already - implements the redirection of output. If such a redirection is detected, - an ">" on the action line, GNU make creates a DCL command procedure to - execute the action and to redirect its output. Based on that, now ">>" - is also recognized and a similar but different command procedure is - created to implement the append. The main idea here is to create a - temporary file which collects the output and which is appended to the - wanted output file. Then the temporary file is deleted. This is all done - in the command procedure to keep changes in make small and simple. This - obviously has some limitations but it seems good enough compared with - the current ">" implementation. (And in my opinion, redirection is not - really what GNU make has to do.) With this approach, it may happen that - the temporary file is not yet appended and is left in SYS$SCRATCH. - The temporary file names look like "CMDxxxxx.". Any time the created - command procedure can not complete, this happens. Pressing Ctrl+Y to - abort make is one case. In case of Ctrl+Y the associated command - procedure is left in SYS$SCRATCH as well. Its name is CMDxxxxx.COM. - - * Change in the Ctrl+Y handling. The CtrlY handler now uses $delprc to - delete all children. This way also actions with DCL commands will be - stopped. As before the CtrlY handler then sends SIGQUIT to itself, - which is handled in common code. - - * Change in deleteing temporary command files. Temporary command files - are now deleted in the vms child termination handler. That deletes - them even if a Ctrl+C was pressed. - - * The behavior of pressing Ctrl+C is not changed. It still has only an - effect, after the current action is terminated. If that doesn't happen - or takes too long, Ctrl+Y should be used instead. - Version 3.81 (01 Apr 2006) @@ -582,42 +456,6 @@ * Updated to autoconf 2.54 and automake 1.7. Users should not be impacted. -* VMS-specific changes: - - * In default.c define variable ARCH as IA64 for VMS on Itanium systems. - - * In makefile.vms avoid name collision for glob and globfree. - - * This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com. - - It is based on the specific version 3.77k and on 3.78.1. 3.77k was done - by Klaus Kämpf , the code was based on the VMS port of - GNU Make 3.60 by Mike Moretti. - - It was ported on OpenVMS/Alpha V7.1, DECC V5.7-006. It was re-build and - tested on OpenVMS/Alpha V7.2, OpenVMS/VAX 7.1 and 5.5-2. Different - versions of DECC were used. VAXC was tried: it fails; but it doesn't - seem worth to get it working. There are still some PTRMISMATCH warnings - during the compile. Although perl is working on VMS the test scripts - don't work. The function $shell is still missing. - - There is a known bug in some of the VMS CRTLs. It is in the shipped - versions of VMS V7.2 and V7.2-1 and in the currently (October 1999) - available ECOs for VMS V7.1 and newer versions. It is fixed in versions - shipped with newer VMS versions and all ECO kits after October 1999. It - only shows up during the daylight saving time period (DST): stat() - returns a modification time 1 hour ahead. This results in GNU make - warning messages. For a just created source you will see: - - $ gmake x.exe - gmake.exe;1: *** Warning: File 'x.c' has modification time in the future - (940582863 > 940579269) - cc /obj=x.obj x.c - link x.obj /exe=x.exe - gmake.exe;1: *** Warning: Clock skew detected. Your build may be - incomplete. - - A complete list of bugs fixed in this version is available here: http://savannah.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=102 @@ -674,56 +512,6 @@ * Hartmut Becker provided many updates for the VMS port of GNU make. See the README.VMS file for more details. - -* VMS-specific changes: - - * Fix a problem with automatically remaking makefiles. GNU make uses an - execve to restart itself after a successful remake of the makefile. On - UNIX systems execve replaces the running program with a new one and - resets all signal handling to the default. On VMS execve creates a child - process, signal and exit handlers of the parent are still active, and, - unfortunately, corrupt the exit code from the child. Fix in job.c: - ignore SIGCHLD. - - * Added some switches to reflect latest features of DECC. Modifications in - makefile.vms. - - * Set some definitions to reflect latest features of DECC. Modifications in - config.h-vms (which is copied to config.h). - - * Added extern strcmpi declaration to avoid 'implicitly declared' messages. - Modification in make.h. - - * Default rule for C++, conditionals for gcc (GCC_IS_NATIVE) or DEC/Digital/ - Compaq c/c++ compilers. Modifications in default.c. - - * Usage of opendir() and friends, suppress file version. Modifications in - dir.c. - - * Added VMS specific code to handle ctrl+c and ctrl+y to abort make. - Modifications in job.c. - - * Added support to have case sensitive targets and dependencies but to - still use case blind file names. This is especially useful for Java - makefiles on VMS: - - .SUFFIXES : - .SUFFIXES : .class .java - .java.class : - javac "$< - HelloWorld.class : HelloWorld.java - - * A new macro WANT_CASE_SENSITIVE_TARGETS in config.h-vms was introduced. - It needs to be enabled to get this feature; default is disabled. The - macro HAVE_CASE_INSENSITIVE_FS must not be touched: it is still enabled. - Modifications in file.c and config.h-vms. - - * Bootstrap make to start building make is still makefile.com, but make - needs to be re-made with a make to make a correct version: ignore all - possible warnings, delete all objects, rename make.exe to a different - name and run it. - - * Made some minor modifications to the bootstrap build makefile.com. Version 3.78 (22 Sep 1999) @@ -826,45 +614,6 @@ * Updates to the Windows 95/NT port from Rob Tulloh (see README.W32), and to the DOS port from Eli Zaretski (see README.DOS). - -* VMS-specific changes: - - * This is the VMS port of GNU Make. - It is based on the VMS port of GNU Make 3.60 by Mike Moretti. - This port was done by Klaus Kämpf - - * There is first-level support available from proGIS Software, Germany. - Visit their web-site at http://www.progis.de to get information - about other vms software and forthcoming updates to gnu make. - - * /bin/sh style I/O redirection is supported. You can now write lines like - mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt - - * Makefile variables are looked up in the current environment. You can set - symbols or logicals in DCL and evaluate them in the Makefile via - $(). Variables defined in the Makefile - override VMS symbols/logicals ! - - * Functions for file names are working now. See the GNU Make manual for - $(dir ...) and $(wildcard ...). Unix-style and VMS-style names are - supported as arguments. - - * The default rules are set up for GNU C. Building an executable from a - single source file is as easy as 'make file.exe'. - - * The variable $(ARCH) is predefined as ALPHA or VAX resp. Makefiles for - different VMS systems can now be written by checking $(ARCH) as in - ifeq ($(ARCH),ALPHA) - $(ECHO) "On the Alpha" - else - $(ECHO) "On the VAX" - endif - - * Command lines of excessive length are correctly broken and written to a - batch file in sys$scratch for later execution. There's no limit to the - lengths of commands (and no need for .opt files :-) any more. - - * Empty commands are handled correctly and don't end in a new DCL process. Version 3.76.1 (19 Sep 1997) @@ -913,54 +662,8 @@ concerning this port to Eli Zaretskii or DJ Delorie . -* VMS-specific changes: - - * John W. Eaton has updated the VMS port to support libraries and VPATH. - - * The cd command is supported if it's called as $(CD). This invokes - the 'builtin_cd' command which changes the directory. - Calling 'set def' doesn't do the trick, since a sub-shell is - spawned for this command, the directory is changed *in this sub-shell* - and the sub-shell ends. - - * Libraries are not supported. They were in GNU Make 3.60 but somehow I - didn't care porting the code. If there is enough interest, I'll do it at - some later time. - - * The variable $^ separates files with commas instead of spaces (It's the - natural thing to do for VMS). - - * See defaults.c for VMS default suffixes and my definitions for default - rules and variables. - - * The shell function is not implemented yet. - - * Load average routines haven't been implemented for VMS yet. - - * The default include directory for including other makefiles is - SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use - SYS$LIBRARY: instead; maybe it wouldn't work that way). - - * The default makefiles make looks for are: makefile.vms, gnumakefile, - makefile., and gnumakefile. . - - * The stat() function and handling of time stamps in VMS is broken, so I - replaced it with a hack in vmsfunctions.c. I will provide a full rewrite - somewhere in the future. Be warned, the time resolution inside make is - less than what vms provides. This might be a problem on the faster Alphas. - - * You can use a : in a filename only if you precede it with a backslash ('\'). - E.g.- hobbes\:[bogas.files] - - * Make ignores success, informational, or warning errors (-S-, -I-, or -W-). - But it will stop on -E- and -F- errors. (unless you do something - to override this in your makefile, or whatever). - - * Remote stuff isn't implemented yet. - - * Multiple line DCL commands, such as "if" statements, must be put inside - command files. You can run a command file by using \@. - +* John W. Eaton has updated the VMS port to support libraries and VPATH. + Version 3.75 (27 Aug 1996) * The directory messages printed by `-w' and implicitly in sub-makes, @@ -981,14 +684,6 @@ * Rob Tulloh of Tivoli Systems has contributed a port to Windows NT or 95. See README.W32 for details, and direct all Windows-related questions to . - -* VMS-specific changes: - - * Lots of default settings are adapted for VMS. See default.c. - - * Long command lines are now converted to command files. - - * Comma (',') as a separator is now allowed. See makefile.vms for an example. Version 3.73 (05 Apr 1995) @@ -1524,7 +1219,7 @@ (Changes from versions 1 through 3.05 were never recorded. Sorry.) ------------------------------------------------------------------------------- -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/NMakefile make-dfsg-4.1/NMakefile --- make-dfsg-4.2.1/NMakefile 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/NMakefile 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ # NOTE: If you have no 'make' program at all to process this makefile, # run 'build_w32.bat' instead. # -# Copyright (C) 1996-2016 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -107,7 +107,6 @@ $(OUTDIR)/dirent.obj \ $(OUTDIR)/pathstuff.obj \ $(OUTDIR)/posixfcn.obj \ - $(OUTDIR)/w32os.obj \ $(guile) $(OUTDIR)/make.exe: $(OUTDIR) $(OBJS) @@ -128,8 +127,6 @@ $(CC) $(CFLAGS) /c $? $(OUTDIR)/pathstuff.obj : w32/pathstuff.c $(CC) $(CFLAGS) /c $? -$(OUTDIR)/w32os.obj : w32/w32os.c - $(CC) $(CFLAGS) /c $? # --------------- DEPENDENCIES # @@ -142,7 +139,7 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h + filedef.h hash.h dep.h \ # .deps/arscan.Po $(OUTDIR)/arscan.obj: arscan.c makeint.h config.h \ @@ -155,7 +152,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h variable.h job.h output.h \ + filedef.h hash.h dep.h \ + variable.h job.h output.h \ commands.h # .deps/default.Po @@ -163,8 +161,7 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h rule.h dep.h job.h \ - output.h \ + filedef.h hash.h variable.h rule.h dep.h job.h output.h \ commands.h # .deps/dir.Po @@ -172,8 +169,7 @@ gnumake.h \ getopt.h \ gettext.h \ - hash.h \ - filedef.h dep.h \ + hash.h filedef.h dep.h \ # .deps/expand.Po $(OUTDIR)/expand.obj: expand.c makeint.h config.h \ @@ -197,7 +193,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h dep.h job.h output.h \ + filedef.h hash.h \ + variable.h dep.h job.h output.h \ commands.h debug.h # .deps/getloadavg.Po @@ -214,7 +211,8 @@ gnumake.h \ getopt.h \ gettext.h \ - debug.h filedef.h hash.h dep.h variable.h \ + debug.h filedef.h hash.h \ + dep.h variable.h \ gmk-default.h # .deps/hash.Po @@ -229,7 +227,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h rule.h dep.h debug.h variable.h job.h output.h \ + filedef.h hash.h rule.h \ + dep.h debug.h variable.h job.h output.h \ commands.h # .deps/job.Po @@ -239,22 +238,23 @@ gettext.h \ job.h output.h \ debug.h filedef.h hash.h \ - commands.h variable.h os.h + commands.h variable.h # .deps/load.Po $(OUTDIR)/load.obj: load.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - debug.h \ - filedef.h hash.h variable.h + debug.h filedef.h hash.h \ + variable.h # .deps/loadapi.Po $(OUTDIR)/loadapi.obj: loadapi.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h dep.h + filedef.h hash.h \ + variable.h dep.h # .deps/loadavg-getloadavg.Po # dummy @@ -264,8 +264,8 @@ gnumake.h \ getopt.h \ gettext.h \ - os.h \ - filedef.h hash.h dep.h variable.h job.h output.h \ + filedef.h hash.h dep.h \ + variable.h job.h output.h \ commands.h rule.h debug.h \ getopt.h @@ -274,22 +274,15 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h debug.h \ + filedef.h hash.h dep.h \ + debug.h \ # .deps/output.Po $(OUTDIR)/output.obj: output.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - job.h \ - output.h \ - -# .deps/posixos.Po -$(OUTDIR)/posixos.obj: posixos.c makeint.h config.h \ - gnumake.h \ - getopt.h \ - gettext.h \ - debug.h job.h output.h os.h + job.h output.h \ # .deps/read.Po $(OUTDIR)/read.obj: read.c makeint.h config.h \ @@ -305,7 +298,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h job.h output.h \ + filedef.h hash.h job.h \ + output.h \ commands.h dep.h variable.h \ debug.h @@ -318,7 +312,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h job.h output.h \ + filedef.h hash.h job.h \ + output.h \ commands.h # .deps/rule.Po @@ -361,4 +356,5 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h + filedef.h hash.h \ + variable.h diff -Nru make-dfsg-4.2.1/os.h make-dfsg-4.1/os.h --- make-dfsg-4.2.1/os.h 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/os.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ -/* Declarations for operating system interfaces for GNU Make. -Copyright (C) 2016 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make 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. - -GNU Make 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 -this program. If not, see . */ - - -/* This section provides OS-specific functions to support the jobserver. */ - -#ifdef MAKE_JOBSERVER - -/* Returns 1 if the jobserver is enabled, else 0. */ -unsigned int jobserver_enabled (void); - -/* Called in the master instance to set up the jobserver initially. */ -unsigned int jobserver_setup (int job_slots); - -/* Called in a child instance to connect to the jobserver. */ -unsigned int jobserver_parse_auth (const char* auth); - -/* Returns an allocated buffer used to pass to child instances. */ -char *jobserver_get_auth (void); - -/* Clear this instance's jobserver configuration. */ -void jobserver_clear (void); - -/* Recover all the jobserver tokens and return the number we got. */ -unsigned int jobserver_acquire_all (void); - -/* Release a jobserver token. If it fails and is_fatal is 1, fatal. */ -void jobserver_release (int is_fatal); - -/* Notify the jobserver that a child exited. */ -void jobserver_signal (void); - -/* Get ready to start a non-recursive child. */ -void jobserver_pre_child (int); - -/* Complete starting a non-recursive child. */ -void jobserver_post_child (int); - -/* Set up to acquire a new token. */ -void jobserver_pre_acquire (void); - -/* Wait until we can acquire a jobserver token. - TIMEOUT is 1 if we have other jobs waiting for the load to go down; - in this case we won't wait forever, so we can check the load. - Returns 1 if we got a token, or 0 if we stopped waiting due to a child - exiting or a timeout. */ -unsigned int jobserver_acquire (int timeout); - -#else - -#define jobserver_enabled() (0) -#define jobserver_setup(_slots) (0) -#define jobserver_parse_auth(_auth) (0) -#define jobserver_get_auth() (NULL) -#define jobserver_clear() (void)(0) -#define jobserver_release(_fatal) (void)(0) -#define jobserver_acquire_all() (0) -#define jobserver_signal() (void)(0) -#define jobserver_pre_child(_r) (void)(0) -#define jobserver_post_child(_r) (void)(0) -#define jobserver_pre_acquire() (void)(0) -#define jobserver_acquire(_tmout) (0) - -#endif - -/* Create a "bad" file descriptor for stdin when parallel jobs are run. */ -#if !defined(VMD) && !defined(WINDOWS32) && !defined(_AMIGA) && !defined(__MSDOS__) -int get_bad_stdin (void); -#else -# define get_bad_stdin() (-1) -#endif diff -Nru make-dfsg-4.2.1/output.c make-dfsg-4.1/output.c --- make-dfsg-4.2.1/output.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/output.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Output to stdout / stderr for GNU make -Copyright (C) 2013-2016 Free Software Foundation, Inc. +Copyright (C) 2013-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -46,7 +46,7 @@ #define OUTPUT_ISSET(_out) ((_out)->out >= 0 || (_out)->err >= 0) -#ifdef HAVE_FCNTL_H +#ifdef HAVE_FCNTL # define STREAM_OK(_s) ((fcntl (fileno (_s), F_GETFD) != -1) || (errno != EBADF)) #else # define STREAM_OK(_s) 1 @@ -174,7 +174,7 @@ /* Set up the sync handle. Disables output_sync on error. */ static int -sync_init (void) +sync_init () { int combined_output = 0; @@ -283,7 +283,7 @@ /* Returns a file descriptor to a temporary file. The file is automatically closed/deleted on exit. Don't use a FILE* stream. */ int -output_tmpfd (void) +output_tmpfd () { int fd = -1; FILE *tfile = tmpfile (); @@ -344,7 +344,7 @@ /* If we failed to create a temp file, disable output sync going forward. */ error: output_close (out); - output_sync = OUTPUT_SYNC_NONE; + output_sync = 0; } /* Synchronize the output of jobs in -j mode to keep the results of @@ -441,7 +441,7 @@ # ifdef HAVE_FDOPEN /* Can't use mkstemp(), but guard against a race condition. */ - EINTRLOOP (fd, open (*name, O_CREAT|O_EXCL|O_WRONLY, 0600)); + fd = open (*name, O_CREAT|O_EXCL|O_WRONLY, 0600); if (fd == -1) return 0; return fdopen (fd, "w"); @@ -558,7 +558,7 @@ /* We're about to generate output: be sure it's set up. */ void -output_start (void) +output_start () { #ifndef NO_OUTPUT_SYNC /* If we're syncing output make sure the temporary file is set up. */ @@ -640,7 +640,7 @@ /* Print an error message. */ void -error (const floc *flocp, size_t len, const char *fmt, ...) +error (const gmk_floc *flocp, size_t len, const char *fmt, ...) { va_list args; char *p; @@ -651,7 +651,7 @@ p = get_buffer (len); if (flocp && flocp->filenm) - sprintf (p, "%s:%lu: ", flocp->filenm, flocp->lineno + flocp->offset); + sprintf (p, "%s:%lu: ", flocp->filenm, flocp->lineno); else if (makelevel == 0) sprintf (p, "%s: ", program); else @@ -671,7 +671,7 @@ /* Print an error message and exit. */ void -fatal (const floc *flocp, size_t len, const char *fmt, ...) +fatal (const gmk_floc *flocp, size_t len, const char *fmt, ...) { va_list args; const char *stop = _(". Stop.\n"); @@ -683,7 +683,7 @@ p = get_buffer (len); if (flocp && flocp->filenm) - sprintf (p, "%s:%lu: *** ", flocp->filenm, flocp->lineno + flocp->offset); + sprintf (p, "%s:%lu: *** ", flocp->filenm, flocp->lineno); else if (makelevel == 0) sprintf (p, "%s: *** ", program); else diff -Nru make-dfsg-4.2.1/output.h make-dfsg-4.1/output.h --- make-dfsg-4.2.1/output.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/output.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Output to stdout / stderr for GNU make -Copyright (C) 2013-2016 Free Software Foundation, Inc. +Copyright (C) 2013-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/be.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/be.gmo differ diff -Nru make-dfsg-4.2.1/po/be.po make-dfsg-4.1/po/be.po --- make-dfsg-4.2.1/po/be.po 2016-06-10 23:03:35.000000000 +0000 +++ make-dfsg-4.1/po/be.po 2016-01-16 10:25:59.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: make 3.80\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2003-10-21 11:50+0300\n" "Last-Translator: Ales Nyakhaychyk \n" "Language-Team: Belarusian \n" @@ -45,84 +45,84 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "" -#: arscan.c:261 +#: arscan.c:255 #, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (назва муÑіла быць абрÑзана)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Дата %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, Ñ€Ñжым = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "" -#: commands.c:645 +#: commands.c:647 #, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] ВыдалÑецца файл \"%s\"" -#: commands.c:647 +#: commands.c:649 #, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** ВыдалÑецца файл \"%s\"" -#: commands.c:683 +#: commands.c:685 #, fuzzy msgid "# recipe to execute" msgstr "# загады Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½ÑŒÐ½Ñ" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (убудаваны):" -#: commands.c:688 +#: commands.c:690 #, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (з\"%s\", радок %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -130,60 +130,62 @@ "\n" "# ТÑчкі\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "" -#: dir.c:1085 -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "" -#: dir.c:1122 -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "" -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "" -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "" -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Ðе" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " файлаў, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "не" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr "" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " так далёка." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr "" @@ -193,156 +195,156 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "" -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "" -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" -#: file.c:408 +#: file.c:401 #, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** ВыдалÑецца файл \"%s\"" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "ВыдалÑюцца Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "БÑгучы чаÑ" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: адбітак чаÑу па-за дапушчальнымі межамі, падÑтаўлÑецца %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# ÐÑ Ð¼Ñта:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "" -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "" -#: file.c:971 +#: file.c:964 #, fuzzy msgid "# Command line target." msgstr "загадны радок" -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "" -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "" -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "" -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "" -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Так Ñама робÑцца:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Ð§Ð°Ñ Ð·ÑŒÐ¼ÑÐ½ÐµÐ½ÑŒÐ½Ñ Ð½Ñ–ÐºÐ¾Ð»Ñ– не правÑраўÑÑ." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Файл Ð½Ñ Ð¹Ñнуе." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Файл вельмі Ñтары." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# ÐпошнÑе зьмÑненьне %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Файл быў абноўлены." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Файл Ð½Ñ Ð±Ñ‹Ñž абноўлены." -#: file.c:1008 +#: file.c:1001 #, fuzzy msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Загады, што выконваюцца зараз (ГЭТР- ПÐМЫЛКÐ)." -#: file.c:1011 +#: file.c:1004 #, fuzzy msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Загады, што выконваюцца зараз (ГЭТР- ПÐМЫЛКÐ)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# ПаÑьпÑхова абноўлены." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "" -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "" -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -350,129 +352,111 @@ "\n" "# Файлы" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" "# " msgstr "" -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "" -#: function.c:1525 +#: function.c:1499 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe (): памылка Ñž process_init_fd()\n" -#: function.c:1549 +#: function.c:1523 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe (): памылка Ñž process_init_fd()\n" -#: function.c:1556 +#: function.c:1530 #, fuzzy, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "памылка Ñž CreatePipe() (e=%d)\n" -#: function.c:1564 +#: function.c:1538 #, fuzzy msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe (): памылка Ñž process_init_fd()\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, fuzzy, c-format msgid "open: %s: %s" msgstr "%s: %s" -#: function.c:2227 +#: function.c:2203 #, fuzzy, c-format msgid "write: %s: %s" msgstr "%s: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "%s%s: %s" - -#: function.c:2243 -msgid "file: too many arguments" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "%s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "%s: нерÑчаіÑны выбар -- %c.\n" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "" -#: function.c:2402 +#: function.c:2336 #, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" msgstr "ÐÑ Ð·Ñ€Ð¾Ð±Ð»ÐµÐ½Ð° Ð´Ð»Ñ Ð³Ñтае плÑтформы: Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ \"%s\"" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "" -#: function.c:2660 +#: function.c:2601 #, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "" #: getopt.c:659 @@ -570,7 +554,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "" @@ -614,184 +598,212 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "ВыдалÑюцца Ð¿Ñ€Ð°Ð¼ÐµÐ¶ÐºÐ°Ð²Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹...\n" -#: job.c:363 +#: job.c:361 #, fuzzy msgid "Cannot create a temporary file\n" msgstr "fwrite (чаÑовы файл)" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr "" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr "" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 #, fuzzy msgid "" msgstr " (убудаваны):" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 #, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s[%s] Error %d%s" msgstr "*** [%s] Памылка %d" -#: job.c:599 +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] Памылка 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Чакаюцца Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ñ‹Ñ Ð¿Ñ€Ð°Ñ†Ñ‹...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr "" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" "Counted %d args in failed launch\n" msgstr "" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "touch: архіў \"%s\" Ð½Ñ Ð¹Ñнуе" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s ÐÑма правіла каб зрабіць мÑту \"%s\", патрÑбную Ð´Ð»Ñ \"%s\"%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "" -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: загад не адшуканы" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: загад не адшуканы" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL зьменена (раней \"%s\", зараз \"%s\")" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -820,143 +832,143 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr "ÐŸÐ°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ (-j) не падтрымліваюцца на гÑтае плÑтхорме." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Выбары:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr "" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" msgstr "" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" msgstr "" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" msgstr "" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr "" " -h, --help Друкуе гÑтае паведамленьне й выходзіць.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" msgstr "" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" msgstr "" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " "N.\n" msgstr "" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " "them.\n" msgstr "" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " "it.\n" msgstr "" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base Друкуе нутраную базу даньнÑÑž make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" -#: main.c:391 +#: main.c:366 #, fuzzy msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Ðе адлюÑтроўваць загады.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -964,63 +976,63 @@ " -S, --no-keep-going, --stop\n" " Выключае -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" -#: main.c:398 +#: main.c:373 #, fuzzy msgid " --trace Print tracing information.\n" msgstr "" " -h, --help Друкуе гÑтае паведамленьне й выходзіць.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Друкуе бÑгучую Ñ‚Ñчку.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr "" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" msgstr "" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "пуÑÑ‚Ñ‹ радок нерÑчаіÑны Ñž ÑкаÑьці назвы файла" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1030,132 +1042,175 @@ "ExceptionAddress = 0x%p\n" msgstr "" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s Ñпынена на 30 ÑÑкундаў..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile Ñа Ñтандартнага ўводу зададзены двойчы." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (чаÑовы файл)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (чаÑовы файл)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "ÐŸÐ°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ñ Ð¿Ñ€Ð°Ñ†Ñ‹ (-j) не падтрымліваюцца на гÑтае плÑтхорме." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "" -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "Ñтвараецца трубаправод прац" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "ÐбнаўлÑюцца make-файлы....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "" -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr "Makefile \"%s\" Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½" -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "Makefile \"%s\" Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "" -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (чаÑовы файл): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr "" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "ÐÑма мÑÑ‚" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "ВыкарыÑтаньне: %s [выбары] [мÑта] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1164,7 +1219,7 @@ "\n" "ГÑта праграма пабудавана Ð´Ð»Ñ %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1173,36 +1228,36 @@ "\n" "ГÑта праграма падубавана Ð´Ð»Ñ %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "ПаведамлÑйце пра памылкі на .\n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "выбар \"-%c\" патрабуе Ñтаноўчы цÑлы довад" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "выбар \"-%c\" патрабуе Ñтаноўчы цÑлы довад" -#: main.c:3332 +#: main.c:3269 #, fuzzy, c-format msgid "%sBuilt for %s\n" msgstr "" "\n" "ГÑта праграма пабудавана Ð´Ð»Ñ %s\n" -#: main.c:3334 +#: main.c:3271 #, fuzzy, c-format msgid "%sBuilt for %s (%s)\n" msgstr "" "\n" "ГÑта праграма падубавана Ð´Ð»Ñ %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "ÐевÑдомы ўбудаваны загад \"%s\".\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Памылка! Парожні загад.\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Перанакіраваны ўвод з %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "" + +#: vmsjobs.c:690 #, fuzzy, c-format msgid "Append output to %s\n" msgstr "Перанакіраваны вывад у %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Перанакіраваны вывад у %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" msgstr "" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr " (пошук шлÑху)" -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" "# %u 'vpath' search paths.\n" msgstr "" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." msgstr "" -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" "# " msgstr "" -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] Памылка 0x%x" - -#~ msgid "Error, empty command\n" -#~ msgstr "Памылка! Парожні загад.\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Перанакіраваны ўвод з %s\n" - #~ msgid "Do not specify -j or --jobs if sh.exe is not available." #~ msgstr "Ðе задавайце -j ці --jobs, калі sh.exe недаÑтупны." Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/cs.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/cs.gmo differ diff -Nru make-dfsg-4.2.1/po/cs.po make-dfsg-4.1/po/cs.po --- make-dfsg-4.2.1/po/cs.po 2016-06-10 23:03:35.000000000 +0000 +++ make-dfsg-4.1/po/cs.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ # Czech translation of make. # Copyright (C) 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. -# Petr Pisar , 2011, 2013, 2014, 2016. +# Petr Pisar , 2011, 2013. # # directive → klíÄové slovo (nepÅ™ekládat jako příkaz kvůli zámÄ›nÄ›) # hash → haÅ¡ (zapisovat Äesky) @@ -25,10 +25,10 @@ # msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-23 21:16+02:00\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-09 21:24+0200\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -65,85 +65,85 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: Chybný návratový kód z funkce ar_member_touch volané nad „%s“" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "funkce lbr$set_module() nedokázala vytáhnout údaje o modulu, status = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "funkce lbr$ini_control() selhala se stavem = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "není možné otevřít knihovnu „%s“ potÅ™ebnou k najití stav prvku %d" +msgstr "není možné otevřít knihovnu „%s“ potÅ™ebnou k najití prvku „%s“" # TODO: Pluralize -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Prvek „%s“%s: %'ld bajtů at %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (název může být zkrácen)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Datum %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " UID = %d, GID = %d, práva = 0%o\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Návod má příliÅ¡ mnoho řádků (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** PÅ™eruÅ¡eno.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Prvek archivu „%s“ je možná chybný, nesmazáno" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Prvek archivu „%s“ ne možná chybný, nesmazáno" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Maže se soubor „%s“" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Maže se soubor „%s“" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# spustitelný návod" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (vestavÄ›ný):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (z „%s“, řádek %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -151,65 +151,65 @@ "\n" "# Adresáře\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: nebylo možné nad ním zavolat stat().\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (klÃ­Ä %s, Äas zmÄ›ny obsahu %ull): nebylo možné otevřít.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (klÃ­Ä %s, Äas zmÄ›ny obsahu %d): nebylo možné otevřít.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (zařízení %d, iuzel [%d,%d,%d]): nebylo možné otevřít.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (zařízení %ld, iuzel %ld): nebylo možné otevřít.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (klÃ­Ä %s, Äas zmÄ›ny obsahu %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (klÃ­Ä %s, Äas zmÄ›ny obsahu %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (zařízení %d, iuzel [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (zařízení %ld, iuzel %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Žádný" # TODO: Pluralize -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " souborů, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "žádný " # TODO: Pluralize -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " nemožností " -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " zatím." # TODO: Pluralize -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " nemožností v %lu adresářích.\n" @@ -219,155 +219,155 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Rekurzivní promÄ›nná „%s“ odkazuje na sebe (nakonec)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "neukonÄený odkaz na promÄ›nnou" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Návod byl urÄen pro soubor „%s“ v %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "Návod pro soubor „%s“ byl nalezen hledáním implicitních pravidel," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "ale „%s“ se nyní považuje za soubor totožný s „%s“." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "Návod pro „%s“ bude ignorován ve prospÄ›ch návodu pro „%s“." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "„%s“ s jednoduchou dvojteÄkou nelze pÅ™ejmenovat na „%s“ s dvojitou dvojteÄkou" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" "„%s“ s dvojitou dvojteÄkou nelze pÅ™ejmenovat na „%s“ s jednoduchou dvojteÄkou" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "Maže se mezilehlý soubor „%s“ " -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Odstraňují se mezilehlé soubory…\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Aktuální Äas" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: ÄŒasový údaj mimo rozsah, nahrazuje se %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Není cílem:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Cenný soubor (prerekvizita k .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# FaleÅ¡ný cíl (prerekvizita k .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Cíl příkazové řádky." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Default, MAKEFILES nebo -include/sinclude makefile." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# VestavÄ›né pravidlo" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Hledalo se za pomoci implicitních pravidel." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Nehledalo se za pomoci implicitních pravidel." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# KoÅ™en implicitního/statického vzoru: „%s“\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Soubor je mezilehlá prerekvizita." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Rovněž vyrábí:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# ÄŒas zmÄ›ny obsahu se nikdy nekontroluje." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Soubor neexistuje." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Soubor je velmi starý." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Obsah naposledy zmÄ›nÄ›n v %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Soubor byl aktualizován." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Soubor nebyl aktualizován." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Návod se právÄ› vykonává (TOTO JE CHYBA)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Návod pro závislosti se právÄ› vykonává (TOTO JE CHYBA)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# ÚspěšnÄ› aktualizováno." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Je tÅ™eba aktualizovat (-q je nastaveno)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Aktualizace selhala." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Neplatná hodnota v Älenu „command_state“!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -375,7 +375,7 @@ "\n" "# Soubory" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -385,123 +385,106 @@ "# Statistika haÅ¡ovací tabulky souborů:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Položka „%s“ není v keÅ¡i: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "neÄíselný první argument funkce „word“" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "první argument funkce „word“ musí být vetší než 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "neÄíselný první argument funkce „wordlist“" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "neÄíselný druhý argument funkce „wordlist“" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(vstup) selhalo (chyba=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "" "windows32_openpipe: DuplicateHandle(chybový výstup) selhalo (chyba=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() selhalo (chyba=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() selhalo\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "DoÄasný dávkový soubor %s se uklízí\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "soubor: chybí název souboru" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "otevÅ™ení: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "zápis: %s: %s" -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "zavÅ™ení: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "soubor: příliÅ¡ mnoho argumentů" +msgid "Invalid file operation: %s" +msgstr "Neplatná operace na souboru: %s" -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "Ätení: %s: %s" - -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "soubor: neplatná operace na souboru: %s" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "nedostateÄný poÄet argumentů (%d) funkce „%s“" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "na této platformÄ› neimplementováno: funkce „%s“" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "neukonÄené volání funkce „%s“: chybí „%c“" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Prázdný název funkce" +msgstr "Prázdný název funkce\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Neplatný název funkce: %s" +msgstr "Neplatný název funkce: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Název funkce je příliÅ¡ dlouhý: %s" +msgstr "Název funkce je příliÅ¡ dlouhý: %s\n" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Neplatný minimální poÄet argumentů (%u) funkce %s" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Neplatný maximální poÄet argumentů (%u) funkce %s" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Neplatný minimální poÄet argumentů (%d) funkce %s\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "Neplatný maximální poÄet argumentů (%d) funkce %s\n" #: getopt.c:659 #, c-format @@ -599,7 +582,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Hledá se implicitní pravidlo prvku archivu pro „%s“.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Zabraňuje se rekurzi implicitního pravidla.\n" @@ -643,78 +626,102 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Hledá se pravidlo s mezilehlým souborem „%s“.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "DoÄasný soubor nelze vytvoÅ™it\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (obraz pamÄ›ti uložen)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (ignorováno)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: návod pro cíl „%s“ selhal" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Chyba %d%s" + +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Chyba 0x%x%s" + +#: job.c:529 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Chyba %d%s" +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" -#: job.c:599 +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** ÄŒeká se na nedokonÄené úlohy…" -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Živý potomek %p (%s) PID %s %s\n" # Continuation of Live child -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (vzdálený)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Uklízí se prohrávající potomek %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Uklízí se vyhrávající potomek %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Uklízí se doÄasný dávkový soubor %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Úklid doÄasného dávkového souboru %s selhal (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Z řetÄ›zce se odstraňuje potomek %p PID %s%s.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "uvolnÄ›ní semaforu správce úloh: (Chyba %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "UvolnÄ›n token pro potomka %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "zápis správce úloh" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() nedokázala spustit proces (chyba=%ld)\n" # FIXME: Pluralize -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -723,93 +730,97 @@ "\n" "NapoÄítáno %d argumentů v selhaném spuÅ¡tÄ›ní\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Do Å™etÄ›zce se pÅ™idává potomek %p (%s) PID %s%s.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "Äekání na semafor nebo potomka: (Chyba %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Získán token pro potomka %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "Ätení z roury úloh" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: cíl „%s“ neexistuje" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: aktualizovat cíl „%s“ potÅ™ebný pro %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "na tomto operaÄním systému nelze vynutit omezení zátěže" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "omezení zátěže nelze vynutit: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "nedostatek deskriptorů souboru: standardní vstup nelze zduplikovat\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "nedostatek deskriptorů souboru: standardní výstup nelze zduplikovat\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "nedostatek deskriptorů souboru: chybový výstup nelze zduplikovat\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Standardní vstup nelze obnovit\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Standardní výstup nelze obnovit\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Chybový výstup nelze obnovit\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make uklidil potomka s PID %s, stále se Äeká na PID %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Příkaz nenalezen\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Příkaz nenalezen\n" +msgid "%s: Command not found" +msgstr "%s: Příkaz nenalezen" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Program shellu nenalezen" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: možná byl vyÄerpán prostor pro prostÅ™edí" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "PromÄ›nná $SHELL se zmÄ›nila (byla „%s“, nyní je „%s“)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Vytváří se doÄasný dávkový soubor %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -817,7 +828,7 @@ "Obsah dávkového souboru:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -826,7 +837,7 @@ "Obsah dávkového souboru:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (řádek %d) Chybný kontext shellu (!unixy && !batch_mode_shell)\n" @@ -856,28 +867,28 @@ msgid "Empty symbol name for load: %s" msgstr "Pokus zavést prázdný název symbolu: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Zavádí se symbol %s z %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "Na této platformÄ› není operace zavedení (load) podporována." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "PÅ™epínaÄe:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignoruje se kvůli kompatibilitÄ›.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make BezpodmíneÄnÄ› vyrobí vÅ¡echny cíle.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -885,17 +896,17 @@ " -C ADRESÃŘ, --directory=ADRESÃŘ\n" " PÅ™ed dÄ›láním Äehokoliv se pÅ™epne do ADRESÃŘE.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d Vypisuje mnoho ladicích údajů.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=PŘÃZNAKY] Vypisuje ladicí údaje rozliÄných druhů.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -903,12 +914,12 @@ " -e, --environment-overrides\n" " PromÄ›nné prostÅ™edí pÅ™ebijí ty z makefilu.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr " --eval=ŘETÄšZEC Vyhodnotí ŘETÄšZEC jako kód makefilu.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -916,15 +927,15 @@ " -f SOUBOR, --file=SOUBOR, --makefile=SOUBOR\n" " NaÄte SOUBOR coby makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Vypíše tuto zprávu a skonÄí.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Ignoruje chyby z návodů.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -932,7 +943,7 @@ " -I ADRESÃŘ, --include-dir=ADRESÃŘ\n" " Vložené makefily hledá v ADRESÃŘI.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -940,13 +951,13 @@ " -j [N], --jobs[=N] Dovolí nejvíce N úloh najednou;\n" " nekoneÄno úloh bez argumentu.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going PokraÄuje, když nÄ›které cíle nelze vyrobit.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -956,7 +967,7 @@ " NespouÅ¡tí souběžné úlohy, dokud zátěž\n" " neklesne pod N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -964,7 +975,7 @@ " -L, --check-symlink-times Použije nejnovÄ›jší Äas zmÄ›ny obsahu z Äasů\n" " symbolických odkazů a cíle.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -974,7 +985,7 @@ " Ve skuteÄnosti nevykoná žádný návod, pouze\n" " jej vypíše.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -984,7 +995,7 @@ " Považuje SOUBOR za velmi starý a znovu jej\n" " nevyrobí.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -993,11 +1004,11 @@ " Synchronizuje výstup souběžných úloh podle " "DRUHU.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base Vypíše vnitÅ™ní databázi programu make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -1005,19 +1016,19 @@ " -q, --question Nespustí žádný návod. Návratový kód Å™ekne,\n" " jestli je aktuální.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules Vypne vestavÄ›ná implicitní pravidla.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables Vypne vestavÄ›né nastavení promÄ›nných.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Neopisuje návod.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1025,32 +1036,32 @@ " -S, --no-keep-going, --stop\n" " Vypne -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr " -t, --touch Namísto výroby cílů jim zmÄ›ní Äas.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Vypisuje trasovací údaje.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Vypíše Äíslo verze programu make a skonÄí.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Vypisuje aktuální adresář.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr "" " --no-print-directory Vypne -w, i kdyby byl zapnut implicitnÄ›.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1058,7 +1069,7 @@ " -W SOUBOR, --what-if=SOUBOR, --new-file=SOUBOR, --assume-new=SOUBOR\n" " Považuje SOUBOR za nekoneÄnÄ› nový.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1066,26 +1077,26 @@ " --warn-undefined-variables Upozorní, kdykoliv je odkazováno na\n" " nedefinovanou promÄ›nnou.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "prázdný Å™etÄ›zec není platný název souboru" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "zadána neznámá úroveň ladÄ›ní „%s“" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "neznámý druh synchronizace výstupu „%s“" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Zachyceno pÅ™eruÅ¡ení/výjimka (kód = 0x%lx, adresa = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1100,135 +1111,179 @@ "Příznaky výjimky = %lx\n" "Adresa výjimky = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "PoruÅ¡ení přístupu: operace zápisu na adrese 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "PoruÅ¡ení přístupu: operace Ätení na adrese 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() nastavuje default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" "find_and_set_shell() pÅ™i prohledávání cesty nastavila default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s se uspí na 30 sekund…" -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) dokonÄeno. PokraÄuje se.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"pozor: správce úloh není dostupný: použije se -j1. Do nadřízeného pravidla " -"maku pÅ™idejte „+“." +"vnitÅ™ní chyba: nelze otevřít semafor správce úloh „%s“: (Chyba %ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Klient správce úloh (semafor %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "vnitÅ™ní chyba: neplatný Å™etÄ›zec --jobserver-fds „%s“" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Klient správce úloh (deskriptory %d,%d)\n" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "pozor: -jN vnuceno podřízenému maku: režim správce úloh se vypíná." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "služba dup() nad správcem úloh" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"pozor: správce úloh není dostupný: použije se -j1. Do nadřízeného pravidla " +"maku pÅ™idejte „+“." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile na standardním vstupu uveden dvakrát." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (doÄasný soubor)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (doÄasný soubor)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Na této platformÄ› nejsou paralelní úlohy (-j) podporovány." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Návrat k jednoúlohovému režimu (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Místa ve správci úloh jsou omezena na %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "vytváření semaforu správce úloh: (Chyba %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "vytváření roury úloh" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "inicializace roury správce úloh" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Symbolické odkazy nejsou podporovány: vypíná se -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Soubory makefile se aktualizují…\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Makefile „%s“ může cyklit, nebude znovu vyroben.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Výroba nového makefilu „%s“ selhala." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Vložený makefile „%s“ nebyl nalezen." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Makefile „%s“ nebyl nalezen" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Nebylo možné se vrátit do původního adresáře." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Znovu se spouÅ¡tí [%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (doÄasný soubor): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL obsahuje více než jeden cíl" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Nezadány žádné cíle a žádné makefily nenalezeny" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Žádné cíle" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Aktualizují se cíle…\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "pozor: ZjiÅ¡tÄ›n posun hodin. VaÅ¡e sestavení možná nebude úplné." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Použití: %s [PŘEPÃNAÄŒE] [CÃLE]…\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1237,7 +1292,7 @@ "\n" "Tento program byl sestaven pro %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1246,34 +1301,34 @@ "\n" "Tento program byl sestaven pro %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" "Chyby v programu hlaste anglicky na . Nedostatky\n" "v pÅ™ekladu hlaste Äesky na .\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "pÅ™epínaÄe „%s%s“ vyžaduje neprázdný Å™etÄ›zcový argument" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "pÅ™epínaÄ â€ž-%c“ vyžaduje kladný celoÄíselný argument" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sSestaveno pro %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%s Sestaveno pro %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "VESTAVÄšNà CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Neznámý vestavÄ›ný příkaz „%s“\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Chyba, prázdný příkaz\n" -#: vmsjobs.c:1228 +#: vmsjobs.c:674 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Redirected input from %s\n" +msgstr "Vstup pÅ™esmÄ›rován z %s\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Chyby pÅ™esmÄ›rovány do %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Výstup pÅ™ipojen k %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Výstup pÅ™esmÄ›rován do %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "PÅ™ipojit %.*s a uklidit\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Místo toho se spustí %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Chyba oddÄ›lení podprocesu, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2165,12 +2236,12 @@ "\n" "# Vyhledávací cesty VPATH\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Žádné vyhledávací cesty „vpath“." # FIXME: Pluralize -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2179,7 +2250,7 @@ "\n" "$ Vyhledávacích cest „vpath“: %u\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2187,7 +2258,7 @@ "\n" "# Žádná obecná vyhledávací cesta (promÄ›nná „VPATH“)." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2197,83 +2268,6 @@ "# Obecná vyhledávací cesta (promÄ›nná „VPATH“):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Místa ve správci úloh jsou omezena na %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "vytváření semaforu správce úloh: (Chyba %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"vnitÅ™ní chyba: nelze otevřít semafor správce úloh „%s“: (Chyba %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Klient správce úloh (semafor %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "uvolnÄ›ní semaforu správce úloh: (Chyba %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "Äekání na semafor nebo potomka: (Chyba %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: návod pro cíl „%s“ selhal" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Chyba 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "služba dup() nad správcem úloh" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Pozor: Prázdné pÅ™esmÄ›rování\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "vnitÅ™ní chyba: command_state pro „%s“" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "VESTAVÄšNà [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "VESTAVÄšNà PŘÃKAZ ECHO %s → %s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Neznámý vestavÄ›ný příkaz „%s“\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "VestavÄ›ný příkaz není v ONESHELL znám nebo podporován: „%s“\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Chyba, prázdný příkaz\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Vstup pÅ™esmÄ›rován z %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Chyby pÅ™esmÄ›rovány do %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Výstup pÅ™esmÄ›rován do %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Chyba oddÄ›lení podprocesu, %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "vnitÅ™ní chyba: více pÅ™epínaÄů --sync-mutex" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/da.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/da.gmo differ diff -Nru make-dfsg-4.2.1/po/da.po make-dfsg-4.1/po/da.po --- make-dfsg-4.2.1/po/da.po 2016-06-10 23:03:35.000000000 +0000 +++ make-dfsg-4.1/po/da.po 2016-01-16 10:25:59.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: make 3.82\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2011-01-05 02:26+0100\n" "Last-Translator: Ask Hjorth Larsen \n" "Language-Team: Danish \n" @@ -47,83 +47,83 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: Forkert returkode fra ar_member_touch pÃ¥ '%s'" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module() kunne ikke udtrække modulinformation, status = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() fejlede med status = %d" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "kan ikke Ã¥bne biblioteket '%s' for at søge medlemmet '%s'" -#: arscan.c:965 +#: arscan.c:944 #, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Medlem '%s'%s: %ld byte ved %ld (/%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (navnet kan være forkortet)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Tidsstempel %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, modus = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Afbrydelse.\n" -#: commands.c:627 +#: commands.c:629 #, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Arkivmedlemmet '%s' er mÃ¥ske falsk; ikke slettet" -#: commands.c:631 +#: commands.c:633 #, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Arkivmedlemmet '%s' er mÃ¥ske falsk; ikke slettet" -#: commands.c:645 +#: commands.c:647 #, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Sletter filen '%s'" -#: commands.c:647 +#: commands.c:649 #, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** Sletter filen '%s'" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# kommandoer der skal køres" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (indbyggede):" -#: commands.c:688 +#: commands.c:690 #, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (fra '%s', linje %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -131,62 +131,62 @@ "\n" "# Filkataloger\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: kunne ikke undersøges med stat.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (nøgle %s, mtime %d): kunne ikke Ã¥bnes.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (enhed %d, inode [%d,%d,%d]): kunne ikke Ã¥bnes.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (enhed %ld, inode %ld): kunne ikke Ã¥bnes.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (nøgle %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (enhed %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (enhed %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Ingen" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " filer, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "ingen" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " umuligheder" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " indtil videre." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " umuligheder i %lu kataloger.\n" @@ -196,157 +196,157 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Rekursiv variabel '%s' refererer (i sidste ende) til sig selv" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "uafsluttet variabelreference" -#: file.c:278 +#: file.c:271 #, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Kommandoer blev angivet for filen '%s' i %s:%lu," -#: file.c:283 +#: file.c:276 #, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "Kommandoer for filen '%s' blev fundet ved implicit regelsøgning," -#: file.c:287 +#: file.c:280 #, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "men '%s' bliver nu anset som samme fil som '%s'." -#: file.c:290 +#: file.c:283 #, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "Kommandoer for '%s' vil blive ignoreret til fordel for de for '%s'." -#: file.c:310 +#: file.c:303 #, fuzzy, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "kan ikke ændre enkelt-kolon '%s' til dobbelt-kolon '%s'" -#: file.c:316 +#: file.c:309 #, fuzzy, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "kan ikke ændre dobbelt-kolon '%s' til enkelt-kolon '%s'" -#: file.c:408 +#: file.c:401 #, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Sletter mellemfil '%s'" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Sletter mellemfiler ...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Aktuel tid" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Tidsstempel i forkert omrÃ¥de; bruger %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Ikke et mÃ¥l:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Værdifuld fil (forudsætning for .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Falsk mÃ¥l (forudsætning for .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# KommandolinjemÃ¥l." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Et forvalg, MAKEFILES, eller -include/sinclude makefile." -#: file.c:975 +#: file.c:968 #, fuzzy msgid "# Builtin rule" msgstr "" "\n" "# Ingen implicitte regler." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Der er udført implicit regelsøgning." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Der er ikke udført implicit regelsøgning." -#: file.c:980 +#: file.c:973 #, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Implicit/statisk mønsterstamme: '%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Filen er en mellemfil." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Skaber ogsÃ¥:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Ændringstid ikke tjekket." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Filen findes ikke." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Filen er meget gammel." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Sidst ændret %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Filen er blevet opdateret." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Filen er ikke blevet opdateret." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Der køres kommandoer nu (DETTE ER EN FEJL)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Kommandoer for afhængigheder køres nu (DETTE ER EN FEJL)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Opdateret med godt resultat." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Behøver opdatering (-q er sat)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Opdatering mislykkedes." -#: file.c:1032 +#: file.c:1025 #, fuzzy msgid "# Invalid value in 'command_state' member!" msgstr "# Ugyldig værdi i 'command_state'-felt!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -354,7 +354,7 @@ "\n" "# Filer" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -364,125 +364,107 @@ "# Statistik for fil-hash-spande:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 #, fuzzy msgid "non-numeric first argument to 'word' function" msgstr "ikke-numerisk første argument til 'word'-funktionen" -#: function.c:795 +#: function.c:785 #, fuzzy msgid "first argument to 'word' function must be greater than 0" msgstr "første argument til 'word'-functionen skal være større end 0" -#: function.c:815 +#: function.c:805 #, fuzzy msgid "non-numeric first argument to 'wordlist' function" msgstr "ikke-numerisk første argument til 'wordlist'-funktionen" -#: function.c:817 +#: function.c:807 #, fuzzy msgid "non-numeric second argument to 'wordlist' function" msgstr "ikke-numerisk andet argument til 'wordlist'-funktionen" -#: function.c:1525 +#: function.c:1499 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe(): DuplicateHandle(In) mislykkedes (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_open_pipe(): DuplicateHandle(Err) mislykkedes (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() mislykkedes (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() mislykkedes\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Afrydder midlertidig batchfil %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, fuzzy, c-format msgid "open: %s: %s" msgstr "%s: %s" -#: function.c:2227 +#: function.c:2203 #, fuzzy, c-format msgid "write: %s: %s" msgstr "skrivefejl: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "%s%s: %s" - -#: function.c:2243 -msgid "file: too many arguments" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "%s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "%s: ugyldigt tilvalg -- %c\n" - -#: function.c:2390 +#: function.c:2324 #, fuzzy, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'" -#: function.c:2402 +#: function.c:2336 #, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" msgstr "ikke implementeret pÃ¥ denne platform: funktion '%s'" -#: function.c:2466 +#: function.c:2399 #, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "uafsluttet kald til funktionen '%s'; manglende '%c'" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "utilstrækkeligt antal argumenter (%d) til funktionen '%s'" #: getopt.c:659 @@ -580,7 +562,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Kigger efter en implicit arkivmedlemsregel for '%s'.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "UndgÃ¥r rekursion i implicitte regler.\n" @@ -624,78 +606,102 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Kigger efter en regel med mellemfil '%s'.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Kan ikke oprette midlertidig fil\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (core-fil efterladt)" -#: job.c:490 +#: job.c:488 #, fuzzy msgid " (ignored)" msgstr "[%s] Fejl %d (ignoreret)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 #, fuzzy msgid "" msgstr " (indbyggede):" -#: job.c:510 +#: job.c:503 +#, fuzzy, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "advarsel: tilsidesætter kommandoer for mÃ¥l '%s'" + +#: job.c:516 job.c:524 #, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s[%s] Error %d%s" msgstr "*** [%s] Fejl %d" -#: job.c:599 +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] Fejl 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Venter pÃ¥ uafsluttede job...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Levende underproces %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (eksternt)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Høster tabende underproces %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Høster vindende underproces %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Afrydder midlertidig jobfil %s\n" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Afrydder midlertidig jobfil %s\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Fjerner underproces %p PID %s%s fra kæde.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Frigav symbol for underproces %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "write jobserver" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() fejlede ved igangsætning af proces (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -704,95 +710,99 @@ "\n" "Talte %d argumenter i fejlet igangsætning\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Sætter underproces %p (%s) PID %s%s pÃ¥ kæden.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Fik symbol for underproces %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "read jobs pipe" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "touch: Arkivet '%s' findes ikke" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "%sIngen regel til at skabe mÃ¥l '%s' som behøves af '%s'%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "kan ikke gennemtvinge belastningsgrænser pÃ¥ dette styrestystem" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "kan ikke gennemtvinge belastningsgrænse: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "ikke flere filhÃ¥ndtag: Kunne ikke duplikere stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "ikke flere filhÃ¥ndtag: Kunne ikke duplikere stdout\n" -#: job.c:2074 +#: job.c:2278 #, fuzzy msgid "no more file handles: could not duplicate stderr\n" msgstr "ikke flere filhÃ¥ndtag: Kunne ikke duplikere stdin\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Kunne ikke gendanne stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Kunne ikke gendanne stdout\n" -#: job.c:2105 +#: job.c:2309 #, fuzzy msgid "Could not restore stderr\n" msgstr "Kunne ikke gendanne stdin\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make høstede underproces med pid %s, venter endnu pÃ¥ pid %s\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: Kommando ikke fundet" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: Kommando ikke fundet" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s; Skalprogram ikke fundet" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: miljøplads er mÃ¥ske opbrugt" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL ændret (var '%s', nu '%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Opretter midlertidig jobfil %s\n" -#: job.c:3030 +#: job.c:3206 #, fuzzy msgid "" "Batch file contents:\n" @@ -801,7 +811,7 @@ "Indhold af batchfil:%s\n" "\t%s\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -810,7 +820,7 @@ "Indhold af batchfil:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (linje %d) Forkert skal-kontekst (!unixy && !batch_mode_shell)\n" @@ -839,29 +849,29 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr "Parallelle job (-j) er ikke understøttet pÃ¥ denne platform." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Tilvalg:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignoreret af hensyn til kompabilitet.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make Skab alle mÃ¥l betingelsesløst.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -869,19 +879,19 @@ " -C KATALOG, --directory=KATALOG\n" " Skift allerførst til KATALOG.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d Udskriv en masse fejlsøgningsinformation.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=FLAG] Udskriv forskellige slags " "fejlsøgningsinformation.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -889,13 +899,13 @@ " -e, --environment-overrides\n" " Miljøvariable har forrang for makefiler.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=STRENG Evaluér STRENG som en makefil-erklæring.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -903,15 +913,15 @@ " -f FIL, --file=FIL, --makefile=FIL\n" " Læs FIL som en makefil.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Udskriv denne besked og afslut.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Ignorér fejl fra kommandoer.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -919,7 +929,7 @@ " -I KATALOG, --include-dir=KATALOG\n" " Søg i KATALOG efter inkluderede makefiler.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -927,13 +937,13 @@ " -j [N], --jobs[=N] Tillad N samtidige job; uendelig mange job " "uden argument.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Fortsæt selvom nogen mÃ¥l ikke kan skabes.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -943,7 +953,7 @@ " Start ikke flere job medmindre belastningen er " "under N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -951,7 +961,7 @@ " -L, --check-symlink-times Brug sidste mtime mellem symbolske lænker og " "mÃ¥l.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -961,7 +971,7 @@ " Udfør ikke nogen kommandoer; udskriv dem " "bare.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -971,17 +981,17 @@ " Anse FIL som værende meget gammel og genskab " "den ikke.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base Udskriv makes interne database.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -990,20 +1000,20 @@ "angiver\n" " om mÃ¥let er tidssvarende.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules SlÃ¥ de indbyggede implicitte regler fra.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables SlÃ¥ de indbyggede variabelværdier fra.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Udskriv ikke kommandoer.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1011,27 +1021,27 @@ " -S, --no-keep-going, --stop\n" " SlÃ¥r -k fra.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Berør mÃ¥l i stedet for at genskabe dem.\n" -#: main.c:398 +#: main.c:373 #, fuzzy msgid " --trace Print tracing information.\n" msgstr "" " -d Udskriv en masse fejlsøgningsinformation.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version Udskriv makes versionnummer og afslut.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Udskriv det aktuelle katalog.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1039,7 +1049,7 @@ " --no-print-directory SlÃ¥ -w fra, selv hvis det var slÃ¥et til " "automatisk.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1047,33 +1057,33 @@ " -W FIL, --what-if=FIL, --new-file=FIL, --assume-new=FIL\n" " Anse FIL som værende nyskabt.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" " --warn-undefined-variables Advar nÃ¥r en udefineret variabel bruges.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "en tom streng er ugyldig som filnavn" -#: main.c:766 +#: main.c:737 #, fuzzy, c-format msgid "unknown debug level specification '%s'" msgstr "ukendt fejlsøgningsniveau-specifikation '%s'" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Afbrydelse/undtagelse fanget (kode = 0x%lx, addr = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1088,37 +1098,68 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Adgangskrænkelse: skriveoperation pÃ¥ adresse 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Adgangskrænkelse: læseoperation pÃ¥ adresse 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() sætter default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell()-stisøgning sætter default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s er standset i 30 sekunder..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "udført sleep(30). Fortsætter.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format +msgid "" +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +# fd = fildeskriptor +#: main.c:1530 +#, fuzzy, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Jobserverklient (fd'er %d,%d)\n" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "intern fejl: ugyldig '--jobserver-fds'-streng '%s'" + +# fd = fildeskriptor +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Jobserverklient (fd'er %d,%d)\n" + +#: main.c:1551 +msgid "warning: -jN forced in submake: disabling jobserver mode." +msgstr "advarsel: tvunget -jN i undermake: slÃ¥r jobserver tilstand fra." + +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup jobserver" + +#: main.c:1570 #, fuzzy msgid "" "warning: jobserver unavailable: using -j1. Add '+' to parent make rule." @@ -1126,97 +1167,112 @@ "advarsel: jobserver ikke tilgængelig: bruger -j1. Tilføj '+' til " "ophavsmakeregel." -#: main.c:1635 -msgid "warning: -jN forced in submake: disabling jobserver mode." -msgstr "advarsel: tvunget -jN i undermake: slÃ¥r jobserver tilstand fra." - -#: main.c:1805 +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefil fra standard-ind er angivet to gange." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (midlertidig fil)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (midlertidig fil)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Parallelle job (-j) er ikke understøttet pÃ¥ denne platform." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Sætter tilbage til enkelt job-tilstand (-j1)." -#: main.c:2088 +# fd = fildeskriptor +#: main.c:1994 +#, fuzzy, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Jobserverklient (fd'er %d,%d)\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "oprettelse af jobledning" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "klargøring af jobserver-ledning" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Symbolske lænker understøttes ikke: Deaktiverer -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Opdaterer makefiler....\n" -#: main.c:2195 +#: main.c:2158 #, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Makefilen '%s' fÃ¥r mÃ¥ske make til at gÃ¥ i ring; genskaber den ikke.\n" -#: main.c:2279 +#: main.c:2237 #, fuzzy, c-format msgid "Failed to remake makefile '%s'." msgstr "Genskabelse af makefilen '%s' mislykkedes." -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr "Inkluderet makefil '%s' blev ikke fundet." -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "Makefil '%s' blev ikke fundet." -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Kunne ikke skifte tilbage til det originale katalog." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Udfører igen[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (midlertidig fil): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL indeholder mere end et mÃ¥l" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Ingen angivne mÃ¥l og ingen makefil fundet" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Ingen mÃ¥l" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Opdaterer endemÃ¥l....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "advarsel: Fejl i urets tid opdaget. Din bygning kan være ukomplet." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Brug: %s [tilvalg] [mÃ¥l] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1225,7 +1281,7 @@ "\n" "Dette program er bygget til %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1234,32 +1290,32 @@ "\n" "Dette program er bygget til %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Send fejlmeldinger (pÃ¥ engelsk) til .\n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "'-%s%s'-tilvalget kræver et strengargument, der ikke er tomt" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "'-%c'-tilvalget kræver et positivt heltalligt argument" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sBygget til %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sBygget til %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "BUILTIN CD %s\n" + +#: vmsjobs.c:505 #, c-format -msgid "DCL: %s\n" +msgid "Unknown builtin command '%s'\n" +msgstr "Ukendt indbygget kommando '%s'\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Fejl, tom kommando\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Omdirigeret inddata from %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Omdirigeret fejl to %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Tilføj uddata til slutningen af %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Omdirigeret uddata til %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Tilføj %.*s og ryd op\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Udfører i stedet %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Fejl ved spawn, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2157,12 +2221,12 @@ "\n" "# VPATH-søgestier\n" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr "# Ingen 'vpath'-søgestier." -#: vpath.c:622 +#: vpath.c:602 #, fuzzy, c-format msgid "" "\n" @@ -2171,7 +2235,7 @@ "\n" "# %u 'vpath'-søgestier.\n" -#: vpath.c:625 +#: vpath.c:605 #, fuzzy msgid "" "\n" @@ -2180,7 +2244,7 @@ "\n" "# Ingen generel ('VPATH'-variabel) søgesti." -#: vpath.c:631 +#: vpath.c:611 #, fuzzy msgid "" "\n" @@ -2191,48 +2255,12 @@ "# Generel ('VPATH'-variabel) søgesti:\n" "# " -# fd = fildeskriptor -#: w32/w32os.c:46 -#, fuzzy, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Jobserverklient (fd'er %d,%d)\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -# fd = fildeskriptor -#: w32/w32os.c:84 -#, fuzzy, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Jobserverklient (fd'er %d,%d)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Ugyldig værdi i 'update_status'-felt!" #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] Fejl 0x%x (ignoreret)" -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] Fejl 0x%x" - #~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n" #~ msgstr "Kører kommandoer fra %s:%lu for at opdatere mÃ¥let '%s'.\n" @@ -2242,9 +2270,6 @@ #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "intern fejl: flere '--jobserver-fds'-tilvalg" -#~ msgid "dup jobserver" -#~ msgstr "dup jobserver" - #~ msgid "virtual memory exhausted" #~ msgstr "virtuel hukommelse opbrugt" @@ -2263,36 +2288,9 @@ #~ "# statistik for strcache-hashtabeller:\n" #~ "# " -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Advarsel: Tom omdirigering\n" - -#~ msgid "internal error: `%s' command_state" -#~ msgstr "intern fejl: '%s' command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "BUILTIN [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "BUILTIN RM %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Ukendt indbygget kommando '%s'\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Fejl, tom kommando\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Omdirigeret inddata from %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Omdirigeret fejl to %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Omdirigeret uddata til %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Fejl ved spawn, %d\n" - #~ msgid "Syntax error, still inside '\"'\n" #~ msgstr "Syntaksfejl, stadig inden i '\"'\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/de.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/de.gmo differ diff -Nru make-dfsg-4.2.1/po/de.po make-dfsg-4.1/po/de.po --- make-dfsg-4.2.1/po/de.po 2016-06-10 23:03:35.000000000 +0000 +++ make-dfsg-4.1/po/de.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ # German message translation file for GNU make -# Copyright © 1996, 1997, 2002, 2013, 2016 Free Software Foundation, Inc. +# Copyright © 1996, 1997, 2002, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. -# Philipp Thomas 2013, 2016 +# Philipp Thomas 2013 # Karl Eichwalder , 2002, 2005. # Alexander Mader , 2000. # Alexander Mader , 1997. @@ -14,10 +14,10 @@ # msgid "" msgstr "" -"Project-Id-Version: make 4.1.90\n" +"Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-04-25 09:47+0200\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-11 12:22+0200\n" "Last-Translator: Philipp Thomas \n" "Language-Team: German \n" "Language: de\n" @@ -58,87 +58,87 @@ "touch: Ungültiger Rückgabewert beim Zugriff \n" "von ar_member_touch auf „%s“" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "„lbr$set_module()“ konnte keine Modulinformation auslesen; Status = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "„lbr$ini_control()“ scheiterte mit Status = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "" -"Die Bibliothek „%s“ konnte nicht geöffnet werden um nach Eintragsstatus %d " -"zu suchen" +"Konnte die Bibliothek „%s“ nicht öffnen um nach Eintrag\n" +"„%s“ zu suchen" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "" "Eintrag „%s“ %s: \n" "%ld Bytes an Position %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (der Name ist möglicherweise abgeschnitten)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Datum %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " Nutzer-ID = %d, Gruppen-ID = %d, Modus = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Die Regel hat zu viele Zeilen (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Abbruch.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Archiveintrag „%s“ ist möglicherweise falsch; nicht gelöscht" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Archiveintrag „%s“ ist möglicherweise falsch; nicht gelöscht" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Datei „%s“ wird gelöscht" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Datei „%s“ wird gelöscht" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# Auszuführende Regel" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (eingebaut):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (aus „%s“, Zeile %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -146,68 +146,68 @@ "\n" "# Verzeichnisse\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: Status konnte nicht festgestellt werden.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "" "# %s ( Schlüssel (key) %s, letzte Änderung (mtime) %d): \n" "Konnte nicht geöffnet werden.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "" "# %s (Gerät %d, Inode [%d,%d,%d]): \n" "Konnte nicht geöffnet werden.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "" "# %s (Gerät %ld, Inode %ld): \n" "Konnte nicht geöffnet werden.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (Schlüssel (key) %s, letzte Änderung (mtime) %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (Gerät %d, Inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (Gerät %ld, Inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Keine" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " Dateien, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "keine" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " Unmöglichkeiten" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " bisher." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " Unmöglichkeiten in %lu Verzeichnissen.\n" @@ -217,163 +217,163 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Rekursive Variable „%s“ referenziert sich (schließlich) selbst" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "Nicht abgeschlossene Variablenreferenz" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Die Regel für die Datei „%s“ wurde in %s angegeben:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" "Die Regel für die Datei „%s“ wurden aufgrund \n" "der Suche nach impliziten Regeln gefunden," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "" "aber „%s“ wird jetzt als dieselbe Datei \n" "wie „%s“ betrachtet." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" "Die Regel für „%s“ wird ignoriert, \n" "die für „%s“ wird bevorzugt." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "„%s“ mit einfachem Doppelpunkt kann nicht in \n" "„%s“ mit doppeltem Doppelpunkt geändert werden" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" "„%s“ mit doppeltem Doppelpunkt kann nicht in \n" "„%s“ mit einfachem Doppelpunkt geändert werden" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Löschen der übergangsweise angelegten Datei „%s“" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Die übergangsweise angelegte Datei „%s“ wird gelöscht...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Aktuelle Zeit" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Zeitstempel außerhalb des Gültigkeitsbereichs; %s wird ersetzt" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Dies ist kein Ziel:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Wertvolle Datei (benötigt von .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Vorgetäuschtes Ziel (benötigt von .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Kommandozeilen-Ziel (target)." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Eine standardmässige, MAKEFILES oder -include/sinclude Makedatei." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Eingebaute Regel" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Die Suche nach impliziten Regeln wurde durchgeführt." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Die Suche nach impliziten Regeln wurde nicht durchgeführt." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Wurzel impliziter/statischer Muster: „%s“\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Datei ist ein Zwischenschritt in den Abhängigkeiten." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Erzeugt außerdem:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Zeit der letzten Änderung wurde nicht überprüft." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Die Datei existiert nicht." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Datei ist sehr alt." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Zuletzt geändert %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Datei wurde aktualisiert." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Datei wurde nicht aktualisiert." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Derzeit laufende Regel (DAS IST EIN FEHLER)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Derzeit läuft die Regel für Abhängigkeiten (DAS IST EIN FEHLER)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Erfolgreich aktualisiert." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Eine Aktualisierung ist notwendig (-q ist angegeben)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Aktualisierung ist fehlgeschlagen." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Ungültiger Wert im „command_state“-Strukturelement!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -381,7 +381,7 @@ "\n" "# Dateien" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -391,122 +391,105 @@ "# Statistik der Hash-Tabelle für Dateien:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Feld „%s“ wird nicht zwischengespeichert: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "Nicht-numerisches erstes Argument für die „word“-Funktion" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "Das erste Argument für die „word“-Funktion muss größer als 0 sein" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "Nicht-numerisches erstes Argument für die „wordlist“-Funktion" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "Nicht-numerisches zweites Argument zur „wordlist“-Funktion" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "„windows32_openpipe“: „DuplicateHandle(In)“ schlug fehl (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "„cwindows32_openpipe“: „DuplicateHandle(Err)“ schlug fehl (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "„CreatePipe()“ schlug fehl (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() schlug fehl\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Die temporäre Stapelverarbeitungsdatei %s wird gelöscht\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "Datei: fehlender Dateiname" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "Öffnen: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "Schreiben: %s: %s" -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "schließend: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "Datei: zu viele Argumente" - -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "Lesen: %s: %s" - -#: function.c:2275 +#: function.c:2209 #, c-format -msgid "file: invalid file operation: %s" +msgid "Invalid file operation: %s" msgstr "Unzulässige Dateioperation: %s" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "Zuwenig Argumente (%d) für die Funktion „%s“" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "Auf dieser Rechnerkonfiguration nicht implementiert: Funktion „%s“" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "Nicht beendeter Aufruf der Funktion „%s“: „%c“ fehlt" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Leerer Funktionsname" +msgstr "Leere Funktionsname\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Unzulässiger Funktionsname: %s" +msgstr "Unzulässiger Funktionsname: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Der Funktionsname ist zu lang: %s" +msgstr "Funktionsname is zu lang: %s\n" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Ungültige minimale Anzahl von Argumenten (%d) für die Funktion „%s“" +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Ungültige minimale Anzahl von Argumenten (%d) für die Funktion „%s“\n" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Ungülte maximale Anzahl an Argumenten (%d) für die Funktion „%s“" +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "Ungülte maximale Anzahl an Argumenten (%d) für die Funktion „%s“\n" #: getopt.c:659 #, c-format @@ -606,7 +589,7 @@ msgstr "" "Es wird nach einer impliziten Regel für Archiveinträge für „%s“ gesucht.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Rekursion in den impliziten Regeln wird vermieden.\n" @@ -652,76 +635,100 @@ "Es wird nach einer Regel mit der übergangsweise verwendeten Datei „%s“ " "gesucht.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Eine temporäre Datei kann nicht erzeugt werden\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (Speicherauszug erstellt)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (ignoriert)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: die Regel für Ziel „%s“ scheiterte" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Fehler %d%s" + +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Fehler 0x%x%s" + +#: job.c:529 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Fehler %d%s" +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" -#: job.c:599 +#: job.c:621 msgid "*** Waiting for unfinished jobs...." -msgstr "*** Es wird auf noch nicht beendete Prozesse gewartet...." +msgstr "*** Es wird auf noch nicht beendete Prozesse gewartet..." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Aktiver Kindprozess %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (entfernt)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Sammle erfolglosen Kindprozess %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Sammle erfolgreichen Kindprozess %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Lösche temporäre Stapelverarbeitungsdatei „%s“\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Löschen der temporären Stapelverarbeitungsdatei „%s“ scheiterte (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Entferne Kindprozess %p PID %s%s aus der Kette.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "Freigabe der Jobserver-Semaphore: (Fehler %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Token des Kindprozesses %p PID (%s) freigegeben.\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "Job-Server wird geschrieben" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "„process_easy()“ konnte den Prozess nicht starten (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -730,103 +737,107 @@ "\n" "%d Argumente gehörten zum fehlgeschlagenen Prozessstart\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Nehme Kindprozess %p (%s) PID %s%s in die Kette auf.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "warten auf Semaphore oder Kindprozess: (Fehler %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Token für den Kindprozess %p (%s) erhalten.\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "Lese Pipe für die Jobs" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: Archiv „%s“ existiert nicht" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: Ziel „%s“ wird aktualisiert wegen: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "" "Auf diesem Betriebssystem kann die Einhaltung\n" "der Lastbeschränkung nicht erzwungen werden" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "Lasteinschränkung kann nicht erzwungen werden: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" "Keine weiteren Dateireferenzen verfügbar: die Standardeingabe konnte\n" "nicht dupliziert werden\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" "Keine weiteren Dateireferenzen verfügbar: die Standardausgabe konnte\n" "nicht dupliziert werden\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" "Keine weiteren Dateireferenzen verfügbar: Standardfehler konnte\n" "nicht dupliziert werden\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Die Standardeingabe konnte nicht wieder hergestellt werden\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Die Standardausgabe konnte nicht wieder hergestellt werden\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Standardfehler konnte nicht wieder hergestellt werden\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" "„make“ registrierte die Beendigung des Kindprozesses mit ID %s,\n" "wartet jedoch noch auf den Prozess mit ID %s.\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Kommando nicht gefunden\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Befehl nicht gefunden\n" +msgid "%s: Command not found" +msgstr "%s: Kommando nicht gefunden" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Shell-Programm wurde nicht gefunden" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: der Platz in der Programmumgebung könnte erschöpft sein" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL gewechselt (war „%s“, ist jetzt „%s“)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Temporäre Stapelverarbeitungsdatei %s wird erstellt\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -834,7 +845,7 @@ "Inhalt der Stapelverarbeitungsdatei:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -843,7 +854,7 @@ "Inhalt der Stapelverarbeitungsdatei:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (Zeile %d) Falscher Shell-Kontext (!unixy && !batch_mode_shell)\n" @@ -873,29 +884,29 @@ msgid "Empty symbol name for load: %s" msgstr "Zu ladedender Symbolname ist leer: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Symbol %s wird aus %s geladen\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "Die Operation „load“ wird auf dieser Plattform nicht unterstützt." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Optionen:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr "" " -b, -m Wird aus Kompatibilitätsgründen ignoriert\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make Alle Ziele ohne Bedingungen erstellen\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -904,19 +915,19 @@ " In VERZEICHNIS wechseln, bevor etwas getan " "wird\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d Viele Informationen zur Fehlersuche ausgeben.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=KENNUNGEN] Verschiedene Arten von Debug-Information " "ausgeben\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -925,14 +936,14 @@ " Umgebungsvariablen überschreiben „make“-" "Steuerdateien\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=ZEIENKETTE ZEICHENKETTE wie einen Makedatei-Eintrag " "auswerten.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -940,15 +951,15 @@ " -f DATEI, --file=DATEI, --makefile=DATEI\n" " DATEI als Makefile lesen\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Diese Meldung ausgeben und beenden\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Fehler in Regeln werden irgnoriert\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -957,7 +968,7 @@ " VERZEICHNIS nach eingebundenen\n" " Makedateien durchsuchen\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -966,14 +977,14 @@ "Anzahl \n" " von Jobs ohne Argument\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Weiterlaufen, auch wenn einige Targets nicht\n" " erzeugt werden konnten\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -983,7 +994,7 @@ " Keine Jobs starten bevor die Auslastung nicht " "unter N ist.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -992,7 +1003,7 @@ " symbolischer Verküpfung und dem Ziel " "verwenden.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -1001,7 +1012,7 @@ " -n, --just-print, --dry-run, --recon\n" " Keine Regel ausführen, nur ausgeben.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -1011,7 +1022,7 @@ " DATEI als sehr alt ansehen und nicht neu " "erzeugen.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -1020,12 +1031,12 @@ " Synchronisiert die Ausgabe paralleler Jobs per " "TYP.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base Die interne Datenbank von „make“ ausgeben\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -1034,23 +1045,23 @@ "an, ob die Dateien\n" " aktuell sind\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Die eingebauten impliziten Regeln " "deaktivieren.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Die eingebauten Variablenbelegungen " "deaktivieren.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Regeln nicht ausgeben.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1058,30 +1069,30 @@ " -S, --no-keep-going, --stop\n" " -k abschalten.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Die Ziele werden nur als aktualisiert " "markiert,\n" " nicht tatsächlich erneuert\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr "" " --trace Viele Informationen zur Fehlersuche ausgeben\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Die Versionsnummer von „make“ ausgeben und " "Programm beenden\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Das aktuelle Verzeichnis ausgeben\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1089,7 +1100,7 @@ " --no-print-directory -w abschalten, selbst wenn es implizit " "eingeschaltet wurde.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1097,7 +1108,7 @@ " -W DATEI, --what-if=DATEI, --new-file=DATEI, --assume-new=DATEI\n" " DATEI als unendlich neu erachten.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1105,27 +1116,27 @@ " --warn-undefined-variables Eine Warnung ausgeben, wenn eine undefinierte\n" " Variable referenziert wird.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "Eine leere Zeichenkette ist als Dateiname ungültig" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "Unbekannte Debug-Level angegeben „%s“" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "unbekannter Typ von Ausgabesynchronisierung „%s“" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" "%s: bekam Unterbrechung/Ausnahme signalisiert (Kode = 0x%lx, Adr = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1141,144 +1152,190 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Zugriffsverletzung: Schreiboperation an Adresse 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Zugriffsverletzung: Leseoperation an Adresse 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell setzt default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell Suche im Pfad setzte default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s setzt für 30 Sekunden aus..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "„sleep(30)“ ist abgeschlossen. Es geht weiter.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"Warnung: Kein Jobserver verfügbar: -j1 wird gesetzt. Fügen Sie der " -"Ursprungsregel\n" -"„+“ hinzu." +"interner Fehler: die Semaphore „%s“ des Jobservers kann nicht geöffnet " +"werden:\n" +" (Fehler %ld: %s)" -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Jobserver-Klient (Semaphore %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "Interner Fehler: Falsche --jobserver-fds Angabe „%s“" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Jobserver-Klient (fds %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "Warnung: -jN in „make“-Verarbeitungszweig erzwungen: \n" "Jobserver-Modus nicht verfügbar." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "Jobserver verdoppelt" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"Warnung: Kein Jobserver verfügbar: -j1 wird gesetzt. Fügen Sie der " +"Ursprungsregel\n" +"„+“ hinzu." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Das Makefile wurde zweimal über die Standardeingabe angegeben." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (temporäre Datei)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (temporäre Datei)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "" "Parallele Abarbeitung (-j) \n" "wird auf dieser Plattform nicht unterstützt." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Umstellung auf Einzel-Job-Verarbeitung (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Zeitschlitze der Jobservers auf %d begranzt\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "Jobserver-Semaphore wird erzeugt: (Fehler %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "Öffnen der Pipe für die Jobs" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "Initialisierung der Pipe für den Jobserver" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" "Symbolische Verknfungen werdfen nicht unterstützt: -L wird abgeschaltet." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Aktualisiere „make“-Steuerdateien...\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "" "„make“-Steuerdatei „%s“ könnte eine Schleife enthalten; \n" "es wird nicht neu erzeugt.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Konnte die „make“-Steuerdatei „%s“ nicht neu erstellen." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Die eingebundene „make“-Steuerdatei „%s“ wurde nicht gefunden." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Die „make“-Steuerdatei „%s“ wurde nicht gefunden" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Konnte nicht in das ursprüngliche Verzeichnis wechseln." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Erneute Ausführung[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (temporäre Datei): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL beinhaltet mehr als ein Ziel" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Es wurden keine Ziele angegeben und keine „make“-Steuerdatei gefunden" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Keine Ziele" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Aktualisieren der Ziele...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "Warnung: Mit der Uhr stimmt etwas nicht. \n" " Der Bauauftrag könnte unvollständig sein." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Aufruf: %s [Optionen] [Ziele] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1287,7 +1344,7 @@ "\n" "Diese Programm wurde für %s gebaut\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1296,32 +1353,32 @@ "\n" "Diese Programm wurde für %s (%s) gebaut\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Fehlermeldungen (auf Englisch) an senden.\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "Die Option „%s%s“ verlangt eine nicht-leere Zeichenkette als Argument" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "Die Option „-%c“ verlangt eine positive ganze Zahl als Argument" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sGebaut für %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sGebaut für %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "BUILTIN CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Unbekanntes eingebautes Kommando „%s“\n" + +#: vmsjobs.c:592 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Fehler: Leere Anweisung\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Datei %s auf Standardeingabe umgeleitet\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Fehlerausgabe nach %s umgeleitet\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Ausgabe nach %s umgeleitet\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Ausgabe nach %s umgeleitet\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "%.*s anhängen und aufräumen\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "%s wird stattdessen ausgeführt\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Fehler %d beim Starten eines Kindprozesses\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2219,11 +2292,11 @@ "\n" "# VPATH-Suchpfade\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Keine „vpath“-Suchpfade." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2232,7 +2305,7 @@ "\n" "# %u „vpath“-Suchpfade.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2240,7 +2313,7 @@ "\n" "# Kein allgemeiner Suchpfad (Variable „VPATH“)." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2250,94 +2323,21 @@ "# Allgemeiner Suchpfad (Variable „VPATH“):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Zeitschlitze der Jobservers auf %d begranzt\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "Jobserver-Semaphore wird erzeugt: (Fehler %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"interner Fehler: die Semaphore „%s“ des Jobservers kann nicht geöffnet " -"werden:\n" -" (Fehler %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Jobserver-Klient (Semaphore %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "Freigabe der Jobserver-Semaphore: (Fehler %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "warten auf Semaphore oder Kindprozess: (Fehler %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: die Regel für Ziel „%s“ scheiterte" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Fehler 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "Interner Fehler: mehrfache --sync-mutex Optionen" #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "Interner Fehler: mehrfache --jobserver-fds Optionen" -#~ msgid "dup jobserver" -#~ msgstr "Jobserver verdoppelt" - #~ msgid "virtual memory exhausted" #~ msgstr "Der virtuelle Speicher ist verbraucht" #~ msgid "write error" #~ msgstr "Schreibfehler" -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Warnung: Umleitung ins Leere!\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "Interner Fehler: „%s“ command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "BUILTIN [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "BUILTIN RM %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Unbekanntes eingebautes Kommando „%s“\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Fehler: Leere Anweisung\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Datei %s auf Standardeingabe umgeleitet\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Fehlerausgabe nach %s umgeleitet\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Ausgabe nach %s umgeleitet\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Fehler %d beim Starten eines Kindprozesses\n" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Ungültiger Wert in „update_status“-Eintrag!" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/es.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/es.gmo differ diff -Nru make-dfsg-4.2.1/po/es.po make-dfsg-4.1/po/es.po --- make-dfsg-4.2.1/po/es.po 2016-06-10 23:03:35.000000000 +0000 +++ make-dfsg-4.1/po/es.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,17 +1,17 @@ # Mensajes en español para GNU make. -# Copyright (C) 1996, 2001, 2011, 2013, 2014 Free Software Foundation, Inc. +# Copyright (C) 1996, 2001, 2011, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. # Max de Mendizábal , 1996, 2011. -# Antonio Ceballos , 2013, 2014, 2016 +# Antonio Ceballos , 2013 # msgid "" msgstr "" -"Project-Id-Version: GNU make 4.1.90\n" +"Project-Id-Version: GNU make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-04-26 23:05+0200\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-12-08 23:28+0200\n" "Last-Translator: Antonio Ceballos \n" -"Language-Team: Spanish \n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -58,59 +58,58 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: Código de retorno erróneo de ar_member_touch en '%s'" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "fallo en lbr$set_module() para extraer la información del módulo, estado = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "fallo en lbr$ini_control() con estado = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "" -"error al abrir la biblioteca '%s' para buscar el estado %d del elemento" +msgstr "Error al abrir la biblioteca '%s' para buscar al elemento '%s'" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Miembro '%s'%s: %ld bytes en %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (el nombre puede estar truncado)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Fecha %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, modo = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Las instrucciones tienen demasiadas líneas (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Interrumpir.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "" "*** [%s] El miembro de archivo '%s' podría estar incorrecto; aunque no se " "elimina" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "" @@ -118,32 +117,32 @@ # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv # Ok. mm -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Se borra el archivo '%s'" # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv # Ok. mm -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Se borra el archivo '%s'" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# las instrucciones para ejecutar" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (integrado):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (de '%s', linea %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -151,7 +150,7 @@ "\n" "# Directorios\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: podría no estar establecido.\n" @@ -159,14 +158,14 @@ # ¿No sobraría el "posiblemente"? # Propongo dejarlo en " no se pudo abrir ". sv # Ok. Es consistente con otras traducciones. mm -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (llave %s, mtime %d): no se pudo abrir.\n" # En el K & R aparece inode traducido como nodo-i. ¿qué te parece? sv # Bien. Me gusta con el guioncito. mm -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "" @@ -175,49 +174,49 @@ # ¿No sobraría el "posiblemente"? # Propongo dejarlo en " no se pudo abrir ". sv # Ok. Es consistente con otras traducciones. mm -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (dispositivo %ld, nodo-i %ld): no se pudo abrir.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (llave %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (dispositivo %d, nodo-i [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (dispositivo %ld, nodo-i %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "No" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " archivos, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "no" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " imposibilidades" # ¿"So far" no era "hasta ahora"? (no me hagas mucho caso) sv # Si tu traducción es mejor. Aceptada. mm -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " hasta ahora." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " imposibilidades en %lu directorios.\n" @@ -239,18 +238,18 @@ # No me gusta nada ( lo siento ) # ¿ Qué tal : La referencia a una variable está sin terminar em+ # Creo que tienes razón la voz pasiva es muy desagradable. mm. -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "la referencia a la variable está sin terminar" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Se especificaron instrucciones para el archivo '%s' en %s:%lu," # Buscando en las legras implícitas em+ # Utilicé por búsqueda en para evitar el gerundio. mm -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" @@ -259,7 +258,7 @@ # "now" es "ahora". ¿te lo has comido consciente o inconscientemente? sv # inconscientemente. mm -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "pero '%s' se considera ahora como el mismo archivo que `%s'." @@ -268,7 +267,7 @@ # "To ignore" *no* es ignorar. sv # Propongo "no serán tenidas en cuenta" a falta de algo mejor. # Ok. Mi necedad sobrepasa el milenio. mm -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" @@ -278,46 +277,46 @@ # Me suena que eso de colon es algo así como punto, dos puntos o punto y coma. # ¿Podrías comprobarlo? sv # Es un punto sencillo (.). A ver si te gusta mi propuesta. mm -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "no se puede cambiar un punto (.) '%s' por dos puntos (:) '%s'" # Lo mismo. sv -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "no se pueden cambiar dos puntos (:) '%s' por un punto (.) '%s'" # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv # Ok. mm -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Se borra el archivo intermedio '%s'" # Propongo un cambio en el tiempo verbal: Se borra el archivo temporal. sv # Ok. mm -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "*** Se borran los archivos intermedios...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Hora actual" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Fecha fuera de intervalo; sustituyéndola %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# No es un objetivo:" # Pondría: es una dependencia de em+ # Si, tienes razón. mm -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Archivo valioso (es una dependencia de .PRECIOUS)." @@ -329,7 +328,7 @@ # No. Incondicional no es una traducción correcta. Que tal si al rato # se les ocurre hacer una nueva instrucción .INCONDITIONAL. # Si quieres podríamos pensar en otra traducción como señuelo o algo así. mm -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# objetivo falso (dependencia de .PHONY)." @@ -340,7 +339,7 @@ # Están traduciendo commands como comandos? Son más bien ordenes o # instrucciones. Por mi parte no hay problema, incluso me gusta más # comandos, pero es un anglicismo. mm -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Objetivo en línea de instrucciones." @@ -352,11 +351,11 @@ # Así pues tu traducción es completamente equivocada, lo siento. # Pondría: Fichero por defecto o definido en la variable MAKEFILE em+ # Cierto, lo has entendido bien. Arreglo acorde. mm -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Por omisión, MAKEFILES, o -include/sinclude makefile." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Regla incorporada" @@ -364,7 +363,7 @@ # Ok. Es más literal. mm # Atención ! , es la búsqueda 'de'reglas implícitas em+ # Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# La búsqueda de reglas implícitas ha sido efectuada." @@ -372,22 +371,22 @@ # Ok. Es más literal. mm # Atención ! , es la búsqueda 'de'reglas implícitas em+ # Ok. Ojo, debo pluralizar regla e implícita. Platicarlo con Ulrich. mm -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# La búsqueda de reglas implícitas ha sido efectuada." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Tema del patrón implícita/estática: '%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# El archivo es una dependencia intermedia." # Sugerencia: "crea". sv # Ok. Aunque, viendolo bien, que tal "hace"? mm. -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# También hace:" @@ -395,60 +394,60 @@ # Ok. Mejora. mm # No pondría nunca, sino simplemente 'no se comprobó 'em+ # Si, es lo mismo pero es más español. mm -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# La fecha de modificación no se comprobó." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# El archivo no existe." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# El archivo es muy viejo." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Última modificación %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# El archivo ha sido actualizado." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# El archivo ha sido actualizado." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Las instrucciones continúan en ejecución (ESTO ES UN BUG)." # ¿No sería más bien "las instrucciones de las dependencias"? sv # Si, que babas soy. Ahora corrijo. mm -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "" "# Las instrucciones de las dependencias continúan en ejecución (ESTO ES UN " "BUG)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Actualizado con éxito." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Necesita ser actualizado (la opción -q está activa)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Fallo al ser actualizado." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# ¡Valor inválido en el miembro 'command_state'!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -456,7 +455,7 @@ "\n" "# Archivos" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -466,56 +465,52 @@ "# estadísticas de la tabla «hash» de los archivos:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: El campo '%s' no está en «cache»: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "el primer argumento de la función 'word' no es numérico" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "el primer argumento de la función 'word' debe ser mayor que 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "el primer argumento de la función 'wordlist' no es numérico" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "el segundo argumento de la función 'wordlist' no es numérico" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: fallo en DuplicateHandle(In), (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: fallo en DuplicateHandle(Err), (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "Fallo en CreatePipe(), (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): fallo en process_init_fd()\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Limpiando el archivo temporal %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "archivo: falta el nombre del archivo" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "abrir: %s: %s" @@ -529,77 +524,55 @@ # else # printf ("%s[%u]: %s ", program, makelevel, message); # Como notarás lo del directorio va en otro lado. -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "escribir: %s: %s" -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "cerrar: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "archivo: demasiados argumentos" - -# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering" -# concuerde bien con esta frase y con la anterior simultáneamente. sv -# No. Ya revisé el fuente y transcribo el trozo pertinente: -# char *message = entering ? "Entering" : "Leaving"; -# if (makelevel == 0) -# printf ("%s: %s ", program, message); -# else -# printf ("%s[%u]: %s ", program, makelevel, message); -# Como notarás lo del directorio va en otro lado. -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "leer: %s: %s" - -#: function.c:2275 +#: function.c:2209 #, c-format -msgid "file: invalid file operation: %s" -msgstr "archivo: operación de archivo no válida: %s" +msgid "Invalid file operation: %s" +msgstr "Operación de archivo no válida: %s" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "Número de argumentos (%d) insuficientes para la función '%s'" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "No implementado en esta plataforma: función '%s'" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "la llamada a la función '%s' no concluyó: falta '%c'" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Nombre de función vacío" +msgstr "Nombre de función vacío\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Nombre de función no válido: %s" +msgstr "Nombre de función no válido: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Nombre de función demasiado largo: %s" +msgstr "Nombre de función demasiado largo: %s\n" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Número insuficiente de argumentos (%d) para la función %s" +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Número insuficiente de argumentos (%d) para la función %s\n" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "El número máximo de argumentos (%d) no es válido para la función %s" +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "El número máximo de argumentos (%d) no es válido para la función %s\n" #: getopt.c:659 #, c-format @@ -716,7 +689,7 @@ # Me gusta evade, pero evita es correcto. Acepto tu sugerencia. mm # No me gusta se evita, pondría evitando em+ # Ok. Pero a mi paranoia de evitar gerundios dónde la dejas? mm -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Evitando la recursión en la regla implícita.\n" @@ -797,7 +770,7 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Se busca una regla con el archivo intermedio '%s'.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "No se puede crear un archivo temporal\n" @@ -805,91 +778,119 @@ # volcado de `core' no significa nada, que te parece si mejor dejamos # el core dumped, o bien volcado del núcleo o algo así. Por el momento # no cambio nada. mm -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (core dumped) [Núcleo vaciado a un archivo]" # Preferiría mil veces "sin efecto" o algo parecido. sv # Ok. Habíamos quedado en `no tiene efecto'. mm -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (no tiene efecto)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +# No me gusta esta traducción de override. Mira a ver +# si encaja mejor alguna de las dos que se proponen arriba +# em+ +# Aunque no me acaba de convencer, que te parece ésto? mm +#: job.c:503 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Error %d%s" +msgid "%s: recipe for target '%s' failed" +msgstr "%s: fallo en las instrucciones para el objetivo '%s'" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Error %d%s" + +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Error 0x%x%s" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" # ¿Y job -> trabajos? sv # Si, pero no hablas de una computadora multi-trabajos sino multi-tareas. # Por eso elegí tareas. Lo platicamos con más calma? mm -#: job.c:599 +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Se espera a que terminen otras tareas...." # ¿De verdad se dice "vivo"? Si es un proceso, se me ocurre "activo". sv # Me gusta lo de activo. mm -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Hijo activo %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (remoto)" # Lo mismo, pon Proceso hijo, y quita lo que hay # entre paréntesis em+ -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Se recupera al proceso hijo perdido %p PID %s %s\n" # Lo mismo, pon Proceso hijo, y quita lo que hay # entre paréntesis em+ -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Se recupera al proceso hijo ganador %p PID %s %s\n" # Give up no es enfocar, es abandonar, o desistir em+ # Si, metí la pata. mm -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Se limpia el archivo temporal %s\n" # Give up no es enfocar, es abandonar, o desistir em+ # Si, metí la pata. mm -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Fallo al limpiar el archivo temporal por lotes %s (%d)\n" # Proceso hijo em+ # Ok. -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Se elimina al proceso hijo %p PID %s%s de la cadena.\n" +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "liberar semáforo del servidor de tareas: (Error %ld: %s)" + # Lo mismo, pon Proceso hijo, y quita lo que hay # entre paréntesis em+ -#: job.c:1006 +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Se libera el token para el proceso hijo %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "escribir en el servidor de tareas" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "fallo en process_easy() para lanzar al proceso (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -900,74 +901,78 @@ # Proceso hijo em+ # Ok. -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Se pone al proceso hijo %p (%s) PID %s%s en la cadena.\n" +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "semáforo o proceso hijo en espera: (Error %ld: %s)" + # Lo mismo, pon Proceso hijo, y quita lo que hay # entre paréntesis em+ -#: job.c:1811 +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Se obtiene el token para el proceso hijo %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "tubería de trabajos leídos" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: el objetivo '%s' no existe" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: actualizar el objetivo '%s' a causa de: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "no se pueden forzar los límites de carga en este sistema operativo" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "no se puede forzar la carga límite: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "no hay más manejadores de archivos: no se puede duplicar stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "no hay más manejadores de archivos: no se puede duplicar stdout\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "no hay más manejadores de archivos: no se puede duplicar stderr\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "No se puede restaurar stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "No se puede restaurar stdout\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "No se puede restaurar stderr\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "hacer un hijo descarriado %s, aún se espera por el pid %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: No se encontró el programa\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: No se encontró el programa\n" +msgid "%s: Command not found" +msgstr "%s: No se encontró el programa" # ¿Y "el programa Shell"? (a secas) sv # Si. Suena mucho mejor. mm @@ -975,26 +980,26 @@ # yo pensaria que me falta un programa en mi sistema que se # llame shell. No se ha encontrado el 'shell'em+ # Es bueno contar con una segunda opinión ... mm -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: No se ha encontrado el `shell'" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: el espacio ambiental podría estar agotado" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL ha cambiado (era '%s' y ahora es '%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Se crea el archivo temporal %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -1002,7 +1007,7 @@ "Contenido del archivo de lotes:%s\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -1011,7 +1016,7 @@ "Contenido del archivo de lotes:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -1042,32 +1047,32 @@ msgid "Empty symbol name for load: %s" msgstr "Nombre de símbolo vacío en la carga: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Cargando símbolo %s desde %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "La operación 'load' no está implementada en esta plataforma." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opciones:\n" # Lo mismo de arriba con "ignorar". sv # Ok. mm. -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr "" " -b, -m No se tendrá en cuenta por compatibilidad.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Hace incondicionalmente todos los objetivos.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -1078,7 +1083,7 @@ # ¿"depurado" o "depuración"? sv # Puse de depurado para evitar la cacofonía información depuración. # Sugerencias bienvenidas. mm -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d Se imprimirán grandes cantidades de información de depurado.\n" @@ -1086,14 +1091,14 @@ # ¿"depurado" o "depuración"? sv # Puse de depurado para evitar la cacofonía información depuración. # Sugerencias bienvenidas. mm -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=BANDERAS] Se imprimirán varios tipos de información de " "depurado.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -1102,14 +1107,14 @@ " Las variables ambientales se imponen a las de los " "makefiles.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=CADENA Evalúla la CADENA como una instrucción de un " "makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -1117,7 +1122,7 @@ " -f ARCHIVO, --file=ARCHIVO, --makefile=ARCHIVO\n" " Lee al ARCHIVO como un makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Muestra este mensaje y finaliza.\n" @@ -1127,13 +1132,13 @@ # tambien. # No me gusta este mensaje, preferiría: Se ignoran los errores obtenidos # en la ejecución de las instrucciones em+ -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" " -i, --ignore-errors No se toman en cuenta los errores provenientes " "de las instrucciones.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -1144,7 +1149,7 @@ # Yo traduciría "infinite" por "infinitos", no por "una infinidad", que # parece que son muchos menos... sv # Ok. mm -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -1155,14 +1160,14 @@ # No entiendo por qué aquí empleas subjuntivo: "pudieron". sv # Es incorrecto. Es una de las opciones `k' que dice... mm -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Sigue avanzando aún cuando no se puedan crear " "algunos objetivos.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -1172,7 +1177,7 @@ " No inicia con trabajos múltiples a menos que la carga esté por debajo " "de N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -1180,7 +1185,7 @@ " -L, --check-symlink-times Utiliza el último mtime entre los enlaces " "simbólicos y los objetivos.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -1190,7 +1195,7 @@ " No ejecuta ninguna instrucción; sólo las " "muestra.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -1200,7 +1205,7 @@ " Supone que ARCHIVO es muy viejo y no lo " "reconstruye.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -1211,13 +1216,13 @@ # de 'make' em+ # ok. mm -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base Se imprime la base de datos interna de " "'make'.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -1231,7 +1236,7 @@ # ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ? # Pon almacenadas internamente, que es exactamente lo que son :) em+ # Bueno, bajo protesta. mm -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Se deshabilitan las reglas implícitas " @@ -1242,17 +1247,17 @@ # ¡ Por favor ! , ¿ pero qué es eso de interconstruidas ? # Pon almacenadas internamente, que es exactamente lo que son :) em+ # Bueno, bajo protesta. mm -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Se deshabilitan los ajustes a las variables " "almacenadas internamente.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet No muestra las intrucciones.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1265,7 +1270,7 @@ # # Pues entonces cámbialo arriba tambien em+ # En donde? mm -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Se tocan los objetivos en vez de " @@ -1274,20 +1279,20 @@ # ¿"depurado" o "depuración"? sv # Puse de depurado para evitar la cacofonía información depuración. # Sugerencias bienvenidas. mm -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Muestra trazas.\n" # Me comería el "Se" inicial. "Muestra la versión..." sv # Ok. mm -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Muestra la versión del make y finaliza.\n" # Lo mismo. sv -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Muestra el directorio actual.\n" @@ -1296,7 +1301,7 @@ # apaga luz Mari Luz apaga luz ,que yo no puedo vivir con # tanta luz ... ( canción tradicional ) ( no lo pude evitar ) em+ # Juar, Juar, Juar. Coincido, pero el sentido es el mismo. mm -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1304,7 +1309,7 @@ " --no-print-directory Desactiva -w, aún cuando haya sido activado " "implícitamente.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1315,7 +1320,7 @@ # Lo mismo. sv # Todas estas parecen descripciones de opciones. -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1323,27 +1328,27 @@ " --warn-undefined-variables Advierte cuando se hace una referencia a una " "variable no definida.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "no se permite que una cadena vacía sea el nombre de un archivo" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "se especificó un nivel de depuración desconocido '%s'" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "tipo de sincronización de salida desconocido '%s'" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" "%s: Se atrapó una interrupción/excepción (código = 0x%lx, dirección = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1358,80 +1363,125 @@ "Banderas de la excepción = %lx\n" "Dirección de la excepción = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Violación de acceso: operación de escritura en la dirección 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Violación de acceso: operación de lectura en la dirección 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "la función find_and_set_shell() pone el valor del default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" "la función find_and_set_shell() pone el valor de la ruta de búsceda " "default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s está suspendida por 30 segundos..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "se hizo un sleep(30). Continuando.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"atención: el servidor de tareas no está disponible: se utilizará -j1. Añada " -"'+' a la regla padre del make." +"error interno: no se pudo abrir el semáforo del servidor de tareas '%s': " +"(Error %ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Cliente del servidor de tareas (semáforo %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "error interno: cadena --jobserver-fds inválida '%s'" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Cliente del servidor de tareas (fds %d,%d)\n" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "atención: se fuerza a -jN en el submake: se deshabilita el modo de servidor " "de tareas." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "servidor de tareas duplicado" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"atención: el servidor de tareas no está disponible: se utilizará -j1. Añada " +"'+' a la regla padre del make." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "" "El archivo Makefile ha sido especificado dos veces desde la entrada estándard" -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (archivo temporal)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (archivo temporal)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "" "Los trabajos en paralelo (-j) no están implementados en esta plataforma." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Reajustando al modo monotarea (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Ranuras del servidor de tareas limitads a %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "creando semáforo del servidor de tareas: (Error %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "creando una tubería de tareas" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "se inicializa la tubería al servidor de tareas" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Los enlaces simbólicos no están implementados: se deshabilitan con -L." # Antes pusiste "makefiles". Coherencia. sv # Cierto. mm -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Actualizando archivos makefiles....\n" @@ -1441,62 +1491,62 @@ # Pondría ( como en un mensaje anterior ) se autoreferencia ... em+ # He puesto makefile con minúsculas , par ser coherentes em+ # Ok. Es más breve. mm. -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "" "El makefile '%s' podría entrar en bucle; por lo tanto, no se reconstruye.\n" # Lo mismo. sv -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Fallo al reconstruir el makefile '%s'." # Lo mismo. sv -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "No se encontró el makefile incluído '%s'." # Lo mismo. sv -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "No se encontró el makefile '%s'" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "No se pudo regresar al directorio original." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Re-ejecutando[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (archivo temporal)" -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL contien más de un objetivo" # Sugerencia: "No se especificó ningún objetivo ... " sv # Ok. Me gusta. mm -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "No se especificó ningún objetivo y no se encontró ningún makefile" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "No hay objetivos" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Actualizando los objetivos finales....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "atención: Se ha detectado una desviación en el reloj. La construcción podría " @@ -1507,12 +1557,12 @@ # "target" es "objetivo", no "objetivos". Fíjate que lleva puntos # suspensivos, permitiendo así varios objetivos. sv # Ok. mm -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Modo de empleo: %s [opciones] [objetivo] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1521,7 +1571,7 @@ "\n" "Este programa fue construido para %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1530,36 +1580,36 @@ "\n" "Este programa construido para %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Informe sobre los errores a \n" # Me comería el "de" de "requiere de" sv # Ok. mm -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "la opción '%s%s' requiere un argumento no-vacío de tipo cadena" # Me comería el "de" de "requiere de" sv # Ok. mm -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "la opción '-%c' requiere un argumento positivo y entero" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sEste programa fue construido para %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sEste programa fue construido para %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "CD INTERCONSTRUIDO %s\n" + +# Por defecto, como haces arriba em+ +# en efecto, mm +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Instrucción integrada desconocida '%s'.\n" -#: vmsjobs.c:1228 +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Error, comando vacío\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Entrada redirigida desde %s\n" + +# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering" +# concuerde bien con esta frase y con la anterior simultáneamente. sv +# No. Ya revisé el fuente y transcribo el trozo pertinente: +# char *message = entering ? "Entering" : "Leaving"; +# if (makelevel == 0) +# printf ("%s: %s ", program, message); +# else +# printf ("%s[%u]: %s ", program, makelevel, message); +# Como notarás lo del directorio va en otro lado. +#: vmsjobs.c:681 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Redirected error to %s\n" +msgstr "Se redirecciona el error a %s\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Salida redirigida a %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Salida redirigida a %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Agregada a %.*s y limpieza\n" # "en sustituto" me suena muy raro. Propongo: "en su lugar" en su lugar :-) sv # Ok. mm -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "En su lugar, se ejecuta %s\n" +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Error al lanzar el proceso %d\n" + # ¿Y al revés?: Rutas de búsqueda VPATH. sv # Mejora -#: vpath.c:603 +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2659,13 +2735,13 @@ # Rutas creo que queda mejor. sv # Ok. Es más común. mm -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# No hay rutas de búsqueda 'vpath'." # ¡Ah! Aquí si que pones el vpath al final, ¿eh? :-) sv # You really got me! mm -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2674,7 +2750,7 @@ "\n" "# %u rutas de búsqueda 'vpath'.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2682,7 +2758,7 @@ "\n" "# No hay ruta de búsqueda general (variable 'VPATH')." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2692,100 +2768,6 @@ "# Ruta de búsqueda general (variable 'VPATH'):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Ranuras del servidor de tareas limitads a %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "creando semáforo del servidor de tareas: (Error %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"error interno: no se pudo abrir el semáforo del servidor de tareas '%s': " -"(Error %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Cliente del servidor de tareas (semáforo %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "liberar semáforo del servidor de tareas: (Error %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "semáforo o proceso hijo en espera: (Error %ld: %s)" - -# No me gusta esta traducción de override. Mira a ver -# si encaja mejor alguna de las dos que se proponen arriba -# em+ -# Aunque no me acaba de convencer, que te parece ésto? mm -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: fallo en las instrucciones para el objetivo '%s'" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Error 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "servidor de tareas duplicado" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Atención: redirección vacía\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "error interno: '%s' command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "INTEGRADA(S) [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "ECO INTEGRADO %s->%s\n" - -# Por defecto, como haces arriba em+ -# en efecto, mm -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Instrucción integrada desconocida '%s'\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "" -#~ "La instrucción integrada se desconoce o no funciona en .ONESHELL: '%s'\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Error, comando vacío\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Entrada redirigida desde %s\n" - -# Probablemente sea aquí donde haya que ponerle el "el" para que "Entering" -# concuerde bien con esta frase y con la anterior simultáneamente. sv -# No. Ya revisé el fuente y transcribo el trozo pertinente: -# char *message = entering ? "Entering" : "Leaving"; -# if (makelevel == 0) -# printf ("%s: %s ", program, message); -# else -# printf ("%s[%u]: %s ", program, makelevel, message); -# Como notarás lo del directorio va en otro lado. -#~ msgid "Redirected error to %s\n" -#~ msgstr "Se redirecciona el error a %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Salida redirigida a %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Error al lanzar el proceso %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "error interno: hay varias opciones --sync-mutex" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/fi.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/fi.gmo differ diff -Nru make-dfsg-4.2.1/po/fi.po make-dfsg-4.1/po/fi.po --- make-dfsg-4.2.1/po/fi.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/fi.po 2016-01-16 10:25:59.000000000 +0000 @@ -5,126 +5,124 @@ # msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 3.81-b3\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-26 20:40+0300\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2005-07-06 21:36+0300\n" "Last-Translator: Lauri Nurmi \n" "Language-Team: Finnish \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.7\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ar.c:46 -#, c-format +#, fuzzy, c-format msgid "attempt to use unsupported feature: '%s'" -msgstr "yritettiin käyttää ominaisuutta, jolle ei ole tukea: â€%sâ€" +msgstr "yritettiin käyttää ominaisuutta, jolle ei ole tukea: \"%s\"" #: ar.c:123 msgid "touch archive member is not available on VMS" msgstr "arkistojäsenten kosketus ei ole mahdollista VMS:ssä" #: ar.c:147 -#, c-format +#, fuzzy, c-format msgid "touch: Archive '%s' does not exist" -msgstr "touch: Arkistoa â€%s†ei ole olemassa" +msgstr "touch: Arkistoa \"%s\" ei ole olemassa" #: ar.c:150 -#, c-format +#, fuzzy, c-format msgid "touch: '%s' is not a valid archive" -msgstr "touch: â€%s†ei ole kelvollinen arkisto" +msgstr "touch: \"%s\" ei ole kelvollinen arkisto" #: ar.c:157 -#, c-format +#, fuzzy, c-format msgid "touch: Member '%s' does not exist in '%s'" -msgstr "touch: Arkistossa â€%1$s†ei ole jäsentä â€%2$sâ€" +msgstr "touch: Arkistossa \"%1$s\" ei ole jäsentä \"%2$s\"" #: ar.c:164 -#, c-format +#, fuzzy, c-format msgid "touch: Bad return code from ar_member_touch on '%s'" -msgstr "touch: ar_member_touch antoi virheellisen paluuarvon kohteesta â€%sâ€" +msgstr "touch: ar_member_touch antoi virheellisen paluuarvon kohteesta \"%s\"" -#: arscan.c:130 -#, c-format +#: arscan.c:124 +#, fuzzy, c-format msgid "lbr$set_module() failed to extract module info, status = %d" -msgstr "lbr$set_module() epäonnistui moduulitietojen noutamisessa, tila = %d" +msgstr "lbr$set_module epäonnistui moduulitietojen noutamisessa, tila = %d" -#: arscan.c:236 -#, c-format +#: arscan.c:230 +#, fuzzy, c-format msgid "lbr$ini_control() failed with status = %d" -msgstr "lbr$ini_control() epäonnistui, tila = %d" +msgstr "lbr$ini_control epäonnistui, tila = %d" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "kirjastoa â€%s†ei voi avata jäsenen â€%s†etsimiseksi" +msgstr "kirjastoa \"%s\" ei voi avata jäsenen \"%s\" etsimiseksi" -#: arscan.c:965 -#, c-format +#: arscan.c:944 +#, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" -msgstr "Jäsen â€%sâ€%s: %ld tavua kohdassa %ld (%ld).\n" +msgstr "Jäsen \"%s\"%s: %ld tavua kohdassa %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (nimi voi olla typistynyt)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Päiväys %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, oikeudet = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Katkaisu.\n" -#: commands.c:627 -#, c-format +#: commands.c:629 +#, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" -msgstr "*** [%s] Arkistojäsen â€%s†voi olla viallinen – ei poisteta" +msgstr "*** [%s] Arkistojäsen \"%s\" voi olla viallinen - ei poisteta" -#: commands.c:631 -#, c-format +#: commands.c:633 +#, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" -msgstr "*** Arkistojäsen â€%s†voi olla viallinen – ei poisteta" +msgstr "*** Arkistojäsen \"%s\" voi olla viallinen - ei poisteta" -#: commands.c:645 -#, c-format +#: commands.c:647 +#, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" -msgstr "*** [%s] Poistetaan tiedosto â€%sâ€" +msgstr "*** [%s] Poistetaan tiedosto \"%s\"" -#: commands.c:647 -#, c-format +#: commands.c:649 +#, fuzzy, c-format msgid "*** Deleting file '%s'" -msgstr "*** Poistetaan tiedosto â€%sâ€" +msgstr "*** Poistetaan tiedosto \"%s\"" -#: commands.c:683 +#: commands.c:685 #, fuzzy msgid "# recipe to execute" msgstr "# käynnisetttävät komennot" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (sisäänrakennettu):" -#: commands.c:688 -#, c-format +#: commands.c:690 +#, fuzzy, c-format msgid " (from '%s', line %lu):\n" -msgstr " (tiedosto â€%sâ€, rivi %lu):\n" +msgstr " (tiedostosta \"%s\", rivi %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -132,224 +130,228 @@ "\n" "# Hakemistot\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: tilaa ei voitu lukea.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (avain %s, maika %d): ei voitu avata.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (laite %d, i-solmu [%d,%d,%d]): ei voitu avata.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (laite %ld, i-solmu %ld): ei voitu avata.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (avain %s, maika %d: " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (laite %d, i-solmu [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (laite %ld, i-solmu %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Ei" # Juuri näin, muodostetaan käännöslause yksittäisistä sanoista... -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " tiedostoa, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "ei" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " mahdottomuutta" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " tähän mennessä." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " mahdottomuutta %lu hakemistossa.\n" #: expand.c:125 -#, c-format +#, fuzzy, c-format msgid "Recursive variable '%s' references itself (eventually)" -msgstr "Rekursiivinen muuttuja â€%s†viittaa (lopulta) itseensä" +msgstr "Rekursiivinen muuttuja \"%s\" viittaa (lopulta) itseensä" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "päättämätön muuttujaviittaus" -#: file.c:278 +#: file.c:271 #, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," -msgstr "Tiedostolle â€%s†määriteltiin komentoja paikassa %s:%lu," +msgstr "Tiedostolle \"%s\" määriteltiin komentoja paikassa %s:%lu," -#: file.c:283 +#: file.c:276 #, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," -msgstr "Tiedostolle â€%s†löytyi komentoja oletussääntöhaussa," +msgstr "Tiedostolle \"%s\" löytyi komentoja oletussääntöhaussa," -#: file.c:287 -#, c-format +#: file.c:280 +#, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." -msgstr "mutta â€%sâ€:n katsotaan nyt olevan sama tiedosto kuin â€%sâ€." +msgstr "mutta \"%s\":n katsotaan nyt olevan sama tiedosto kuin \"%s\"." -#: file.c:290 +#: file.c:283 #, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" -"Tiedoston â€%s†komentoja ei huomioida, vaan käytetään komentoja tiedostosta " -"â€%sâ€." +"Tiedoston \"%s\" komentoja ei huomioida, vaan käytetään komentoja " +"tiedostosta \"%s\"." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" -#: file.c:408 -#, c-format +#: file.c:401 +#, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" -msgstr "*** Poistetaan aputiedosto â€%sâ€" +msgstr "*** Poistetaan aputiedosto \"%s\"" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Poistetaan aputiedostot...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Tämänhetkinen aika" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Aikaleima ei ole sallitulla välillä, korvataan %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Ei kohde:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Arvokas tiedosto (ennakkoehto .PRECIOUS:ille)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Valekohde (ennakkoehto .PHONY:lle)." -#: file.c:971 +#: file.c:964 +#, fuzzy msgid "# Command line target." msgstr "# Komentorivikohde." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Oletus-, MAKEFILES- tai -include/sinclude -makefile-tiedosto." -#: file.c:975 +#: file.c:968 +#, fuzzy msgid "# Builtin rule" -msgstr "# Sisäänrakennettu sääntö" +msgstr "" +"\n" +"# Ei oletussääntöjä." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Oletussääntöhaku on suoritettu." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Oletussääntöhakua ei ole suoritettu." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Tiedosto on välitason ennakkoehto." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Tuotetaan myös:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Muutosaikaa ei koskaan tarkastettu." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Tiedosto ei ole olemassa." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Tiedosto on hyvin vanha." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Viimeksi muutettu %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Tiedosto on päivitetty." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Tiedostoa ei ole päivitetty." -#: file.c:1008 +#: file.c:1001 #, fuzzy msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Ajossa olevat komennot (TÄMÄ ON OHJELMISTOVIKA)." -#: file.c:1011 +#: file.c:1004 #, fuzzy msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Ajossa olevat riippuvuuskomennot (TÄMÄ ON OHJELMISTOVIKA)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Päivitetty onnistuneesti." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Vaatii päivitystä (-q on asetettu)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Päivitys epäonnistui." -#: file.c:1032 +#: file.c:1025 #, fuzzy msgid "# Invalid value in 'command_state' member!" -msgstr "# Virheellinen arvo â€command_stateâ€-jäsenessä!" +msgstr "# Virheellinen arvo \"command_state\"-jäsenessä!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -357,7 +359,7 @@ "\n" "# Tiedostot" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -367,153 +369,139 @@ "# tilasto tiedostojen hajautustaulusta:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 +#, fuzzy msgid "non-numeric first argument to 'word' function" -msgstr "ei-numeerinen ensimmäinen argumentti â€wordâ€-funktiolle" +msgstr "ei-numeerinen ensimmäinen argumentti \"word\"-funktiolle" -#: function.c:795 +#: function.c:785 +#, fuzzy msgid "first argument to 'word' function must be greater than 0" -msgstr "â€wordâ€-funktion ensimmäisen argumentin on oltava suurempi kuin 0" +msgstr "\"word\"-funktion ensimmäisen argumentin on oltava suurempi kuin 0" -#: function.c:815 +#: function.c:805 +#, fuzzy msgid "non-numeric first argument to 'wordlist' function" -msgstr "ei-numeerinen ensimmäinen argumentti â€wordlistâ€-funktiolle" +msgstr "ei-numeerinen ensimmäinen argumentti \"wordlist\"-funktiolle" -#: function.c:817 +#: function.c:807 +#, fuzzy msgid "non-numeric second argument to 'wordlist' function" -msgstr "ei-numeerinen toinen argumentti â€wordlistâ€-funktiolle" +msgstr "ei-numeerinen toinen argumentti \"wordlist\"-funktiolle" -#: function.c:1525 +#: function.c:1499 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "create_child_process: DuplicateHandle(In) epäonnistui (v=%d)\n" -#: function.c:1549 +#: function.c:1523 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "create_child_process: DuplicateHandle(Err) epäonnistui (v=%d)\n" -#: function.c:1556 -#, c-format +#: function.c:1530 +#, fuzzy, c-format msgid "CreatePipe() failed (e=%ld)\n" -msgstr "CreatePipe() epäonnistui (v=%ld)\n" +msgstr "CreatePipe() epäonnistui (v=%d)\n" -#: function.c:1564 +#: function.c:1538 #, fuzzy msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe (): process_init_fd() epäonnistui\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Siivotaan väliaikainen komentotiedosto %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "tiedosto: tiedostonimi puuttuu" - -#: function.c:2219 function.c:2250 -#, c-format +#: function.c:2193 +#, fuzzy, c-format msgid "open: %s: %s" -msgstr "open: %s: %s" +msgstr "%s: %s" -#: function.c:2227 -#, c-format +#: function.c:2203 +#, fuzzy, c-format msgid "write: %s: %s" -msgstr "write: %s: %s" +msgstr "kirjoitusvirhe: %s" -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "close: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "tiedosto: liian monta argumenttia" - -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "read: %s: %s" +msgid "Invalid file operation: %s" +msgstr "" -#: function.c:2275 +#: function.c:2324 #, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "Virheellinen tiedostotoiminto: %s" - -#: function.c:2390 -#, c-format msgid "insufficient number of arguments (%d) to function '%s'" -msgstr "liian vähän (%d) argumentteja funktiolle â€%sâ€" +msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\"" -#: function.c:2402 -#, c-format +#: function.c:2336 +#, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" -msgstr "ei toteutettu tällä alustalla: funktio â€%sâ€" +msgstr "Ei toteutettu tällä alustalla: funktio \"%s\"" -#: function.c:2466 -#, c-format +#: function.c:2399 +#, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" -msgstr "päättämätön kutsu funktioon â€%sâ€: puuttuva â€%câ€" +msgstr "päättämätön kutsu funktioon \"%s\": puuttuva \"%c\"" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" -msgstr "Tyhjä funktionimi" +msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" -msgstr "Virheellinen funktionimi: %s" +msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" -msgstr "Funktionimi on liian pitkä: %s" +msgstr "" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Virheellinen vähimmäisargumenttimäärä (%d) funktiolle %s" +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\"" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Virheellinen enimmäisargumenttimäärä (%d) funktiolle %s" +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "Liian vähän (%d) argumenttejeja funktiolle \"%s\"" #: getopt.c:659 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: valitsin â€%s†on moniselitteinen\n" +msgstr "%s: valitsin \"%s\" on moniselitteinen\n" #: getopt.c:683 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: valitsin â€--%s†ei salli argumenttia\n" +msgstr "%s: valitsin \"--%s\" ei salli argumenttia\n" #: getopt.c:688 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: valitsin â€%c%s†ei salli argumenttia\n" +msgstr "%s: valitsin \"%c%s\" ei salli argumenttia\n" #: getopt.c:705 getopt.c:878 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' requires an argument\n" -msgstr "%s: valitsin â€%s†vaatii argumentin\n" +msgstr "%s: valitsin \"%s\" vaatii argumentin\n" #: getopt.c:734 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: tunnistamaton valitsin â€--%sâ€\n" +msgstr "%s: tunnistamaton valitsin \"--%s\"\n" #: getopt.c:738 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: tunnistamaton valitsin â€%c%sâ€\n" +msgstr "%s: tunnistamaton valitsin \"%c%s\"\n" #: getopt.c:764 #, c-format @@ -531,19 +519,19 @@ msgstr "%s: valitsin vaatii argumentin -- %c\n" #: getopt.c:844 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: valitsin â€-W %s†on moniselitteinen\n" +msgstr "%s: valitsin \"-W %s\" on moniselitteinen\n" #: getopt.c:862 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: valitsin â€-W %s†ei salli argumenttia\n" +msgstr "%s: valitsin \"-W %s\" ei salli argumenttia\n" #: guile.c:58 #, c-format msgid "guile: Expanding '%s'\n" -msgstr "guile: Lavennetaan â€%sâ€\n" +msgstr "" #: guile.c:74 #, c-format @@ -571,129 +559,155 @@ msgstr "Törmäykset=%ld/%ld=%.0f%%" #: implicit.c:38 -#, c-format +#, fuzzy, c-format msgid "Looking for an implicit rule for '%s'.\n" -msgstr "Etsitään oletussääntöä kohteelle â€%sâ€.\n" +msgstr "Etsitään oletussääntöä kohteelle \"%s\".\n" #: implicit.c:54 -#, c-format +#, fuzzy, c-format msgid "Looking for archive-member implicit rule for '%s'.\n" -msgstr "Etsitään arkistojäsenen oletussääntöä kohteelle â€%sâ€.\n" +msgstr "Etsitään arkistojäsenen oletussääntöä kohteelle \"%s\".\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Vältetään oletussääntörekursio.\n" #: implicit.c:486 #, c-format msgid "Stem too long: '%.*s'.\n" -msgstr "Liian pitkä runko: â€%.*sâ€.\n" +msgstr "" #: implicit.c:491 -#, c-format +#, fuzzy, c-format msgid "Trying pattern rule with stem '%.*s'.\n" -msgstr "Kokeillaan hahmosääntöä rungolla â€%.*sâ€.\n" +msgstr "Kokeillaan hahmosääntöä rungolla \"%.*s\".\n" #: implicit.c:697 -#, c-format +#, fuzzy, c-format msgid "Rejecting impossible rule prerequisite '%s'.\n" -msgstr "Hylätään mahdoton säännön ennakkoehto â€%sâ€.\n" +msgstr "Hylätään mahdoton säännön ennakkoehto \"%s\".\n" #: implicit.c:698 -#, c-format +#, fuzzy, c-format msgid "Rejecting impossible implicit prerequisite '%s'.\n" -msgstr "Hylätään mahdoton oletusennakkoehto â€%sâ€.\n" +msgstr "Hylätään mahdoton oletusennakkoehto \"%s\".\n" #: implicit.c:711 -#, c-format +#, fuzzy, c-format msgid "Trying rule prerequisite '%s'.\n" -msgstr "Yritetään käyttää säännön ennakkoehtoa â€%sâ€.\n" +msgstr "Yritetään käyttää säännön ennakkoehtoa \"%s\".\n" #: implicit.c:712 -#, c-format +#, fuzzy, c-format msgid "Trying implicit prerequisite '%s'.\n" -msgstr "Yritetään käyttää oletusennakkoehtoa â€%sâ€.\n" +msgstr "Yritetään käyttää oletusennakkoehtoa \"%s\".\n" #: implicit.c:751 -#, c-format +#, fuzzy, c-format msgid "Found prerequisite '%s' as VPATH '%s'\n" -msgstr "Löydettiin ennakkoehto â€%sâ€, joka on VPATH â€%sâ€\n" +msgstr "Löydettiin ennakkoehto \"%s\", joka on VPATH \"%s\"\n" #: implicit.c:765 -#, c-format +#, fuzzy, c-format msgid "Looking for a rule with intermediate file '%s'.\n" -msgstr "Etsitään sääntöä aputiedostolla â€%sâ€.\n" +msgstr "Etsitään sääntöä aputiedostolla \"%s\".\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Väliaikaistiedoston luominen ei onnistu\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (muisti vedostettu)" -#: job.c:490 +#: job.c:488 +#, fuzzy msgid " (ignored)" -msgstr " (ei huomioida)" +msgstr "[%s] Virhe %d (ei huomioida)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 +#, fuzzy msgid "" -msgstr "" +msgstr " (sisäänrakennettu):" -#: job.c:510 +#: job.c:503 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Virhe %d%s" +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 +#, fuzzy, c-format +msgid "%s[%s] Error %d%s" +msgstr "*** [%s] Virhe %d" + +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] Virhe 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" -#: job.c:599 +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Odotetaan keskeneräisiä töitä...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (etä)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Siivotaan väliaikainen komentotiedosto %s\n" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Siivotaan väliaikainen komentotiedosto %s\n" -#: job.c:951 +#: job.c:961 #, fuzzy, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Poistetaan ketjusta lapsiprosessi 0x%08lx PID %ld%s.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "työpalvelimen kirjoitus" + +#: job.c:1662 job.c:2387 #, fuzzy, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() epäonnistui prosessin käynnistämisessä (v=%d)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -702,115 +716,117 @@ "\n" "Laskettiin %d argumenttia epäonnistuneessa käynnistyksessä\n" -#: job.c:1581 +#: job.c:1735 #, fuzzy, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Lisätään ketjuun lapsiprosessi 0x%08lx (%s) PID %ld%s.\n" -#: job.c:1811 +#: job.c:2005 #, c-format -msgid "Obtained token for child %p (%s).\n" +msgid "semaphore or child process wait: (Error %ld: %s)" msgstr "" -#: job.c:1838 +#: job.c:2019 #, c-format +msgid "Obtained token for child %p (%s).\n" +msgstr "" + +#: job.c:2029 +msgid "read jobs pipe" +msgstr "työputken luku" + +#: job.c:2056 +#, fuzzy, c-format msgid "%s: target '%s' does not exist" -msgstr "%s: kohde â€%s†ei ole olemassa" +msgstr "touch: Arkistoa \"%s\" ei ole olemassa" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "" -"%1$sâ€%3$sâ€-kohteen tarvitseman kohteen â€%2$s†tuottamiseen ei ole sääntöä%4$s" +"%1$s\"%3$s\"-kohteen tarvitseman kohteen \"%2$s\" tuottamiseen ei ole sääntöä" +"%4$s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "kuormarajoja ei voi ottaa käyttöön tässä käyttöjärjestelmässä" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "kuormarajaa ei voi ottaa käyttöön: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" "tiedostokahvoja ei ole enempää: vakiosyötteen kahdentaminen ei onnistunut\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" "tiedostokahvoja ei ole enempää: vakiotulosteen kahdentaminen epäonnistui\n" -#: job.c:2074 +#: job.c:2278 +#, fuzzy msgid "no more file handles: could not duplicate stderr\n" msgstr "" -"tiedostokahvoja ei ole enempää: vakiovirhetulosteen kahdentaminen ei " -"onnistunut\n" +"tiedostokahvoja ei ole enempää: vakiosyötteen kahdentaminen ei onnistunut\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Vakiosyötettä ei voitu palauttaa\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Vakiotulostetta ei voitu palauttaa\n" -#: job.c:2105 +#: job.c:2309 +#, fuzzy msgid "Could not restore stderr\n" -msgstr "Vakiovirhetulostetta ei voitu palauttaa\n" +msgstr "Vakiosyötettä ei voitu palauttaa\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" -#: job.c:2275 +#: job.c:2458 #, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Komentoa ei löytynyt\n" +msgid "%s: Command not found" +msgstr "%s: Komentoa ei löytynyt" -#: job.c:2277 -#, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Komentoa ei löytynyt\n" - -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Kuoriohjelmaa ei löytynyt" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: ympäristötila saattaa olla lopussa" -#: job.c:2584 -#, c-format +#: job.c:2765 +#, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" -msgstr "$SHELL muuttunut (oli â€%sâ€, nyt â€%sâ€)\n" +msgstr "$SHELL muuttunut (oli \"%s\", nyt \"%s\")\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Luodaan väliaikainen komentotiedosto %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -"Komentojonotiedoston sisältö:\n" -"\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -"Komentojonotiedoston sisältö:%s\n" -"\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (rivi %d) Väärä kuoriympäristö (!unixy && !batch_mode_shell)\n" @@ -839,30 +855,30 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr "Rinnakkaiset työt (-j) eivät ole tuettuja tällä alustalla." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Valitsimet:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr "" " -b, -m Yhteensopivuuden vuoksi jätetään huomiotta.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make Tuota kaikki kohteet ehdoitta.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -870,16 +886,16 @@ " -C HAKEMISTO, --directory=HAKEMISTO\n" " Siirry HAKEMISTOon ennen jatkamista.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d Näytä runsaasti vianetsintätietoja.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr " --debug[=LIPUT] Näytä monenlaisia vianetsintätietoja.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -888,12 +904,12 @@ " Ympäristömuuttujat kumoavat makefile-" "tiedostot.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -901,18 +917,18 @@ " -f TIEDOSTO, --file=TIEDOSTO, --makefile=TIEDOSTO\n" " Käytä TIEDOSTOa makefile-tiedostona.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Näytä tämä viesti ja poistu.\n" -#: main.c:360 +#: main.c:335 #, fuzzy msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" " -i, --ignore-errors Älä huomioi suoritettujen komentojen " "virheitä.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -921,7 +937,7 @@ " Etsi sisällytettäviä makefile:ja " "HAKEMISTOsta.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -929,14 +945,14 @@ " -j [N], --jobs[=N] Salli N yhtäaikaista työtä; ilman N:ää " "ääretön.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Jatka vaikka joidenkin kohteiden tuottaminen\n" " epäonnistuisi.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -946,7 +962,7 @@ " Älä aloita useita töitä ellei kuormitus alle " "N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -954,7 +970,7 @@ " -L, --check-symlink-times Käytä uusinta mtime-aikaa symlinkkien ja\n" " kohteen välillä.\n" -#: main.c:374 +#: main.c:349 #, fuzzy msgid "" " -n, --just-print, --dry-run, --recon\n" @@ -965,7 +981,7 @@ " Näytä ajettavat komennot, älä käynnistä " "niitä.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -974,17 +990,17 @@ " -o TIEDOSTO, --old-file=TIEDOSTO, --assume-old=TIEDOSTO\n" " Käsittele TIEDOSTO vanhana, älä tuota sitä.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base Näytä make:in sisäinen tietokanta.\n" -#: main.c:385 +#: main.c:360 #, fuzzy msgid "" " -q, --question Run no recipe; exit status says if up to " @@ -993,22 +1009,22 @@ " -q, --question Älä aja komentoja; paluuarvo kertoo ajan-\n" " tasaisuuden.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Poista käytöstä sisäiset oletussäännöt.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Poista käytöstä sisäiset muuttuja-asetukset.\n" -#: main.c:391 +#: main.c:366 #, fuzzy msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Älä kaiuta komentoja.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1016,25 +1032,25 @@ " -S, --no-keep-going, --stop\n" " Kumoaa valitsimen -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr " -t, --touch Kosketa kohteita tuottamisen sijaan.\n" -#: main.c:398 +#: main.c:373 #, fuzzy msgid " --trace Print tracing information.\n" msgstr " -d Näytä runsaasti vianetsintätietoja.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version Näytä make:in versionumero ja poistu.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Näytä nykyinen hakemisto.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1042,7 +1058,7 @@ " --no-print-directory Kumoa -w, vaikka se olisi käytössä " "oletuksena.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1051,7 +1067,7 @@ "new=TIEDOSTO\n" " Käsittele TIEDOSTO aina uutena.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1059,26 +1075,26 @@ " --warn-undefined-variables Varoita viittauksista määrittelemättömiin\n" " muuttujiin.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "tyhjä merkkijono ei kelpaa tiedostonimeksi" -#: main.c:766 -#, c-format +#: main.c:737 +#, fuzzy, c-format msgid "unknown debug level specification '%s'" -msgstr "tuntematon vianetsintätason määritys â€%sâ€" +msgstr "tuntematon vianetsintätason määritys \"%s\"" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 -#, c-format +#: main.c:828 +#, fuzzy, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" -msgstr "%s: Keskeytys/poikkeus siepattu (koodi = 0x%lx, osoite = 0x%p)\n" +msgstr "%s: Keskeytys/poikkeus siepattu (koodi = 0x%x, osoite = 0x%x)\n" -#: main.c:868 +#: main.c:835 #, fuzzy, c-format msgid "" "\n" @@ -1093,139 +1109,182 @@ "Poikkeusliput = %x\n" "Poikkeusosoite = %x\n" -#: main.c:876 -#, c-format +#: main.c:843 +#, fuzzy, c-format msgid "Access violation: write operation at address 0x%p\n" -msgstr "Suojausvirhe: kirjoitusoperaatio osoitteeseen 0x%p\n" +msgstr "Suojausvirhe: kirjoitusoperaatio osoitteeseen %x\n" -#: main.c:877 -#, c-format +#: main.c:844 +#, fuzzy, c-format msgid "Access violation: read operation at address 0x%p\n" -msgstr "Suojausvirhe: lukuoperaatio osoitteeseen 0x%p\n" +msgstr "Suojausvirhe: lukuoperaatio osoitteeseen %x\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, fuzzy, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell asettaa default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, fuzzy, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell: polkuhaku asetti default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s keskeytyy 30 sekunniksi..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) valmis. Jatketaan.\n" -#: main.c:1627 -#, fuzzy +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"varoitus: työpalvelin ei käytettävissä: käytetään -j1. Lisää â€+†ylemmän " -"tason make-sääntöön." -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "sisäinen virhe: virheellinen --jobserver-fds -merkkijono \"%s\"" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "varoitus: -jN pakotettu ali-make:ssa: poistetaan työpalvelin käytöstä." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "kaksinkertainen työpalvelin" + +#: main.c:1570 +#, fuzzy +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"varoitus: työpalvelin ei käytettävissä: käytetään -j1. Lisää \"+\" ylemmän " +"tason make-sääntöön." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile-tiedosto vakiosyötteestä määritelty kahdesti." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (väliaikaistiedosto)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (väliaikaistiedosto)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Rinnakkaiset työt (-j) eivät ole tuettuja tällä alustalla." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Palataan yhden työn (-j1) tilaan." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "luodaan työputki" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "alustetaan työpalvelimen putki" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Ei tukea symbolisille linkeille: poistetaan -L käytöstä." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Päivitetään makefile-tiedostoja....\n" -#: main.c:2195 -#, c-format +#: main.c:2158 +#, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "" -"Ei uudelleentuoteta makefile-tiedostoa â€%s†– vältetään mahdollinen ikuinen " -"silmukka.\n" +"Ei uudelleentuoteta makefile-tiedostoa \"%s\" - vältetään mahdollinen " +"ikuinen silmukka.\n" -#: main.c:2279 -#, c-format +#: main.c:2237 +#, fuzzy, c-format msgid "Failed to remake makefile '%s'." -msgstr "Makefile-tiedoston â€%s†uudelleentuottaminen epäonnistui." +msgstr "Makefile-tiedoston \"%s\" uudelleentuottaminen epäonnistui." -#: main.c:2299 -#, c-format +#: main.c:2257 +#, fuzzy, c-format msgid "Included makefile '%s' was not found." -msgstr "Sisällytettyä makefile-tiedostoa â€%s†ei löytynyt." +msgstr "Sisällytettyä makefile-tiedostoa \"%s\" ei löytynyt." -#: main.c:2304 -#, c-format +#: main.c:2262 +#, fuzzy, c-format msgid "Makefile '%s' was not found" -msgstr "Makefile-tiedostoa â€%s†ei löytynyt" +msgstr "Makefile-tiedostoa \"%s\" ei löytynyt" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Ei voitu siirtyä takaisin alkuperäiseen hakemistoon." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Uudelleenkäynnistetään[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (väliaikaistiedosto): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL sisältää yli yhden kohteen" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Kohteita ei ole annettu, eikä makefileä löytynyt" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Ei kohteita" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "varoitus: Havaittu väärä kellonaika. Käännösversio saattaa olla " "epätäydellinen." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Käyttö: %s [valitsimet] [kohde] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1234,7 +1293,7 @@ "\n" "Tämä ohjelma on käännetty järjestelmälle %s.\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1243,33 +1302,37 @@ "\n" "Tämä ohjelma on käännetty järjestelmälle %s (%s).\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" "Ilmoita ohjelmistovioista (englanniksi) osoitteeseen .\n" -#: main.c:2870 -#, c-format +#: main.c:2807 +#, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" -msgstr "valitsin â€%s%s†vaatii ei-tyhjän merkkijonoargumentin" +msgstr "valitsin \"-%c\" vaatii ei-tyhjän merkkijonoargumentin" -#: main.c:2934 -#, c-format +#: main.c:2871 +#, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" -msgstr "valitsin â€-%c†vaatii positiivisen kokonaislukuargumentin" +msgstr "valitsin \"-%c\" vaatii positiivisen kokonaislukuargumentin" -#: main.c:3332 -#, c-format +#: main.c:3269 +#, fuzzy, c-format msgid "%sBuilt for %s\n" -msgstr "%sTämä ohjelma on käännetty järjestelmälle %s\n" +msgstr "" +"\n" +"%sTämä ohjelma on käännetty järjestelmälle %s.\n" -#: main.c:3334 -#, c-format +#: main.c:3271 +#, fuzzy, c-format msgid "%sBuilt for %s (%s)\n" -msgstr "%sTämä ohjelma on käännetty järjestelmälle %s (%s)\n" +msgstr "" +"\n" +"%sTämä ohjelma on käännetty järjestelmälle %s (%s).\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "SISÄÄNRAKENNETTU CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Tuntematon sisäänrakennettu komento \"%s\"\n" + +#: vmsjobs.c:592 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Virhe, tyhjä komento\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Syöte uudelleenohjattu kohteesta %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Virhetuloste uudelleenohjattu kohteeseen %s\n" + +#: vmsjobs.c:690 #, fuzzy, c-format msgid "Append output to %s\n" msgstr "Tuloste uudelleenohjattu kohteeseen %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Tuloste uudelleenohjattu kohteeseen %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Käynnistetään sen sijaan %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Virhe käynnistyksessä, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2146,110 +2229,42 @@ "\n" "# VPATH-hakupolut\n" -#: vpath.c:620 +#: vpath.c:600 +#, fuzzy msgid "# No 'vpath' search paths." -msgstr "# Ei â€vpathâ€-hakupolkuja." +msgstr "# Ei \"vpath\"-hakupolkuja." -#: vpath.c:622 -#, c-format +#: vpath.c:602 +#, fuzzy, c-format msgid "" "\n" "# %u 'vpath' search paths.\n" msgstr "" "\n" -"# %u â€vpathâ€-hakupolkua.\n" +"# %u \"vpath\"-hakupolkua.\n" -#: vpath.c:625 +#: vpath.c:605 +#, fuzzy msgid "" "\n" "# No general ('VPATH' variable) search path." msgstr "" "\n" -"# Ei yleistä (â€VPATHâ€-muuttuja) hakupolkua." +"# Ei yleistä (\"VPATH\"-muuttuja) hakupolkua." -#: vpath.c:631 +#: vpath.c:611 +#, fuzzy msgid "" "\n" "# General ('VPATH' variable) search path:\n" "# " msgstr "" "\n" -"# Yleinen (â€VPATHâ€-muuttuja) hakupolku:\n" +"# Yleinen (\"VPATH\"-muuttuja) hakupolku:\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Virhe 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "kaksinkertainen työpalvelin" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Varoitus: Tyhjä uudelleenohjaus\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "sisäinen virhe: â€%s†command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "SISÄÄNRAKENNETTU [%s][%s]\n" - -#, fuzzy -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "SISÄÄNRAKENNETTU CD %s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Tuntematon sisäänrakennettu komento â€%sâ€\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Virhe, tyhjä komento\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Syöte uudelleenohjattu kohteesta %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Virhetuloste uudelleenohjattu kohteeseen %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Tuloste uudelleenohjattu kohteeseen %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Virhe käynnistyksessä, %d\n" - #~ msgid "# Invalid value in `update_status' member!" -#~ msgstr "# Virheellinen arvo â€update_statusâ€-jäsenessä!" +#~ msgstr "# Virheellinen arvo \"update_status\"-jäsenessä!" #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] Virhe 0x%x (ei huomioida)" @@ -2279,13 +2294,13 @@ #~ msgstr "kirjoitusvirhe" #~ msgid "extraneous `endef'" -#~ msgstr "ylimääräinen â€endefâ€" +#~ msgstr "ylimääräinen \"endef\"" #~ msgid "empty `override' directive" -#~ msgstr "tyhjä â€overrideâ€-toimintaohje" +#~ msgstr "tyhjä \"override\"-toimintaohje" #~ msgid "invalid `override' directive" -#~ msgstr "virheellinen â€overrideâ€-toimintaohje" +#~ msgstr "virheellinen \"override\"-toimintaohje" #~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n" #~ msgstr "-varoitus, Ctrl-Y jättää aliprosessi(n/t) käyntiin.\n" @@ -2293,5 +2308,5 @@ #~ msgid "BUILTIN RM %s\n" #~ msgstr "SISÄÄNRAKENNETTU RM %s\n" -#~ msgid "Syntax error, still inside 'â€'\n" -#~ msgstr "Syntaksivirhe, edelleen â€:n sisällä\n" +#~ msgid "Syntax error, still inside '\"'\n" +#~ msgstr "Syntaksivirhe, edelleen \":n sisällä\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/fr.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/fr.gmo differ diff -Nru make-dfsg-4.2.1/po/fr.po make-dfsg-4.1/po/fr.po --- make-dfsg-4.2.1/po/fr.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/fr.po 2016-01-16 10:25:59.000000000 +0000 @@ -6,15 +6,15 @@ # Marc Baudoin , Frédéric Liné , 1996. # Michel Robitaille , 1996-2006 # Christophe Combelles , 2009, 2010 -# Kévin Raymond , 2012, 2013, 2015 +# Kevin Raymond , 2012, 2013 # msgid "" msgstr "" -"Project-Id-Version: GNU make 4.1\n" +"Project-Id-Version: GNU make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2015-03-11 22:20+0100\n" -"Last-Translator: Kévin Raymond \n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-11-01 16:15+0100\n" +"Last-Translator: Kevin Raymond \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -52,89 +52,88 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch : mauvais code de retour de ar_member_touch pour « %s »" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module() n'a pas pu extraire les infos du module. Code = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() a échoué avec un code = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "" -"impossible d'ouvrir la bibliothèque « %s » pour récupérer le statut du " -"membre « %d »" +"impossible d'ouvrir la bibliothèque « %s » pour récupérer le membre « %s »" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Membre `%s'%s : %ld octets à %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (le nom peut être tronqué)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Date %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mode = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "La recette contient trop de lignes (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Break.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "" "*** [%s] le membre « %s » de l'archive peut avoir un problème ; il n'a pas " "été supprimé" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "" "*** Le membre « %s » de l'archive peut avoir un problème ; il n'a pas été " "supprimé" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Suppression du fichier « %s »" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Suppression du fichier « %s »" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# recette à exécuter" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (commande interne) :" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (de « %s », ligne %lu) : \n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -142,62 +141,62 @@ "\n" "# Répertoires\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: « stat » impossible.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (clé %s, mtime %d) : ouverture impossible.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (périphérique %d, inode [%d,%d,%d]) : ouverture impossible.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (périphérique %ld, inode %ld) : ouverture impossible.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (périphérique %s, mtime %d) : " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (périphérique %d, inode [%d,%d,%d]) : " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (périphérique %ld, inode %ld) : " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Aucun" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " fichier(s), " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "aucune" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " impossibilité(s)" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " jusqu'ici." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " impossibilités dans %lu répertoires.\n" @@ -207,161 +206,161 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "La variable récursive « %s » se référence elle-même (à la fin)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "référence incomplète à une variable" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Une recette a été spécifiée pour le fichier « %s » dans %s : %lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" "La recette pour le fichier « %s » a été trouvée par une recherche de règle " "implicite," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "" "mais « %s » est maintenant considéré comme étant le même fichier que « %s »." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "La recette pour « %s » sera ignorée en faveur de celle pour « %s »." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "impossible de renommer le deux-points simple « %s » en deux-points double " "« %s »" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" "impossible de renommer le deux-points double « %s » en deux-points simple " "« %s »" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Suppression du fichier intermédiaire « %s »" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Suppression des fichiers intermédiaires...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Heure actuelle" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s : horodatage hors limite ; remplacement par %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Pas une cible :" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Fichier précieux (dépendance de .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Cible factice (dépendance de .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Cible de la ligne de commande." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Une valeur par défaut, MAKEFILES ou -include/sinclude makefile." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Pas de règle interne" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# La recherche de règle implicite a été effectuée." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# La recherche de règle implicite n'a pas été effectuée." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Préfixe de motif implicite ou statique : « %s »\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Le fichier est une dépendance intermédiaire." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Fabrique également :" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Heure de modification jamais vérifiée." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Le fichier n'existe pas." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Le fichier est très ancien." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Dernière modification %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Le fichier a été mis à jour." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Le fichier n'a pas été mis à jour." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Recette en cours d'exécution (CECI EST UNE ANOMALIE)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "" "# Recette de dépendances en cours d'exécution (CECI EST UNE ANOMALIE)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Mise à jour réussie." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# À besoin d'être mis à jour (l'option -q est activée)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# N'a pas pu être mis à jour." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Valeur non valable dans le membre « command_state » !" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -369,7 +368,7 @@ "\n" "# Fichiers" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -379,122 +378,105 @@ "# stats des tables de hachage des fichiers :\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s : le champ « %s » n'est pas en cache : %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "le premier argument de la fonction « word » doit être numérique" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "le premier argument de la fonction « word » doit être supérieur à 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "le premier argument de la fonction « wordlist » doit être numérique" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "le deuxième argument de la fonction « wordlist » doit être numérique" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe : DuplicateHandle(In) a échoué (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe : DuplicateHandle(Err) a échoué (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() a échoué (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe() : process_init_fd() a échoué\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Nettoyage du fichier de commandes temporaire %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "open : %s : %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "write : %s : %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "open : %s : %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "" - -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "write : %s : %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "Fichier d'opérations invalide : %s" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "non implémenté sur cette plateforme : fonction « %s »" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "appel à la fonction « %s » non terminé : « %c » manquant" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Nom de fonction absent" +msgstr "Nom de fonction absent\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Nom de fonction invalide : %s" +msgstr "Nom de fonction invalide : %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Nom de fonction trop long : %s" +msgstr "Nom de fonction trop long : %s\n" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »" +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »\n" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »" +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "nombre d'arguments insuffisant (%d) pour la fonction « %s »\n" #: getopt.c:659 #, c-format @@ -592,7 +574,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Recherche d'une règle implicite de membre d'archive pour « %s ».\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Évitement de récursion dans une règle implicite.\n" @@ -636,76 +618,100 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Recherche d'une règle contenant le fichier intermédaire « %s ».\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Impossible de créer un fichier temporaire\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (core dump créé)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (ignorée)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 -#, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s : la recette pour la cible « %s » a échouée" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" msgstr "%s[%s] Erreur %d%s" -#: job.c:599 +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Erreur 0x%x%s" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Attente des tâches non terminées...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Processus fils actif %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (distant)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Récolte du processus fils perdant %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Récolte du processus fils gagnant %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Nettoyage du fichier de commande temporaire %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Le nettoyage du fichier de commandes temporaire %s a échoué (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Retrait du processus fils %p PID %s%s de la chaîne.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "libération de la sémaphore jobserver : erreur (%ld : %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Jeton relâché pour le processus fils %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "écriture vers le serveur de tâches" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() n'a pas pu lancer de processus (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -714,100 +720,104 @@ "\n" "%d arguments comptés lors du lancement échoué\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Ajout du processus fils %p (%s) PID %s%s à la chaîne.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "attente de la sémaphore ou du processus fils : (erreur %ld : %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Jeton obtenu pour le processus fils %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "lecture du tube des processus" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s : la cible « %s » n'existe pas" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s : mise à jour de la cible « %s » nécessaire pour : %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "" "impossible d'imposer des limites de charge sur ce système d'exploitation" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "impossible d'imposer des limites de charge : " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" "plus d'identificateur de fichier disponible : impossible de dupliquer stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" "plus d'identificateur de fichier disponible : impossible de dupliquer " "stdout\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" "plus d'identificateurs de fichier disponible : impossible de dupliquer " "stderr\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Impossible de restaurer stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Impossible de restaurer stdout\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Impossible de restaurer stderr\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" "make a récolté le processus fils pid %s, toujours en attente du pid %s\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s : commande introuvable" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s : commande introuvable" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s : programme Shell introuvable" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe : l'espace d'environnement est peut-être épuisé" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL a été modifié (de « %s » à « %s »)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Création d'un fichier de commande temporaire %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -815,7 +825,7 @@ "Contenu du fichier de commande :\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -824,7 +834,7 @@ "Contenu du fichier Batch :%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -855,30 +865,30 @@ msgid "Empty symbol name for load: %s" msgstr "Nom du symbole absent pour l'opération « load » : %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Chargement du symbole %s à partir de %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "" "Les opérations « load » ne sont pas prises en charge sur cette plateforme." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Options :\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignoré pour compatibilité.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Fabriquer toutes les cibles sans condition.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -887,19 +897,19 @@ " Se placer dans le RÉPERTOIRE avant toute " "action.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d Afficher beaucoup d'informations de débogage.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=FLAGS] Afficher divers types d'informations de " "débogage.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -908,14 +918,14 @@ " Les variables d'environment sont prioritaires " "sur les makefiles.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=CHAINE Evaluer la CHAINE comme une instruction de " "makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -923,16 +933,16 @@ " -f FICHIER, --file=FICHIER, --makefile=FICHIER\n" " Lire le FICHIER comme un makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Afficher ce message et quitter.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" " -i, --ignore-errors Ignorer les erreurs venant des recettes.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -941,7 +951,7 @@ " Chercher dans le RÉPERTOIRE les makefiles " "traités par inclusion.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -949,14 +959,14 @@ " -j [N], --jobs[=N] Autoriser N tâches simultanées ; nombre infini " "si utilisé sans argument.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Poursuivre même si certaines cibles n'ont pas " "pu être fabriquées.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -966,7 +976,7 @@ " Ne pas lancer de tâches multiples à moins que " "la charge soit inférieure à N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -974,7 +984,7 @@ " -L, --check-symlink-times Utiliser le « mtime » le plus récent entre les " "liens symboliques et la cible.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -984,7 +994,7 @@ " N'exécuter aucune recette ; seulement les " "afficher.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -994,7 +1004,7 @@ " Considérer le FICHIER comme étant très ancien " "et ne pas le refabriquer.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -1003,12 +1013,12 @@ " Synchronise la sortie des tâches parallèles " "par TYPE.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base Afficher la base de données interne de make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -1016,22 +1026,22 @@ " -q, --question Ne pas exécuter de recette ; le code de sortie " "indique si la cible est à jour.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Désactiver les règles implicites internes.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Désactiver les réglages des variables " "internes.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Ne pas répéter les recettes.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1039,28 +1049,28 @@ " -S, --no-keep-going, --stop\n" " Désactiver -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Assigner l'heure actuelle aux cibles au lieu " "de les refabriquer.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Afficher les traces mémoire.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Afficher le numéro de version de make et " "quitter.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Afficher le répertoire courant.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1068,7 +1078,7 @@ " --no-print-directory Désactiver l'option -w, même si elle a été " "activée implicitement.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1077,7 +1087,7 @@ " Considérer le FICHIER comme étant toujours " "nouveau.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1085,27 +1095,27 @@ " --warn-undefined-variables Prévenir lorsqu'une variable non définie est " "référencée.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "une chaîne vide n'est pas un nom de fichier valable" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "niveau de débogage inconnu « %s »" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "type de output-sync « %s » inconnu" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" "%s: interception de l'interruption/exception (code = 0x%lx, addr = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1120,142 +1130,187 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Violation d'accès : opération d'écriture à l'adresse 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Violation d'accès : opération de lecture à l'adresse 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() définit default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" "La recherche de chemin de find_and_set_shell() a définit default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s s'arrête pendant 30 secondes..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) terminé. On continue.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"avertissement : jobserver n'est pas disponible : utilisation de -j1. Ajouter " -"« + » à la règle parent du make." +"erreur interne : impossible d'ouvrir la sémaphore « %s » du jobserver : " +"(erreur %ld : %s) " + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "client Jobserver (semaphore %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "erreur interne : chaîne --jobserver-fds incorrecte « %s »" -#: main.c:1635 +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "client Jobserver (fds %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "AVERTISSEMENT : -jN forcé dans un submake : désactivation du mode serveur de " "tâches." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "duplication du serveur de tâches" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"avertissement : jobserver n'est pas disponible : utilisation de -j1. Ajouter " +"« + » à la règle parent du make." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile depuis l'entrée standard spécifié deux fois." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (fichier temporaire)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (fichier temporaire)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "" "Les tâches en parallèle (-j) ne sont pas prises en charge sur cette " "plateforme." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "On revient en mode monotâche (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Nombre de clients jobserver limités à %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "création de la sémaphore du jobserver : (erreur %ld : %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "création d'un tube pour les tâches" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "initialisation du tube du serveur de tâches" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" "Les liens symboliques ne sont pas pris en charge : désactivation de -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Mise à jour des makefiles....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Le makefile « %s » pourrait boucler ; on ne recommence pas.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Échec de refabrication du makefile « %s »." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Le makefile inclus « %s » est introuvable." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Le makefile « %s » est introuvable" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Impossible de revenir dans le répertoire d'origine." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Réexécution[%u] :" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (fichier temporaire) :" -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL contient plus d'une cible" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Pas de cible spécifiée et aucun makefile n'a été trouvé" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Pas de cible" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Mise à jour des objectifs cibles....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "AVERTISSEMENT : décalage d'horloge détecté. La construction peut être " "incomplète." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Utilisation : %s [options] [cible] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1264,7 +1319,7 @@ "\n" "Ce programme est construit pour %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1273,32 +1328,32 @@ "\n" "Ce programme est construit pour %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Signaler les anomalies à .\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "l'option « %s%s » a besoin d'une chaîne non vide comme argument" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "l'option « -%c » prend en argument un entier positif" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sConstruit pour %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sConstruit pour %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "COMMANDE CD INTERNE %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Commande interne inconnue « %s »\n" + +#: vmsjobs.c:592 #, c-format -msgid "DCL: %s\n" +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Erreur, commande vide\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Entrée redirigée depuis %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Erreur redirigée vers %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Sortie ajoutée à %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Sortie redirigée vers %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Ajoute %.*s et nettoie\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Exécution de %s à la place\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Erreur de lancement, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2190,11 +2258,11 @@ "\n" "# Chemins de recherche VPATH\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Aucun chemin de recherche « vpath »." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2203,7 +2271,7 @@ "\n" "# %u chemins de recherche « vpath ».\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2211,7 +2279,7 @@ "\n" "# Aucun chemin de recherche général (variable « VPATH »)." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2221,85 +2289,6 @@ "# Chemin de recherche général (variable « VPATH ») :\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Nombre de clients jobserver limités à %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "création de la sémaphore du jobserver : (erreur %ld : %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"erreur interne : impossible d'ouvrir la sémaphore « %s » du jobserver : " -"(erreur %ld : %s) " - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "client Jobserver (semaphore %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "libération de la sémaphore jobserver : erreur (%ld : %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "attente de la sémaphore ou du processus fils : (erreur %ld : %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s : la recette pour la cible « %s » a échoué" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Erreur 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "duplication du serveur de tâches" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "AVERTISSEMENT : redirection vide\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "erreur interne : « %s » command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "COMMANDE INTERNE [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "COMMANDE ECHO INTERNE %s->%s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Commande interne inconnue « %s »\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "" -#~ "Commande interne inconnue ou non prise en charge par .ONESHELL : « %s »\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Erreur, commande vide\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Entrée redirigée depuis %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Erreur redirigée vers %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Sortie redirigée vers %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Erreur de lancement, %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "erreur interne : options --sync-mutex multiples" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/ga.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/ga.gmo differ diff -Nru make-dfsg-4.2.1/po/ga.po make-dfsg-4.1/po/ga.po --- make-dfsg-4.2.1/po/ga.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/ga.po 2016-01-16 10:25:59.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: make 3.81\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2006-04-22 16:02-0500\n" "Last-Translator: Kevin Patrick Scannell \n" "Language-Team: Irish \n" @@ -45,88 +45,88 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: Droch-chód aisfhillidh ó ar_member_touch ar `%s'" -#: arscan.c:130 +#: arscan.c:124 #, fuzzy, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "níorbh fhéidir le lbr$set_module an t-eolas modúil a bhaint amach, stádas = " "%d" -#: arscan.c:236 +#: arscan.c:230 #, fuzzy, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "theip ar lbr$ini_control le stádas = %d" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "" "ní féidir leabharlann `%s' a oscailt chun cuardach a dhéanamh ar an mball `" "%s'" -#: arscan.c:965 +#: arscan.c:944 #, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Ball `%s'%s: %ld beart ag %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (is féidir go bhfuil an t-ainm teasctha)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Dáta %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mód = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Briseadh.\n" -#: commands.c:627 +#: commands.c:629 #, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Is féidir gur ball bréige é `%s'; ní scriosadh" -#: commands.c:631 +#: commands.c:633 #, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Is féidir gur ball bréige é `%s'; ní scriosadh" -#: commands.c:645 +#: commands.c:647 #, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Comhad `%s' á scriosadh" -#: commands.c:647 +#: commands.c:649 #, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** Comhad `%s' á scriosadh" -#: commands.c:683 +#: commands.c:685 #, fuzzy msgid "# recipe to execute" msgstr "# orduithe le rith" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (insuite):" -#: commands.c:688 +#: commands.c:690 #, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (ó `%s', líne %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -134,62 +134,62 @@ "\n" "# Comhadlanna\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: níorbh fhéidir é a stat.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (eochair %s, am-m %d): ní féidir é a oscailt.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (gléas %d, i-nód [%d,%d,%d]): ní féidir é a oscailt.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (gléas %ld, i-nód %ld): níorbh fhéidir é a oscailt.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (eochair %s, am-m %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (gléas %d, i-nód [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (gléas %ld, i-nód %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Ná Déan" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " comhad, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "níl" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " rudaí neamhfhéideartha" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " go dtí seo." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " rudaí neamhfhéideartha i %lu comhadlann.\n" @@ -199,164 +199,164 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Déanann an athróg athchúrsach `%s' tagairt dó féin (sa deireadh)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "tagairt athróige gan chríochnú" -#: file.c:278 +#: file.c:271 #, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Sonraíodh orduithe le haghaidh comhaid `%s' ag %s:%lu," -#: file.c:283 +#: file.c:276 #, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" "Aimsíodh orduithe le haghaidh `%s' trí chuardach ar rialacha intuigthe," -#: file.c:287 +#: file.c:280 #, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "ach anois is ionann iad na comhaid `%s' agus `%s'." -#: file.c:290 +#: file.c:283 #, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" "Déanfar neamhshuim ar orduithe le haghaidh `%s'; úsáidfear na cinn le " "haghaidh `%s' ina n-ionad." -#: file.c:310 +#: file.c:303 #, fuzzy, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "ní féidir idirstad aonair `%s' a athainmnigh le hidirstad dúbailte `%s'" -#: file.c:316 +#: file.c:309 #, fuzzy, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "ní féidir idirstad dúbailte `%s' a athainmniú le hidirstad aonair `%s'" -#: file.c:408 +#: file.c:401 #, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Comhad idirmheánach `%s' á scriosadh" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Comhaid idirmheánacha á mbaint...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "An t-am anois" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Stampa ama as raon; %s á úsáid ina ionad" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Ní sprioc é:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Comhad luachmhar (réamhriachtanas de .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Sprioc bhréige (réamhriachtanas de .PHONY)." -#: file.c:971 +#: file.c:964 #, fuzzy msgid "# Command line target." msgstr "# Sprioc líne na n-orduithe." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Makefile réamhshocraithe, nó ó MAKEFILES, nó -include/sinclude." -#: file.c:975 +#: file.c:968 #, fuzzy msgid "# Builtin rule" msgstr "" "\n" "# Níl aon riail intuigthe." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Rinneadh cuardach ar rialacha intuigthe." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Ní dhearna cuardach ar rialacha intuigthe." -#: file.c:980 +#: file.c:973 #, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Stoc patrúin intuigthe/statach: `%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Tá an comhad ina réamhriachtanas idirmheánach." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Déantar fosta:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Níor seiceáladh an t-am mionathraithe riamh." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Níl a leithéid de chomhad ann." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Is cianaosta an comhad seo." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Athraithe %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Nuashonraíodh an comhad." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Níor nuashonraíodh an comhad." -#: file.c:1008 +#: file.c:1001 #, fuzzy msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Tá orduithe ann atá ag rith faoi láthair (IS FABHT É SEO)." -#: file.c:1011 +#: file.c:1004 #, fuzzy msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Tá orduithe spleáchais ag rith (IS FABHT É SEO)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# D'éirigh leis an nuashonrú." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Tá gá le nuashonrú (-q ceaptha)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Theip ar nuashonrú." -#: file.c:1032 +#: file.c:1025 #, fuzzy msgid "# Invalid value in 'command_state' member!" msgstr "# Luach neamhbhailí sa bhall `command_state'!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -364,7 +364,7 @@ "\n" "# Comhaid" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -374,126 +374,108 @@ "# comhaid hais-tábla stait:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 #, fuzzy msgid "non-numeric first argument to 'word' function" msgstr "tá an chéad argóint neamhuimhriúil leis an fheidhm `word'" -#: function.c:795 +#: function.c:785 #, fuzzy msgid "first argument to 'word' function must be greater than 0" msgstr "caithfidh an chéad argóint leis an fheidhm `word' a bheith deimhneach" -#: function.c:815 +#: function.c:805 #, fuzzy msgid "non-numeric first argument to 'wordlist' function" msgstr "is neamhuimhriúil í an chéad argóint leis an fheidhm `wordlist'" -#: function.c:817 +#: function.c:807 #, fuzzy msgid "non-numeric second argument to 'wordlist' function" msgstr "is neamhuimhriúil í an dara hargóint leis an fheidhm `wordlist'" -#: function.c:1525 +#: function.c:1499 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "create_child_process: theip ar DuplicateHandle(In) (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "create_child_process: theip ar DuplicateHandle(Earr) (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "Theip ar CreatePipe() (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 #, fuzzy msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe (): theip ar process_init_fd()\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Baisc-chomhad sealadach %s á ghlanadh\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, fuzzy, c-format msgid "open: %s: %s" msgstr "%s: %s" -#: function.c:2227 +#: function.c:2203 #, fuzzy, c-format msgid "write: %s: %s" msgstr "earráid sa scríobh: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "%s%s: %s" - -#: function.c:2243 -msgid "file: too many arguments" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "%s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "%s: rogha neamhbhailí -- %c\n" - -#: function.c:2390 +#: function.c:2324 #, fuzzy, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "easpa argóintí (%d) d'fheidhm `%s'" -#: function.c:2402 +#: function.c:2336 #, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" msgstr "níl an fheidhm `%s' ar fáil ar an chóras seo" -#: function.c:2466 +#: function.c:2399 #, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "glao ar fheidhm `%s' gan chríochnú: `%c' ar iarraidh" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "easpa argóintí (%d) d'fheidhm `%s'" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "easpa argóintí (%d) d'fheidhm `%s'" #: getopt.c:659 @@ -592,7 +574,7 @@ msgstr "" "Ag déanamh cuardach ar riail intuigthe le haghaidh bhall cartlainne `%s'.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Athchúrsáil de bharr rialacha intuigthe á seachaint.\n" @@ -636,78 +618,102 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Ag déanamh cuardach ar riail le comhad idirmheánach `%s'.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Ní féidir comhad sealadach a chruthú\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (córdhumpa)" -#: job.c:490 +#: job.c:488 #, fuzzy msgid " (ignored)" msgstr "[%s] Earráid %d (rinneadh neamhshuim)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 #, fuzzy msgid "" msgstr " (insuite):" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 #, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s[%s] Error %d%s" msgstr "*** [%s] Earráid %d" -#: job.c:599 +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] Earráid 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Ag fanacht le jabanna neamhchríochnaithe..." -#: job.c:629 +#: job.c:651 #, fuzzy, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Mac beo 0x%08lx (%s) PID %ld %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (cianda)" -#: job.c:831 +#: job.c:841 #, fuzzy, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Mac caillteach á bhaint: 0x%08lx PID %ld %s\n" -#: job.c:832 +#: job.c:842 #, fuzzy, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Mac buaiteach á bhaint: 0x%08lx PID %ld %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Baisc-chomhad sealadach %s á ghlanadh\n" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Baisc-chomhad sealadach %s á ghlanadh\n" -#: job.c:951 +#: job.c:961 #, fuzzy, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Mac 0x%08lx PID %ld%s á dhealú ón slabhra.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, fuzzy, c-format msgid "Released token for child %p (%s).\n" msgstr "Saoradh ceadchomhartha le haghaidh mac 0x%08lx (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "scríobh jabfhreastalaí" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "theip ar process_easy(); níor tosaíodh próiseas (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -716,110 +722,114 @@ "\n" "%d argóint sa tosú theipthe\n" -#: job.c:1581 +#: job.c:1735 #, fuzzy, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Ag cur mac 0x%08lx (%s) PID %ld%s ar an slabhra.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, fuzzy, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Fuarthas ceadchomhartha le haghaidh mac 0x%08lx (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "léadh píopa na jabanna" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "touch: Níl an chartlann `%s' ann" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "" "%sNíl aon riail chun an sprioc `%s' a dhéanamh, riachtanach le haghaidh `" "%s'%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "ní féidir srianta lóid a chur i bhfeidhm ar an chóras oibriúcháin seo" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "ní féidir srian lóid a chur i bhfeidhm: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "níl aon hanla comhaid le fáil: níorbh fhéidir stdin a chóipeáil\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "níl aon hanla comhaid le fáil: níorbh fhéidir stdout a chóipeáil\n" -#: job.c:2074 +#: job.c:2278 #, fuzzy msgid "no more file handles: could not duplicate stderr\n" msgstr "níl aon hanla comhaid le fáil: níorbh fhéidir stdin a chóipeáil\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Níorbh fhéidir stdin a athchóiriú\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Níorbh fhéidir stdout a athchóiriú\n" -#: job.c:2105 +#: job.c:2309 #, fuzzy msgid "Could not restore stderr\n" msgstr "Níorbh fhéidir stdin a athchóiriú\n" -#: job.c:2234 +#: job.c:2420 #, fuzzy, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "ghin make mac le pid %ld, ag feitheamh le pid %ld fós\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: Ní bhfuarthas an t-ordú" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: Ní bhfuarthas an t-ordú" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Ní bhfuarthas an clár blaoisce" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: is féidir gur ídithe í cuimhne na timpeallachta" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "Athraíodh $SHELL (ba `%s' é, agus is `%s' é anois)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Baisc-chomhad sealadach %s á chruthú\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -849,29 +859,29 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr "Níl jabanna parailéalacha (-j) ar fáil ar an gcóras seo." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Roghanna:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Déan neamhshuim (comhoiriúnacht)\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make Déan gach sprioc, gan choinníollacha.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -879,18 +889,18 @@ " -C COMHADLANN, --directory=COMHADLANN\n" " Téigh go COMHADLANN roimh dhéanamh aon rud.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d Taispeáin go leor eolas dífhabhtaithe.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=BRATACHA] Taispeáin eolas fabhtaithe de chineálacha " "éagsúla.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -898,12 +908,12 @@ " -e, --environment-overrides\n" " Sáraíonn athróga timpeallachta makefileanna.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -911,17 +921,17 @@ " -f COMHAD, --file=COMHAD, --makefile=COMHAD\n" " Léigh COMHAD mar makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Taispeáin an chabhair seo agus scoir.\n" -#: main.c:360 +#: main.c:335 #, fuzzy msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" " -i, --ignore-errors Déan neamhshuim ar earráidí ó orduithe.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -930,7 +940,7 @@ " Cuardaigh i gCOMHADLANN ar makefileanna " "breise.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -938,14 +948,14 @@ " -j [N], --jobs[=N] Ceadaigh N jab le chéile; éigríoch mura " "gceaptar arg.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Lean ar aghaidh fiú nach féidir sprioc a " "dhéanamh.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -955,7 +965,7 @@ " Ná tosaigh jabanna iomadúla mura bhfuil an lód " "níos lú ná N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -964,7 +974,7 @@ "nasc\n" " siombalach nó ar an sprioc.\n" -#: main.c:374 +#: main.c:349 #, fuzzy msgid "" " -n, --just-print, --dry-run, --recon\n" @@ -975,7 +985,7 @@ " Ná rith aon ordú; taispeáin torthaí mar dhea " "amháin.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -985,18 +995,18 @@ " Caith le COMHAD mar cheann cianaosta; ná " "hathdhéan é.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base Taispeáin an bunachar sonraí inmheánach.\n" -#: main.c:385 +#: main.c:360 #, fuzzy msgid "" " -q, --question Run no recipe; exit status says if up to " @@ -1005,21 +1015,21 @@ " -q, --question Ná rith aon ordú; stádas scortha = 0 mura gá " "le nuashonrú.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Díchumasaigh na rialacha intuigthe insuite.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables Díchumasaigh na hathróga insuite.\n" -#: main.c:391 +#: main.c:366 #, fuzzy msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Ná déan macalla ar orduithe.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1027,28 +1037,28 @@ " -S, --no-keep-going, --stop\n" " Múch -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Teagmhaigh spriocanna in ionad iad a " "athdhéanamh.\n" -#: main.c:398 +#: main.c:373 #, fuzzy msgid " --trace Print tracing information.\n" msgstr " -d Taispeáin go leor eolas dífhabhtaithe.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Taispeáin eolas faoin leagan agus scoir.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Taispeáin an chomhadlann reatha.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1056,7 +1066,7 @@ " --no-print-directory Múch -w, fiú má tá sé i bhfeidhm go " "hintuigthe.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1065,7 +1075,7 @@ " Caith le COMHAD mar cheann úrnua (go " "héigríoch).\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1073,26 +1083,26 @@ " --warn-undefined-variables Tabhair rabhadh má dhéantar tagairt d'athróg " "gan sainmhíniú.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "ní féidir teaghrán folamh a úsáid mar ainm comhaid" -#: main.c:766 +#: main.c:737 #, fuzzy, c-format msgid "unknown debug level specification '%s'" msgstr "sonrú anaithnid `%s' ar an leibhéal dífhabhtaithe" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, fuzzy, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Fuarthas idirbhriseadh/eisceacht (cód = 0x%lx, seoladh = 0x%lx)\n" -#: main.c:868 +#: main.c:835 #, fuzzy, c-format msgid "" "\n" @@ -1107,37 +1117,66 @@ "BratachaEisceachta = %lx\n" "SeoladhEisceachta = %lx\n" -#: main.c:876 +#: main.c:843 #, fuzzy, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Sárú rochtana: oibríocht scríofa ag seoladh %lx\n" -#: main.c:877 +#: main.c:844 #, fuzzy, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Sárú rochtana: oibríocht léimh ag seoladh %lx\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, fuzzy, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "tá find_and_set_shell ag socrú default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, fuzzy, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "shocraigh find_and_set_shell conair chuardaigh default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "cuirfear %s ar fionraí ar feadh tréimhse 30 soicind..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) críochnaithe. Ag gabháil ar aghaidh.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format +msgid "" +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "earráid inmheánach: teaghrán neamhbhailí --jobserver-fds `%s'" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "" + +#: main.c:1551 +msgid "warning: -jN forced in submake: disabling jobserver mode." +msgstr "rabhadh: -jN fórsáilte i bhfo-make: mód jabfhreastalaí á dhíchumasú." + +#: main.c:1567 +msgid "dup jobserver" +msgstr "jabfhreastalaí dup" + +#: main.c:1570 #, fuzzy msgid "" "warning: jobserver unavailable: using -j1. Add '+' to parent make rule." @@ -1145,97 +1184,111 @@ "rabhadh: níl jabfhreastalaí ar fáil: ag baint úsáid as -j1. Cuir `+' leis " "an máthair-riail." -#: main.c:1635 -msgid "warning: -jN forced in submake: disabling jobserver mode." -msgstr "rabhadh: -jN fórsáilte i bhfo-make: mód jabfhreastalaí á dhíchumasú." - -#: main.c:1805 +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Sonraíodh Makefile ón ionchur caighdeánach faoi dhó." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (comhad sealadach)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (comhad sealadach)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Níl jabanna parailéalacha (-j) ar fáil ar an gcóras seo." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Á athshocrú le haghaidh jabanna aonair (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "píopa na jabanna á chruthú" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "píopa an jabfhreastalaí á thúsú" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "ní thacaítear le naisc shiombalacha: -L á dhíchumasú." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Makefileanna á nuashonrú....\n" -#: main.c:2195 +#: main.c:2158 #, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "is féidir go lúbfar an Makefile `%s'; ní athdhéanfar é.\n" -#: main.c:2279 +#: main.c:2237 #, fuzzy, c-format msgid "Failed to remake makefile '%s'." msgstr "Theip ar athdhéanamh an makefile `%s'." -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr "Níor aimsíodh an makefile `%s' san áireamh." -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "Níor aimsíodh an makefile `%s'" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Níorbh fhéidir an chomhadlann oibre a athrú ar ais." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Á rith arís[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (comhad sealadach): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr "tá níos mó ná aon sprioc amháin i .DEFAULT_GOAL" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Níor sonraíodh aon sprioc agus níor aimsíodh aon makefile" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Níl aon sprioc ann" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Cinn sprice á nuashonrú....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "rabhadh: Clog ar sceabha. Is féidir go bhfuil an tógáil neamhiomlán." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Úsáid: %s [roghanna] [sprioc] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1244,7 +1297,7 @@ "\n" "Tógadh an clár seo le haghaidh %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1253,36 +1306,36 @@ "\n" "Tógadh an clár seo le haghaidh %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Seol tuairiscí fabhtanna chuig \n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "caithfidh tú teaghrán nach folamh a thabhairt mar argóint le `-%c'" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "caithfidh tú slánuimhir dheimhneach a thabhairt mar argóint le `-%c'" -#: main.c:3332 +#: main.c:3269 #, fuzzy, c-format msgid "%sBuilt for %s\n" msgstr "" "\n" "%sTógadh an clár seo le haghaidh %s\n" -#: main.c:3334 +#: main.c:3271 #, fuzzy, c-format msgid "%sBuilt for %s (%s)\n" msgstr "" "\n" "%sTógadh an clár seo le haghaidh %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "CD INSUITE %s\n" + +#: vmsjobs.c:505 #, c-format -msgid "DCL: %s\n" +msgid "Unknown builtin command '%s'\n" +msgstr "Ordú anaithnid insuite '%s'\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Earráid, ordú folamh\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Atreoraíodh ionchur ó %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Atreoraíodh earráidí go %s\n" + +#: vmsjobs.c:690 #, fuzzy, c-format msgid "Append output to %s\n" msgstr "Atreoraíodh aschur go %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Atreoraíodh aschur go %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "%s á rith ina áit\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Earráid le linn sceitheadh, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2176,12 +2238,12 @@ "\n" "# VPATH Conairí Cuardaigh\n" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr "# Níl aon chonair chuardaigh `vpath'." -#: vpath.c:622 +#: vpath.c:602 #, fuzzy, c-format msgid "" "\n" @@ -2190,7 +2252,7 @@ "\n" "# %u conair chuardaigh `vpath'.\n" -#: vpath.c:625 +#: vpath.c:605 #, fuzzy msgid "" "\n" @@ -2199,7 +2261,7 @@ "\n" "# Níl aon chonair ghinearálta cuardaigh (athróg `VPATH')." -#: vpath.c:631 +#: vpath.c:611 #, fuzzy msgid "" "\n" @@ -2210,55 +2272,18 @@ "# Conair ghinearálta cuardaigh (athróg `VPATH'):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Luach neamhbhailí sa bhall `update_status'!" #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] Earráid 0x%x (rinneadh neamhshuim air)" -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] Earráid 0x%x" - #~ msgid "process_easy() failed failed to launch process (e=%ld)\n" #~ msgstr "theip ar process_easy(); níor tosaíodh próiseas (e=%ld)\n" #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "earráid inmheánach: roghanna --jobserver-fds iomadúla" -#~ msgid "dup jobserver" -#~ msgstr "jabfhreastalaí dup" - #~ msgid "" #~ "%sThis is free software; see the source for copying conditions.\n" #~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n" @@ -2291,32 +2316,8 @@ #~ "\n" #~ "%s líon na dteaghrán i strcache: %d\n" -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Rabhadh: Atreorú folamh\n" - -#~ msgid "internal error: `%s' command_state" -#~ msgstr "earráid inmheánach: `%s' command_state" - #~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n" #~ msgstr "-rabhadh, fágfaidh CTRL-Y fo-phróisis gan ghlanadh.\n" -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "INSUITE [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "RM INSUITE %s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Ordú anaithnid insuite '%s'\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Earráid, ordú folamh\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Atreoraíodh ionchur ó %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Atreoraíodh earráidí go %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Earráid le linn sceitheadh, %d\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/gl.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/gl.gmo differ diff -Nru make-dfsg-4.2.1/po/gl.po make-dfsg-4.1/po/gl.po --- make-dfsg-4.2.1/po/gl.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/gl.po 2016-01-16 10:25:59.000000000 +0000 @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: make 3.82\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2012-11-12 16:40+0100\n" "Last-Translator: Leandro Regueiro \n" "Language-Team: Galician \n" @@ -52,85 +52,85 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: Código de retorno incorrecto de ar_member_touch en «%s»" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "a chamada a lbr$set_module() fallou ao extraer a información do módulo, " "estado = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "a chamada a lbr$ini_control() fallou con estado = %d" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "non é posíbel abrir a biblioteca «%s» para buscar o membro «%s»" -#: arscan.c:965 +#: arscan.c:944 #, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Membro «%s»%s: %ld bytes en %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (o nome pode quedar truncado)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Data %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, modo = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Interrompido.\n" -#: commands.c:627 +#: commands.c:629 #, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] O membro do arquivo «%s» pode non ser correcto; non eliminado" -#: commands.c:631 +#: commands.c:633 #, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** O membro do arquivo «%s» pode non ser correcto; non eliminado" -#: commands.c:645 +#: commands.c:647 #, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Eliminando o ficheiro «%s»" -#: commands.c:647 +#: commands.c:649 #, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** Eliminando o ficheiro «%s»" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (incorporadas):" -#: commands.c:688 +#: commands.c:690 #, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (desde «%s», liña %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -138,62 +138,62 @@ "\n" "# Directorios\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: non foi posíbel facer a operación de stat.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (clave %s, mtime %d): non foi posíbel abrir.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (dispositivo %d, inodo [%d,%d,%d]): non foi posíbel abrir.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (dispositivo %ld, inodo %ld): non foi posíbel abrir.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (clave %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (dispositivo %d, inodo [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (dispositivo %ld, inodo %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Non" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " ficheiros, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "non" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " imposíbeis" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " ata aquí." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " imposíbeis en %lu directorios.\n" @@ -203,157 +203,157 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "A variábel recursiva «%s» fai referencia a si mesma (ao final)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "referencia a variábel non rematada" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "" -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" -#: file.c:287 +#: file.c:280 #, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "pero agora considérase que «%s» é o mesmo ficheiro que «%s»." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" -#: file.c:310 +#: file.c:303 #, fuzzy, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "non é posíbel renomear «%s» con dous puntos a «%s» con catro puntos" -#: file.c:316 +#: file.c:309 #, fuzzy, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "non é posíbel renomear «%s» con catro puntos a «%s» con dous puntos" -#: file.c:408 +#: file.c:401 #, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Eliminando o ficheiro intermedio «%s»" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Retirando os ficheiros intermedios...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Hora actual" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Marca de tempo fóra de rango; substituíndo %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Non é un obxectivo:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Ficheiro precioso (prerrequisito de .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Obxectivo falso (prerrequisito de .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Obxectivo da liña de ordes." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Un ficheiro de make por defecto, MAKEFILES, ou -include/sinclude." -#: file.c:975 +#: file.c:968 #, fuzzy msgid "# Builtin rule" msgstr "" "\n" "# Non hai regras implícitas." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Fíxose a busca de regras implícitas." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Non se fixo a busca de regras implícitas." -#: file.c:980 +#: file.c:973 #, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Raíz do patrón implícito/estático: «%s»\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# O ficheiro é un prerrequisito intermedio." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Tamén se fai:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Nunca se comprobou o tempo de modificación." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# O ficheiro non existe." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# O ficheiro é moi antigo." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Última modificación: %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# O ficheiro foi actualizado." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# O ficheiro non foi actualizado." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "" -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "" -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Actualizado con éxito." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Ten que ser actualizado (-q está definido)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Produciuse un erro ao actualizar." -#: file.c:1032 +#: file.c:1025 #, fuzzy msgid "# Invalid value in 'command_state' member!" msgstr "# Valor non válido no membro «command_state»!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -361,7 +361,7 @@ "\n" "# Ficheiros" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -371,126 +371,108 @@ "# estatísticas da táboa hash de ficheiros:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 #, fuzzy msgid "non-numeric first argument to 'word' function" msgstr "primeiro argumento da función «word» non numérico" -#: function.c:795 +#: function.c:785 #, fuzzy msgid "first argument to 'word' function must be greater than 0" msgstr "o primeiro argumento da función «word» debe ser maior que 0" -#: function.c:815 +#: function.c:805 #, fuzzy msgid "non-numeric first argument to 'wordlist' function" msgstr "primeiro argumento da función «wordlist» non numérico" -#: function.c:817 +#: function.c:807 #, fuzzy msgid "non-numeric second argument to 'wordlist' function" msgstr "segundo argumento da función «wordlist» non numérico" -#: function.c:1525 +#: function.c:1499 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe(): a chamada a DuplicateHandle(In) fallou (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "" "windows32_open_pipe(): a chamada a DuplicateHandle(Err) fallou (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "A chamada a CreatePipe() fallou (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): a chamada a process_init_fd() fallou\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Limpando o ficheiro de lotes temporal %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, fuzzy, c-format msgid "open: %s: %s" msgstr "%s: %s" -#: function.c:2227 +#: function.c:2203 #, fuzzy, c-format msgid "write: %s: %s" msgstr "erro de escritura: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "%s%s: %s" - -#: function.c:2243 -msgid "file: too many arguments" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "%s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "%s: opción incorrecta -- %c\n" - -#: function.c:2390 +#: function.c:2324 #, fuzzy, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»" -#: function.c:2402 +#: function.c:2336 #, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" msgstr "non implementada nesta plataforma: función «%s»" -#: function.c:2466 +#: function.c:2399 #, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "chamada á función «%s» non rematada: falta «%c»" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "número de argumentos insuficiente (%d) na chamada á función «%s»" #: getopt.c:659 @@ -588,7 +570,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Buscando unha regra implícita membro do arquivo para «%s».\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Evitando a recursión de regras implícitas.\n" @@ -632,77 +614,101 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Buscando unha regra co ficheiro intermedio «%s».\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Non foi posíbel crear un ficheiro temporal\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (memoria envorcada)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (ignorado)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 #, fuzzy msgid "" msgstr " (incorporadas):" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 #, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s[%s] Error %d%s" msgstr "*** [%s] Erro %d" -#: job.c:599 +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] Erro 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Agardando por traballos non rematados...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Proceso fillo vivo %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (remoto)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Colleitando o proceso fillo perdedor %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Colleitando o proceso fillo gañador %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Limpando o ficheiro de lotes temporal %s\n" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Limpando o ficheiro de lotes temporal %s\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Retirando o proceso fillo %p PID %s%s da cadea.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Liberouse un elemento para o proceso fillo %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "produciuse un erro ao iniciar process_easy() o proceso (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -711,107 +717,111 @@ "\n" "Contáronse %d argumentos no inicio que fallou\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Poñendo o proceso fillo %p (%s) PID %s%s na cadea.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Obtívose un elemento para o proceso fillo %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "lectura da canalización de traballos" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "touch: O arquivo «%s» non existe" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "%sNon hai unha regra para facer o obxectivo «%s», que precisa «%s»%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "non é posíbel impoñer límites de carga neste sistema operativo" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "non é posíbel impoñer un límite de carga: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" "make colleitou un proceso fillo de pid %s, aínda se agarda polo pid %s\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: Orde non atopada" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: Orde non atopada" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Programa para o intérprete de ordes non atopado" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "O valor de $SHELL cambiou (antes era «%s», agora é «%s»)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Creando un ficheiro por lotes temporal %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -842,30 +852,30 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr "Non se admiten os traballos en paralelo (-j) nesta plataforma." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opcións:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignorado por compatibilidade.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Facer todos os obxectivos incondicionalmente.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -873,19 +883,19 @@ " -C DIRECTORIO, --directory=DIRECTORIO\n" " Cambiar ao DIRECTORIO antes de facer nada.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d Mostrar moita información de depuración.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=MODIFICADORES] Mostrar varios tipos de información de " "depuración.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -894,12 +904,12 @@ " As variábei de ambiente substitúen aos " "makefiles.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -907,15 +917,15 @@ " -f FICHEIRO, --file=FICHEIRO, --makefile=FICHEIRO\n" " Ler o FICHEIRO como makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Mostrar esta mensaxe e saír.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -924,7 +934,7 @@ " Buscar os makefiles incluídos\n" " no DIRECTORIO.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -932,14 +942,14 @@ " -j [N], --jobs[=N] Permitir N traballos á vez; infinitos sen\n" " un argumento.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Continuar cando no se poidan facer\n" " algúns obxectivos.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -949,13 +959,13 @@ " Non iniciar varios traballos con carga\n" " superior a N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" -#: main.c:374 +#: main.c:349 #, fuzzy msgid "" " -n, --just-print, --dry-run, --recon\n" @@ -965,7 +975,7 @@ " -n, --just-print, --dry-run, --recon\n" " Non executar ningún comando; só amosalos.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -975,39 +985,39 @@ " Tratar o FICHEIRO como moi antigo e non " "refacelo.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base Mostrar a base de datos interna de make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Desactivar as regras implícitas incorporadas.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Desactivar os valores das variábeis " "incorporadas.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr "" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1015,28 +1025,28 @@ " -S, --no-keep-going, --stop\n" " Desactiva -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Tocar os obxectivos no canto de os refacer.\n" -#: main.c:398 +#: main.c:373 #, fuzzy msgid " --trace Print tracing information.\n" msgstr "" " -d Mostrar moita información de depuración.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Mostrar o número de versión de make e saír.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Mostrar o directorio actual.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1044,7 +1054,7 @@ " --no-print-directory Desactivar -w, incluso se se activou\n" " implicitamente.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1053,7 +1063,7 @@ "new=FICHEIRO\n" " Tratar o FICHEIRO como infinitamente novo.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1061,27 +1071,27 @@ " --warn-undefined-variables Avisar cando se faga referencia a\n" " unha variábel non definida.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "a cadea baleira non é válida como nome de ficheiro" -#: main.c:766 +#: main.c:737 #, fuzzy, c-format msgid "unknown debug level specification '%s'" msgstr "especificación de nivel de depuración descoñecido «%s»" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" "%s: Atrapouse unha Interrupción/Excepción (código = 0x%lx, enderezo = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1096,138 +1106,181 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Violación de acceso: operación de escritura no enderezo 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Violación de acceso: operación de lectura no enderezo 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() definindo default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "A busca de rutas de find_and_set_shell() define default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s está suspendido durante 30 segundos..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "rematouse sleep(30). Continuando.\n" -#: main.c:1627 -#, fuzzy +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"aviso: o servidor de traballos non está dispoñíbel: usando -j1. Engada «+» á " -"regra do make pai." -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "erro interno: cadea --jobserver-fds non válida «%s»" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "aviso: -jN forzado no submake: desactivando o modo de servidor de traballos." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup jobserver" + +#: main.c:1570 +#, fuzzy +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"aviso: o servidor de traballos non está dispoñíbel: usando -j1. Engada «+» á " +"regra do make pai." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "O ficheiro de make da entrada estándar especificouse dúas veces." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (ficheiro temporal)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (ficheiro temporal)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Non se admiten os traballos en paralelo (-j) nesta plataforma." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Reiniciando para entrar no modo de traballo único (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "creando a canalización de traballos" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "inicializar a canalización do servidor de traballos" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Actualizando os ficheiros de make....\n" -#: main.c:2195 +#: main.c:2158 #, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "O ficheiro de make «%s» podería causar un bucle; non se refai.\n" -#: main.c:2279 +#: main.c:2237 #, fuzzy, c-format msgid "Failed to remake makefile '%s'." msgstr "Produciuse un erro ao refacer o ficheiro de make «%s»." -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr "Non se atopou o ficheiro de make incluído «%s»." -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "Non se atopou o ficheiro de make «%s»" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Non foi posíbel volver ao directorio orixinal." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Re-executando[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (ficheiro temporal)" -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr "" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Non se especificaron obxectivos e non se atopou un ficheiro de make" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Non hai obxectivos" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Actualizando os obxectivos meta....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "aviso: Detectáronse inconsistencias de reloxo. A operación pode quedar " "incompleta." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Uso: %s [opcións] [obxectivo] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1236,7 +1289,7 @@ "\n" "Este programa compilou para %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1245,34 +1298,34 @@ "\n" "Este programa compilou para %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" "Envíe informes de fallo no programa a .\n" "Envíe informes de fallo na tradución a .\n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "a opción «%s%s» require un argumento de cadea non baleira" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "a opción «-%c» require un argumento integral positivo" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sCompilado para %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sCompilado para %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "BUILTIN CD %s\n" + +#: vmsjobs.c:505 #, c-format -msgid "DCL: %s\n" +msgid "Unknown builtin command '%s'\n" +msgstr "Orde incorporada descoñecida «%s»\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Erro, orde baleira\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Entrada redirixida desde %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Erros redirixidos a %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Saída redirixida a %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Executando %s no canto\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Erro ao lanzar, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2159,12 +2221,12 @@ "\n" "# Rutas de busca VPATH\n" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr "# Non hai rutas de busca «vpath»" -#: vpath.c:622 +#: vpath.c:602 #, fuzzy, c-format msgid "" "\n" @@ -2173,7 +2235,7 @@ "\n" "# %u rutas de busca «vpath».\n" -#: vpath.c:625 +#: vpath.c:605 #, fuzzy msgid "" "\n" @@ -2182,7 +2244,7 @@ "\n" "# Non hai unha ruta de busca xeral (variábel «VPATH»)." -#: vpath.c:631 +#: vpath.c:611 #, fuzzy msgid "" "\n" @@ -2193,55 +2255,18 @@ "# Ruta de busca xeral (variábel «VPATH»):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Valor non válido no membro «update_status»!" #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] Erro 0x%x (ignorado)" -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] Erro 0x%x" - #~ msgid "[%s] Error %d (ignored)" #~ msgstr "[%s] Erro %d (ignorado)" #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "erro interno: opcións --jobserver-fds múltiples" -#~ msgid "dup jobserver" -#~ msgstr "dup jobserver" - #~ msgid "virtual memory exhausted" #~ msgstr "memoria virtual esgotada" @@ -2257,36 +2282,9 @@ #~ "# estatísticas da táboa hash strcache:\n" #~ "# " -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Aviso: Redirección baleira\n" - -#~ msgid "internal error: `%s' command_state" -#~ msgstr "erro interno: «%s» command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "BUILTIN [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "BUILTIN RM %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Orde incorporada descoñecida «%s»\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Erro, orde baleira\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Entrada redirixida desde %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Erros redirixidos a %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Saída redirixida a %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Erro ao lanzar, %d\n" - #~ msgid "create_child_process: DuplicateHandle(In) failed (e=%d)\n" #~ msgstr "" #~ "create_child_process: a chamada a DuplicateHandle(In) fallou (e=%d)\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/he.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/he.gmo differ diff -Nru make-dfsg-4.2.1/po/he.po make-dfsg-4.1/po/he.po --- make-dfsg-4.2.1/po/he.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/he.po 2016-01-16 10:25:59.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: make 3.79.1\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2002-03-30 21:33+0300\n" "Last-Translator: Eli Zaretskii \n" "Language-Team: Hebrew \n" @@ -44,66 +44,66 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "`%s' øåáò ïé÷ú-àì ãå÷ äøéæçä ar_member_touch :touch" -#: arscan.c:130 +#: arscan.c:124 #, fuzzy, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "%d ñåèèñ ,lib$rset_module é\"ò ìåãåî ìò òãéî úôéìùá ïåìùë" -#: arscan.c:236 +#: arscan.c:230 #, fuzzy, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "%d ñåèèñ íò ìùëð lbr$ini_control" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "(`%s' äéøôñ) `%s' øáà øåáò äéøôñ úçéúôá äì÷ú" # These are not translated, since they belong to a test program. -#: arscan.c:965 +#: arscan.c:944 #, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Member `%s'%s: %ld bytes at %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (name might be truncated)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Date %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mode = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Break. ***\n" -#: commands.c:627 +#: commands.c:629 #, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] ÷çîéé àì ;ïé÷ú-éúìá úåéäì ìåìò `%s' ïåéëøà øáà ***" -#: commands.c:631 +#: commands.c:633 #, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** ÷çîéé àì ;ïé÷ú-éúìá úåéäì ìåìò `%s' ïåéëøà øáà ***" -#: commands.c:645 +#: commands.c:647 #, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] `%s' õáå÷ ÷çåî ***" -#: commands.c:647 +#: commands.c:649 #, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** `%s' õáå÷ ÷çåî ***" @@ -111,21 +111,21 @@ # I decided to retain the English text of what Make prints under -p, # since it is notoriously hard to get right in right-to-left languages, # and because its primary use is for programmers who write Makefiles. -#: commands.c:683 +#: commands.c:685 #, fuzzy msgid "# recipe to execute" msgstr "# commands to execute" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (built-in):" -#: commands.c:688 +#: commands.c:690 #, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (from `%s', line %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -133,62 +133,62 @@ "\n" "# Directories\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: could not be stat'd.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (key %s, mtime %d): could not be opened.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (device %ld, inode %ld): could not be opened.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (key %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (device %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (device %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "No" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " files, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "no" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " impossibilities" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " so far." -#: dir.c:1167 +#: dir.c:1085 #, fuzzy, c-format msgid " impossibilities in %lu directories.\n" msgstr " impossibilities in %u directories.\n" @@ -198,163 +198,163 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "(øáã ìù åôåñá) åîöòì äééðôäì íøåâ `%s' éáéñøå÷ø äðúùî" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "äëìäë úîééúñî äðéà äðúùîì äééðôä" -#: file.c:278 +#: file.c:271 #, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr ",`%s' õáå÷ øåáò úåãå÷ô åðúéð %s õáå÷á %lu äøåùá" -#: file.c:283 +#: file.c:276 #, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr ",íéùøåôî-éúìá íéììëá ùåôéç é\"ò åàöîð `%s' õáå÷ øåáò úåãå÷ô" -#: file.c:287 +#: file.c:280 #, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr ".õáå÷ åúåàì äúò íéáùçð `%s' ïäå `%s' ïä íìåàå" -#: file.c:290 +#: file.c:283 #, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr ".`%s' øåáò åìà ìò úåôéãò `%s' øåáò úåãå÷ô" -#: file.c:310 +#: file.c:303 #, fuzzy, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "`%s' íéããåá íééúåãå÷ðî `%s' íéìåôë íééúåãå÷ðì êåôäì ïúéð àì" -#: file.c:316 +#: file.c:309 #, fuzzy, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "`%s' íéìåôë íééúåãå÷ðî `%s' íéããåá íééúåãå÷ðì êåôäì ïúéð àì" -#: file.c:408 +#: file.c:401 #, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** `%s' íééðéá õáå÷ ÷çåî ***" -#: file.c:412 +#: file.c:405 #, fuzzy msgid "Removing intermediate files...\n" msgstr "*** `%s' íééðéá õáå÷ ÷çåî ***" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "úëøòî ïåòù" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "øúåîä íåçúì õåçî äðéäù ,%s ìù ïîæä úîéúç úà %s-á óéìçî" # See the comment above about translations of text printed under -p. -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Not a target:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Precious file (prerequisite of .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Phony target (prerequisite of .PHONY)." -#: file.c:971 +#: file.c:964 #, fuzzy msgid "# Command line target." msgstr "# Command-line target." -#: file.c:973 +#: file.c:966 #, fuzzy msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# A default or MAKEFILES makefile." -#: file.c:975 +#: file.c:968 #, fuzzy msgid "# Builtin rule" msgstr "" "\n" "# No implicit rules." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Implicit rule search has been done." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Implicit rule search has not been done." -#: file.c:980 +#: file.c:973 #, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Implicit/static pattern stem: `%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# File is an intermediate prerequisite." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Also makes:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Modification time never checked." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# File does not exist." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# File is very old." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Last modified %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# File has been updated." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# File has not been updated." -#: file.c:1008 +#: file.c:1001 #, fuzzy msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Commands currently running (THIS IS A BUG)." -#: file.c:1011 +#: file.c:1004 #, fuzzy msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Dependencies commands running (THIS IS A BUG)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Successfully updated." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Needs to be updated (-q is set)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Failed to be updated." -#: file.c:1032 +#: file.c:1025 #, fuzzy msgid "# Invalid value in 'command_state' member!" msgstr "# Invalid value in `command_state' member!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -362,133 +362,115 @@ "\n" "# Files" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" "# " msgstr "" -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 #, fuzzy msgid "non-numeric first argument to 'word' function" msgstr "øôñî åðéà `word' úééö÷ðåôì ïåùàø èðîåâøà" -#: function.c:795 +#: function.c:785 #, fuzzy msgid "first argument to 'word' function must be greater than 0" msgstr "éáåéç úåéäì áééç `word' úééö÷ðåôì ïåùàø èðîåâøà" -#: function.c:815 +#: function.c:805 #, fuzzy msgid "non-numeric first argument to 'wordlist' function" msgstr "øôñî åðéà `wordlist' úééö÷ðåôì ïåùàø èðîåâøà" -#: function.c:817 +#: function.c:807 #, fuzzy msgid "non-numeric second argument to 'wordlist' function" msgstr "øôñî åðéà `wordlist' úééö÷ðåôì éðù èðîåâøà" -#: function.c:1525 +#: function.c:1499 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "create_child_process: DuplicateHandle(In) failed (e=%d)\n" -#: function.c:1549 +#: function.c:1523 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "create_child_process: DuplicateHandle(Err) failed (e=%d)\n" -#: function.c:1556 +#: function.c:1530 #, fuzzy, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() failed (e=%d)\n" -#: function.c:1564 +#: function.c:1538 #, fuzzy msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe (): process_init_fd() failed\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "" -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "" - -#: function.c:2243 -msgid "file: too many arguments" +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "%s úéðëú øåáò éåâù ïééôàî -- %c\n" - -#: function.c:2390 +#: function.c:2324 #, fuzzy, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô" -#: function.c:2402 +#: function.c:2336 #, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" msgstr "åæ úëøòîá úùîåîî äðéà `%s' äéö÷ðåô" -#: function.c:2466 +#: function.c:2399 #, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "`%s' äéö÷ðåôì äàéø÷á `%c' øñç" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "÷ôñî åðéàù (%d) íéèðîåâøà øôñî íò äàø÷ð `%s' äéö÷ðåô" #: getopt.c:659 @@ -586,7 +568,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr ".`%s' øåáò ïåéëøà éøáàì ùøåôî-éúìá ììë ùôçî\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr ".úùøåôî-éúìá äéñøå÷øî òðîð\n" @@ -630,79 +612,105 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr ".`%s' éðîæ õáå÷ íò ììë ùôçî\n" -#: job.c:363 +#: job.c:361 #, fuzzy msgid "Cannot create a temporary file\n" msgstr "fwrite (temporary file)" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (core õáå÷á íùøð ïåøëæä ïëåú)" -#: job.c:490 +#: job.c:488 #, fuzzy msgid " (ignored)" msgstr "[%s] %d äì÷úî éúîìòúä" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 #, fuzzy msgid "" msgstr " (built-in):" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 #, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s[%s] Error %d%s" msgstr "*** [%s] %d äì÷ú" -#: job.c:599 +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] 0x%x äì÷ú ***" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** ...åîééúñð íøèù úåãåáòì ïéúîî" -#: job.c:629 +#: job.c:651 #, fuzzy, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "äöø 0x%08lx (%s) PID=%ld %s úá-úéðëú\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr "(ú÷çåøî)" -#: job.c:831 +#: job.c:841 #, fuzzy, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "äìùëðù 0x%08lx PID=%ld %s úá-úéðëú óñåà\n" -#: job.c:832 +#: job.c:842 #, fuzzy, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "äçéìöäù 0x%08lx PID=%ld %s úá-úéðëú óñåà\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "`%s' éðîæ batch õáå÷ ÷ìñî\n" -#: job.c:951 +#: job.c:961 #, fuzzy, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr ".úåãåáò úøùøùî 0x%08lx PID=%ld %s úá-úéðëú ÷éçøî\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, fuzzy, c-format msgid "Released token for child %p (%s).\n" msgstr ".øøçåù 0x%08lx (%s) úá-úéðëú øåáò ïåîéñàä\n" -#: job.c:1508 job.c:2201 +# Here and elsewhere leading strings passed to perror are not translated, +# since they will be followed by an error message in English. +#: job.c:1036 +msgid "write jobserver" +msgstr "write jobserver" + +#: job.c:1662 job.c:2387 #, fuzzy, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "(e=%d) úéðëú-úú øåâéùá ìùëð process_easy()\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -711,106 +719,110 @@ "\n" "ìùëðù øåâéùá åðîð íéèðîåâøà %d\n" -#: job.c:1581 +#: job.c:1735 #, fuzzy, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr ".úåãåáò úøùøùì 0x%08lx (%s) PID=%ld %s úá-úéðëú óøöî\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, fuzzy, c-format msgid "Obtained token for child %p (%s).\n" msgstr ".0x%08lx (%s) úá-úéðëú øåáò ïåîéñà ìá÷úä\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "read jobs pipe" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "íéé÷ åðéà `%s' ïåéëøà õáå÷ :touch" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "%säúééðáì íéììë ïéà êà ,`%s' úùøåã `%s'%s äøèî" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "åæ úëøòîá ñîåò úåìáâî úåôëì ïúéð àì" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "cannot enforce load limit: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "" -#: job.c:2234 +#: job.c:2420 #, fuzzy, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "äôñàð pid %d úá-úéðëú ,pid %d-ì äëçî ïééãò\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "äàöîð àì åæ äãå÷ô :%s" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "äàöîð àì åæ äãå÷ô :%s" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "äàöîð àì shell úãå÷ô :%s" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "(`%s' äéä íãå÷ ,`%s' åéùëò) äðúùä $SHELL ìù åëøò" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "`%s' éðîæ batch õáå÷ øöåé\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -840,216 +852,216 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr ".åæ úëøòîá êîúð åðéà (-j) éìéá÷î òåöéá" -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr " :íéðééôàî\n" -#: main.c:339 +#: main.c:314 #, fuzzy msgid " -b, -m Ignored for compatibility.\n" msgstr "úåîéàú ïòîì èîùåî" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" msgstr "" -#: main.c:346 +#: main.c:321 #, fuzzy msgid " -d Print lots of debugging information.\n" msgstr "úåàéâù éåôéð úáåèì òãéî ìù òôù âöä" -#: main.c:348 +#: main.c:323 #, fuzzy msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "úåàéâù éåôéð úáåèì òãéî ìù íéðåù íéâåñ âöä" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" msgstr "" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" msgstr "" -#: main.c:358 +#: main.c:333 #, fuzzy msgid " -h, --help Print this message and exit.\n" msgstr "úéðëúäî àöå äæ äøæò êñî âöä" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" msgstr "" -#: main.c:365 +#: main.c:340 #, fuzzy msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" msgstr "äìáâî ïéà èðîåâøà àìì ;úéðîæ-åá úåãåáò N-î øúåé àì" -#: main.c:367 +#: main.c:342 #, fuzzy msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "äéðáì úåðúéð ïðéà úåøèîäî äîë íà åìéôà êùîä" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " "N.\n" msgstr "" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " "them.\n" msgstr "" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " "it.\n" msgstr "" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 #, fuzzy msgid " -p, --print-data-base Print make's internal database.\n" msgstr "Make ìù éîéðô íéðåúð ñéñá âöä" -#: main.c:385 +#: main.c:360 #, fuzzy msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "úðëãåòî äøèî íàá øîåà äàéöé ãå÷ ;úåãå÷ô õéøú ìà" -#: main.c:387 +#: main.c:362 #, fuzzy msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "íéùøåôî-éúìá íéðáåî íéììë ìøèð" -#: main.c:389 +#: main.c:364 #, fuzzy msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "íéðúùî ìù úåðáåî úåøãâä ìøèð" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr "" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" msgstr "" -#: main.c:396 +#: main.c:371 #, fuzzy msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "ïúåðáì íå÷îá úåøèî ìù ïîæ úîéúç ïëãò" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr "" -#: main.c:400 +#: main.c:375 #, fuzzy msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "úéðëúäî àöå Make ìù àñøéâ øôñî âöä" -#: main.c:402 +#: main.c:377 #, fuzzy msgid " -w, --print-directory Print the current directory.\n" msgstr "úéçëåð äé÷éú íù âöä" -#: main.c:404 +#: main.c:379 #, fuzzy msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr "ùøåôîá ïéåö àåä íà åìéôà -w ìèá" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" msgstr "" -#: main.c:409 +#: main.c:384 #, fuzzy msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "øãâåä àìù äðúùîì äééðôä äø÷îá äøäæà âöä" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "õáå÷ íùë úìá÷úî äðéà ä÷éø úæåøçî" -#: main.c:766 +#: main.c:737 #, fuzzy, c-format msgid "unknown debug level specification '%s'" msgstr "úåàéâù éåôéðì òãéî ìù `%s' øëåî-éúìá ïééôàî" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, fuzzy, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s úéðëúá (code = 0x%x, addr = 0x%x) äâéøç åà ä÷éñô\n" -#: main.c:868 +#: main.c:835 #, fuzzy, c-format msgid "" "\n" @@ -1064,177 +1076,220 @@ "ExceptionFlags = %x\n" "ExceptionAddress = %x\n" -#: main.c:876 +#: main.c:843 #, fuzzy, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "%x úáåúëì äáéúë :ïåøëæì äùéâ úì÷ú\n" -#: main.c:877 +#: main.c:844 #, fuzzy, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "%x úáåúëî äàéø÷ :ïåøëæì äùéâ úì÷ú\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, fuzzy, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell setting default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, fuzzy, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell path search set default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr ".úåéðù 30 ìù %s úééäùä" # Pay attention: this is written to the _right_ of the previous string, # but should look like a single sentence together with it. -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr " äîééúñð\n" -#: main.c:1627 -#, fuzzy +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "--jobserver-fds ïééôàîá `%s' äéåâù úæåøçî :úéîéðô äðëú úì÷ú" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" msgstr "" -".Make ìù áàä ììëì `+' óñåä .-j1-á ùåîéù äùòéé ;ïéîæ åðéà jobserver :äøäæà" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "jobserver ïôåà ìèáî ;-jN áééçî Make-úú :äøäæà" -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup jobserver" + +#: main.c:1570 +#, fuzzy +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +".Make ìù áàä ììëì `+' óñåä .-j1-á ùåîéù äùòéé ;ïéîæ åðéà jobserver :äøäæà" + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr ".úçà íòôî øúåé ïúéð éð÷ú èì÷ õåøòî Makefile" -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (temporary file)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (temporary file)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr ".åæ úëøòîá êîúð åðéà (-j) éìéá÷î òåöéá" -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr ".(-j1) éúøãñ ïôåàá åòöåáé úåãå÷ô" -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "creating jobs pipe" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "init jobserver pipe" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "...makefile éöá÷ ïëãòî\n" -#: main.c:2195 +#: main.c:2158 #, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr ".ùãçî åøöééìî òðîð ;úéôåñðéà äàìåì øåöéì ìåìò `%s' Makefile\n" -#: main.c:2279 +#: main.c:2237 #, fuzzy, c-format msgid "Failed to remake makefile '%s'." msgstr ".`%s' makefile ìù ùãçî-äøéöéá äì÷ú" -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr ".àöîð àì `%s' ììëåî makefile" -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "àöîð àì `%s' Makefile" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr ".úéøå÷îä äé÷éúì øåæçì ïúéð àì" -#: main.c:2380 +#: main.c:2343 #, fuzzy, c-format msgid "Re-executing[%u]:" msgstr "Re-executing:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (temporary file): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr "" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "makefile éöá÷ åàöîð àìå úåøèî ïåéö ïéà" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "úåøèî ïéà" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "...ãòé úåøèî ïëãòî\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr ".äîìù àì úåéäì äìåìò äéðáä .ïåòù úùéìâ äúìâúð :úåøéäæ" -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "%s [íéðééôàî] [äøèî] ... :ùåîéù ïôåà\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" "This program built for %s\n" msgstr "" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" "This program built for %s (%s)\n" msgstr "" -#: main.c:2784 +#: main.c:2721 #, fuzzy, c-format msgid "Report bugs to \n" msgstr "" "\n" ".-ì äì÷ú éçååéã çåìùì àð\n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "éáåéçå íìù èðîåâøà áééçî `-%c' ïééôàî" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "éáåéçå íìù èðîåâøà áééçî `-%c' ïééôàî" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s) ãéúòá åðéä ïåøçà éåðéù ïîæ :äøäæà ***" -#: remake.c:1444 +#: remake.c:1411 #, fuzzy, c-format msgid "Warning: File '%s' has modification time %s s in the future" msgstr "*** `%s' õáå÷ øåáò (%s > %s) ãéúòá åðéä ïåøçà éåðéù ïîæ :äøäæà ***" -#: remake.c:1647 +#: remake.c:1610 #, fuzzy, c-format msgid ".LIBPATTERNS element '%s' is not a pattern" msgstr "úéðáú åðéà .LIBPATTERNS ìù `%s' èðîìà" @@ -1761,7 +1773,7 @@ msgid "Customs won't export: %s\n" msgstr "%s àöééî åðéà Customs\n" -#: rule.c:496 +#: rule.c:495 #, fuzzy msgid "" "\n" @@ -1770,7 +1782,7 @@ "\n" "# No implicit rules." -#: rule.c:511 +#: rule.c:510 msgid "" "\n" "# No implicit rules." @@ -1778,7 +1790,7 @@ "\n" "# No implicit rules." -#: rule.c:514 +#: rule.c:513 #, c-format msgid "" "\n" @@ -1787,11 +1799,11 @@ "\n" "# %u implicit rules, %u" -#: rule.c:523 +#: rule.c:522 msgid " terminal." msgstr " terminal." -#: rule.c:531 +#: rule.c:530 #, fuzzy, c-format msgid "BUG: num_pattern_rules is wrong! %u != %u" msgstr "BUG: num_pattern_rules wrong! %u != %u" @@ -1953,14 +1965,14 @@ msgid "Floating point co-processor not available" msgstr "Floating point co-processor not available" -#: strcache.c:274 +#: strcache.c:236 #, c-format msgid "" "\n" "%s No strcache buffers\n" msgstr "" -#: strcache.c:304 +#: strcache.c:266 #, c-format msgid "" "\n" @@ -1968,77 +1980,77 @@ "B\n" msgstr "" -#: strcache.c:308 +#: strcache.c:270 #, c-format msgid "" "%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n" msgstr "" -#: strcache.c:319 +#: strcache.c:280 #, c-format msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n" msgstr "" -#: strcache.c:322 +#: strcache.c:283 #, c-format msgid "" "%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n" msgstr "" -#: strcache.c:326 +#: strcache.c:287 #, c-format msgid "" "\n" "%s strcache performance: lookups = %lu / hit rate = %lu%%\n" msgstr "" -#: strcache.c:328 +#: strcache.c:289 msgid "" "# hash-table stats:\n" "# " msgstr "" -#: variable.c:1629 +#: variable.c:1599 msgid "automatic" msgstr "automatic" # These are printed under -p, so they are left in English. -#: variable.c:1632 +#: variable.c:1602 msgid "default" msgstr "default" -#: variable.c:1635 +#: variable.c:1605 msgid "environment" msgstr "environment" -#: variable.c:1638 +#: variable.c:1608 msgid "makefile" msgstr "makefile" -#: variable.c:1641 +#: variable.c:1611 msgid "environment under -e" msgstr "environment under -e" -#: variable.c:1644 +#: variable.c:1614 msgid "command line" msgstr "command line" -#: variable.c:1647 +#: variable.c:1617 #, fuzzy msgid "'override' directive" msgstr "`override' directive" -#: variable.c:1658 +#: variable.c:1628 #, fuzzy, c-format msgid " (from '%s', line %lu)" msgstr " (from `%s', line %lu):\n" -#: variable.c:1721 +#: variable.c:1691 #, fuzzy msgid "# variable set hash-table stats:\n" msgstr "# %u variables in %u hash buckets.\n" -#: variable.c:1732 +#: variable.c:1702 msgid "" "\n" "# Variables\n" @@ -2046,7 +2058,7 @@ "\n" "# Variables\n" -#: variable.c:1736 +#: variable.c:1706 #, fuzzy msgid "" "\n" @@ -2055,7 +2067,7 @@ "\n" "# Pattern-specific variable values" -#: variable.c:1750 +#: variable.c:1720 msgid "" "\n" "# No pattern-specific variable values." @@ -2063,7 +2075,7 @@ "\n" "# No pattern-specific variable values." -#: variable.c:1752 +#: variable.c:1722 #, c-format msgid "" "\n" @@ -2082,37 +2094,87 @@ msgid "sys$search() failed with %d\n" msgstr "%d íò ìùëð sys$search\n" -#: vmsjobs.c:242 +#: vmsjobs.c:72 +#, c-format +msgid "Warning: Empty redirection\n" +msgstr "ä÷éø äééðôä :úåøéäæ\n" + +#: vmsjobs.c:183 +#, fuzzy, c-format +msgid "internal error: '%s' command_state" +msgstr "command_state `%s' :úéîéðô äðëú úì÷ú" + +#: vmsjobs.c:290 #, c-format msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n" msgstr ".DCL-î CTRL-Y-á ìåôéè øåùôéàá êøåö úåéäì ìåìò :úåøéäæ\n" -#: vmsjobs.c:679 +#: vmsjobs.c:455 vmsjobs.c:559 +#, c-format +msgid "BUILTIN [%s][%s]\n" +msgstr "BUILTIN [%s][%s]\n" + +#: vmsjobs.c:465 #, c-format msgid "BUILTIN CD %s\n" msgstr "BUILTIN CD %s\n" -#: vmsjobs.c:1228 +#: vmsjobs.c:501 +#, fuzzy, c-format +msgid "BUILTIN ECHO %s->%s\n" +msgstr "BUILTIN CD %s\n" + +#: vmsjobs.c:505 #, c-format -msgid "DCL: %s\n" +msgid "Unknown builtin command '%s'\n" +msgstr "úøëåî äðéà '%s'úéðáåî äãå÷ô\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "ä÷éø äãå÷ô :äì÷ú\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "%s-î èì÷ úééðôä\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "%s-ì úåàéâù úééðôä\n" + +#: vmsjobs.c:690 #, fuzzy, c-format msgid "Append output to %s\n" msgstr "%s-ì èìô úééðôä\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "%s-ì èìô úééðôä\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "%s õéøî úàæ íå÷îá\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "%d :úá-úéðëú úìòôäá äì÷ú\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2120,12 +2182,12 @@ "\n" "# VPATH Search Paths\n" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr "# No `vpath' search paths." -#: vpath.c:622 +#: vpath.c:602 #, fuzzy, c-format msgid "" "\n" @@ -2134,7 +2196,7 @@ "\n" "# %u `vpath' search paths.\n" -#: vpath.c:625 +#: vpath.c:605 #, fuzzy msgid "" "\n" @@ -2143,7 +2205,7 @@ "\n" "# No general (`VPATH' variable) search path." -#: vpath.c:631 +#: vpath.c:611 #, fuzzy msgid "" "\n" @@ -2154,37 +2216,6 @@ "# General (`VPATH' variable) search path:\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Invalid value in `update_status' member!" @@ -2208,45 +2239,18 @@ #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] 0x%x äì÷úî éúîìòúä ***" -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] 0x%x äì÷ú ***" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "ä÷éø äééðôä :úåøéäæ\n" - #~ msgid "Syntax error, still inside '\"'\n" #~ msgstr "'\"' êåúá ïééãò ,øéáçú úàéâù\n" #~ msgid "Got a SIGCHLD; %u unreaped children.\n" #~ msgstr ".åôñàð íøèù úá-úåéðëú %u ;SIGCHLD ìá÷úä\n" -#~ msgid "internal error: `%s' command_state" -#~ msgstr "command_state `%s' :úéîéðô äðëú úì÷ú" - #~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n" #~ msgstr ".úåìéòô úá-úåéðëú øéàùäì ìåìò CTRL-Y :úåøéäæ\n" -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "BUILTIN [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "BUILTIN RM %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "úøëåî äðéà '%s'úéðáåî äãå÷ô\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "ä÷éø äãå÷ô :äì÷ú\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "%s-î èì÷ úééðôä\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "%s-ì úåàéâù úééðôä\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "%d :úá-úéðëú úìòôäá äì÷ú\n" - #~ msgid "DIRECTORY" #~ msgstr "DIRECTORY" @@ -2301,9 +2305,6 @@ #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "íéáåøî --jobserver-fds éðééôàî :úéîéðô äðëú úì÷ú" -#~ msgid "dup jobserver" -#~ msgstr "dup jobserver" - #~ msgid "" #~ ", by Richard Stallman and Roland McGrath.\n" #~ "%sBuilt for %s\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/hr.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/hr.gmo differ diff -Nru make-dfsg-4.2.1/po/hr.po make-dfsg-4.1/po/hr.po --- make-dfsg-4.2.1/po/hr.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/hr.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,35 +1,16 @@ # Translation of make to Croatian. -# Copyright © 2016 Free Software Foundation, Inc. +# Copyright (C) 2002 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. -# directive → direktiva (ne prevoditi kao „naredba“) -# hash → hash (ostaviti engl.) -# chain → lanac -# jobserver → poslužitelj poslova, djelitelj zadataka -# make (verb) → napraviti, praviti, proizvesti -# make (imenica) → (program „make“ (ne sklanjati) -# makefile → makefile (ne prevoditi, ali možda sklanjati ili, budući da je makefile datoteka, uvijek pisati ‘makefile’ datoteka) -# archive member → pripadnik (arhive), a to je obiÄno datoteka, direktorij.. -# C structure member → Älan -# pattern → uzorak -# prerequisite → preduvjet -# child (process) → potomak, ptomaÄki proces -# parent (process) → predak, predaÄki proces -# reap child → poÄisti potomka -# # recipe → recept -# target → cilj -# token → token (ne prevoditi) -# pipe → cijev (možda je bolje „kanal“) -# pipeline → cjevovod (možda je bolje „kanal“) # Hrvoje Niksic , 2002. # Tomislav Krznar , 2012. -# Božidar Putanec , 2016. +# msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 3.82\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-22 22:37-0700\n" -"Last-Translator: Božidar Putanec \n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2012-10-31 17:32+0100\n" +"Last-Translator: Tomislav Krznar \n" "Language-Team: Croatian \n" "Language: hr\n" "MIME-Version: 1.0\n" @@ -37,118 +18,113 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Lokalize 2.0\n" #: ar.c:46 -#, c-format +#, fuzzy, c-format msgid "attempt to use unsupported feature: '%s'" -msgstr "pokuÅ¡aj upotrebe ne podržane znaÄajke ‘%s’" +msgstr "pokuÅ¡aj koriÅ¡tenja nepodržane mogućnosti: „%sâ€" #: ar.c:123 msgid "touch archive member is not available on VMS" -msgstr "" -"U VMS sustavu nije moguće ‘touch’ (ažurirati vrijeme modifikacije i " -"pristupa\n" -"datoteci) pripadnika (member) arhive" +msgstr "touch elementa arhive nije dostupan na VMS-u" #: ar.c:147 -#, c-format +#, fuzzy, c-format msgid "touch: Archive '%s' does not exist" -msgstr "‘touch’: Arhiva ‘%s’ ne postoji" +msgstr "touch: Arhiva „%s†ne postoji" #: ar.c:150 -#, c-format +#, fuzzy, c-format msgid "touch: '%s' is not a valid archive" -msgstr "‘touch’: ‘%s’ nije valjana arhiva" +msgstr "touch: „%s†nije ispravna arhiva" #: ar.c:157 -#, c-format +#, fuzzy, c-format msgid "touch: Member '%s' does not exist in '%s'" -msgstr "‘touch’: Pripadnik arhive ‘%s’ ne postoji u arhivi ‘%s’" +msgstr "touch: Element „%s†ne postoji u „%sâ€" #: ar.c:164 -#, c-format +#, fuzzy, c-format msgid "touch: Bad return code from ar_member_touch on '%s'" -msgstr "‘touch’: LoÅ¡ povratni kÈd iz ‘ar_member_touch’ na ‘%s’" +msgstr "touch: Neispravan povratni kod iz ar_member_touch na „%sâ€" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" -msgstr "lbr$set_module() neuspjelo izvući obavijesti o modulu, status = %d" +msgstr "lbr$set_module() nije izdvojio informacije o modulu, status = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" -msgstr "lbr$ini_control() nije uspio sa statusom = %d" +msgstr "lbr$ini_control() nije uspio sa stanjem = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "" -"nemoguće je otvoriti biblioteku ‘%s’ radi uvida u status pripadnika ‘%d’" +msgstr "ne mogu otvoriti biblioteku „%s†za traženje elementa „%sâ€" -#: arscan.c:965 -#, c-format +#: arscan.c:944 +#, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" -msgstr "Pripadnik arhive ‘%s’%s: %ld bajtova na adresi %ld (%ld).\n" +msgstr "Älan „%sâ€%s: %ld bajtova na %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" -msgstr " (ime je možda podrezano)" +msgstr " (ime je možda odsjeÄeno)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Datum %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mod = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" -msgstr "Recept ima previÅ¡e redova (%ud)" +msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Prekid.\n" -#: commands.c:627 -#, c-format +#: commands.c:629 +#, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" -msgstr "*** [%s] Pripadnik arhive ‘%s’ je možda lažan; nije izbrisan" +msgstr "*** [%s] Element arhive „%s†je možda lažan; nije izbrisan" -#: commands.c:631 -#, c-format +#: commands.c:633 +#, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" -msgstr "*** Pripadnik arhive ‘%s’ je možda lažan; nije izbrisan" +msgstr "*** Element arhive „%s†je možda lažan; nije izbrisan" -#: commands.c:645 -#, c-format +#: commands.c:647 +#, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" -msgstr "*** [%s] BriÅ¡em datoteku ‘%s’" +msgstr "*** [%s] BriÅ¡em datoteku „%sâ€" -#: commands.c:647 -#, c-format +#: commands.c:649 +#, fuzzy, c-format msgid "*** Deleting file '%s'" -msgstr "*** BriÅ¡em datoteku ‘%s’" +msgstr "*** BriÅ¡em datoteku „%sâ€" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" -msgstr "# recept koji treba primijeniti" +msgstr "# recept za izvrÅ¡avanje" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (ugraÄ‘eno):" -#: commands.c:688 -#, c-format +#: commands.c:690 +#, fuzzy, c-format msgid " (from '%s', line %lu):\n" -msgstr " (iz ‘%s’, redak %lu):\n" +msgstr " (iz „%sâ€, redak %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -156,225 +132,222 @@ "\n" "# Direktoriji\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" -msgstr "# %s: nemoguće ga je ‘stat’ (oÄitati mu status).\n" +msgstr "# %s: ne može se izvrÅ¡iti stat.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "" -"# %s (kljuÄ %s, mtime (vrijeme zadnje izmjene) %ull): nije se mogao " -"otvoriti.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (tipka %s, vrijeme ureÄ‘ivanja %d): ne može se otvoriti.\n" -# inode > index in a table of contents or an inode in a Unix-like file system > iÄvor -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" -msgstr "# %s (ureÄ‘aj %d, inode [%d,%d,%d]): nije moguće otvoriti.\n" +msgstr "# %s (ureÄ‘aj %d, indeksni Ävor [%d,%d,%d]): ne može se otvoriti.\n" -# An inode is a data structure on a filesystem on Linux and other Unix-like operating systems that stores all the information about a file except its name and its actual data. -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" -msgstr "# %s (ureÄ‘aj %ld, inode %ld): nije moguće otvoriti.\n" +msgstr "# %s (ureÄ‘aj %ld, indeksni Ävor %ld): ne može se otvoriti.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (kljuÄ %s, mtime (vrijeme zadnje izmjene) %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (tipka %s, vrijeme ureÄ‘ivanja %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " -msgstr "# %s (ureÄ‘aj %d, inode [%d,%d,%d]): " +msgstr "# %s (ureÄ‘aj %d, indeksni Ävor [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " -msgstr "# %s (ureÄ‘aj %ld, inode %ld): " +msgstr "# %s (ureÄ‘aj %ld, indeksni Ävor %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" -msgstr "Ne" +msgstr "Nijedna" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " -msgstr " datoteke, " +msgstr " datoteka, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" -msgstr "ne" +msgstr "nijedna" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" -msgstr " nemogućnosti" +msgstr " nemogućnost" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " do sada." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " nemogućnosti u %lu direktorija.\n" #: expand.c:125 -#, c-format +#, fuzzy, c-format msgid "Recursive variable '%s' references itself (eventually)" -msgstr "Rekurzivna varijabla ‘%s’ ukazuje na samu sebe (u konaÄnici)" +msgstr "Rekurzivna varijabla „%s†pokazuje (na kraju) na sebe" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" -msgstr "nedovrÅ¡ena referencija na varijablu" +msgstr "nedovrÅ¡ena referenca na varijablu" -#: file.c:278 -#, c-format +#: file.c:271 +#, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," -msgstr "Recept za datoteku ‘%s’ bio je naveden u %s:%lu," +msgstr "Naveden je recept za datoteku „%s†na %s:%lu," -#: file.c:283 -#, c-format +#: file.c:276 +#, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," -msgstr "Recept za datoteku ‘%s’ bio je naÄ‘en pretragom po implicitnom pravilu," +msgstr "Recept za datoteku „%s†naÄ‘en je implicitnim pretraživanjem propisa," -#: file.c:287 -#, c-format +#: file.c:280 +#, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." -msgstr "ali ‘%s’ se sada smatra istom datotekom kao i ‘%s’." +msgstr "ali se „%s†sada smatra istom datotekom kao i „%sâ€." -#: file.c:290 -#, c-format +#: file.c:283 +#, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." -msgstr "Recept za ‘%s’ će se zanemariti u korist onog za ‘%s’." +msgstr "Recept za „%s†će se zanemariti u korist onog za „%sâ€." -#: file.c:310 -#, c-format +#: file.c:303 +#, fuzzy, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" -msgstr "" -"‘%s’ s jednom dvotoÄkom ne može se preimenovati u ‘%s’ s dvije dvotoÄke" +msgstr "ne mogu preimenovati „%s†s jednim dvotoÄjem u „%s†s dva dvotoÄja" -#: file.c:316 -#, c-format +#: file.c:309 +#, fuzzy, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" -msgstr "" -"‘%s’ s dvije dvotoÄke ne može se preimenovati u ‘%s’ s jednom dvotoÄkom" +msgstr "ne mogu preimenovati „%s†s dva dvotoÄja u „%s†s jednim dvotoÄjem" -#: file.c:408 -#, c-format +#: file.c:401 +#, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" -msgstr "*** Brisanje prijelazne datoteke ‘%s’" +msgstr "*** BriÅ¡em posrednu datoteku „%sâ€" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" -msgstr "Uklanjanje prijelaznih datoteka...\n" +msgstr "Uklanjam posredne datoteke...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" -msgstr "TrenutaÄno vrijeme" +msgstr "Trenutno vrijeme" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" -msgstr "%s: Vremenska oznaka je izvan granica; zamjenjuje se s %s" +msgstr "%s: Vremenska oznaka izvan granica; zamjenjujem s %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" -msgstr "# Nije cilj (target):" +msgstr "# Nije meta:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." -msgstr "# Vrijedna datoteka (preduvjet za .PRECIOUS)." +msgstr "# Vrijedna datoteka (preduvjet mete .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." -msgstr "# Lažni cilj (target) (preduvjet za .PHONY)." +msgstr "# Lažna meta (preduvjet mete .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." -msgstr "# Cilj naredbenog retka." +msgstr "# Meta naredbenog retka." -# Zadan > standardni -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." -msgstr "# Standardni MAKEFILES, ili ‘-include/sinclude’ makefile." +msgstr "# Zadana, MAKEFILES ili -include/sinclude datoteka izrade." -#: file.c:975 +#: file.c:968 +#, fuzzy msgid "# Builtin rule" -msgstr "# UgraÄ‘eno pravilo" +msgstr "" +"\n" +"# Nema implicitnih propisa." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." -msgstr "# Pretraživanje po implicitnom pravilu je izvrÅ¡eno." +msgstr "# Implicitna pretraga propisa je izvrÅ¡ena." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." -msgstr "# Pretraživanje po implicitnom pravilu nije izvrÅ¡eno." +msgstr "# Implicitna pretraga propisa nije izvrÅ¡ena." -#: file.c:980 -#, c-format +#: file.c:973 +#, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" -msgstr "# Korijen implicitnog ili statiÄkog uzorka: ‘%s’\n" +msgstr "# Korijen implicitnog/statiÄkog uzorka: „%sâ€\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." -msgstr "# Datoteka je prijelazni preduvjet." +msgstr "# Datoteka je posredni preduvjet." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# TakoÄ‘er napravi:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." -msgstr "# Vrijeme zadnje izmjene nikad nije provjereno." +msgstr "# Vrijeme promjene nikada nije provjereno." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Datoteka ne postoji." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Datoteka je vrlo stara." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Zadnja promjena %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." -msgstr "# Datoteka je bila ažurirana." +msgstr "# Datoteka je ažurirana." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." -msgstr "# Datoteka nije bila ažurirana." +msgstr "# Datoteka nije ažurirana." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." -msgstr "# Recept koji se trenutaÄno izvrÅ¡ava (OVO JE BUG)." +msgstr "# Recept koji se trenutno izvrÅ¡ava (OVO JE BUG)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." -msgstr "# Recept o ovisnostima koji se upravo izvrÅ¡ava (OVO JE BUG)." +msgstr "# Recept ovisnosti koji se izvrÅ¡ava (OVO JE BUG)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# UspjeÅ¡no ažuriran." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." -msgstr "# Ažuriranje je potrebno (opcija -q je dana)." +msgstr "# Treba ga ažurirati (-q je postavljen)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." -msgstr "# Ažuriranje nije uspjelo." +msgstr "# Nije ažuriran." -#: file.c:1032 +#: file.c:1025 +#, fuzzy msgid "# Invalid value in 'command_state' member!" -msgstr "# Neispravna vrijednost u ‘command_state’ Älanu!" +msgstr "# Neispravna vrijednost u elementu „command_stateâ€!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -382,171 +355,153 @@ "\n" "# Datoteke" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" "# " msgstr "" "\n" -"# status datoteka hash-tablice:\n" +"# statistike tablice rasprÅ¡ivanja datoteka:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" -msgstr "%s: Polja ‘%s’ nema u meÄ‘uspremniku (nije ‘cached’): %s" +msgstr "" -#: function.c:790 +#: function.c:780 +#, fuzzy msgid "non-numeric first argument to 'word' function" -msgstr "prvi argument funkcije ‘word’ nije broj" +msgstr "prvi argument funkcije „word†nije broj" -#: function.c:795 +#: function.c:785 +#, fuzzy msgid "first argument to 'word' function must be greater than 0" -msgstr "prvi argument funkcije ‘word’ mora biti veći od 0" +msgstr "prvi argument funkcije „word†mora biti veći od 0" -#: function.c:815 +#: function.c:805 +#, fuzzy msgid "non-numeric first argument to 'wordlist' function" -msgstr "prvi argument funkcije ‘wordlist’ nije broj" +msgstr "drugi argument funkcije „wordlist†nije broj" -#: function.c:817 +#: function.c:807 +#, fuzzy msgid "non-numeric second argument to 'wordlist' function" -msgstr "drugi argument funkcije ‘wordlist’ nije broj" +msgstr "drugi argument funkcije „wordlist†nije broj" -#: function.c:1525 -#, c-format +#: function.c:1499 +#, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" -msgstr "" -"windows32_openpipe: DuplicateHandle(In) neuspjeÅ¡na, kÈd greÅ¡ke (e=%ld)\n" +msgstr "windows32_openpipe(): DuplicateHandle(In) nije uspio (e=%ld)\n" -#: function.c:1549 -#, c-format +#: function.c:1523 +#, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" -msgstr "" -"windows32_open_pipe: DuplicateHandle(Err) neuspjeÅ¡na, kÈd greÅ¡ke (e=%ld)\n" +msgstr "windows32_open_pipe(): DuplicateHandle(Err) nije uspio (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" -msgstr "CreatePipe() neuspjeÅ¡na, neuspjeÅ¡na, kÈd greÅ¡ke (e=%ld)\n" +msgstr "CreatePipe() nije uspio (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" -msgstr "windows32_openpipe(): process_init_fd() neuspjeÅ¡na\n" +msgstr "windows32_openpipe(): process_init_fd() nije uspio\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" -msgstr "ÄŒistim privremenu naredbenu (batch) datoteku %s.\n" +msgstr "ÄŒistim privremenu skupnu datoteku %s.\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "datoteka: nedostaje naziv datoteke" - -#: function.c:2219 function.c:2250 -#, c-format +#: function.c:2193 +#, fuzzy, c-format msgid "open: %s: %s" -msgstr "open(): %s: %s" +msgstr "%s: %s" -#: function.c:2227 -#, c-format +#: function.c:2203 +#, fuzzy, c-format msgid "write: %s: %s" -msgstr "write(): %s: %s" - -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "close(): %s: %s" +msgstr "greÅ¡ka pisanja: %s" -#: function.c:2243 -msgid "file: too many arguments" -msgstr "datoteka: previÅ¡e argumenata" - -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "read(): %s: %s" - -#: function.c:2275 +#: function.c:2209 #, c-format -msgid "file: invalid file operation: %s" -msgstr "datoteka: neispravna datoteÄna operacija: %s" +msgid "Invalid file operation: %s" +msgstr "" -#: function.c:2390 -#, c-format +#: function.c:2324 +#, fuzzy, c-format msgid "insufficient number of arguments (%d) to function '%s'" -msgstr "nedovoljan broj argumenata (samo %d) za funkciju ‘%s’" +msgstr "nedovoljan broj argumenata (%d) funkciji „%sâ€" -#: function.c:2402 -#, c-format +#: function.c:2336 +#, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" -msgstr "nije implementirano na ovoj platformi: funkcija ‘%s’" +msgstr "neimplementirano na ovoj platformi: funkcija „%sâ€" -#: function.c:2466 -#, c-format +#: function.c:2399 +#, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" -msgstr "nedovrÅ¡eni poziv funkciji ‘%s’: nedostaje ‘%c’" +msgstr "nedovrÅ¡en poziv funkciji „%sâ€: nedostaje „%câ€" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" -msgstr "Prazno ime funkcije" +msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" -msgstr "Neispravan naziv funkcije: %s" +msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" -msgstr "Naziv funkcije je predugaÄak: %s" +msgstr "" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Neispravan minimalni broj argumenata (%u) za funkciju %s" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Neispravan maksimalni broj argumenata (%u) za funkciju %s" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "nedovoljan broj argumenata (%d) funkciji „%sâ€" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "nedovoljan broj argumenata (%d) funkciji „%sâ€" #: getopt.c:659 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: opcija ‘%s’ nije jednoznaÄna\n" +msgstr "%s: opcija „%s†je viÅ¡eznaÄna\n" #: getopt.c:683 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: opcija ‘--%s’ ne dopuÅ¡ta argument\n" +msgstr "%s: opcija „--%s†ne dozvoljava argument\n" #: getopt.c:688 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: opcija ‘%c%s’ ne dopuÅ¡ta argument\n" +msgstr "%s: opcija „%c%s†ne dozvoljava argument\n" #: getopt.c:705 getopt.c:878 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' requires an argument\n" -msgstr "%s: opcija ‘%s’ zahtijeva argument\n" +msgstr "%s: opcija „%s†zahtijeva argument\n" #: getopt.c:734 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: nepoznata opcija ‘--%s’\n" +msgstr "%s: neprepoznata opcija „--%sâ€\n" #: getopt.c:738 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: nepoznata opcija ‘%c%s’\n" +msgstr "%s: neprepoznata opcija „%c%sâ€\n" -# * 1003.2 specifies the format of this message. */ -# fprintf (stderr, _("%s: illegal option -- %c\n"), #: getopt.c:764 #, c-format msgid "%s: illegal option -- %c\n" -msgstr "%s: ilegalna opcija -- %c\n" +msgstr "%s: nedozvoljena opcija -- %c\n" #: getopt.c:767 #, c-format @@ -559,29 +514,30 @@ msgstr "%s: opcija zahtijeva argument -- %c\n" #: getopt.c:844 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: opcija ‘-W %s’ nije jednoznaÄna\n" +msgstr "%s: opcija „-W %s†je viÅ¡eznaÄna\n" #: getopt.c:862 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: opcija ‘-W %s’ ne dopuÅ¡ta argument\n" +msgstr "%s: opcija „-W %s†ne dozvoljava argument\n" #: guile.c:58 #, c-format msgid "guile: Expanding '%s'\n" -msgstr "‘guile’: ProÅ¡iruje se '%s'\n" +msgstr "" #: guile.c:74 #, c-format msgid "guile: Evaluating '%s'\n" -msgstr "‘guile’: Ocjenjuje se '%s'\n" +msgstr "" #: hash.c:49 #, c-format msgid "can't allocate %lu bytes for hash table: memory exhausted" -msgstr "ne mogu dodijeliti %lu bajtova za hash-tablicu: nema dovoljno memorije" +msgstr "" +"ne mogu alocirati %lu bajtova za tablicu rasprÅ¡ivanja: memorija iscrpljena" #: hash.c:280 #, c-format @@ -591,319 +547,340 @@ #: hash.c:282 #, c-format msgid "Rehash=%d, " -msgstr "(Preraditi) Rehash=%d, " +msgstr "Preraspodjela=%d, " -# možda bi bolje bilo > Kontradikcije #: hash.c:283 #, c-format msgid "Collisions=%ld/%ld=%.0f%%" msgstr "Sudari=%ld/%ld=%.0f%%" #: implicit.c:38 -#, c-format +#, fuzzy, c-format msgid "Looking for an implicit rule for '%s'.\n" -msgstr "Potraga za implicitnim pravilom za ‘%s’.\n" +msgstr "Tražim implicitni propis za „%sâ€.\n" #: implicit.c:54 -#, c-format +#, fuzzy, c-format msgid "Looking for archive-member implicit rule for '%s'.\n" -msgstr "Traži se implicitno pravilo za pripadnika arhive za ‘%s’\n" +msgstr "Tražim implicitni propis za „%s†koji pripada elementu arhive.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" -msgstr "Izbjegavanje rekurzije implicitnog pravila.\n" +msgstr "Izbjegavam rekurziju implicitnog propisa.\n" #: implicit.c:486 #, c-format msgid "Stem too long: '%.*s'.\n" -msgstr "Korijen je predugaÄak: ‘%.*s’.\n" +msgstr "" #: implicit.c:491 -#, c-format +#, fuzzy, c-format msgid "Trying pattern rule with stem '%.*s'.\n" -msgstr "PokuÅ¡aj primijene pravila s korijenom ‘%.*s’.\n" +msgstr "PokuÅ¡avam propis uzorka s korijenom „%.*sâ€.\n" #: implicit.c:697 -#, c-format +#, fuzzy, c-format msgid "Rejecting impossible rule prerequisite '%s'.\n" -msgstr "Odbacivanje nemogućeg preduvjeta pravila ‘%s’.\n" +msgstr "Odbacujem nemoguće pravilo preduvjeta „%sâ€.\n" #: implicit.c:698 -#, c-format +#, fuzzy, c-format msgid "Rejecting impossible implicit prerequisite '%s'.\n" -msgstr "Odbacivanje nemogućeg implicitnog preduvjeta ‘%s’.\n" +msgstr "Odbacujem nemoguć implicitni preduvjet „%sâ€.\n" #: implicit.c:711 -#, c-format +#, fuzzy, c-format msgid "Trying rule prerequisite '%s'.\n" -msgstr "PokuÅ¡aj primjene pravila preduvjeta ‘%s’.\n" +msgstr "PokuÅ¡avam s propisom preduvjeta „%sâ€.\n" #: implicit.c:712 -#, c-format +#, fuzzy, c-format msgid "Trying implicit prerequisite '%s'.\n" -msgstr "PokuÅ¡aj primjene implicitnog preduvjeta ‘%s’.\n" +msgstr "PokuÅ¡avam s implicitnim preduvjetom „%sâ€.\n" #: implicit.c:751 -#, c-format +#, fuzzy, c-format msgid "Found prerequisite '%s' as VPATH '%s'\n" -msgstr "NaÄ‘en preduvjet ‘%s’ kao VPATH ‘%s’\n" +msgstr "NaÅ¡ao preduvjet „%s†kao VPATH „%sâ€\n" #: implicit.c:765 -#, c-format +#, fuzzy, c-format msgid "Looking for a rule with intermediate file '%s'.\n" -msgstr "Potraga za pravilom s prijelaznom datotekom ‘%s’.\n" +msgstr "Tražim propis s posrednom datotekom „%sâ€.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" -msgstr "Nemoguće je napraviti privremenu datoteku\n" +msgstr "Ne mogu napraviti privremenu datoteku\n" -# A core dump is a file of a computer's documented memory of when a program or computer crashed. -#: job.c:485 +#: job.c:483 msgid " (core dumped)" -msgstr " (napravljen ispis memorije)" +msgstr " (jezgra izbaÄena)" -#: job.c:490 +#: job.c:488 +#, fuzzy msgid " (ignored)" -msgstr " (zanemareno)" +msgstr "[%s] GreÅ¡ka %d (zanemarena)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 +#, fuzzy msgid "" -msgstr "" +msgstr " (ugraÄ‘eno):" -#: job.c:510 -#, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] GreÅ¡ka %d%s" +#: job.c:503 +#, fuzzy, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "upozorenje: poniÅ¡tavam recept za metu „%sâ€" + +#: job.c:516 job.c:524 +#, fuzzy, c-format +msgid "%s[%s] Error %d%s" +msgstr "*** [%s] GreÅ¡ka %d" + +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] GreÅ¡ka 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" -#: job.c:599 +#: job.c:621 msgid "*** Waiting for unfinished jobs...." -msgstr "*** ÄŒekanje na zavrÅ¡etak nedovrÅ¡enih poslova...." +msgstr "*** ÄŒekam nedovrÅ¡ene poslove...." -# child > dijete > potomak; pridjev potamaÄki -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" -msgstr "Aktivni potomaÄki proces %p (%s) PID %s %s\n" +msgstr "Živo dijete %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (udaljen)" -# reap (in cs) > To terminate a child process that has previously exited, thereby removing it from the process table -# Until a child process is reaped, it may be listed in the process table as a zombie or defunct process. -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" -msgstr "PoÄišćen je neuspjeÅ¡no zavrÅ¡eni potomaÄki proces %p PID %s %s\n" +msgstr "Skupljam neuspjeÅ¡no dijete %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" -msgstr "PoÄišćen je uspjeÅ¡no zavrÅ¡eni potomaÄki proces %p PID %s %s\n" +msgstr "Skupljam uspjeÅ¡no dijete %p PID %s %s\n" -# batch file > naredbena datoteka sustava (skript datoteka) -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" -msgstr "ÄŒistim privremenu naredbenu (batch) datoteku %s\n" +msgstr "ÄŒistim privremenu skupnu datoteku %s\n" -#: job.c:845 -#, c-format +#: job.c:855 +#, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" -msgstr "" -"ÄŒišćenje privremene naredbene (batch) datoteke %s nije uspjelo, greÅ¡ka (%d)\n" +msgstr "ÄŒistim privremenu skupnu datoteku %s\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" -msgstr "Potomak %p PID %s%s uklonjen je iz lanca.\n" +msgstr "Uklanjam dijete %p PID %s%s iz lanca.\n" + +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" -#: job.c:1006 +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" -msgstr "OsloboÄ‘en je token za potomka %p (%s).\n" +msgstr "IspuÅ¡ten simbol za dijete %p (%s).\n" + +# Å to bi ovdje trebalo ići? +#: job.c:1036 +msgid "write jobserver" +msgstr "poslužitelj poslova pisanja" -#: job.c:1508 job.c:2201 +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() nije uspio pokrenuti proces (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" "Counted %d args in failed launch\n" msgstr "" "\n" -"Prilikom neuspjelog starta izbrojeno je %d argumenata\n" +"Izbrojeno %d argumenata u neuspjelom pokretanju\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" -msgstr "Dodavanje potomka %p (%s) PID %s%s u lanac potomaka.\n" +msgstr "SmjeÅ¡tam dijete %p (%s) PID %s%s u lanac.\n" -#: job.c:1811 +#: job.c:2005 #, c-format -msgid "Obtained token for child %p (%s).\n" -msgstr "Dobiven token za potomka %p (%s).\n" +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" -#: job.c:1838 +#: job.c:2019 #, c-format +msgid "Obtained token for child %p (%s).\n" +msgstr "Preuzet simbol za dijete %p (%s).\n" + +#: job.c:2029 +msgid "read jobs pipe" +msgstr "cjevovod poslova Äitanja" + +#: job.c:2056 +#, fuzzy, c-format msgid "%s: target '%s' does not exist" -msgstr "%s: cilj '%s' ne postoji" +msgstr "touch: Arhiva „%s†ne postoji" -#: job.c:1841 -#, c-format +#: job.c:2059 +#, fuzzy, c-format msgid "%s: update target '%s' due to: %s" -msgstr "%s: ažuriraj cilj '%s' zbog: %s" +msgstr "%sNema propisa za izradu mete „%sâ€, koji traži „%sâ€%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" -msgstr "ovaj operativni sustav ne dopuÅ¡ta ograniÄenje opterećenja" +msgstr "" +"ne mogu silom primijeniti ograniÄenje opterećenja na ovom operacijskom " +"sustavu" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " -msgstr "nemoguće je ograniÄiti opterećenje: " +msgstr "ne mogu silom primijeniti ograniÄenje opterećenja: " -# In Unix and related computer operating systems, a file descriptor is an abstract indicator (handle) used to access a file -# stdin > standardni ulaz -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" -"nema viÅ¡e datoteÄnih deskriptora: ‘stdin’ (standardni ulaz)\n" -"ne može se duplicirati\n" +"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni ulaz\n" -# stdout > standardni izlaz -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" -"nema viÅ¡e datoteÄnih deskriptora: ‘stdout’ (standardni izlaz)\n" -"se ne može kopirati\n" +"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni izlaz\n" -# stderr > standard error -#: job.c:2074 +#: job.c:2278 +#, fuzzy msgid "no more file handles: could not duplicate stderr\n" msgstr "" -"nema viÅ¡e datoteÄnih deskriptora: ‘stderr’ (standardna greÅ¡ka)\n" -"se ne može kopirati\n" +"nema viÅ¡e upravljaÄa datotekama: ne mogu udvostruÄiti standardni ulaz\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" -msgstr "‘stdin’ (stadardni ulaz) se ne može obnoviti\n" +msgstr "Ne mogu obnoviti standardni ulaz\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" -msgstr "standardni izlaz ‘stdout’ se ne može obnoviti\n" +msgstr "Ne mogu obnoviti standardni izlaz\n" -#: job.c:2105 +#: job.c:2309 +#, fuzzy msgid "Could not restore stderr\n" -msgstr "‘stderr’ (standardna greÅ¡ka) se ne može obnoviti\n" +msgstr "Ne mogu obnoviti standardni ulaz\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" -msgstr "" -"‘make’ je poÄistio potomaÄki proces pid %s, ali joÅ¡ uvijek Äeka na pid %s\n" +msgstr "make je skupio dijete pid %s, joÅ¡ uvijek Äeka pid %s\n" -#: job.c:2275 +#: job.c:2458 #, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Naredba nije pronaÄ‘ena\n" +msgid "%s: Command not found" +msgstr "%s: Naredba nije pronaÄ‘ena" -#: job.c:2277 -#, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Naredba nije pronaÄ‘ena\n" - -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" -msgstr "%s: Ljuskin (shell) program nije pronaÄ‘en" +msgstr "%s: Program ljuske nije pronaÄ‘en" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" -msgstr "‘spawnvpe’: u programskom okružju možda nema dovoljno mjesta" +msgstr "spawnvpe: prostor okoline je možda iscrpljen" -#: job.c:2584 -#, c-format +#: job.c:2765 +#, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" -msgstr "Varijabla $SHELL se promijenila (prije ‘%s’, sada ‘%s’)\n" +msgstr "$SHELL se promijenio (prije „%sâ€, sada „%sâ€)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" -msgstr "Stvaram privremenu naredbenu (batch) datoteku %s\n" +msgstr "Stvaram privremenu skupnu datoteku %s\n" -#: job.c:3030 +#: job.c:3206 +#, fuzzy msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -"Sadržaj naredbene (batch) datoteke:\n" -"\t@echo off\n" +"Sadržaj skupne datoteke:%s\n" +"\t%s\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -"Sadržaj naredbene (batch) datoteke:%s\n" +"Sadržaj skupne datoteke:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" -"%s (redak %d) LoÅ¡ ljuskin (shell) kontekst (!unixy && !batch_mode_shell)\n" +"%s (redak %d) Neispravan kontekst ljuske (!unixy && !batch_mode_shell)\n" #: job.h:43 msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build." -msgstr "Opcija -O[TYPE] (--output-sync[=TYPE]) nije ugraÄ‘ena u ovaj program." +msgstr "" #: load.c:60 #, c-format msgid "Failed to open global symbol table: %s" -msgstr "Otvaranje globalne tablice simbola nije uspjelo: %s" +msgstr "" #: load.c:97 #, c-format msgid "Loaded object %s is not declared to be GPL compatible" -msgstr "UÄitani objekt %s nema deklaraciju da je kompatibilan s GPL-om" +msgstr "" #: load.c:104 #, c-format msgid "Failed to load symbol %s from %s: %s" -msgstr "UÄitavanje simbola %s nije uspjelo iz %s: %s" +msgstr "" #: load.c:149 #, c-format msgid "Empty symbol name for load: %s" -msgstr "Ime simbola kojeg treba uÄitati je prazno: %s" +msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" -msgstr "UÄitavanje simbola %s iz %s\n" +msgstr "" -#: load.c:256 +#: load.c:244 +#, fuzzy msgid "The 'load' operation is not supported on this platform." -msgstr "Operacija ‘load’ nije podržana na ovoj platformi." +msgstr "Paralelni poslovi (-j) nisu podržani na ovoj platformi." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opcije:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" -msgstr " -b, -m Zanemarena zbog kompatibilnosti.\n" +msgstr " -b, -m Zanemareno zbog kompatibilnosti.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" -msgstr "" -" -B, --always-make Bezuvjetno izradi sve ciljeve (targets).\n" +msgstr " -B, --always-make Bezuvjetno izradi sve mete.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -911,221 +888,215 @@ " -C DIREKTORIJ, --directory=DIREKTORIJ\n" " PrijeÄ‘i u DIREKTORIJ prije poÄetka rada.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d IspiÅ¡i puno podataka za debugiranje.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=ZASTAVICE] IspiÅ¡i razne vrste informacija za " "debugiranje.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" msgstr "" " -e, --environment-overrides\n" -" Varijable okružja imaju prednost\n" -" (nadjaÄavaju ih) nad varijablama\n" -" iz ‘makefile’ datoteka\n" +" Varijable okoline imaju veću važnost od\n" +" datoteka izrade.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -" --eval=NIZ NIZ tretiraj kao da je direktiva\n" -" ‘makefile’ datoteke.\n" +" --eval=NIZ Postupaj s NIZOM kao naredbom datoteke " +"izrade.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" msgstr "" " -f DATOTEKA, --file=DATOTEKA, --makefile=DATOTEKA\n" -" UÄitaj DATOTEKU kao ‘makefile’ datoteku.\n" +" ProÄitaj DATOTEKU kao datoteku izrade.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" -msgstr " -h, --help prikaži ovu pomoć i iziÄ‘i.\n" +msgstr " -h, --help IspiÅ¡i ovu poruku i izaÄ‘i.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" -msgstr " -i, --ignore-errors Zanemari greÅ¡ke u receptima.\n" +msgstr " -i, --ignore-errors Zanemari greÅ¡ke iz recepata.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" msgstr "" " -I DIREKTORIJ, --include-dir=DIREKTORIJ\n" -" Traži ukljuÄene ‘makefiles’ u DIREKTORIJU.\n" +" Traži u DIREKTORIJU ukljuÄene datoteke " +"izrade.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" msgstr "" -" -j [N], --jobs[=N] Dopusti N istovremenih poslova; bez argumenta\n" -" nema ograniÄenja.\n" +" -j [N], --jobs[=N] Dozvoli N istovremenih poslova; bez argumenta\n" +" ih dozvoli beskonaÄno.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" -" -k, --keep-going Nastavi s radom iako se neki ciljevi " -"(targets)\n" -" ne mogu izraditi.\n" +" -k, --keep-going Nastavi s radom ako se neke mete ne mogu " +"izraditi.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " "N.\n" msgstr "" " -l [N], --load-average[=N], --max-load[=N]\n" -" Ne pokreći viÅ¡e poslova istovremeno, osim ako\n" -" je opterećenje ispod N.\n" +" Ne pokreći viÅ¡estruke poslove, osim ako je\n" +" opterećenje ispod N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" -" -L, --check-symlink-times Rabi najnovije vrijeme izmjene ‘mtime’ izmeÄ‘u\n" -" simboliÄkih poveznica i cilja (target)\n" +" -L, --check-symlink-times Koristi posljednji mtime izmeÄ‘u simboliÄkih " +"veza i mete.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " "them.\n" msgstr "" " -n, --just-print, --dry-run, --recon\n" -" Ne izraÄ‘uj nijedan recept, samo ih ispiÅ¡i.\n" +" Nemoj zapravo pokrenuti nijedan recept,\n" +" samo ih ispiÅ¡i.\n" -# remake > make (something) again or differently. -# remake > gl. prepraviti, preurediti / im. prepravak, prerada -# na nov naÄin, drugaÄije urediti, izmijeniti da na drugi naÄin služi svrsi; preureÄ‘enje, preureÄ‘en. -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " "it.\n" msgstr "" " -o DATOTEKA, --old-file=DATOTEKA, --assume-old=DATOTEKA\n" -" Ne preraÄ‘uj DATOTEKU, jer je vrlo stara.\n" +" Smatraj da je DATOTEKA vrlo stara i nemoj ju\n" +" ponovo napraviti.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -" -O[TYPE], --output-sync[=TYPE]\n" -" Sinkroniziraj izlaz paralelnih poslova po " -"TYPE.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" -msgstr " -p, --print-data-base IspiÅ¡i ‘make’ internu bazu podataka.\n" +msgstr " -p, --print-data-base IspiÅ¡i „make†internu bazu podataka.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "" -" -q, --question Ne izraÄ‘uj recepte; status izlaza pokazuje\n" -" ako je sve ažurirano.\n" +" -q, --question Ne pokreći recepte; izlazno stanje oznaÄava\n" +" je li sve ažurirano.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" -msgstr " -r, --no-builtin-rules Onemogući ugraÄ‘ena implicitna pravila.\n" +msgstr " -r, --no-builtin-rules Onemogući ugraÄ‘ene implicitne propise.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Onemogući ugraÄ‘ene vrijednosti varijabli.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Ne ispisuj recepte.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" msgstr "" " -S, --no-keep-going, --stop\n" -" IskljuÄi -k.\n" +" IskljuÄuje -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" -" -t, --touch Umjesto prerade ciljeva (targets) samo ih " -"takni\n" -" (‘touch’: oznaÄi ih kao da su " -"aktualizirani)\n" +" -t, --touch Umjesto ponovne izrade dodirni izgraÄ‘ene " +"mete.\n" -#: main.c:398 +#: main.c:373 +#, fuzzy msgid " --trace Print tracing information.\n" msgstr " -d IspiÅ¡i puno podataka za debugiranje.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" -msgstr "" -" -v, --version IspiÅ¡i obavijesti o ‘make’ inaÄici i iziÄ‘i.\n" +msgstr " -v, --version IspiÅ¡i „make†broj inaÄice i izaÄ‘i.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" -msgstr " -w, --print-directory IspiÅ¡i trenutaÄni direktorij.\n" +msgstr " -w, --print-directory IspiÅ¡i trenutni direktorij.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr "" -" --no-print-directory IskljuÄi -w, premda je implicitno ukljuÄen.\n" +" --no-print-directory IskljuÄi -w, Äak i ako je implicitno " +"ukljuÄen.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" msgstr "" -" -W DATOTEKA, --what-if=DATOTEKA, --new-file=DATOTEKA, --assume-" -"new=DATOTEKA\n" -" Smatraj da je DATOTEKA uvijek nova.\n" +" -W DATOTEKA, --what-if=DATOTEKA, --new-file=DATOTEKA,\n" +" --assume-new=DATOTEKA\n" +" Smatraj DATOTEKU beskonaÄno novom.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" -" --warn-undefined-variables Upozori ako se spomene nedefinirana " -"varijabla.\n" +" --warn-undefined-variables Upozori pri referenciranju nedefinirane " +"varijable.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "prazan niz nije ispravan naziv datoteke" -#: main.c:766 -#, c-format +#: main.c:737 +#, fuzzy, c-format msgid "unknown debug level specification '%s'" -msgstr "nepoznata specifikacija ‘%s’ razine debugiranja" +msgstr "nepoznata oznaka razine debugiranja „%sâ€" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" -msgstr "nepoznata vrsta ‘%s’ ‘output-sync’" +msgstr "" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" -msgstr "%s: Uhvaćen prekid ili iznimka (kÈd = 0x%lx, adresa = 0x%p)\n" +msgstr "%s: Uhvaćen prekid/iznimka (kod = 0x%lx, adr = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1135,189 +1106,230 @@ "ExceptionAddress = 0x%p\n" msgstr "" "\n" -"Filtar neobraÄ‘ene iznimke pozvan je iz programa %s\n" +"Filtar nekontrolirane iznimke pozvan iz programa %s\n" "ExceptionCode = %lx\n" "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" -msgstr "Pristupni prekrÅ¡aj: pokuÅ¡aj pisanja na adresi 0x%p\n" +msgstr "Pristupni prekrÅ¡aj: operacija pisanja na adresi 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" -msgstr "Pristupni prekrÅ¡aj: pokuÅ¡aj Äitanja na adresi 0x%p\n" +msgstr "Pristupni prekrÅ¡aj: operacija Äitanja na adresi 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() postavlja default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" -msgstr "find_and_set_shell() pretragom putanje postavlja default_shell = %s\n" +msgstr "find_and_set_shell() pretraga putanje postavlja default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." -msgstr "%s zaustavljen na 30 sekundi..." +msgstr "%s se zaustavlja na 30 sekundi..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" -msgstr "zavrÅ¡eno je 30 sekunda spavanja. Nastavlja se.\n" +msgstr "gotov sa sleep(30). Nastavljam.\n" -# parent > roditelj > predak; pridjev predaÄki -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"upozorenje: poslužitelj poslova je nedostupan: koristi se -j1.\n" -"Dodajte ‘+’ predaÄkom (parent) ‘make’ pravilu." -#: main.c:1635 +#: main.c:1530 +#, fuzzy, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Klijent poslužitelja poslova (fds %d,%d)\n" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "interna greÅ¡ka: neispravan --jobserver-fds niz „%sâ€" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Klijent poslužitelja poslova (fds %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" -"upozorenje: -jN je prinudno zadan u ‘submake’:\n" -"naÄin rada poslužitelja poslova je onemogućen." +"upozorenje: pod-make prisilno postavlja -jN: onemogućujem poslužitelj " +"poslova." + +# Treba li ovo prevesti? +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup poslužitelj poslova" + +#: main.c:1570 +#, fuzzy +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"upozorenje: poslužitelj poslova nedostupan: koristim -j1. Dodaj `+' na " +"roditeljev propis izrade." -#: main.c:1805 +#: main.c:1742 msgid "Makefile from standard input specified twice." -msgstr "‘Makefile’ je dva puta naveden na standardnom ulazu." +msgstr "Datoteka izrade sa standardnog ulaza navedena dvaput." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (privremena datoteka)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (privremena datoteka)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Paralelni poslovi (-j) nisu podržani na ovoj platformi." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." -msgstr "Povratak na naÄin rada s jednim poslom (-j1)." +msgstr "Vraćam naÄin rada s jednim poslom (-j1)." -#: main.c:2088 +#: main.c:1994 +#, fuzzy, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Klijent poslužitelja poslova (fds %d,%d)\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "stvaram cjevovod poslova" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "inicijaliziraj cjevovod poslužitelja poslova" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." -msgstr "SimboliÄke poveznice nisu podržane: onemogućuje se -L." +msgstr "SimboliÄke veze nisu podržane: onemogućujem -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" -msgstr "Ažuriram ‘makefiles’....\n" +msgstr "Ažuriram datoteke izrade....\n" -#: main.c:2195 -#, c-format +#: main.c:2158 +#, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" -msgstr "‘Makefile’ ‘%s’ bi mogao ući u petlju; neće se preraÄ‘ivati.\n" +msgstr "Datoteka izrade „%s†bi mogla ući u petlju; ne izgraÄ‘ujem ponovo.\n" -#: main.c:2279 -#, c-format +#: main.c:2237 +#, fuzzy, c-format msgid "Failed to remake makefile '%s'." -msgstr "Neuspjeh prerade datoteke ‘makefile’ ‘%s’." +msgstr "Nisam uspio ponovo izgraditi datoteku izrade „%sâ€." -#: main.c:2299 -#, c-format +#: main.c:2257 +#, fuzzy, c-format msgid "Included makefile '%s' was not found." -msgstr "UkljuÄena datoteka ‘makefile’ ‘%s’ nije pronaÄ‘ena." +msgstr "UkljuÄeni datoteka izrade „%s†nije pronaÄ‘ena." -#: main.c:2304 -#, c-format +#: main.c:2262 +#, fuzzy, c-format msgid "Makefile '%s' was not found" -msgstr "Datoteka ‘makefile’ ‘%s’ nije pronaÄ‘ena" +msgstr "Datoteka izrade „%s†nije pronaÄ‘ena" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." -msgstr "Ne mogu se vratiti u poÄetni direktorij." +msgstr "Ne mogu se vratiti u izvorni direktorij." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" -msgstr "Ponovno izvrÅ¡avanje[%u]:" +msgstr "Ponovo izvrÅ¡avam[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (privremena datoteka): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" -msgstr ".DEFAULT_GOAL sadrži viÅ¡e od jednog cilja" +msgstr ".DEFAULT_GOAL sadrži viÅ¡e od jedne mete" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" -msgstr "Nijedan cilj nije naveden i nijedna ‘makefile’ datoteka nije pronaÄ‘ena" +msgstr "Nijedna meta nije navedena, niti je pronaÄ‘ena ijedna datoteka izrade" -#: main.c:2550 +#: main.c:2511 msgid "No targets" -msgstr "Nema ciljeva" +msgstr "Nema meta" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" -msgstr "Ciljevi (targets) za željeni rezultat (goal) se ažuriraju ....\n" +msgstr "Ažuriram ciljne mete....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" -"upozorenje: Otkriven je problem sa satom. Izrada možda nije kompletno " -"dovrÅ¡ena." +"upozorenje: UoÄena je nepravilnost sata. Izgradnja bi mogla biti nedovrÅ¡ena." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" -msgstr "Uporaba: %s [opcije] [cilj] ...\n" +msgstr "Uporaba: %s [opcije] [meta] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" "This program built for %s\n" msgstr "" "\n" -"Ovaj program je napravljen za %s\n" +"Program izgraÄ‘en za %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" "This program built for %s (%s)\n" msgstr "" "\n" -"Ovaj program je napravljen za %s (%s)\n" +"Program izgraÄ‘en za %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" -msgstr "" -"GreÅ¡ke (bugs) na engleskom javite na \n" -"PogreÅ¡ke u prijevodu i vaÅ¡e prijedloge javite na \n" +msgstr "Prijavite greÅ¡ke na \n" -#: main.c:2870 -#, c-format +#: main.c:2807 +#, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" -msgstr "opcija ‘%s%s’ zahtijeva kao argument niz koji nije prazan" +msgstr "opcija „%s%s†zahtijeva neprazan znakovni niz kao argument" -#: main.c:2934 -#, c-format +#: main.c:2871 +#, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" -msgstr "opcija ‘-%c’ zahtijeva za argument pozitivan prirodni broj" +msgstr "opcija „-%c†zahtijeva pozitivan cjelobrojni argument" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" -msgstr "%sNapravljen za %s\n" +msgstr "%sIzgraÄ‘en za %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" -msgstr "%sNapravljen za %s (%s)\n" +msgstr "%sIzgraÄ‘en za %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later \n" -"%sOvo je slobodan softver: slobodno ga mijenjajte i dijelite.\n" -"%sNEMA JAMSTVA, do granica dopuÅ¡tenih zakonom.\n" -"PogreÅ¡ke u prijevodu i vaÅ¡e prijedloge javite na \n" -"\n" +"%sLicenca GPLv3+: GNU GPL inaÄica 3 ili kasnija \n" +"%sOvo je slobodan softver: slobodno ga smijete mijenjati i dijeliti.\n" +"%sNEMA JAMSTAVA, do krajnje mjere dozvoljene zakonom.\n" -#: main.c:3366 +#: main.c:3303 #, c-format msgid "" "\n" "# Make data base, printed on %s" msgstr "" "\n" -"# ‘Make’ baza podataka, ispisana na %s" +"# Make baza podataka, ispisana na %s" -#: main.c:3376 +#: main.c:3313 #, c-format msgid "" "\n" "# Finished Make data base on %s\n" msgstr "" "\n" -"# ‘Make’ baza podataka zgotovljena na %s\n" +"# Kraj Make baze podataka na %s\n" -#: misc.c:202 +#: misc.c:201 #, c-format msgid "Unknown error %d" msgstr "Nepoznata greÅ¡ka %d" # Da prevedem ovo? -#: misc.c:508 +#: misc.c:522 #, c-format msgid "%s: user %lu (real %lu), group %lu (real %lu)\n" -msgstr "%s: korisnik %lu (zapravo %lu), grupa %lu (zapravo %lu)\n" +msgstr "%s: korisnik %lu (stvarno %lu), grupa %lu (stvarno %lu)\n" -#: misc.c:529 +#: misc.c:543 msgid "Initialized access" msgstr "Inicijaliziran pristup" -#: misc.c:608 +#: misc.c:622 msgid "User access" msgstr "KorisniÄki pristup" -#: misc.c:656 +#: misc.c:670 msgid "Make access" -msgstr "‘Make’ pristup" +msgstr "Make pristup" -#: misc.c:690 +#: misc.c:704 msgid "Child access" -msgstr "PotomaÄki proces" +msgstr "Pristup djeteta" #: output.c:104 #, c-format msgid "%s: Entering an unknown directory\n" -msgstr "%s: Ulazak u nepoznat direktorij\n" +msgstr "%s: Ulazim u nepoznat direktorij\n" #: output.c:106 #, c-format msgid "%s: Leaving an unknown directory\n" -msgstr "%s: Izlazak iz nepoznatog direktorija\n" +msgstr "%s: Izlazim iz nepoznatog direktorija\n" #: output.c:109 -#, c-format +#, fuzzy, c-format msgid "%s: Entering directory '%s'\n" -msgstr "%s: Ulazak u direktorij ‘%s’\n" +msgstr "%s: Ulazim u direktorij „%sâ€\n" #: output.c:111 -#, c-format +#, fuzzy, c-format msgid "%s: Leaving directory '%s'\n" -msgstr "%s: Izlazak iz direktorija ‘%s’\n" +msgstr "%s: Izlazim iz direktorija „%sâ€\n" #: output.c:115 #, c-format msgid "%s[%u]: Entering an unknown directory\n" -msgstr "%s[%u]: Ulazak u nepoznat direktorij\n" +msgstr "%s[%u]: Ulazim u nepoznat direktorij\n" #: output.c:117 #, c-format msgid "%s[%u]: Leaving an unknown directory\n" -msgstr "%s[%u]: Izlazak iz nepoznatog direktorija\n" +msgstr "%s[%u]: Izlazim iz nepoznatog direktorija\n" #: output.c:120 -#, c-format +#, fuzzy, c-format msgid "%s[%u]: Entering directory '%s'\n" -msgstr "%s[%u]: Ulazak u direktorij ‘%s’\n" +msgstr "%s[%u]: Ulazim u direktorij „%sâ€\n" #: output.c:122 -#, c-format +#, fuzzy, c-format msgid "%s[%u]: Leaving directory '%s'\n" -msgstr "%s[%u]: Izlazak iz direktorija ‘%s’\n" +msgstr "%s[%u]: Izlazim iz direktorija „%sâ€\n" #: output.c:495 output.c:497 +#, fuzzy msgid "write error: stdout" -msgstr "greÅ¡ka pisanja: stdout (standardni izlaz)" +msgstr "greÅ¡ka pisanja: %s" #: output.c:677 msgid ". Stop.\n" -msgstr ". SvrÅ¡etak.\n" +msgstr ". Zaustavi.\n" #: output.c:711 #, c-format @@ -1435,725 +1446,669 @@ msgid "%s: %s" msgstr "%s: %s" -# In computer science, an anonymous pipe is a simplex FIFO communication channel that may be used for one-way interprocess communication (IPC). An implementation is often integrated into the operating system's file IO subsystem. -#: posixos.c:69 -msgid "creating jobs pipe" -msgstr "kreiranje cijevi za poslove (jobs pipe)" - -# http://make.mad-scientist.net/papers/jobserver-implementation/ -#: posixos.c:72 posixos.c:227 -msgid "duping jobs pipe" -msgstr "dupliciranje cijevi za poslove (jobs pipe)" - -#: posixos.c:78 -msgid "init jobserver pipe" -msgstr "inicijalizacija cijevi poslužitelja poslova (jobserver pipe)" - -#: posixos.c:90 -#, c-format -msgid "internal error: invalid --jobserver-auth string '%s'" -msgstr "interna greÅ¡ka: neispravan niz ‘%s’ za --jobserver-auth" - -#: posixos.c:93 -#, c-format -msgid "Jobserver client (fds %d,%d)\n" -msgstr "Klijent poslužitelja poslova (fds %d,%d)\n" - -# In computing, a pipeline is a set of data processing elements connected in series, where the output of one element is the input of the next one. -#: posixos.c:109 -msgid "jobserver pipeline" -msgstr "cjevovod (pipeline) poslužitelja poslova" - -# Å to bi ovdje trebalo ići? -# bp: iz izvornog koda, možda ovo. -#: posixos.c:154 -msgid "write jobserver" -msgstr "zapis poslužitelja poslova" - -#: posixos.c:268 -msgid "pselect jobs pipe" -msgstr "‘pselect’ cijevi poslova (jobs pipe)" - -#: posixos.c:279 posixos.c:391 -msgid "read jobs pipe" -msgstr "Äitanje poslova s cijevi (jobs pipe)" - -#: read.c:178 +#: read.c:180 msgid "Reading makefiles...\n" -msgstr "ÄŒitanje ‘makefiles’ datoteka...\n" +msgstr "ÄŒitam datoteke izrade...\n" -#: read.c:329 -#, c-format +#: read.c:335 +#, fuzzy, c-format msgid "Reading makefile '%s'" -msgstr "ÄŒitanje ‘makefile’ datoteke ‘%s’" +msgstr "ÄŒitam datoteku izrade „%sâ€" -#: read.c:331 +#: read.c:337 #, c-format msgid " (no default goal)" -msgstr " (nema standardnog cilja)" +msgstr " (nema zadane mete)" -#: read.c:333 +#: read.c:339 #, c-format msgid " (search path)" msgstr " (putanja pretraživanja)" -#: read.c:335 +#: read.c:341 #, c-format msgid " (don't care)" msgstr " (nije važno)" -#: read.c:337 +#: read.c:343 #, c-format msgid " (no ~ expansion)" -msgstr " (bez proÅ¡irivanja znaka ~)" +msgstr " (bez proÅ¡irenja ~)" -#: read.c:651 +#: read.c:656 #, c-format msgid "Skipping UTF-8 BOM in makefile '%s'\n" -msgstr "UTF-8 BOM u ‘makefile’ datoteci '%s' se preskaÄe\n" +msgstr "" -#: read.c:654 +#: read.c:659 #, c-format msgid "Skipping UTF-8 BOM in makefile buffer\n" -msgstr "UTF-8 BOM u ‘makefile’ meÄ‘umemoriji se preskaÄe\n" +msgstr "" -#: read.c:783 +#: read.c:789 msgid "invalid syntax in conditional" -msgstr "neispravna sintaksa u uvjetu" +msgstr "neispravna sintaksa uvjeta" -#: read.c:959 +#: read.c:966 #, c-format msgid "%s: failed to load" -msgstr "%s: uÄitavanje nije uspjelo" +msgstr "" -#: read.c:985 +#: read.c:992 msgid "recipe commences before first target" -msgstr "recept poÄinje ispred prvog cilja" +msgstr "recept poÄinje prije prve mete" -#: read.c:1034 +#: read.c:1041 msgid "missing rule before recipe" -msgstr "nedostaje pravilo ispred recepta" +msgstr "nedostaje propis prije recepta" -#: read.c:1124 +#: read.c:1131 +#, fuzzy msgid "missing separator (did you mean TAB instead of 8 spaces?)" -msgstr "nedostaje separator (Mislili ste TAB umjesto 8 razmaka?)" +msgstr " (jeste li htjeli TAB umjesto 8 razmaka?)" # Grr, živjela engleska množina! I Å¡to sad da radim s onim %s-om? -#: read.c:1126 +#: read.c:1133 +#, fuzzy msgid "missing separator" -msgstr "nedostaje separator" +msgstr "nedostaju znakovi razdvajanja (%s)" -#: read.c:1262 +#: read.c:1270 msgid "missing target pattern" -msgstr "nedostaje uzorak za cilj" +msgstr "nedostaje uzorak mete" -#: read.c:1264 +#: read.c:1272 msgid "multiple target patterns" -msgstr "viÅ¡estruki uzorci za cilj" +msgstr "viÅ¡estruki uzorci meta" -#: read.c:1268 -#, c-format +#: read.c:1276 +#, fuzzy, c-format msgid "target pattern contains no '%%'" -msgstr "uzorak cilja ne sadrži ‘%%’" +msgstr "uzorak mete ne sadrži „%%â€" -#: read.c:1390 +#: read.c:1398 +#, fuzzy msgid "missing 'endif'" -msgstr "nedostaje ‘endif’" +msgstr "nedostaje „endifâ€" -#: read.c:1428 read.c:1473 variable.c:1576 +#: read.c:1436 read.c:1481 variable.c:1546 msgid "empty variable name" msgstr "prazno ime varijable" -#: read.c:1463 +#: read.c:1471 +#, fuzzy msgid "extraneous text after 'define' directive" -msgstr "suviÅ¡an tekst nakon direktive ‘define’" +msgstr "suviÅ¡an tekst nakon direktive „defineâ€" -#: read.c:1488 +#: read.c:1496 +#, fuzzy msgid "missing 'endef', unterminated 'define'" -msgstr "nedostaje ‘endef’, nedovrÅ¡en ‘define’" +msgstr "nedostaje „endefâ€, nedovrÅ¡en „defineâ€" -#: read.c:1516 +#: read.c:1524 +#, fuzzy msgid "extraneous text after 'endef' directive" -msgstr "suviÅ¡an tekst nakon direktive ‘endef’" +msgstr "suviÅ¡an tekst nakon direktive „endefâ€" -#: read.c:1588 -#, c-format +#: read.c:1595 +#, fuzzy, c-format msgid "extraneous text after '%s' directive" -msgstr "suviÅ¡an tekst nakon direktive ‘%s’" +msgstr "suviÅ¡an tekst nakon direktive „%sâ€" -#: read.c:1589 -#, c-format +#: read.c:1596 +#, fuzzy, c-format msgid "extraneous '%s'" -msgstr "suviÅ¡an ‘%s’" +msgstr "suviÅ¡an „%sâ€" -#: read.c:1617 +#: read.c:1624 +#, fuzzy msgid "only one 'else' per conditional" -msgstr "samo jedan ‘else’ po uvjetu" +msgstr "samo jedan „else†po uvjetu" -#: read.c:1892 +#: read.c:1899 msgid "Malformed target-specific variable definition" -msgstr "Nepravilno formirana definicija varijable specifiÄne za cilj" +msgstr "IzobliÄena definicija o meti ovisne varijable" -#: read.c:1950 +#: read.c:1957 msgid "prerequisites cannot be defined in recipes" msgstr "preduvjeti ne mogu biti definirani u receptima" -#: read.c:2009 +#: read.c:2015 msgid "mixed implicit and static pattern rules" -msgstr "pomijeÅ¡ana su implicitna pravila i pravila sa statiÄkim uzorcima" +msgstr "pomijeÅ¡ani implicitni i statiÄki propisi uzoraka" -#: read.c:2032 +#: read.c:2038 msgid "mixed implicit and normal rules" -msgstr "pomijeÅ¡ana su implicitna i normalna pravila" +msgstr "pomijeÅ¡ani implicitni i normalni propisi" -#: read.c:2085 -#, c-format +#: read.c:2091 +#, fuzzy, c-format msgid "target '%s' doesn't match the target pattern" -msgstr "cilj ‘%s’ se ne podudara s uzorkom cilja" +msgstr "meta „%s†ne odgovara uzorku mete" -#: read.c:2100 read.c:2146 -#, c-format +#: read.c:2106 read.c:2152 +#, fuzzy, c-format msgid "target file '%s' has both : and :: entries" -msgstr "" -"u ciljnu datoteku ‘%s’ uneseni su (dvotoÄka) ‘:’ i (dvije dvotoÄke) ‘::’" +msgstr "datoteka mete „%s†ima unose i kod : i kod ::" -#: read.c:2106 -#, c-format +#: read.c:2112 +#, fuzzy, c-format msgid "target '%s' given more than once in the same rule" -msgstr "cilj ‘%s’ je naveden viÅ¡e od jedanput u istom pravilu." +msgstr "meta „%s†je navedena viÅ¡e nego jednom u istom propisu." -# prebrisati> briÅ¡ući ukloniti, briÅ¡ući poniÅ¡titi, prebrisati dio teksta, odbaciti -#: read.c:2116 -#, c-format +#: read.c:2122 +#, fuzzy, c-format msgid "warning: overriding recipe for target '%s'" -msgstr "upozorenje: recept za cilj ‘%s’ se poniÅ¡tava i preformira" +msgstr "upozorenje: poniÅ¡tavam recept za metu „%sâ€" -#: read.c:2119 -#, c-format +#: read.c:2125 +#, fuzzy, c-format msgid "warning: ignoring old recipe for target '%s'" -msgstr "upozorenje: stari recept za cilj ‘%s’ se zanemaruje" +msgstr "upozorenje: zanemarujem stari recept za metu „%sâ€" -#: read.c:2223 +#: read.c:2229 +#, fuzzy msgid "*** mixed implicit and normal rules: deprecated syntax" -msgstr "" -"*** pomijeÅ¡ana su implicitna i normalna pravila: to je zastarjela sintaksa" +msgstr "pomijeÅ¡ani implicitni i normalni propisi" -#: read.c:2542 +#: read.c:2539 msgid "warning: NUL character seen; rest of line ignored" -msgstr "upozorenje: proÄitan je NUL znak; ostatak retka se zanemaruje" +msgstr "upozorenje: uoÄen je NUL znak; ostatak retka se zanemaruje" -#: remake.c:226 -#, c-format +#: remake.c:230 +#, fuzzy, c-format msgid "Nothing to be done for '%s'." -msgstr "NiÅ¡ta za napraviti za ‘%s’." +msgstr "NiÅ¡ta za napraviti za „%sâ€." -#: remake.c:227 -#, c-format +#: remake.c:231 +#, fuzzy, c-format msgid "'%s' is up to date." -msgstr "‘%s’ je ažuriran." +msgstr "„%s†je ažuriran." -#: remake.c:323 -#, c-format +#: remake.c:303 +#, fuzzy, c-format msgid "Pruning file '%s'.\n" -msgstr "ProÄišćavanje datoteke ‘%s’.\n" +msgstr "ÄŒistim datoteku „%sâ€.\n" -#: remake.c:406 -#, c-format +#: remake.c:390 remake.c:393 +#, fuzzy, c-format msgid "%sNo rule to make target '%s', needed by '%s'%s" -msgstr "%sNema pravila za izradu cilja ‘%s’, potrebnog za ‘%s’%s" +msgstr "%sNema propisa za izradu mete „%sâ€, koji traži „%sâ€%s" -#: remake.c:416 -#, c-format +#: remake.c:402 remake.c:405 +#, fuzzy, c-format msgid "%sNo rule to make target '%s'%s" -msgstr "%sNema pravila za izradu cilja ‘%s’%s" +msgstr "%sNema propisa za izradu mete „%sâ€%s" -#: remake.c:442 -#, c-format +#: remake.c:426 +#, fuzzy, c-format msgid "Considering target file '%s'.\n" -msgstr "Razmatranje ciljne datoteke ‘%s’.\n" +msgstr "Razmatram datoteku mete „%sâ€.\n" -#: remake.c:449 -#, c-format +#: remake.c:433 +#, fuzzy, c-format msgid "Recently tried and failed to update file '%s'.\n" -msgstr "Nedavni pokuÅ¡aj ažuriranja datoteke ‘%s’ nije uspio.\n" +msgstr "Nedavno bezuspjeÅ¡no pokuÅ¡ao ažurirati datoteku „%sâ€.\n" -#: remake.c:461 -#, c-format +#: remake.c:445 +#, fuzzy, c-format msgid "File '%s' was considered already.\n" -msgstr "Datoteka ‘%s’ je već bila razmatrana.\n" +msgstr "Datoteka „%s†je već razmatrana.\n" -#: remake.c:471 -#, c-format +#: remake.c:455 +#, fuzzy, c-format msgid "Still updating file '%s'.\n" -msgstr "Datoteka ‘%s’ se joÅ¡ uvijek ažurira.\n" +msgstr "JoÅ¡ uvijek ažuriram datoteku „%sâ€.\n" -#: remake.c:474 -#, c-format +#: remake.c:458 +#, fuzzy, c-format msgid "Finished updating file '%s'.\n" -msgstr "Ažuriranje datoteke ‘%s’ je zavrÅ¡eno.\n" +msgstr "ZavrÅ¡io s ažuriranjem datoteke „%sâ€.\n" -#: remake.c:503 -#, c-format +#: remake.c:487 +#, fuzzy, c-format msgid "File '%s' does not exist.\n" -msgstr "Datoteka ‘%s’ ne postoji.\n" +msgstr "Datoteka „%s†ne postoji.\n" -#: remake.c:511 -#, c-format +#: remake.c:495 +#, fuzzy, c-format msgid "" "*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp" msgstr "" -"*** Upozorenje: .LOW_RESOLUTION_TIME datoteka ‘%s’ ima vremensku oznaku " -"visoke toÄnosti" +"*** Upozorenje: .LOW_RESOLUTION_TIME datoteka „%s†ima vremensku oznaku " +"visoke rezolucije" -#: remake.c:524 remake.c:1056 -#, c-format +#: remake.c:508 remake.c:1040 +#, fuzzy, c-format msgid "Found an implicit rule for '%s'.\n" -msgstr "PronaÄ‘eno je implicitno pravilo za ‘%s’.\n" +msgstr "PronaÄ‘en implicitni propis za „%sâ€.\n" -#: remake.c:526 remake.c:1058 -#, c-format +#: remake.c:510 remake.c:1042 +#, fuzzy, c-format msgid "No implicit rule found for '%s'.\n" -msgstr "Nijedno implicitno pravilo nije pronaÄ‘eno za ‘%s’.\n" +msgstr "Nisam naÅ¡ao nijedan implicitni propis za „%sâ€.\n" -#: remake.c:532 -#, c-format +#: remake.c:516 +#, fuzzy, c-format msgid "Using default recipe for '%s'.\n" -msgstr "Rabi se standardni recept za ‘%s’.\n" +msgstr "Koristim zadani recept za „%sâ€.\n" -#: remake.c:566 remake.c:1105 +#: remake.c:550 remake.c:1089 #, c-format msgid "Circular %s <- %s dependency dropped." -msgstr "Kružna ovisnost %s <- %s je odbaÄena." +msgstr "Kružna ovisnost %s <- %s ispuÅ¡tena." -#: remake.c:691 -#, c-format +#: remake.c:675 +#, fuzzy, c-format msgid "Finished prerequisites of target file '%s'.\n" -msgstr "ZavrÅ¡eni su preduvjeti za ciljnu datoteku ‘%s’.\n" +msgstr "ZavrÅ¡eni preduvjeti datoteke mete „%sâ€.\n" -#: remake.c:697 -#, c-format +#: remake.c:681 +#, fuzzy, c-format msgid "The prerequisites of '%s' are being made.\n" -msgstr "Preduvjeti za ‘%s’ se izraÄ‘uju.\n" +msgstr "Preduvjeti „%s†se izraÄ‘uju.\n" -#: remake.c:711 -#, c-format +#: remake.c:695 +#, fuzzy, c-format msgid "Giving up on target file '%s'.\n" -msgstr "Odustajem od ciljne datoteke ‘%s’.\n" +msgstr "Odustajem od datoteke mete „%sâ€.\n" -#: remake.c:716 -#, c-format +#: remake.c:700 +#, fuzzy, c-format msgid "Target '%s' not remade because of errors." -msgstr "Cilj ‘%s’ nije preraÄ‘en (ponovno izraÄ‘en) zbog greÅ¡aka." +msgstr "Meta „%s†nije ponovo izraÄ‘ena zbog greÅ¡aka." # Nisam siguran da sam ovo ispravno shvatio. -# bp: impose a specific ordering on the rules to be invoked without forcing the target to be updated if one of those rules is executed -#: remake.c:768 -#, c-format +#: remake.c:752 +#, fuzzy, c-format msgid "Prerequisite '%s' is order-only for target '%s'.\n" -msgstr "" -"Preduvjet ‘%s’ je ‘order-only’ za cilj ‘%s’.\n" -" ‘order-only’: ‘make’ neće preraditi (remake) „normalne“ recepte ako se " -"izmjeni\n" -" vremenska oznaka na ‘order-only’ cilju (target) (normalno, ‘make’ uvijek " -"preradi\n" -" (remake) recepte, kad god se izmjeni vremenska oznaka na bilo kojem " -"objektu).\n" +msgstr "Preduvjet „%s†služi samo za redoslijed za metu „%sâ€.\n" -#: remake.c:773 -#, c-format +#: remake.c:757 +#, fuzzy, c-format msgid "Prerequisite '%s' of target '%s' does not exist.\n" -msgstr "Preduvjet ‘%s’ za cilj ‘%s’ ne postoji.\n" +msgstr "Preduvjet „%s†mete „%s†ne postoji.\n" -#: remake.c:778 -#, c-format +#: remake.c:762 +#, fuzzy, c-format msgid "Prerequisite '%s' is newer than target '%s'.\n" -msgstr "Preduvjet ‘%s’ je noviji (mlaÄ‘i) nego od od njega ovisan cilj ‘%s’.\n" +msgstr "Preduvjet „%s†noviji je od mete „%sâ€.\n" -#: remake.c:781 -#, c-format +#: remake.c:765 +#, fuzzy, c-format msgid "Prerequisite '%s' is older than target '%s'.\n" -msgstr "Preduvjet ‘%s’ je stariji nego od od njega ovisan cilj ‘%s’.\n" +msgstr "Preduvjet „%s†stariji je od mete „%sâ€.\n" -#: remake.c:799 -#, c-format +#: remake.c:783 +#, fuzzy, c-format msgid "Target '%s' is double-colon and has no prerequisites.\n" -msgstr "Cilj ‘%s’ je s dvotoÄkom i nema preduvjeta.\n" +msgstr "Meta „%s†je dvotoÄje, a nema preduvjete.\n" -#: remake.c:806 -#, c-format +#: remake.c:790 +#, fuzzy, c-format msgid "No recipe for '%s' and no prerequisites actually changed.\n" -msgstr "" -"Nema recepta za ‘%s’ i nijedan od preduvjeta zapravo nije promijenjen.\n" +msgstr "Nema recepta za „%sâ€, a nijedan preduvjet nije promijenjen.\n" -#: remake.c:811 -#, c-format +#: remake.c:795 +#, fuzzy, c-format msgid "Making '%s' due to always-make flag.\n" -msgstr "‘%s’ se zbog zastavice ‘always-make’ ponovno izraÄ‘uje.\n" +msgstr "IzraÄ‘ujem „%s†zbog zastavice always-make.\n" -#: remake.c:819 -#, c-format +#: remake.c:803 +#, fuzzy, c-format msgid "No need to remake target '%s'" -msgstr "Nema potrebe preraditi cilj ‘%s’" +msgstr "Ponovna izrada mete „%s†nije potrebna" -#: remake.c:821 -#, c-format +#: remake.c:805 +#, fuzzy, c-format msgid "; using VPATH name '%s'" -msgstr "; rabi se naziv ‘%s’ za VPATH" +msgstr "; koristim VPATH ime „%sâ€" -#: remake.c:841 -#, c-format +#: remake.c:825 +#, fuzzy, c-format msgid "Must remake target '%s'.\n" -msgstr "Cilj ‘%s’ se mora preraditi.\n" +msgstr "Moram ponovo izraditi metu „%sâ€.\n" -#: remake.c:847 -#, c-format +#: remake.c:831 +#, fuzzy, c-format msgid " Ignoring VPATH name '%s'.\n" -msgstr " Zanemaruje se naziv ‘%s’ za VPATH.\n" +msgstr " Zanemarujem VPATH ime „%sâ€.\n" -#: remake.c:856 -#, c-format +#: remake.c:840 +#, fuzzy, c-format msgid "Recipe of '%s' is being run.\n" -msgstr "Recept za ‘%s’ se upravo primjenjuje.\n" +msgstr "Recept za „%s†se izvrÅ¡ava.\n" -#: remake.c:863 -#, c-format +#: remake.c:847 +#, fuzzy, c-format msgid "Failed to remake target file '%s'.\n" -msgstr "Prerada (remake) ciljne datoteke ‘%s’ nije uspjela.\n" +msgstr "Nisam uspio ponovo izraditi datoteku mete „%sâ€.\n" -#: remake.c:866 -#, c-format +#: remake.c:850 +#, fuzzy, c-format msgid "Successfully remade target file '%s'.\n" -msgstr "Ciljna datoteka ‘%s’ je uspjeÅ¡no preraÄ‘ena .\n" +msgstr "UspjeÅ¡no ponovo izraÄ‘ena datoteka mete „%sâ€.\n" -#: remake.c:869 -#, c-format +#: remake.c:853 +#, fuzzy, c-format msgid "Target file '%s' needs to be remade under -q.\n" -msgstr "" -"Ciljnu datoteku ‘%s’ treba ponovno preraditi (remake) s opcijom ‘-q’.\n" +msgstr "Datoteku mete „%s†treba ponovo izraditi zbog -q.\n" -#: remake.c:1064 -#, c-format +#: remake.c:1048 +#, fuzzy, c-format msgid "Using default commands for '%s'.\n" -msgstr "Rabe se standardne naredbe za ‘%s’.\n" +msgstr "Koristim zadane naredbe za „%sâ€.\n" -#: remake.c:1430 -#, c-format +#: remake.c:1397 +#, fuzzy, c-format msgid "Warning: File '%s' has modification time in the future" -msgstr "" -"Upozorenje: Vremenska oznaka modifikacije datoteke ‘%s’ je u budućnosti" +msgstr "Upozorenje: Vrijeme ureÄ‘ivanja datoteke „%s†je u budućnosti" -#: remake.c:1444 -#, c-format +#: remake.c:1411 +#, fuzzy, c-format msgid "Warning: File '%s' has modification time %s s in the future" msgstr "" -"Upozorenje: Vremenska oznaka modifikacije datoteke ‘%s’ je za %s s u " -"budućnosti" +"Upozorenje: Vrijeme ureÄ‘ivanja datoteke „%s†je %s sekundi u budućnosti" -#: remake.c:1647 -#, c-format +#: remake.c:1610 +#, fuzzy, c-format msgid ".LIBPATTERNS element '%s' is not a pattern" -msgstr ".LIBPATTERNS Älan ‘%s’ nije uzorak" +msgstr "Element „%s†iz .LIBPATTERNS nije uzorak" -# Customs' is literal (a library name). See README.customs. #: remote-cstms.c:122 #, c-format msgid "Customs won't export: %s\n" -msgstr "‘Customs’ nije eksportiran: %s\n" +msgstr "Customs neće izvesti: %s\n" -#: rule.c:496 +#: rule.c:495 msgid "" "\n" "# Implicit Rules" msgstr "" "\n" -"# Implicitna pravila" +"# Implicitni propisi" -#: rule.c:511 +#: rule.c:510 msgid "" "\n" "# No implicit rules." msgstr "" "\n" -"# Nema implicitnih pravila." +"# Nema implicitnih propisa." -#: rule.c:514 +#: rule.c:513 #, c-format msgid "" "\n" "# %u implicit rules, %u" msgstr "" "\n" -"# %u implicitnih pravila, %u" +"# %u implicitnih propisa, %u" -#: rule.c:523 +#: rule.c:522 msgid " terminal." -msgstr " terminal." +msgstr " zavrÅ¡ni." -#: rule.c:531 +#: rule.c:530 #, c-format msgid "BUG: num_pattern_rules is wrong! %u != %u" -msgstr "BUG: pogreÅ¡an ‘num_pattern_rules’! %u != %u" +msgstr "BUG: neispravan num_pattern_rules! %u != %u" #: signame.c:84 msgid "unknown signal" msgstr "nepoznat signal" -# Keep signal names in sync with GNU libc translations. #: signame.c:92 msgid "Hangup" -msgstr "ZavrÅ¡etak (SIGHUP)" +msgstr "ZavrÅ¡etak" #: signame.c:95 msgid "Interrupt" -msgstr "Prekid (SIGINT)" +msgstr "Prekid" #: signame.c:98 msgid "Quit" -msgstr "Kraj (SIGQUIT)" +msgstr "Izlaz" #: signame.c:101 msgid "Illegal Instruction" -msgstr "NedopuÅ¡tena instrukcija (SIGILL)" +msgstr "Nedozvoljena instrukcija" -# Breakpoint trap just means the processor has hit a breakpoint.Your process is running more than one thread. #: signame.c:104 msgid "Trace/breakpoint trap" -msgstr "Prekid na kontrolnoj toÄki (SIGTRAP)" +msgstr "Zamka za praćenje/prekidnu toÄku" #: signame.c:109 msgid "Aborted" -msgstr "Prekid (SIGABRT)" +msgstr "Prekinut" #: signame.c:112 msgid "IOT trap" -msgstr "IOT zamka (SIGIOT)" +msgstr "IOT zamka" #: signame.c:115 msgid "EMT trap" -msgstr "EMT zamka (SIGEMT)" +msgstr "EMT zamka" #: signame.c:118 msgid "Floating point exception" -msgstr "Iznimka (operacije) s pomiÄnim zarezom/toÄkom (SIGFPE)" +msgstr "Iznimka pomiÄnog zareza" #: signame.c:121 msgid "Killed" -msgstr "Uklonjen (SIGKILL)" +msgstr "Prekinut" #: signame.c:124 msgid "Bus error" -msgstr "SabirniÄka greÅ¡ka (SIGBUS)" +msgstr "SabirniÄka greÅ¡ka" #: signame.c:127 msgid "Segmentation fault" -msgstr "Segmentacijska greÅ¡ka (SIGSEGV)" +msgstr "Segmentacijska greÅ¡ka" #: signame.c:130 msgid "Bad system call" -msgstr "Nepravilan poziv sustavu (SIGSYS)" +msgstr "Neispravan sustavski poziv" -# a condition in programming (also known in POSIX as EPIPE error code and SIGPIPE signal), when a process requests an output to pipe or socket, which was closed by peer #: signame.c:133 msgid "Broken pipe" -msgstr "Prekinuta cijev (pipe) (SIGPIPE)" +msgstr "Prekinut cjevovod" #: signame.c:136 msgid "Alarm clock" -msgstr "Budilica (SIGALRM)" +msgstr "Budilica" #: signame.c:139 msgid "Terminated" -msgstr "ZavrÅ¡en (SIGTERM)" +msgstr "ZavrÅ¡en" #: signame.c:142 msgid "User defined signal 1" -msgstr "Korisnikom definiran signal 1 (SIGUSR1)" +msgstr "KorisniÄki definiran signal 1" #: signame.c:145 msgid "User defined signal 2" -msgstr "Korisnikom definiran signal 2 (SIGUSR2)" +msgstr "KorisniÄki definiran signal 2" #: signame.c:150 signame.c:153 msgid "Child exited" -msgstr "Potomak je gotov (SIGCHLD)" +msgstr "Dijete je zavrÅ¡ilo" #: signame.c:156 msgid "Power failure" -msgstr "Prekid napajanja (SIGPWR)" +msgstr "Prekid napajanja" #: signame.c:159 msgid "Stopped" -msgstr "Zaustavljen (SIGTSTP)" +msgstr "Zaustavljen" #: signame.c:162 msgid "Stopped (tty input)" -msgstr "Zaustavljen (tty ulaz) (SIGTTIN)" +msgstr "Zaustavljen (tty ulaz)" #: signame.c:165 msgid "Stopped (tty output)" -msgstr "Zaustavljen (tty izlaz) (SIGTTOU)" +msgstr "Zaustavljen (tty izlaz)" #: signame.c:168 msgid "Stopped (signal)" -msgstr "Zaustavljen (signal) (SIGSTOP)" +msgstr "Zaustavljen (signalom)" #: signame.c:171 msgid "CPU time limit exceeded" -msgstr "PremaÅ¡eno ograniÄenje procesorskog vremena (SIGXCPU)" +msgstr "PrekoraÄeno ograniÄenje procesorskog vremena" #: signame.c:174 msgid "File size limit exceeded" -msgstr "PrekoraÄena je dopuÅ¡tena veliÄina datoteke (SIGXFS2)" +msgstr "PrekoraÄeno ograniÄenje veliÄine datoteke" # Kako prevesti "virtual timer"? #: signame.c:177 msgid "Virtual timer expired" -msgstr "Virtualno vrijeme (odbrojavanje vremena) je isteklo (SIGVTALRM)" +msgstr "Virtualna Å¡toperica istekla" # Kako prevesti "profiling timer"? #: signame.c:180 msgid "Profiling timer expired" -msgstr "Vrijeme (odbrojavanje vremena) za profiliranje je isteklo (SIGPROF)" +msgstr "Å toperica profiliranja istekla" #: signame.c:186 msgid "Window changed" -msgstr "Prozor promijenjen (SIGWINCH)" +msgstr "Promijenjen prozor" #: signame.c:189 msgid "Continued" -msgstr "Nastavljen (SIGCONT)" +msgstr "Nastavljen" #: signame.c:192 msgid "Urgent I/O condition" -msgstr "Hitna U/I situacija" +msgstr "Hitno U/I stanje" #: signame.c:199 signame.c:208 msgid "I/O possible" -msgstr "U/I moguć (SIGURG)" +msgstr "U/I moguć" # Jesu li ova dva signala vic ili Å¡to? U svakom sluÄaju, ovo su samo # descriptioni. Za svaki sluÄaj, nisam ih dirao. #: signame.c:202 msgid "SIGWIND" -msgstr "(SIGWIND) Prozor je izmijenjen" +msgstr "SIGWIND" #: signame.c:205 msgid "SIGPHONE" -msgstr "(SIGPHONE) Promjena statusa tel. linije" +msgstr "SIGPHONE" #: signame.c:211 msgid "Resource lost" -msgstr "Resurs izgubljen (SIGLOST)" +msgstr "Resurs izgubljen" #: signame.c:214 msgid "Danger signal" -msgstr "Signal za opasnost (SIGDANGER)" +msgstr "Signal za opasnost" #: signame.c:217 msgid "Information request" -msgstr "Zahtjev za obavijestima (SIGINFO)" +msgstr "Zahtjev za informacijom" #: signame.c:220 msgid "Floating point co-processor not available" -msgstr "Koprocesor za rad s pomiÄnim zarezom/toÄkom nije dostupan (SIGNOFP)" +msgstr "Koprocesor za rad s pomiÄnim zarezom nije dostupan" -#: strcache.c:274 +#: strcache.c:236 #, c-format msgid "" "\n" "%s No strcache buffers\n" msgstr "" -"\n" -"%s Nema meÄ‘umemorija za ‘strcache’\n" -#: strcache.c:304 -#, c-format +#: strcache.c:266 +#, fuzzy, c-format msgid "" "\n" "%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu " "B\n" msgstr "" -"\n" -"%s ‘strcache’ meÄ‘umemorije: %lu (%lu) / nizova = %lu\n" -" / pohrana = %lu B / prosjek = %lu B\n" +"%s strcache koriÅ¡teno: ukupno = %d (%d) / max = %d / min = %d / prosjek = " +"%d\n" -#: strcache.c:308 +#: strcache.c:270 #, c-format msgid "" "%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n" msgstr "" -"%s trenutaÄna meÄ‘umemorija: veliÄina = %hu B / upotreba = %hu B\n" -" / broj = %hu / prosjek = %hu B\n" -#: strcache.c:319 -#, c-format +#: strcache.c:280 +#, fuzzy, c-format msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n" -msgstr "%s ostala upotreba: ukupno = %lu B / broj = %lu / prosjek = %lu B\n" +msgstr "" +"%s strcache koriÅ¡teno: ukupno = %d (%d) / max = %d / min = %d / prosjek = " +"%d\n" -#: strcache.c:322 -#, c-format +#: strcache.c:283 +#, fuzzy, c-format msgid "" "%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n" msgstr "" -"%s ostalo slobodno: ukupno = %lu B / max = %lu B / min = %lu B / prosjek = " -"%hu B\n" +"%s strcache slobodno: ukupno = %d (%d) / max = %d / min = %d / prosjek = %d\n" -#: strcache.c:326 -#, c-format +#: strcache.c:287 +#, fuzzy, c-format msgid "" "\n" "%s strcache performance: lookups = %lu / hit rate = %lu%%\n" msgstr "" "\n" -"%s ‘strcache’ uÄinkovitost: pretrage = %lu / postotak pogodaka = %lu%%\n" +"%s # nizova u strcache: %d / pretrage = %lu / pronalasci = %lu\n" -#: strcache.c:328 +#: strcache.c:289 +#, fuzzy msgid "" "# hash-table stats:\n" "# " msgstr "" -"# statistika hash-tablice:\n" +"\n" +"# statistike tablice rasprÅ¡ivanja datoteka:\n" "# " -#: variable.c:1629 +#: variable.c:1599 msgid "automatic" msgstr "automatsko" -#: variable.c:1632 +#: variable.c:1602 msgid "default" -msgstr "standardno" +msgstr "zadano" -#: variable.c:1635 +#: variable.c:1605 msgid "environment" -msgstr "okružje" +msgstr "okolina" -#: variable.c:1638 +#: variable.c:1608 msgid "makefile" -msgstr "makefile" +msgstr "datoteka izrade" -#: variable.c:1641 +#: variable.c:1611 msgid "environment under -e" -msgstr "okružje pod -e" +msgstr "okolina pod -e" -#: variable.c:1644 +#: variable.c:1614 msgid "command line" msgstr "naredbeni redak" -#: variable.c:1647 +#: variable.c:1617 +#, fuzzy msgid "'override' directive" -msgstr "‘override’ direktiva" +msgstr "direktiva „overrideâ€" -#: variable.c:1658 -#, c-format +#: variable.c:1628 +#, fuzzy, c-format msgid " (from '%s', line %lu)" -msgstr " (iz ‘%s’, redak %lu)" +msgstr " (iz „%sâ€, redak %lu)" -# https://en.wikipedia.org/wiki/Hash_table -#: variable.c:1721 +#: variable.c:1691 msgid "# variable set hash-table stats:\n" -msgstr "# statistika varijabli u hash-tablici:\n" +msgstr "# statistike tablice rasprÅ¡ivanja skupova varijabli:\n" -#: variable.c:1732 +#: variable.c:1702 msgid "" "\n" "# Variables\n" @@ -2161,74 +2116,124 @@ "\n" "# Varijable\n" -#: variable.c:1736 +#: variable.c:1706 msgid "" "\n" "# Pattern-specific Variable Values" msgstr "" "\n" -"# Vrijednosti varijabli specifiÄne za uzorke" +"# Uzorcima svojstvene vrijednosti varijabli" -#: variable.c:1750 +#: variable.c:1720 msgid "" "\n" "# No pattern-specific variable values." msgstr "" "\n" -"# Nema vrijednosti varijabli specifiÄne za uzorke." +"# Nema uzorcima svojstvenih vrijednosti varijabli." -#: variable.c:1752 +#: variable.c:1722 #, c-format msgid "" "\n" "# %u pattern-specific variable values" msgstr "" "\n" -"# %u uzorcima specifiÄne vrijednosti varijabli" +"# %u uzorcima svojstvenih vrijednosti varijabli" #: variable.h:224 -#, c-format +#, fuzzy, c-format msgid "warning: undefined variable '%.*s'" -msgstr "upozorenje: nedefinirana varijabla ‘%.*s’" +msgstr "upozorenje: nedefinirana varijabla „%.*sâ€" #: vmsfunctions.c:91 #, c-format msgid "sys$search() failed with %d\n" -msgstr "neuspjeÅ¡an sys$search() s greÅ¡kom %d\n" +msgstr "sys$search() nije uspio s %d\n" -#: vmsjobs.c:242 +#: vmsjobs.c:72 +#, c-format +msgid "Warning: Empty redirection\n" +msgstr "Upozorenje: Prazno preusmjeravanje\n" + +#: vmsjobs.c:183 +#, fuzzy, c-format +msgid "internal error: '%s' command_state" +msgstr "interna greÅ¡ka: „%s†command_state" + +#: vmsjobs.c:290 #, c-format msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n" msgstr "" -"-upozorenje, možda ćete morati ponovno omogućiti obraÄ‘ivanje CTRL-Y iz DCL-" +"-upozorenje, možda ćete morati ponovo omogućiti upravljanje s CTRL-Y iz DCL-" "a.\n" -#: vmsjobs.c:679 +#: vmsjobs.c:455 vmsjobs.c:559 +#, c-format +msgid "BUILTIN [%s][%s]\n" +msgstr "UGRAÄEN [%s][%s]\n" + +#: vmsjobs.c:465 #, c-format msgid "BUILTIN CD %s\n" msgstr "UGRAÄEN CD %s\n" -#: vmsjobs.c:1228 +#: vmsjobs.c:501 +#, fuzzy, c-format +msgid "BUILTIN ECHO %s->%s\n" +msgstr "UGRAÄEN CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Nepoznata ugraÄ‘ena naredba „%sâ€\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Error, empty command\n" +msgstr "GreÅ¡ka, prazna naredba\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Preusmjeren ulaz iz %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Preusmjerene greÅ¡ke u %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" -msgstr "Izlaz pripojen na kraj %s\n" +msgstr "Dodaj izlaz na %s\n" + +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Preusmjeren izlaz u %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" -msgstr "%.*s pripojiti i poÄistiti\n" +msgstr "Dodaj %.*s i poÄisti\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" -msgstr "IzvrÅ¡ava se %s radije\n" +msgstr "Umjesto toga, izvrÅ¡avam %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "GreÅ¡ka pri pokretanju, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2236,80 +2241,46 @@ "\n" "# VPATH putanje za pretraživanje\n" -#: vpath.c:620 +#: vpath.c:600 +#, fuzzy msgid "# No 'vpath' search paths." -msgstr "# Nema ‘vpath’ putanja za pretraživanje." +msgstr "# Nema „vpath†putanja za pretraživanje." -#: vpath.c:622 -#, c-format +#: vpath.c:602 +#, fuzzy, c-format msgid "" "\n" "# %u 'vpath' search paths.\n" msgstr "" "\n" -"# %u ‘vpath’ putanje za pretraživanje.\n" +"# %u „vpath†putanja za pretraživanje.\n" -#: vpath.c:625 +#: vpath.c:605 +#, fuzzy msgid "" "\n" "# No general ('VPATH' variable) search path." msgstr "" "\n" -"# Nema općenite putanje za pretraživanje (varijabla ‘VPATH’)." +"# Nema općenite putanje za pretraživanje (varijabla „VPATHâ€)." -#: vpath.c:631 +#: vpath.c:611 +#, fuzzy msgid "" "\n" "# General ('VPATH' variable) search path:\n" "# " msgstr "" "\n" -"# Općenita putanja za pretraživanje (varijabla ‘VPATH’):\n" +"# Općenita putanja za pretraživanje (varijabla „VPATHâ€):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" -"Broj vremenskih odsjeÄaka (slots) poslužitelja poslova je ograniÄen na %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "kreiranje semafora poslužitelja poslova: (GreÅ¡ka %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"interna greÅ¡ka: semafor ‘%s’ poslužitelja poslova je nemoguće otvoriti:\n" -"(Greska%ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Klijent poslužitelja poslova (semafor %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "oslobaÄ‘anje semafora poslužitelja poslova: (GreÅ¡ka %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "Äekanje na semafor ili potomaÄki proces (GreÅ¡ka %ld: %s)" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Neispravna vrijednost u elementu „update_statusâ€!" #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] GreÅ¡ka 0x%x (zanemarena)" -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] GreÅ¡ka 0x%x" - #~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n" #~ msgstr "Pozivam recept iz %s:%lu za ažuriranje mete „%sâ€.\n" @@ -2319,10 +2290,6 @@ #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "interna greÅ¡ka: viÅ¡estruko pojavljivanje opcije --jobserver-fds" -# Treba li ovo prevesti? -#~ msgid "dup jobserver" -#~ msgstr "dup poslužitelj poslova" - #~ msgid "virtual memory exhausted" #~ msgstr "virtualna memorija iscrpljena" @@ -2342,36 +2309,9 @@ #~ "# statistike strcache tablice rasprÅ¡ivanja:\n" #~ "# " -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Upozorenje: Prazno preusmjeravanje\n" - -#~ msgid "internal error: `%s' command_state" -#~ msgstr "interna greÅ¡ka: „%s†command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "UGRAÄEN [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "UGRAÄEN RM %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Nepoznata ugraÄ‘ena naredba „%sâ€\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "GreÅ¡ka, prazna naredba\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Preusmjeren ulaz iz %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Preusmjerene greÅ¡ke u %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Preusmjeren izlaz u %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "GreÅ¡ka pri pokretanju, %d\n" - #~ msgid "Syntax error, still inside '\"'\n" #~ msgstr "GreÅ¡ka u sintaksi, joÅ¡ uvijek unutar '\"'\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/id.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/id.gmo differ diff -Nru make-dfsg-4.2.1/po/id.po make-dfsg-4.1/po/id.po --- make-dfsg-4.2.1/po/id.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/id.po 2016-01-16 10:25:59.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: GNU make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2014-07-30 18:30+0700\n" "Last-Translator: Arif E. Nugroho \n" "Language-Team: Indonesian \n" @@ -45,83 +45,83 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: Kode kembali tidak baik dari ar_member_touch pada '%s'" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module() gagal untuk mengekstrak info module, status = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() gagal dengan status = %d" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "tidak dapat membuka perpustakaan '%s' untuk melihat anggota '%s'" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Anggota '%s'%s: %ld bytes pada %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (nama mungkin akan di potong)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Tanggal %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mode = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Recipe has too many lines (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Berhenti.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Anggota archive '%s' mungkin palsu: tidak dihapus" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Anggota archive '%s' mungkin palsu; tidak dihapus" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Menghapus berkas '%s'" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Menghapus berkas '%s'" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# perintah untuk dijalankan" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (bawaan):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (dari '%s', baris %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -129,62 +129,62 @@ "\n" "# Direktori\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: tidak dapat melihat statistik.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (kunci %s, mtime %d): tidak dapat dibuka.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (perangkat %d, inode [%d,%d,%d]): tidak dapat dibuka.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (perangkat %ld, inode %ld): tidak dapat dibuka.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (kunci %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (perangkat %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (perangkat %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Tidak" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " berkas, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "tidak" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " tidak mungkin" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " sejauh ini." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " tidak mungkin dalam direktori %lu.\n" @@ -194,154 +194,154 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Variabel rekursif '%s' menunjuk pada dirinya sendiri" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "referensi variabel tidak diselesaikan" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Perintah di spesifikasikan untuk berkas '%s' di %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "Perintah untuk berkas '%s' ditemukan dalam pencarian aturan implisit," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "" "tetapi '%s' sekarang dipertimbangkan sebagai berkas yang sama dengan '%s'." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "Perintah untuk '%s' akan diabaikan untuk menghargai '%s'." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "tidak dapat mengubah nama dari kolon-tunggal '%s' ke kolon-ganda '%s'" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "tidak dapat mengubah nama kolon-ganda '%s' menjadi kolon-tunggal '%s'" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Menghapus berkas sementara '%s'" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Menghapus berkas sementara...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Waktu saat ini" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Timestamp diluar jangkauan; digantikan dengan %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Bukan sebuah target:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Berkas sebelumnya (dibutuhkan oleh .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Phony target (dibutuhkan oleh .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Baris perintah target." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Merupakan baku, MAKEFILES atau -include/sinclude makefile." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Tidak ada aturan implisit." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Pencarian aturan implisit sudah selesai." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Pencarian aturan implisit belum selesai." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Pola/implisit atau statis stem: '%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Berkas merupakan dibutuhkan untuk sementara." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Juga membuat:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Waktu ubah sudah diperiksa." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Berkas tidak ada." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Berkas sudah sangat tua." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Terakhir dimodifikasi %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Berkas sudah diperbarui." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Berkas belum diperbarui." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Perintah sedang berjalan (INI MERUPAKAN SEBUAH BUG)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Perintah ketergantungan sedang berjalan (INI MERUPAKAN SEBUAH BUG)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Sukses memperbarui." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Perlu untuk diupdate (-q diset)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Gagal untuk mengupdate." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Nilai yang salah dalam anggota 'command_state' !" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -349,7 +349,7 @@ "\n" "# Berksa" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -359,122 +359,104 @@ "# berkas statistik hash-table:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Field '%s' not cached: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "argumen pertama untuk fungsi 'word' bukan numerik" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "argumen pertama untuk fungsi 'word' harus lebih besar dari 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "argumen pertama untuk fungsi 'wordlist' bukan numerik" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "argumen kedua dari fungsi 'wordlist' bukan numerik" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) gagal (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(Err) gagal (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() gagal (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() gagal\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Membersihkan berkas batch sementara %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "open: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "menulis: %s: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "open: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "" - -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "menulis: %s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "Invalid file operation: %s" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "Jumlah dari argumen (%d) untuk fungsi '%s' tidak mencukupi" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "Tidak terimplementasi dalam platform ini: fungsi '%s'" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "fungsi '%s' tidak diselesaikan: hilang '%c'" -#: function.c:2650 +#: function.c:2591 #, fuzzy msgid "Empty function name" msgstr "Empty function name\n" -#: function.c:2652 +#: function.c:2593 #, fuzzy, c-format msgid "Invalid function name: %s" msgstr "Invalid function name: %s\n" -#: function.c:2654 +#: function.c:2595 #, fuzzy, c-format msgid "Function name too long: %s" msgstr "Function name too long: %s\n" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "Jumlah dari argumen (%d) untuk fungsi %s tidak mencukupi\n" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "Jumlah dari argumen (%d) untuk fungsi %s tidak mencukupi\n" #: getopt.c:659 @@ -573,7 +555,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Mencari aturan implisit untuk anggota-archive pada '%s'.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Menghindari aturan implisit rekursi.\n" @@ -617,76 +599,100 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Mencari aturan dengan berkas sementara '%s'.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Tidak dapat membuat berkas sementara\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (core di-dump)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (diabaikan)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 -#, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: recipe for target '%s' failed" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" msgstr "%s[%s] Error %d%s" -#: job.c:599 +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Error 0x%x%s" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Menunggu pekerjaan yang belum selesai...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Proses anak yang masih berjalan %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (remote)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Reaping anak hilang %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Reaping winning child %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Membersihkan berkas batch sementara %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Membersihkan berkas batch sementara %s failed (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Menghilangkan proses anak %p PID %s%s dari rantai.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "release jobserver semaphore: (Error %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Melepaskan token dari proses anak %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "menulis jobserver" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() gagal untuk menjalankan proses (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -695,94 +701,98 @@ "\n" "Terhitung %d argumen gagal untuk dijalankan\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Meletakkan proses anak %p (%s) PID %s%s pada rantai proses.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "semaphore or child process wait: (Error %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Memperoleh token untuk proses anak %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "membaca pipa pekerjaan" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: archive '%s' tidak ada" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "" "%s: tidak terdapat aturan untuk membuat target '%s', dibutuhkan oleh %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "tidak dapat memaksa mencapai batas beban pada sistem operasi ini" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "tidak dapat memaksa mencapai batas beban: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "tidak ada lagi file handles: tidak dapat menggandakan stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "tidak ada lagi file handles: tidak dapat menggandakan stdout\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "tidak ada lagi file handles: tidak dapat menggandakan stderr\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Tidak dapat mengembalikan stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Tidak dapat mengembalikan stdout\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Tidak dapat mengembalikan stderr\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make reaped child pid %s, tetap menunggu untuk pid %s\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: Perintah tidak ada" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: Perintah tidak ada" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Shell program tidak ditemukan" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: mungkin kehabisan ruang environment" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL berubah (sebelumnya '%s', sekarang '%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Membuat berkas batch sementara %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -790,7 +800,7 @@ "Batch file contents:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -799,7 +809,7 @@ "Batch file contents:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (baris %d) shell context tidak baik (!unixy && !batch_mode_shell)\n" @@ -828,30 +838,30 @@ msgid "Empty symbol name for load: %s" msgstr "Empty symbol name for load: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Loading symbol %s from %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "Parallel jobs '-j' tidak didukung dalam platform ini." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opsi:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Diabaikan untuk kompatibilitas.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Membuat semua target secara tidak " "kondisional.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -859,17 +869,17 @@ " -C DIRECTORI, --directory=DIREKTORI\n" " Pindah ke DIREKTORI sebelum melakukan apapun.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d Menampilkan banyak informasi debug.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=FLAGS] Menampilkan berbagai tipe informasi debug.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -877,13 +887,13 @@ " -e, --environment-overrides\n" " Variabel lingkungan memaksa makefiles.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=STRING Evaluate STRING as a makefile statement.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -891,17 +901,17 @@ " -f BERKAS, --file=BERKAS, --makefile=BERKAS\n" " Baca BERKAS sebagai sebuah makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Tampilkan pesan ini dan keluar.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" " -i, --ignore-errors Abaikan kesalahan dari perintah yang " "dijalankan.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -910,7 +920,7 @@ " Cari di DIREKTORI untuk makefile yang " "disertakan.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -918,13 +928,13 @@ " -j [N], --jobs[=N] Ijinkan N kerja secara bersamaan. Kerja tidak " "terhingga jika tidak diberikan argumen.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Tetap jalan ketika target tidak dapat dibuat.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -934,7 +944,7 @@ " Jangan menjalankan multiple pekerjaan kecuali " "beban dibawah N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -942,7 +952,7 @@ " -L, --check-symlink-times Gunakan waktu mtime terbaru diantara symlinks " "dan target.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -952,7 +962,7 @@ " Jangan menjalankan perintah apapun; tampilkan " "saja apa yang akan dikerjakan.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -962,7 +972,7 @@ " Pertimbangkan BERKAS sudah sangat tua dan " "jangan membuatnya lagi.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -970,11 +980,11 @@ " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base Tampilkan basis data internal make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -982,21 +992,21 @@ " -q, --question Tidak menjalankan perintah. Mengeluarkan " "status saja dan mengatakan up to date.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Aturan implisit bawaan tidak digunakan.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Non-aktifkan konfigurasi variabel bawaan.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Jangan menampilkan perintah.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1004,26 +1014,26 @@ " -S, --no-keep-going, --stop\n" " Matikan opsi -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Sentuh target dari pada membuat kembali.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr "" " --trace Menampilkan banyak informasi debug.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version Tampilkan versi dari make dan keluar.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Tampilkan directory saat ini.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1031,7 +1041,7 @@ " --no-print-directory Matikan opsi -w, walaupun opsi ini diaktifkan " "secara implisit.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1040,7 +1050,7 @@ " Pertimbangkan BERKAS sebagai sebuah berkas " "baru.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1048,26 +1058,26 @@ " --warn-undefined-variables Peringatkan akan adanya variabel yang tidak " "terdefinisi yang direferensikan.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "`string' kosong tidak valid sebagai nama file" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "spesifikasi tingkat debug tidak diketahui '%s'" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "unknown output-sync type '%s'" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Interupsi/Exception diterima (kode = 0x%lx, alamat = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1082,136 +1092,180 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Akses dilanggar: operasi tulis pada alamat 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Akses dilanggar: operasi baca pada alamat 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() diset pada default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell() jalur pencarian di set pada default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s dihentikan selama 30 detik..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "selesai tidur(30). Melanjutkan.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"Peringatan: server pekerja tidak ada: menggunakan -j1. Tambahkan '+' pada " -"aturan make paling atas." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Jobserver client (semaphore %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "internal error: tidak valid --jobserver-fds string '%s'" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Jobserver client (fds %d,%d)\n" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "Peringatan: -jN dipaksakan dalam submake: non-aktifkan mode server pekerja." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup server pekerja" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"Peringatan: server pekerja tidak ada: menggunakan -j1. Tambahkan '+' pada " +"aturan make paling atas." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile dari standard input dispesifikasikan dua kali." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (berkas sementara)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (berkas sementara)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Parallel jobs (-j) tidak didukung dalam platform ini." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Mereset kembali ke mode satu job (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Jobserver slots limited to %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "creating jobserver semaphore: (Error %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "membuat pipa pekerjaan" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "inisiasi pipa server pekerja" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Symbolic links tidak didukung: menonaktifkan opsi -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Memperbarui makefiles....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Makefile '%s' mungkin berupa loop; tidak membuat lagi.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Gagal membuat lagi makefile '%s'." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Makefile yang dimasukan '%s' tidak ditemukan." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Makefile '%s' tidak ditemukan" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Tidak dapat kembali ke direktori asal." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Menjalankan kembali[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (berkas sementara): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL berisi lebih dari satu target" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Target tidak dispesifikasikan dan tidak ditemukan makefile" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Tidak ada targets" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Memperbarui tujuan target....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "Peringatan: Clock skew terdeteksi. Pembuatan anda mungkin tidak sempurna" -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Penggunaan: %s [opsi] [target] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1220,7 +1274,7 @@ "\n" "Program ini dibuat untuk %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1229,32 +1283,32 @@ "\n" "Program ini dibuat untuk %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Laporkan bugs kepada \n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "opsi '%s%s' membutuhkan sebuah argument string yang tidak kosong" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "opsi '-%c' membutuhkan sebuah argument `string' yang tidak kosong" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sAplikasi ini dibuat untuk %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sAplikasi ini dibuat untuk %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "BAWAAN CD %s\n" + +#: vmsjobs.c:505 #, c-format -msgid "DCL: %s\n" +msgid "Unknown builtin command '%s'\n" +msgstr "Perintah bawaan '%s' tidak diketahui\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Error, perintah kosong\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Meneruskan masukan dari %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Meneruskan error ke %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Meneruskan output ke %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Meneruskan output ke %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Append %.*s and cleanup\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Menjalankan perintah %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Gagal spawning, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2143,11 +2206,11 @@ "\n" "# VPATH Jalur Pencarian\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Tidak ada 'vpath' dalam jalur pencarian." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2156,7 +2219,7 @@ "\n" "# %u 'vpath' jalur pencarian.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2164,7 +2227,7 @@ "\n" "# Tidak ada ('VPATH' variabel) umum dalam jalur pencarian." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2174,92 +2237,21 @@ "# Jalur pencarian umum untuk variabel 'VPATH':\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Jobserver slots limited to %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "creating jobserver semaphore: (Error %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Jobserver client (semaphore %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "release jobserver semaphore: (Error %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "semaphore or child process wait: (Error %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: recipe for target '%s' failed" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Error 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "internal error: opsi --sync-mutex lebih dari satu" #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "internal error: opsi --jobserver-fds lebih dari satu" -#~ msgid "dup jobserver" -#~ msgstr "dup server pekerja" - #~ msgid "virtual memory exhausted" #~ msgstr "Kehabisan memori maya" #~ msgid "write error" #~ msgstr "error menulis" -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Peringatan: redirection kosong\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "kesalahan internal: '%s' command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "BAWAAN [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "BAWAAN RM %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Perintah bawaan '%s' tidak diketahui\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Error, perintah kosong\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Meneruskan masukan dari %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Meneruskan error ke %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Meneruskan output ke %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Gagal spawning, %d\n" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Nilai yang salah dalam anggota `update_status' !" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/it.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/it.gmo differ diff -Nru make-dfsg-4.2.1/po/it.po make-dfsg-4.1/po/it.po --- make-dfsg-4.2.1/po/it.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/it.po 2016-01-16 10:25:59.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2013-10-11 14:58+0200\n" "Last-Translator: Francesco Groccia \n" "Language-Team: Italian \n" @@ -45,88 +45,88 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: codice di uscita errato da ar_member_touch su \"%s\"" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "lbr$set_module() non è riuscita a estrarre informazioni sul modulo, stato = " "%d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() non riuscita con lo stato = %d" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "impossibile aprire la libreria \"%s\" per cercare il membro \"%s\"" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Membro \"%s\"%s: %ld byte a %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (il nome potrebbe essere troncato)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Data %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, modo = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Il set di istruzioni ha troppe righe (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Interruzione.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "" "*** [%s] Il membro di archivio \"%s\" potrebbe essere inesistente; non " "eliminato" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "" "*** Il membro di archivio \"%s\" potrebbe essere inesistente; non eliminato" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Eliminazione del file \"%s\"" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Eliminazione del file \"%s\"" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# set di istruzioni da eseguire" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (comando interno):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (da \"%s\", riga %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -134,62 +134,62 @@ "\n" "# Directory\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: impossibile eseguire stat.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (key %s, mtime %d) non può essere aperto.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (device %d, inode [%d,%d,%d]) non può essere aperto.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (device %ld, inode %ld) non può essere aperto.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (key %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (device %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (device %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "No" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " file, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "no" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " impossibilità" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " finora." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " impossibilità nelle directory %lu.\n" @@ -199,161 +199,161 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "La variabile ricorsiva \"%s\" si autoreferenzia (alla fine)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "riferimento alla variabile non terminato" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "È stato specificato un set di istruzioni per il file \"%s\" a %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" "È stato trovato un set di istruzioni per il file \"%s\" mediante una regola " "di ricerca implicita," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "ma ora \"%s\" viene considerato lo stesso file di \"%s\"." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" "Il set di istruzioni per \"%s\" verrà ignorato in favore di quello per \"%s" "\"." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "impossibile rinominare la regola \"due punti\" \"%s\" con la regola \"doppio " "due punti\" \"%s\"" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" "impossibile rinominare la regola \"doppio due punti\" \"%s\" con la regola " "\"due punti\" \"%s\"" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Eliminazione del file intermedio \"%s\"" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Rimozione dei file intermedi...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Ora corrente" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: intervallo errato per la marcatura temporale; sostituzione di %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Non è un obiettivo:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# File \"precious\" (prerequisito di .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Obiettivo \"phony\" (prerequisito di .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Obiettivo a riga di comando." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Un makefile predefinito, da MAKEFILES, o da -include/sinclude." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Regola incorporata" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Regola di ricerca implicita completata." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Regola di ricerca implicita non completata." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Stem implicito/statico del modello: \"%s\"\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Il file è un prerequisito intermedio." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Inoltre, genera:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Ora di modifica mai controllata." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Il file non esiste." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Il file è molto vecchio." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Ultima modifica %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Il file è stato aggiornato." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Il file non è stato aggiornato." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Set di istruzioni attualmente in esecuzione (QUESTO È UN BUG)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Dipendenze del set di istruzioni in esecuzione (QUESTO È UN BUG)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Aggiornato con successo." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Richiede di essere aggiornato (-q è impostato)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Aggiornamento non riuscito." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Valore illecito nel membro \"command_state\"!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -361,7 +361,7 @@ "\n" "# File" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -371,122 +371,104 @@ "# statistiche tabella hash dei file:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Campo \"%s\" non memorizzato: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "primo argomento non numerico per la funzione \"word\"" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "il primo argomento per la funzione \"word\" deve essere maggiore di 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "primo argomento non numerico per la funzione \"wordlist\"" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "secondo argomento non numerico per la funzione \"wordlist\"" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) non riuscita (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_open_pipe: DuplicateHandle(Err) non riuscita (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() non riuscita (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() non riuscita\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Pulitura del file batch temporaneo %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "apertura: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "scrittura: %s: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "apertura: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "" - -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "scrittura: %s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "Operazione sui file non valida: %s" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\"" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "non implementata su questa piattaforma: funzione \"%s\"" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "chiamata non terminata alla funzione \"%s\": \"%c\" mancante" -#: function.c:2650 +#: function.c:2591 #, fuzzy msgid "Empty function name" msgstr "Nome della funzione vuoto\n" -#: function.c:2652 +#: function.c:2593 #, fuzzy, c-format msgid "Invalid function name: %s" msgstr "Nome della funzione non valido: %s\n" -#: function.c:2654 +#: function.c:2595 #, fuzzy, c-format msgid "Function name too long: %s" msgstr "Nome della funzione troppo lungo: %s\n" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\"\n" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "numero di argomenti non sufficienti (%d) per la funzione \"%s\"\n" #: getopt.c:659 @@ -585,7 +567,7 @@ msgstr "" "Ricerca di una regola implicita per il membro di archivio per \"%s\".\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Evitata la ricorsione della regola implicita.\n" @@ -629,77 +611,101 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Ricerca di una regola con il file intermedio \"%s\".\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Impossibile creare un file temporaneo\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (creato dump del core)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (ignorato)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 -#, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: set di istruzioni per l'obiettivo \"%s\" non riuscito" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" msgstr "%s[%s] Errore %d%s" -#: job.c:599 +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Errore 0x%x%s" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Attesa per i processi non terminati...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Processo figlio vivo %p (%s) con PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (remoto)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Interruzione del processo figlio perdente %p con PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Interruzione del processo figlio vincente %p con PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Pulitura del file batch temporaneo %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Pulitura del file batch temporaneo %s non riuscita (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "" "Rimozione del processo figlio %p con PID %s%s dalla catena di esecuzione.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "rilascio del semaforo del jobserver: (Errore %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Token rilasciato per il processo figlio %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "scrittura del jobserver" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() non riuscita all'avvio del processo (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -708,101 +714,105 @@ "\n" "Contati %d argomenti nell'avvio fallito\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "" "Inserimento del processo figlio %p (%s) con PID %s%s nella catena di " "esecuzione.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "attendere semaforo o processo figlio (Errore %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Token ottenuto per il processo figlio %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "lettura della pipe dei processi" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: l'obbiettivo \"%s\" non esiste" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: aggiorna l'obbiettivo \"%s\" a causa di: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "" "impossibile far rispettare i limiti di carico su questo sistema operativo" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "impossibile far rispettare il limite di carico: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" "nessun'altra gestione del file: impossibile duplicare lo standard input\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" "nessun'altra gestione del file: impossibile duplicare lo standard output\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" "nessun'altra gestione del file: impossibile duplicare lo standard error\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Impossibile ripristinare lo standard input\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Impossibile ripristinare lo standard output\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Impossibile ripristinare lo standard error\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" "make ha interrotto il processo figlio con pid %s, è ancora in attesa del " "processo con pid %s\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: comando non trovato" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: comando non trovato" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: shell non trovata" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: lo spazio dell'ambiente potrebbe essere esaurito" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL cambiata (era \"%s\", adesso è \"%s\")\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Creazione del file batch temporaneo %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -810,7 +820,7 @@ "Contenuti del file batch:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -819,7 +829,7 @@ "Contenuti del file batch:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -849,30 +859,30 @@ msgid "Empty symbol name for load: %s" msgstr "Nome del simbolo vuoto per il caricamento: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Caricamento del simbolo %s da %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "L'operazione \"load\" non è supportata su questa piattaforma." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opzioni:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignorato per compatibilità.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Genera tutti gli obiettivi " "incondizionatamente.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -881,17 +891,17 @@ " Cambia DIRECTORY prima di fare qualunque " "cosa.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d Mostra molte informazioni di debug.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=FLAGS] Mostra diversi tipi di informazioni di debug.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -900,13 +910,13 @@ " Le variabili ambiente sovrascrivono i " "makefile.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=TESTO Analizza STRINGA come estratta dal makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -914,16 +924,16 @@ " -f FILE, --file=FILE, --makefile=FILE\n" " Legge FILE come un makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Mostra questo messaggio ed esce.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" " -i, --ignore-errors Ignora gli errori dai set di istruzioni.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -931,7 +941,7 @@ " -I DIRECTORY, --include-dir=DIRECTORY\n" " Cerca nella DIRECTORY per i makefile inclusi.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -939,14 +949,14 @@ " -j [N], --jobs[=N] Permette N processi alla volta; infiniti se " "non viene specificato l'argomento.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Continua l'esecuzione quando non è possibile " "creare alcuni obiettivi.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -956,7 +966,7 @@ " Non avvia processi multipli a meno che il " "carico di lavoro non sia sotto N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -964,7 +974,7 @@ " -L, --check-symlink-times Usa il più recente mtime tra i collegamenti " "simbolici e l'obiettivo.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -974,7 +984,7 @@ " Non esegue alcun set di istruzioni; lo stampa " "solamente.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -984,7 +994,7 @@ " Considera il FILE come molto vecchio e non " "riesegue make.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -993,11 +1003,11 @@ " Sincronizza l'output dei processi paralleli " "dal TIPO.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base Stampa il database interno di make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -1005,22 +1015,22 @@ " -q, --question Non avvia alcun set di istruzioni; lo stato di " "uscita indica se è aggiornato.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Disabilita le regole implicite interne.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Disabilita le impostazioni delle variabili " "interne.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Non visualizza i set di istruzioni.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1029,27 +1039,27 @@ " Disattiva l'opzione -k.\n" # ## touch = in questo contesto è simile alla funzione del comando 'touch' -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Esegue il touch degli obiettivi invece di " "ricrearli.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Stampa informazioni di tracciamento.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Stampa il numero di versione di make ed esce.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Stampa la directory corrente.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1057,7 +1067,7 @@ " --no-print-directory Disattiva l'opzione -w, anche se era stata " "attivata implicitamente.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1065,7 +1075,7 @@ " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Considera il FILE come nuovo di zecca.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1073,27 +1083,27 @@ " --warn-undefined-variables Avvisa quando viene referenziata una variabile " "non definita.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "una stringa vuota non è valida come nome di file" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "livello di debug specificato sconosciuto \"%s\"" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "tipo di output-sync (sincronizzazione dell'output) sconosciuto \"%s\"" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" "%s: catturata una interruzione/eccezione (codice = 0x%lx, indirizzo = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1108,141 +1118,186 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Violazione accesso: operazione di scrittura all'indirizzo 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Violazione accesso: operazione di lettura all'indirizzo 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() impostazione default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" "find_and_set_shell() impostazione del percorso di ricerca default_shell = " "%s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s viene sospeso per 30 secondi..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) eseguito. Continuazione.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"attenzione: jobserver non disponibile, viene usato -j1. Aggiungere \"+\" " -"alla regola make superiore." +"errore interno: impossibile aprire il semaforo del jobserver \"%s\": (Errore " +"%ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Client del jobserver (semaforo %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "errore interno: stringa illecita per --jobserver-fds \"%s\"" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Client del jobserver (fds %d,%d)\n" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "attenzione: -jN forzata nel submake: disattivazione della modalità jobserver." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "jobserver duplicato" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"attenzione: jobserver non disponibile, viene usato -j1. Aggiungere \"+\" " +"alla regola make superiore." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Il Makefile dallo standard input è stato specificato due volte." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (file temporaneo)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (file temporaneo)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "I processi paralleli (-j) non sono supportati su questa piattaforma." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Reimpostazione alla modalità a singolo processo (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Slot del jobserver limitati a %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "Creazione del semaforo del jobserver: (Errore %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "creazione della pipe dei processi" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "inizializzazione nella pipe della modalità jobserver" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Collegamenti simbolici non supportati: opzione -L disabilitata." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Aggiornamento dei makefile....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "" "Il makefile \"%s\" potrebbe entrare in un ciclo all'infinito; make non " "rieseguito.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Riesecuzione del makefile \"%s\" non riuscita." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Il makefile \"%s\" incluso non è stato trovato." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Il makefile \"%s\" non è stato trovato" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Impossibile ritornare alla directory originale." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Riesecuzione[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (file temporaneo): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL contiene più di un obiettivo" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Nessun obiettivo specificato e nessun makefile trovato" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Nessun obiettivo" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Aggiornamento degli obiettivi....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "attenzione: rilevato un tempo alterato. La creazione potrebbe essere " "incompleta." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Uso: %s [opzioni] [obiettivo] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1251,7 +1306,7 @@ "\n" "Questo programma è stato compilato per %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1260,32 +1315,32 @@ "\n" "Questo programma è stato compilato per %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Segnalare i bug a \n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "l'opzione \"%s%s\" richiede un argomento stringa non vuoto" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "l'opzione \"-%c\" richiede un argomento intero positivo" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sCompilato per %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sCompilato per %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "CD INTERNO %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Comando interno \"%s\" sconosciuto\n" + +#: vmsjobs.c:592 #, c-format -msgid "DCL: %s\n" +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Errore, comando vuoto\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Input rediretto da %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Errore rediretto a %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Accoda output a %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Output rediretto a %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Accoda %.*s e pulisce\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Verrà invece eseguito %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Errore nella generazione, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2188,11 +2252,11 @@ "\n" "# Percorsi di ricerca VPATH\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Percorsi di ricerca \"vpath\" assenti." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2201,7 +2265,7 @@ "\n" "# %u 'vpath' percorsi di ricerca.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2209,7 +2273,7 @@ "\n" "# Percorso di ricerca non generale (variabile \"VPATH\")." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2219,93 +2283,21 @@ "# Percorso di ricerca generale (variabile \"VPATH\"):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Slot del jobserver limitati a %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "Creazione del semaforo del jobserver: (Errore %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"errore interno: impossibile aprire il semaforo del jobserver \"%s\": (Errore " -"%ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Client del jobserver (semaforo %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "rilascio del semaforo del jobserver: (Errore %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "attendere semaforo o processo figlio (Errore %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: set di istruzioni per l'obiettivo \"%s\" non riuscito" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Errore 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "errore interno: opzioni multiple per --sync-mutex" #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "errore interno: opzioni multiple per --jobserver-fds" -#~ msgid "dup jobserver" -#~ msgstr "jobserver duplicato" - #~ msgid "virtual memory exhausted" #~ msgstr "memoria virtuale esaurita" #~ msgid "write error" #~ msgstr "errore in scrittura" -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Attenzione: redirezione vuota\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "errore interno: command_state \"%s\"" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "[%s] INTERNO [%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "RM INTERNO %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Comando interno \"%s\" sconosciuto\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Errore, comando vuoto\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Input rediretto da %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Errore rediretto a %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Output rediretto a %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Errore nella generazione, %d\n" - #~ msgid "# Invalid value in 'update_status' member!" #~ msgstr "# Valore illecito nel membro \"update_status\"!" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/ja.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/ja.gmo differ diff -Nru make-dfsg-4.2.1/po/ja.po make-dfsg-4.1/po/ja.po --- make-dfsg-4.2.1/po/ja.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/ja.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,25 +1,25 @@ -# Japanese message catalog for make 4.2 +# Japanese message catalog for make 4.0 # Copyright (C) 2001 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. # Daisuke Yamashita , 2001. # Thanks to NISHIJIMA Takanori # GOTO Masanori , 2003-2004. -# Takeshi Hamasaki , 2011, 2014, 2016. +# Takeshi Hamasaki , 2011, 2014 # msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-24 22:45+0900\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2014-05-03 23:00+0900\n" "Last-Translator: Takeshi Hamasaki \n" "Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Basepath: /factory/ja-po/make/make-4.1.90\n" -"X-Generator: Poedit 1.8.7.1\n" +"X-Poedit-Basepath: /factory/ja-po/make/make-4.0\n" +"X-Generator: Poedit 1.5.4\n" #: ar.c:46 #, c-format @@ -50,83 +50,83 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: '%s' ã¸ã® ar_member_touch ã‹ã‚‰ç•°å¸¸ãªå€¤ãŒè¿”ã‚Šã¾ã—ãŸ" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module() ãŒãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«æƒ…å ±ã®æŠ½å‡ºã«å¤±æ•—ã—ã¾ã—ãŸ. 状態 = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() ãŒå¤±æ•—ã—ã¾ã—ãŸ. 状態 = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "ライブラリ '%s' ã‚’é–‹ã‘ãªã„ãŸã‚, メンãƒã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ %d ãŒæ¤œç´¢ã§ãã¾ã›ã‚“" +msgstr "ライブラリ '%s' ã‚’é–‹ã‘ãªã„ãŸã‚, メンム'%s' ã®æ¤œç´¢ãŒã§ãã¾ã›ã‚“" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "メンム'%s'%s: %ld ãƒã‚¤ãƒˆ at %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (åå‰ãŒåˆ‡ã‚Šè©°ã‚られãŸã‹ã‚‚)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " 日付 %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mode = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "レシピã®è¡Œæ•°ãŒå¤šã™ãŽã¾ã™ (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** 中断.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] 書庫ã®ãƒ¡ãƒ³ãƒ '%s' ã¯å¤šåˆ†å½ç‰©ã§ã™ ― 削除ã—ã¾ã›ã‚“ã§ã—ãŸ" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** 書庫ã®ãƒ¡ãƒ³ãƒ '%s' ã¯å¤šåˆ†å½ç‰©ã§ã™ ― 削除ã—ã¾ã›ã‚“ã§ã—ãŸ" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] ファイル '%s' を削除ã—ã¾ã™" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** ファイル '%s' を削除ã—ã¾ã™" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# 実行ã™ã‚‹ãƒ¬ã‚·ãƒ”" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (ビルトイン):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (ファイル '%s', %lu 行目):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -134,62 +134,62 @@ "\n" "# ディレクトリ\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: 状態を調ã¹ã‚‰ã‚Œã¾ã›ã‚“ã§ã—ãŸ.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (key %s, mtime %ull): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (key %s, mtime %d): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (device %d, inode [%d,%d,%d]): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (device %ld, inode %ld): é–‹ã‘ã¾ã›ã‚“ã§ã—ãŸ.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (key %s, mtime %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (key %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (device %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (device %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "0" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " 個ã®ãƒ•ã‚¡ã‚¤ãƒ«, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "0" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " 個ã®é©ç”¨ä¸èƒ½ãƒ•ã‚¡ã‚¤ãƒ«å" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " (ã“ã“ã¾ã§ã«)." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " 個ã®é©ç”¨ä¸èƒ½ãƒ•ã‚¡ã‚¤ãƒ«å (%lu 個ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…).\n" @@ -199,153 +199,153 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "å†å¸°çš„変数 '%s' ãŒ(最終的ã«)ãれ自身をå‚ç…§ã—ã¦ã„ã¾ã™" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "終端ã®ãªã„変数å‚ç…§" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "ファイル '%s' ã®ãŸã‚ã®ã®ãƒ¬ã‚·ãƒ”㌠%s:%lu ã§æŒ‡å®šã•ã‚Œã¾ã—ãŸ," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "ファイル '%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ãŒæš—黙ルールã®æŽ¢ç´¢ã§è¦‹ã¤ã‹ã‚Šã¾ã—ãŸ," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "ã—ã‹ã—今㯠'%s' 㨠'%s' ã¯åŒã˜ãƒ•ã‚¡ã‚¤ãƒ«ã¨è¦‹ãªã•ã‚Œã¾ã™." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "'%s' ã®ãŸã‚ã®ãƒ¬ã‚·ãƒ”ã¯, '%s' ã®ãŸã‚ã®ã‚‚ã®ã‚’優先ã™ã‚‹ãŸã‚無視ã•ã‚Œã¾ã™." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "シングルコロン '%s' ã‹ã‚‰ãƒ€ãƒ–ルコロン '%s' ã«åå‰ã‚’変ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "ダブルコロン '%s' ã‹ã‚‰ã‚·ãƒ³ã‚°ãƒ«ã‚³ãƒ­ãƒ³ '%s' ã«åå‰ã‚’変ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** 中間ファイル '%s' を削除ã—ã¾ã™" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "中間ファイルを削除ã—ã¦ã„ã¾ã™...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "ç¾åœ¨æ™‚刻" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: タイムスタンプãŒç¯„囲外ã§ã™ -- 代り㫠%s ã¨ã—ã¾ã™" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# ターゲットã§ã¯ã‚ã‚Šã¾ã›ã‚“:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# 特別扱ã„ã®ãƒ•ã‚¡ã‚¤ãƒ« (.PRECIOUS ã®å¿…è¦æ¡ä»¶)" -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# 疑似ターゲット (.PHONY ã®å¿…è¦æ¡ä»¶)" -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# コマンドラインターゲット." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# デフォルトã¾ãŸã¯ MAKEFILES, -include/sinclude Makefile." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# ビルトインルール" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# 暗黙ルールã®æŽ¢ç´¢ãŒè¡Œã‚ã‚Œã¾ã—ãŸ." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# 暗黙ルールã®æŽ¢ç´¢ã¯è¡Œã‚ã‚Œã¾ã›ã‚“ã§ã—ãŸ." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# æš—é»™/é™çš„パターン語幹: '%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# ファイルã¯ä¸­é–“å¿…è¦æ¡ä»¶ã§ã™." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# ã•ã‚‰ã« make:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# 修正時刻ãŒãƒã‚§ãƒƒã‚¯ã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# ファイルãŒå­˜åœ¨ã—ã¾ã›ã‚“." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# ファイルãŒéžå¸¸ã«å¤ã„ã§ã™." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# 最終修正 %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# ファイルã¯æ›´æ–°ã•ã‚Œã¦ã„ã¾ã™." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# ファイルã¯æ›´æ–°ã•ã‚Œã¦ã„ã¾ã›ã‚“." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# レシピをç¾åœ¨å®Ÿè¡Œä¸­ã§ã™ (*ã“ã‚Œã¯ãƒã‚°ã§ã™*)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# ä¾å­˜é–¢ä¿‚レシピを実行中ã§ã™ (*ã“ã‚Œã¯ãƒã‚°ã§ã™*)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# æ›´æ–°ã«æˆåŠŸã—ã¾ã—ãŸ." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# æ›´æ–°ãŒå¿…è¦ã§ã™ (-q ãŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã¾ã™)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸ." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# 'command_state' メンãƒã«ç„¡åŠ¹ãªå€¤ã§ã™!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -353,7 +353,7 @@ "\n" "# ファイル" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -363,122 +363,105 @@ "# ファイルãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルã®çŠ¶æ…‹:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: フィールド '%s' ã¯ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã•ã‚Œã¦ã„ã¾ã›ã‚“: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "éžæ•°å€¤ã®ç¬¬1引数㌠'word' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "'word' 関数ã¸ã®ç¬¬1引数㯠0 より大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "éžæ•°å€¤ã®ç¬¬1引数㌠'wordlist' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "éžæ•°å€¤ã®ç¬¬2引数㌠'wordlist' 関数ã«ä¸Žãˆã‚‰ã‚Œã¾ã—ãŸ" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) ãŒå¤±æ•— (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(Err) ãŒå¤±æ•— (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() ãŒå¤±æ•— (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe (): process_init_fd() ãŒå¤±æ•—\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を消去ã—ã¾ã™\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "file: ファイルåãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "open: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "write: %s: %s" -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "close: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "file: 引数ãŒå¤šã™ãŽã¾ã™" +msgid "Invalid file operation: %s" +msgstr "無効ãªãƒ•ã‚¡ã‚¤ãƒ«æ“作: %s" -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "read: %s: %s" - -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "file: 無効ãªãƒ•ã‚¡ã‚¤ãƒ«æ“作: %s" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "引数ã®æ•°(%d)ãŒé–¢æ•° '%s' ã«ã¨ã£ã¦ä¸å分ã§ã™" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "ã“ã®ãƒ—ラットフォームã§ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“: 関数 '%s'" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "終端ãŒãªã„関数呼ã³å‡ºã— '%s': '%c' ãŒã‚ã‚Šã¾ã›ã‚“" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "空ã®é–¢æ•°å" +msgstr "空ã®é–¢æ•°å\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "無効ãªé–¢æ•°å: %s" +msgstr "無効ãªé–¢æ•°å: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "関数åãŒé•·ã™ãŽã¾ã™: %s" +msgstr "関数åãŒé•·ã™ãŽã¾ã™: %s\n" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "引数個数指定(最å°å€¤;%u)ãŒç„¡åŠ¹ã§ã™: 関数 %s" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "引数個数指定(最大値;%u)ãŒç„¡åŠ¹ã§ã™: 関数 %s" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "引数個数指定(最å°å€¤;%d)ãŒç„¡åŠ¹ã§ã™: 関数 '%s'\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "引数個数指定(最大値;%d)ãŒç„¡åŠ¹ã§ã™: 関数 '%s'\n" #: getopt.c:659 #, c-format @@ -577,7 +560,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "'%s' ã®ãŸã‚ã®æ›¸åº«ãƒ¡ãƒ³ãƒæš—黙ルールを探ã—ã¾ã™.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "暗黙ルールã®å†å¸°ã‚’回é¿ã—ã¾ã™.\n" @@ -621,76 +604,100 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "中間ファイル '%s' ã®ãƒ«ãƒ¼ãƒ«ã‚’探ã—ã¾ã™.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "一時ファイルを作æˆã§ãã¾ã›ã‚“\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (コアダンプã—ã¾ã—ãŸ)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (無視ã•ã‚Œã¾ã—ãŸ)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "<ビルトイン>" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: ターゲット '%s' ã®ãƒ¬ã‚·ãƒ”ã§å¤±æ•—ã—ã¾ã—ãŸ" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] エラー %d%s" + +#: job.c:519 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] エラー %d%s" +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] エラー 0x%x%s" -#: job.c:599 +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** 未完了ã®ã‚¸ãƒ§ãƒ–ã‚’å¾…ã£ã¦ã„ã¾ã™...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "生存å­ãƒ—ロセス %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (リモート)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "失敗ã—ãŸå­ãƒ—ロセス %p PID %s %s を回åŽã—ã¾ã™\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "æˆåŠŸã—ãŸå­ãƒ—ロセス %p PID %s %s を回åŽã—ã¾ã™\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を消去ã—ã¾ã™\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s ã®æ¶ˆåŽ»ã«å¤±æ•—ã—ã¾ã—ãŸ(%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "ãƒã‚§ã‚¤ãƒ³ã‹ã‚‰å­ãƒ—ロセス %p PID %s%s を削除ã—ã¾ã™.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "ジョブサーãƒã®ã‚»ãƒžãƒ•ã‚©ã‚’解放ã—ã¾ã™: (エラー %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "å­ãƒ—ロセス %p (%s) ã®å°ã‚’解放ã—ã¾ã—ãŸ.\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "ジョブサーãƒã¸ã® write" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() ãŒå¤±æ•—ã—プロセスãŒèµ·å‹•ã§ãã¾ã›ã‚“ã§ã—㟠(e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -699,93 +706,97 @@ "\n" "èµ·å‹•ã®å¤±æ•—㧠%d 個ã®å¼•æ•°ãŒã‚«ã‚¦ãƒ³ãƒˆã•ã‚Œã¾ã—ãŸ\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "ãƒã‚§ã‚¤ãƒ³ã«å­ãƒ—ロセス %p (%s) PID %s%s ã‚’å–ã‚Šè¾¼ã¿ã¾ã—ãŸ.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "セマフォ ã¾ãŸã¯ å­ãƒ—ロセスを待ã£ã¦ã„ã¾ã™: (エラー %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "å­ãƒ—ロセス %p (%s) ã«å°ã‚’ã¤ã‘ã¾ã—ãŸ.\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "ジョブã®ãƒ‘イプ㮠read" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: ターゲット '%s' ãŒå­˜åœ¨ã—ã¾ã›ã‚“" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: ターゲット '%s' ã‚’ %s ã®ãŸã‚ã«æ›´æ–°ã—ã¾ã™" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "ã“ã®ã‚ªãƒšãƒ¬ãƒ¼ãƒ†ã‚£ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã‚·ã‚¹ãƒ†ãƒ è² è·åˆ¶é™ã‚’加ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "システム負è·åˆ¶é™ã‚’課ã™ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準入力を複製ã§ãã¾ã›ã‚“\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準出力を複製ã§ãã¾ã›ã‚“\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "ファイルãƒãƒ³ãƒ‰ãƒ«ã‚’使ã„å°½ãã—ã¾ã—ãŸ: 標準エラー出力を複製ã§ãã¾ã›ã‚“\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "標準入力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "標準出力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "標準エラー出力を復元ã§ãã¾ã›ã‚“ã§ã—ãŸ\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make 㯠pid %s ã®å­ãƒ—ロセスを回åŽã—, pid %s ã‚’å¾…ã¡ç¶šã‘ã¾ã™\n" -#: job.c:2275 +#: job.c:2458 #, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ\n" +msgid "%s: Command not found" +msgstr "%s: コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: job.c:2277 -#, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: コマンドãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ\n" - -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: シェルプログラムãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe:環境設定ã®ãŸã‚ã®ãƒ¡ãƒ¢ãƒªã‚’使ã„å°½ãã™ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL ãŒå¤‰æ›´ã•ã‚Œã¾ã—㟠(å‰ã¯ '%s', 今㯠'%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "一時的ãªãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ« %s を作æˆã—ã¾ã™\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -793,7 +804,7 @@ "ãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -802,7 +813,7 @@ "ãƒãƒƒãƒãƒ•ã‚¡ã‚¤ãƒ«ã®å†…容 :%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (%d 行目) ä¸æ­£ãªã‚·ã‚§ãƒ«ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆ (!unixy && !batch_mode_shell)\n" @@ -831,28 +842,28 @@ msgid "Empty symbol name for load: %s" msgstr "空ã®ã‚·ãƒ³ãƒœãƒ«åを読ã¿è¾¼ã‚‚ã†ã¨ã—ã¦ã„ã¾ã™: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "シンボル %s ã‚’ %s ã‹ã‚‰èª­ã¿è¾¼ã‚“ã§ã„ã¾ã™\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "'load' 命令ã¯ã“ã®ãƒ—ラットフォームã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "オプション:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m 互æ›æ€§ã®ãŸã‚ã®ã‚‚ã®ã§, 無視ã•ã‚Œã‚‹.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make ç„¡æ¡ä»¶ã«å…¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’ make ã™ã‚‹.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -861,16 +872,16 @@ " make 開始å‰ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒª DIRECTORY ã¸ç§»å‹•ã™" "ã‚‹.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d デãƒãƒƒã‚°æƒ…報を大é‡ã«è¡¨ç¤ºã™ã‚‹.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr " --debug[=FLAGS] 様々ãªã‚¿ã‚¤ãƒ—ã®ãƒ‡ãƒãƒƒã‚°æƒ…報を表示ã™ã‚‹.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -878,12 +889,12 @@ " -e, --environment-overrides\n" " 環境変数㌠makefile 中ã®è¨˜è¿°ã«å„ªå…ˆã™ã‚‹\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr " --eval=STRING STRING ã‚’ makefile ã®æ–‡ã¨ã—ã¦è©•ä¾¡ã™ã‚‹.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -891,15 +902,15 @@ " -f FILE, --file=FILE, --makefile=FILE\n" " FILE ã‚’ makefile ã¨ã—ã¦èª­ã¿è¾¼ã‚€\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¦çµ‚了ã™ã‚‹.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors レシピã‹ã‚‰è¿”ã£ãŸã‚¨ãƒ©ãƒ¼ã‚’無視ã™ã‚‹.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -909,7 +920,7 @@ " インクルードã™ã‚‹ makefile を探索ã™ã‚‹ " "DIRECTORY.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -917,14 +928,14 @@ " -j [N], --jobs[=N] 一度㫠N 個ã¾ã§ã®ã‚¸ãƒ§ãƒ–を許å¯; 無引数ã ã¨ã‚¸ãƒ§ãƒ–" "数制é™ãªã—.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going ã‚るターゲット㌠make ã§ããªãã¦ã‚‚実行を続ã‘" "ã‚‹.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -934,7 +945,7 @@ " è² è· ãŒ N 未満ã§ãªã„é™ã‚Šè¤‡æ•°ã®ã‚¸ãƒ§ãƒ–を開始ã—ãª" "ã„.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -942,7 +953,7 @@ " -L, --check-symlink-times シンボリックリンクã¨ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®ä¸­ã§ä¸€ç•ªæ–°ã—ã„ " "mtime を使ã†.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -951,7 +962,7 @@ " -n, --just-print, --dry-run, --recon\n" " レシピを実際ã«å®Ÿè¡Œã—ãªã„; 表示ã™ã‚‹ã®ã¿.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -961,7 +972,7 @@ " FILE ã‚’ã¨ã¦ã‚‚å¤ã„ã‚‚ã®ã¨è¦‹ãªã—ã¦, å† make ã—ãª" "ã„.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -969,11 +980,11 @@ " -O[TYPE], --output-sync[=TYPE]\n" " 並列ジョブã®å‡ºåŠ›ã‚’ TYPE ã§æƒãˆã‚‹.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base make ã®å†…部データベースを表示ã™ã‚‹.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -981,19 +992,19 @@ " -q, --question レシピを実行ã—ãªã„; 更新済ã§ã‚ã‚‹ã‹ã©ã†ã‹ã‚’終了" "ステータスã§é€šçŸ¥.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules ビルトインã®æš—黙ルールを無効ã«ã™ã‚‹.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables ビルトインã®å¤‰æ•°è¨­å®šã‚’無効ã«ã™ã‚‹.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet レシピを表示ã—ãªã„.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1001,26 +1012,26 @@ " -S, --no-keep-going, --stop\n" " -k オプションをオフã«ã™ã‚‹.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’å† make ã™ã‚‹ä»£ã‚ã‚Šã«ã‚¿ãƒƒãƒã™ã‚‹.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace トレース情報を表示ã™ã‚‹.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version make ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚’表示ã—ã¦çµ‚了ã™ã‚‹.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory カレントディレクトリを表示ã™ã‚‹.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1028,7 +1039,7 @@ " --no-print-directory -w をオフã«ã™ã‚‹. æš—é»™ã«æœ‰åŠ¹ãªå ´åˆã§ã‚‚オフã«ã™" "ã‚‹.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1036,33 +1047,33 @@ " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " FILE ã‚’ã„ã¤ã§ã‚‚最新ã¨ã—ã¦è¦‹ãªã™.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" " --warn-undefined-variables 未定義ã®å¤‰æ•°ãŒå‚ç…§ã•ã‚ŒãŸã¨ãã«è­¦å‘Šã‚’発ã™ã‚‹.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "空ã®æ–‡å­—列ã¯ãƒ•ã‚¡ã‚¤ãƒ«åã¨ã—ã¦ã¯ç„¡åŠ¹ã§ã™" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "ä¸æ˜Žãªãƒ‡ãƒãƒƒã‚°ãƒ¬ãƒ™ãƒ«æŒ‡å®š '%s'" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "未知ã®å‡ºåŠ›åŒæœŸåž‹ '%s'" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: 割り込ã¿/例外をæ•æ‰ã—ã¾ã—㟠(code = 0x%lx, addr = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1077,135 +1088,178 @@ "例外フラグ = %lx\n" "例外アドレス = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "アクセスä¿è­·é•å: アドレス 0x%p ã§ã®æ›¸ãè¾¼ã¿æ“作\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "アクセスä¿è­·é•å: アドレス 0x%p ã§ã®èª­ã¿è¾¼ã¿æ“作\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() 㯠default_shell = %s ã«è¨­å®šã—ã¾ã™\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell() パス探索㧠default_shell = %s ã«ã‚»ãƒƒãƒˆã—ã¾ã—ãŸ\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s 㯠30 秒間åœæ­¢ã—ã¾ã™..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) ãŒçµ‚ã‚ã‚Šã¾ã—ãŸ. 続ã‘ã¾ã™.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." -msgstr "" -"警告: jobserver ãŒåˆ©ç”¨ä¸å¯: 今回㯠-j1 を使ã„ã¾ã™. 親 make ルール㫠`+' を追" -"加ã—ã¾ã—ょã†." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "内部エラー: ジョブサームセマフォを開ã‘ã¾ã›ã‚“ '%s': (エラー %ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "jobserver クライアント (セマフォ %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "内部エラー: 無効㪠--jobserver-fds 文字列 '%s'" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "jobserver クライアント (fds %d,%d)\n" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "警告: 副次 make 㧠-jN を強制指定ã—ã¾ã—ãŸ: jobserver モードを無効ã«ã—ã¾ã™." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup jobserver" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"警告: jobserver ãŒåˆ©ç”¨ä¸å¯: 今回㯠-j1 を使ã„ã¾ã™. 親 make ルール㫠`+' を追" +"加ã—ã¾ã—ょã†." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "標準入力ã‹ã‚‰ã® makefile ãŒäºŒå›žæŒ‡å®šã•ã‚Œã¾ã—ãŸ." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (一時ファイル)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (一時ファイル)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "並列ジョブ (-j) ã¯ã“ã®ãƒ—ラットフォームã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "å˜ä¸€ã‚¸ãƒ§ãƒ– (-j1) モードã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã™." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "jobserver ã®ã‚¹ãƒ­ãƒƒãƒˆã¯ %d ã¾ã§ã§ã™\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "ジョブサームセマフォを作æˆã—ã¦ã„ã¾ã™: (エラー %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "ジョブパイプ作æˆä¸­" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "jobserver パイプã®åˆæœŸåŒ–" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "シンボリックリンクã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“: -L ã¯ç„¡åŠ¹ã§ã™." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "makefile ã®æ›´æ–°ä¸­....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "makefile '%s' 自己å†å¸°ã®ãŠãã‚Œã‚ã‚Š ― å†make ã—ã¾ã›ã‚“.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "makefile '%s' ã®å†makeã«å¤±æ•—ã—ã¾ã—ãŸ." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "インクルードã•ã‚Œã‚‹ makefile '%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "makefile '%s' ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "å…ƒã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«æˆ»ã‚Œã¾ã›ã‚“ã§ã—ãŸ." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "å†å®Ÿè¡Œã—ã¾ã™[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (一時ファイル): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL ãŒäºŒã¤ä»¥ä¸Šã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’å«ã‚“ã§ã„ã¾ã™" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "ターゲットãŒæŒ‡å®šã•ã‚Œã¦ãŠã‚‰ãš, makefile も見ã¤ã‹ã‚Šã¾ã›ã‚“" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "ターゲットãŒã‚ã‚Šã¾ã›ã‚“" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "最終ターゲットを更新中....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "警告: 時刻ã®ãšã‚Œã‚’検出. ä¸å®Œå…¨ãªãƒ“ルドçµæžœã«ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "使ã„æ–¹: %s [オプション] [ターゲット] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1214,7 +1268,7 @@ "\n" "ã“ã®ãƒ—ログラム㯠%s 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1223,32 +1277,32 @@ "\n" "ã“ã®ãƒ—ログラム㯠%s (%s) 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¯ ã¾ã§.\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "'%s%s' オプションã¯ç©ºã§ãªã„文字列引数をè¦æ±‚ã—ã¾ã™" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "'-%c' オプションã¯æ­£ã®æ•´æ•°å¼•æ•°ã‚’è¦æ±‚ã—ã¾ã™" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sã“ã®ãƒ—ログラム㯠%s 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sã“ã®ãƒ—ログラム㯠%s (%s) 用ã«ãƒ“ルドã•ã‚Œã¾ã—ãŸ\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "ビルトイン CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "ä¸æ˜Žãªãƒ“ルトインコマンド '%s'\n" + +#: vmsjobs.c:592 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "エラー, 空ã®ã‚³ãƒžãƒ³ãƒ‰\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "%s ã‹ã‚‰å…¥åŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "%s ã¸ã‚¨ãƒ©ãƒ¼ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "出力を %s ã¸è¿½åŠ \n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "%s ã¸å‡ºåŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "追加 %.*s ã¨å¾Œç‰‡ä»˜ã‘\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "代ã‚ã‚Šã« %s を実行ã—ã¾ã™\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "spawn ã®ã‚¨ãƒ©ãƒ¼, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2131,11 +2201,11 @@ "\n" "# VPATH 探索パス\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# 'vpath' 探索パスã¯ã‚ã‚Šã¾ã›ã‚“." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2144,7 +2214,7 @@ "\n" "# %u ã¤ã® 'vpath' 探索パス.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2152,7 +2222,7 @@ "\n" "# 一般㮠('VPATH' 変数) 探索パスãªã—." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2162,83 +2232,6 @@ "# 一般㮠('VPATH' 変数) 探索パス:\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "jobserver ã®ã‚¹ãƒ­ãƒƒãƒˆã¯ %d ã¾ã§ã§ã™\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "ジョブサームセマフォを作æˆã—ã¦ã„ã¾ã™: (エラー %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "内部エラー: ジョブサームセマフォを開ã‘ã¾ã›ã‚“ '%s': (エラー %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "jobserver クライアント (セマフォ %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "ジョブサーãƒã®ã‚»ãƒžãƒ•ã‚©ã‚’解放ã—ã¾ã™: (エラー %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "セマフォ ã¾ãŸã¯ å­ãƒ—ロセスを待ã£ã¦ã„ã¾ã™: (エラー %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: ターゲット '%s' ã®ãƒ¬ã‚·ãƒ”ã§å¤±æ•—ã—ã¾ã—ãŸ" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] エラー 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "dup jobserver" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "警告: 空ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "内部エラー: '%s' command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "ビルトイン [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "ビルトイン ECHO %s->%s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "ä¸æ˜Žãªãƒ“ルトインコマンド '%s'\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "" -#~ ".ONESHELL ã®ä¸­ã§æœªçŸ¥ã€ã¾ãŸã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„ビルトインコマンド: '%s'\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "エラー, 空ã®ã‚³ãƒžãƒ³ãƒ‰\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "%s ã‹ã‚‰å…¥åŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "%s ã¸ã‚¨ãƒ©ãƒ¼ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "%s ã¸å‡ºåŠ›ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã—ãŸ\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "spawn ã®ã‚¨ãƒ©ãƒ¼, %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "内部エラー: 複数㮠--sync-mutex オプション" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/ko.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/ko.gmo differ diff -Nru make-dfsg-4.2.1/po/ko.po make-dfsg-4.1/po/ko.po --- make-dfsg-4.2.1/po/ko.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/ko.po 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ # This file is distributed under the same license as the make package. # # Bang Jun-Young , 1996. -# Changwoo Ryu , 2001, 2006, 2013-2014, 2016. +# Changwoo Ryu , 2001, 2006, 2013. # # ìš©ì–´ # - recipe - 명령 (makeì˜ action으로 실행할 명령어를 ë§í•¨) @@ -15,12 +15,12 @@ # msgid "" msgstr "" -"Project-Id-Version: GNU make 4.2\n" +"Project-Id-Version: GNU make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-29 19:05+0900\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-12-01 18:10+0900\n" "Last-Translator: Changwoo Ryu \n" -"Language-Team: Korean \n" +"Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -55,84 +55,84 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: '%s'ì— ëŒ€í•˜ì—¬ ar_member_touchì—ì„œ 실패 리턴 코드" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module()ì´ ëª¨ë“ˆì •ë³´ë¥¼ 추출하는 ë° ì‹¤íŒ¨, ìƒíƒœ = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control()ì´ ì‹¤íŒ¨, ìƒíƒœ = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "멤버 ìƒíƒœ %2$dë²ˆì„ ì°¸ì¡°í•˜ë ¤ê³  '%1$s' ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ì—´ 수 없습니다" +msgstr "'%2$s' 멤버를 참조하려고 '%1$s' ë¼ì´ë¸ŒëŸ¬ë¦¬ë¥¼ ì—´ 수 없습니다" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "멤버 '%s'%s: %ldë°”ì´íŠ¸, 위치 %ld (%ld).\n" # ì´ë¯¸ 잘려진 ì´ë¦„ì„ í‘œì‹œí•˜ë©´ì„œ ì´ë¦„ì´ ìž˜ë ¤ì¡Œì„ ìˆ˜ë„ ìžˆìœ¼ë‹ˆ 유ì˜í•˜ë¼ëŠ” 뜻 -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (ì´ë¦„ì´ ìž˜ë ¤ë‚˜ê°”ì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " 날짜 %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, 모드 = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "ëª…ë ¹ì–´ì— ì¤„ì´ ë„ˆë¬´ 많습니다(%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** 중지.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] ì•„ì¹´ì´ë¸Œ '%s' 멤버는 ê°€ì§œì¼ ìˆ˜ 있으므로 삭제하지 않습니다" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** ì•„ì¹´ì´ë¸Œ '%s' 멤버는 ê°€ì§œì¼ ìˆ˜ 있으므로 삭제하지 않습니다" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] '%s' 파ì¼ì„ 삭제합니다" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** '%s' 파ì¼ì„ 삭제합니다" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# 실행할 명령어" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (내장):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " ('%s'ì—ì„œ, %lu번째 줄):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -140,64 +140,64 @@ "\n" "# 디렉터리\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: statì„ í•  수 없었습니다.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %ull): ì—´ 수 없습니다.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %d): ì—´ 수 없습니다.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (장치 %d, ì•„ì´ë…¸ë“œ [%d,%d,%d]): ì—´ 수 없습니다.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (장치 %ld, ì•„ì´ë…¸ë“œ %ld): ì—´ 수 없습니다.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (키 %s, ë³€ê²½ì‹œê° %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (장치 %d, ì•„ì´ë…¸ë“œ [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (장치 %ld, ì•„ì´ë…¸ë“œ %ld): " # 여기서 No는 "No files"ë¼ê³  ì“°ì¸ë‹¤. ê¶ê·¹ì ìœ¼ë¡œ msgidê°€ ê³ ì³ì ¸ì•¼ 함 -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "0ê°œ" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " 파ì¼, " # 여기서 no는 "no impossibilities"ë¼ê³  ì“°ì¸ë‹¤. ê¶ê·¹ì ìœ¼ë¡œ msgidê°€ ê³ ì³ì ¸ì•¼ 함 -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "0ê°œ" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " 불가능" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " 지금까지." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " 디렉토리 %luê°œì—ì„œ 불가능.\n" @@ -207,154 +207,154 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "재귀하는 '%s' 변수는 (ê²°êµ­) ìžê¸° ìžì‹ ì„ 참조하고 있습니다" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "변수 ì°¸ì¡°ì— ëë§ˆì¹¨ì´ ì—†ìŠµë‹ˆë‹¤" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "íŒŒì¼ '%s'ì˜ %s:%luì—ì„œ ëª…ë ¹ì„ ì§€ì •í–ˆìŠµë‹ˆë‹¤." -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "íŒŒì¼ '%s'ì— ëŒ€í•œ ëª…ë ¹ì„ ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ìœ¼ë¡œ 찾았습니다." -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "하지만 '%s' 파ì¼ì€ ì´ì œ '%s'ê³¼(와) ê°™ì€ íŒŒì¼ë¡œ 간주합니다." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "'%s'ì— ëŒ€í•œ ëª…ë ¹ì€ '%s'ì— ëŒ€í•œ ëª…ë ¹ì´ ìš°ì„ í•˜ë¯€ë¡œ 무시합니다." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "ë‹¨ì¼ ì½œë¡  '%s'ì„(를) ì´ì¤‘ 콜론 '%s'(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "ì´ì¤‘ 콜론 '%s'ì„(를) ë‹¨ì¼ ì½œë¡  '%s'(으)ë¡œ ì´ë¦„ì„ ë°”ê¿€ 수 없습니다" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** 중간 íŒŒì¼ '%s'ì„(를) 삭제합니다" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "중간 파ì¼ì„ 제거합니다...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "현재 ì‹œê°" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: 타임스탬프가 범위를 벗어나므로, %sì„(를) 대체합니다" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# íƒ€ê²Ÿì´ ì•„ë‹˜:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# 프레시어스 íŒŒì¼ (.PRECIOUSì˜ ì„ í–‰ì¡°ê±´)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# í¬ë‹ˆ 타겟 (.PHONYì˜ ì„ í–‰ì¡°ê±´)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# 명령행 타겟." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "" "# 기본 ë©”ì´í¬íŒŒì¼, MAKEFILES ë©”ì´í¬íŒŒì¼, ë˜ëŠ” -include/sinclude ë©”ì´í¬íŒŒì¼." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# 내장 규칙" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ì´ 완료ë˜ì—ˆìŠµë‹ˆë‹¤." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# ë¬µì‹œì  ê·œì¹™ íƒìƒ‰ì´ 완료ë˜ì§€ 않았습니다." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# 묵시ì /ê³ ì • 패턴 스템: '%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# 파ì¼ì´ ì¤‘ê°„ë‹¨ê³„ì˜ ì„ í–‰ì¡°ê±´ìž…ë‹ˆë‹¤." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# 다ìŒë„ 만듭니다:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# 변경 ì‹œê°ì´ ê²°ì½” 검사ë˜ì§€ 않았ìŒ." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# 파ì¼ì´ 없습니다." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# 파ì¼ì´ 매우 오래ë˜ì—ˆìŠµë‹ˆë‹¤." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# 마지막 변경 %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# 파ì¼ì„ ì—…ë°ì´íŠ¸í–ˆìŠµë‹ˆë‹¤." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# 파ì¼ì„ ì—…ë°ì´íŠ¸í•˜ì§€ 않았습니다." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# 현재 ì‹¤í–‰ì¤‘ì¸ ëª…ë ¹(ì´ê²ƒì€ 버그입니다)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# 현재 ì‹¤í–‰ì¤‘ì¸ ì˜ì¡´ì„±(ì´ê²ƒì€ 버그입니다)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# 성공ì ìœ¼ë¡œ ì—…ë°ì´íŠ¸." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# ì—…ë°ì´íŠ¸ í•„ìš”(-q 설정ë¨)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# ì—…ë°ì´íŠ¸ 실패." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# 'command_status' ë©¤ë²„ì— ê°’ì´ ìž˜ëª»ë˜ì—ˆìŠµë‹ˆë‹¤!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -362,7 +362,7 @@ "\n" "# 파ì¼" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -372,122 +372,105 @@ "# íŒŒì¼ í•´ì‹œ í…Œì´ë¸” 통계:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: '%s' 필드가 ìºì‹œì— ì—†ìŒ: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "'word' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžê°€ 숫ìžê°€ 아닙니다" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "'word' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžëŠ” 0보다 커야 합니다" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "'wordlist' í•¨ìˆ˜ì˜ ì²«ë²ˆì§¸ ì¸ìžê°€ 숫ìžê°€ 아닙니다" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "'wordlist' í•¨ìˆ˜ì˜ ë‘번째 ì¸ìžê°€ 숫ìžê°€ 아닙니다" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) 실패(e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(Err) 실패(e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() 실패(e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() 실패\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 지ì›ë‹ˆë‹¤\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "file: íŒŒì¼ ì´ë¦„ì´ ì—†ìŠµë‹ˆë‹¤" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "open: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "write: %s: %s" -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "close: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "file: ì¸ìžê°€ 너무 많습니다" - -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "read: %s: %s" - -#: function.c:2275 +#: function.c:2209 #, c-format -msgid "file: invalid file operation: %s" -msgstr "file: 올바르지 ì•Šì€ íŒŒì¼ ë™ìž‘: %s" +msgid "Invalid file operation: %s" +msgstr "올바르지 ì•Šì€ íŒŒì¼ ë™ìž‘: %s" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" -msgstr "함수 '%2$s'ì— ì¸ìž 갯수(%1$d)ê°€ 부족합니다" +msgstr "함수 '%2$s'ì— ì¸ìž 갯수(%1$d)ê°€ 부족합니다 " -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "ì´ í”Œëž«í¼ì—서는 구현ë˜ì§€ 않았습니다: '%s' 함수" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "함수 '%s'ì— ëŒ€í•´ 종료ë˜ì§€ ì•Šì€ í˜¸ì¶œ: '%c' 문ìžê°€ ë¹ ì¡ŒìŒ" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "빈 함수 ì´ë¦„" +msgstr "빈 함수 ì´ë¦„: %s\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "ìž˜ëª»ëœ í•¨ìˆ˜ ì´ë¦„: %s" +msgstr "ìž˜ëª»ëœ í•¨ìˆ˜ ì´ë¦„: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "함수 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤: %s" +msgstr "함수 ì´ë¦„ì´ ë„ˆë¬´ ê¹ë‹ˆë‹¤: %s\n" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "함수 `%2$s'ì— ìµœì†Œ ì¸ìž 갯수(%1$u)ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "함수 `%2$s'ì— ìµœëŒ€ ì¸ìž 갯수(%1$u)ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "함수 `%2$s'ì— ìµœì†Œ ì¸ìž 갯수(%1$d)ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "함수 `%2$s'ì— ìµœëŒ€ ì¸ìž 갯수(%1$d)ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤\n" #: getopt.c:659 #, c-format @@ -584,7 +567,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "'%s'ì— ëŒ€í•œ ì•„ì¹´ì´ë¸Œë©¤ë²„ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "ë¬µì‹œì  ê·œì¹™ì˜ ìž¬ê·€ë¥¼ 피함.\n" @@ -632,76 +615,101 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "중간 íŒŒì¼ '%s'ì— ëŒ€í•œ ë¬µì‹œì  ê·œì¹™ì„ ì°¾ê³  있습니다.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "ìž„ì‹œ 파ì¼ì„ 만들 수 없습니다\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (메모리 ë¤í”„ë¨)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (무시ë¨)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "<내장>" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: '%s' íƒ€ê²Ÿì— ëŒ€í•œ ëª…ë ¹ì´ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] 오류 %d%s" + +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] 오류 0x%x%s" + +#: job.c:529 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] 오류 %d%s" +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" -#: job.c:599 +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** ë나지 ì•Šì€ ìž‘ì—…ì„ ê¸°ë‹¤ë¦¬ê³  있습니다...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "살아있는 하위 프로세스 %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (ì›ê²©)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "실패한 하위 프로세스 %p PID %s %sì„(를) 거둬들입니다\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "성공한 하위 프로세스 %p PID %s %sì„(를) 거둬들입니다\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 지ì›ë‹ˆë‹¤\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "ìž„ì‹œ 배치 íŒŒì¼ %s 지우기가 실패했습니다(%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "하위 프로세스 %p PID %s%sì„(를) ì²´ì¸ì—ì„œ 지ì›ë‹ˆë‹¤.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "ìž‘ì—… 서버 세마í¬ì–´ í•´ì œ: (오류 %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "하위 프로세스 %p(%s)ì— í† í°ì„ ë‚´ì–´ ì¤ë‹ˆë‹¤.\n" -#: job.c:1508 job.c:2201 +# ??? 디버깅 메세지 +#: job.c:1036 +msgid "write jobserver" +msgstr "작업서버 쓰기" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy()ê°€ 프로세스를 시작하는 ë° ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤(e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -710,94 +718,98 @@ "\n" "실행 실패ì—ì„œ ì¸ìˆ˜ %dê°œ\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "하위 프로세스 %p(%s) PID %s%sì„(를) ì²´ì¸ì— 넣습니다.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "세마í¬ì–´ ë˜ëŠ” 하위 프로세스 대기: (오류 %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "하위 프로세스 %p(%s)ì—ì„œ 토í°ì„ 받았습니다.\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "ìž‘ì—… 파ì´í”„ ì½ê¸°" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: '%s' íƒ€ê²Ÿì´ ì—†ìŠµë‹ˆë‹¤" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: '%s' 타겟 ì—…ë°ì´íŠ¸, ì´ìœ : %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "ì´ ìš´ì˜ ì²´ì œì—서는 부하 ì œí•œì„ ê°•ì œí•  수 없습니다" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "부하 ì œí•œì„ ê°•ì œí•  수 없습니다: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 ìž…ë ¥ì„ ë³µì‚¬í•  수 없습니다\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 ì¶œë ¥ì„ ë³µì‚¬í•  수 없습니다\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "íŒŒì¼ í•¸ë“¤ì´ ì—†ìŒ: 표준 오류를 복사할 수 없습니다\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "표준 ìž…ë ¥ì„ ë³µêµ¬í•  수 없습니다\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "표준 ì¶œë ¥ì„ ë³µêµ¬í•  수 없습니다\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "표준 오류를 복구할 수 없습니다\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" "하위 프로세스 PID %sì„(를) 거둬들ì´ê³ , ì•„ì§ PID %sì„(를) 기다리고 있습니다\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: ëª…ë ¹ì„ ì°¾ì§€ 못했습니다\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: ëª…ë ¹ì„ ì°¾ì§€ 못했습니다\n" +msgid "%s: Command not found" +msgstr "%s: ëª…ë ¹ì„ ì°¾ì§€ 못했ìŒ" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" -msgstr "%s: ì…¸ í”„ë¡œê·¸ëž¨ì„ ì°¾ì§€ 못했습니다" +msgstr "%s: ì…¸ í”„ë¡œê·¸ëž¨ì„ ì°¾ì§€ 못했ìŒ" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: 환경 변수 ê³µê°„ì´ ë°”ë‹¥ë‚¬ì„ ìˆ˜ 있습니다" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELLì´ ë°”ë€Œì—ˆìŠµë‹ˆë‹¤(과거 '%s', 현재 '%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "ìž„ì‹œ 배치 íŒŒì¼ %sì„(를) 만듭니다\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -805,7 +817,7 @@ "배치 íŒŒì¼ ë‚´ìš©:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -815,7 +827,7 @@ "\t%s\n" # ??? 디버깅 메세지 -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (%d번째 줄) ìž˜ëª»ëœ ì‰˜ 컨í…스트 (!unixy && !batch_mode_shell)\n" @@ -844,28 +856,28 @@ msgid "Empty symbol name for load: %s" msgstr "ì½ì–´ë“¤ì¼ 심볼 ì´ë¦„ì´ ë¹„ì—ˆìŒ: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "%s ì‹¬ë³¼ì„ %sì—ì„œ ì½ì–´ë“¤ìž„\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "'load' ìž‘ì—…ì€ ì´ í”Œëž«í¼ì—ì„œ 지ì›ë˜ì§€ 않습니다." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "옵션:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m 무시ë©ë‹ˆë‹¤, í˜¸í™˜ì„ ìœ„í•´ 유지.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make ì¡°ê±´ì— ê´€ê³„ ì—†ì´ ëª¨ë“  íƒ€ê²Ÿì„ ë§Œë“­ë‹ˆë‹¤.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -873,17 +885,17 @@ " -C <디렉터리>, --directory=<디렉터리>\n" " 뭔가 하기 ì „ì— <디렉터리>ë¡œ ì´ë™í•©ë‹ˆë‹¤.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d 여러 가지 디버깅 정보를 출력합니다.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=플래그] 여러 가지 ì¢…ë¥˜ì˜ ë””ë²„ê¹… 정보를 출력합니다.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -891,13 +903,13 @@ " -e, --environment-overrides\n" " 환경변수가 ë©”ì´í¬íŒŒì¼ ë‚´ìš©ì— ìš°ì„ í•©ë‹ˆë‹¤.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=<문ìžì—´> <문ìžì—´>ì„ ë©”ì´í¬íŒŒì¼ 내용으로 í•´ì„합니다.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -905,15 +917,15 @@ " -f <파ì¼>, --file=<파ì¼>, --makefile=<파ì¼>\n" " <파ì¼>ì„ ë©”ì´í¬íŒŒì¼ë¡œ ì½ìŠµë‹ˆë‹¤.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help ì´ ë©”ì‹œì§€ë¥¼ 출력하고 ë냅니다.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors 명령ì—ì„œ ë°œìƒí•˜ëŠ” 오류를 무시합니다.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -921,7 +933,7 @@ " -I <디렉터리>, --include-dir=<디렉터리>\n" " í¬í•¨í•  ë©”ì´í¬íŒŒì¼ì„ <디렉터리>ì—ì„œ 찾습니다.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -929,13 +941,13 @@ " -j [N], --jobs[=N] ë™ì‹œì— Nê°œì˜ ìž‘ì—… 허용, ì¸ìž 없으면 무한대로 í—ˆ" "ìš©.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going ì¼ë¶€ íƒ€ê²Ÿì„ ë§Œë“¤ 수 ì—†ë”ë¼ë„ ê³„ì† ì§„í–‰í•©ë‹ˆë‹¤.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -945,7 +957,7 @@ " 로드가 N 아래로 내려가야 ë™ì‹œ ìž‘ì—… 시작합니" "다.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -953,7 +965,7 @@ " -L, --check-symlink-times 심볼릭 ë§í¬ì™€ 실제 중 ë” ìµœê·¼ 수정 ì‹œê°ì„\n" " 사용합니다.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -963,7 +975,7 @@ " 실제로는 아무 ëª…ë ¹ë„ ì‹¤í–‰í•˜ì§€ ì•Šê³  표시만 합니" "다.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -974,7 +986,7 @@ "지\n" " 않습니다.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -982,11 +994,11 @@ " -O[ë°©ì‹], --output-sync[=ë°©ì‹]\n" " 병렬 ìž‘ì—…ì˜ ì¶œë ¥ì„ <ë°©ì‹>ì— ë”°ë¼ ë§žì¶¥ë‹ˆë‹¤.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base makeì˜ ë‚´ë¶€ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 출력합니다.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -994,19 +1006,19 @@ " -q, --question ëª…ë ¹ì„ ì‹¤í–‰í•˜ì§€ ì•ŠìŒ. 종료 ìƒíƒœë¡œ ì—…ë°ì´íŠ¸\n" " 여부를 ì•Œ 수 있습니다.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules 내장 ë¬µì‹œì  ê·œì¹™ì„ ì‚¬ìš©í•˜ì§€ 않습니다.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables 내장 변수를 지정하지 못하게 합니다.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet 명령어를 출력하지 않습니다.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1014,31 +1026,31 @@ " -S, --no-keep-going, --stop\n" " -k ì˜µì…˜ì„ ë•ë‹ˆë‹¤.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch íƒ€ê²Ÿì„ ë‹¤ì‹œ 만들지 ì•Šê³  touch만 합니다.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace ì¶”ì  ì •ë³´ë¥¼ 표시합니다.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version makeì˜ ë²„ì „ 번호를 출력하고 ë냅니다.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory 현재 디렉터리를 출력합니다.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr " --no-print-directory 묵시ì ìœ¼ë¡œ 켜져 있ë”ë¼ë„ -w를 ë•ë‹ˆë‹¤.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1047,33 +1059,33 @@ " <파ì¼>ì„ ë¬´í•œížˆ ê³„ì† ìƒˆë¡œìš´ 것으로 취급합니" "다.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" " --warn-undefined-variables ì •ì˜ë˜ì§€ ì•Šì€ ë³€ìˆ˜ë¥¼ 참조할 ë•Œ 경고를 냅니다.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "빈 문ìžì—´ì€ íŒŒì¼ ì´ë¦„으로 부ì ì ˆí•©ë‹ˆë‹¤" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "디버깅 단계 지정 '%s'ì´(ê°€) 잘못ë˜ì—ˆìŠµë‹ˆë‹¤" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "ì•Œ 수 없는 output-sync ë°©ì‹ '%s'" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: ì¸í„°ëŸ½íŠ¸/예외가 발견ë˜ì—ˆìŠµë‹ˆë‹¤(코드 = 0x%lx, 주소 = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1088,135 +1100,179 @@ "예외플래그 = %lx\n" "예외주소 = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "ì ‘ê·¼ 권한 위반: 주소 0x%pì— ì“°ê¸°\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "ì ‘ê·¼ 권한 위반: 주소 0x%pì—ì„œ ì½ê¸°\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() 설정 default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell() 경로 íƒìƒ‰ 설정 default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%sì´(ê°€) 30ì´ˆë™ì•ˆ ì¼ì‹œ 중지ë©ë‹ˆë‹¤..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "완료 sleep(30). 계ì†.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format +msgid "" +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "내부 오류: ìž‘ì—… 서버 세마í¬ì–´('%s')를 ì—´ 수 없습니다: (오류 %ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "ìž‘ì—… 서버 í´ë¼ì´ì–¸íŠ¸(세마í¬ì–´ %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "내부 오류: ìž˜ëª»ëœ --jobserver-fds 문ìžì—´ '%s'" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "ìž‘ì—… 서버 í´ë¼ì´ì–¸íŠ¸(íŒŒì¼ ë””ìŠ¤í¬ë¦½í„° %d,%d)\n" + +#: main.c:1551 +msgid "warning: -jN forced in submake: disabling jobserver mode." +msgstr "경고: 파ìƒëœ ë©”ì´í¬ì—ì„œ -jNì´ ê°•ì œë˜ì—ˆìŠµë‹ˆë‹¤: 작업서버 모드를 ë•ë‹ˆë‹¤." + +# ??? 디버깅 메세지 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup 작업서버" + +#: main.c:1570 msgid "" "warning: jobserver unavailable: using -j1. Add '+' to parent make rule." msgstr "" "경고: 작업서버를 사용할 수 없습니다: -j1ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. ìƒìœ„ ë©”ì´í¬ ê·œì¹™ì— " "'+'를 추가합니다." -#: main.c:1635 -msgid "warning: -jN forced in submake: disabling jobserver mode." -msgstr "경고: 파ìƒëœ ë©”ì´í¬ì—ì„œ -jNì´ ê°•ì œë˜ì—ˆìŠµë‹ˆë‹¤: 작업서버 모드를 ë•ë‹ˆë‹¤." - -#: main.c:1805 +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "표준입력ì—ì„œ 받아들ì´ëŠ” ë©”ì´í¬íŒŒì¼ì´ ë‘ ë²ˆ ì´ìƒ 지정ë˜ì—ˆìŠµë‹ˆë‹¤." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen(ìž„ì‹œ 파ì¼)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite(ìž„ì‹œ 파ì¼)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "병렬 ìž‘ì—…(-j)ì€ ì´ í”Œëž«í¼ì—ì„œ 지ì›í•˜ì§€ 않습니다." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "ë‹¨ì¼ ìž‘ì—… (-j1) 모드로 ëŒì•„갑니다." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "작업서버 ìŠ¬ë¡¯ì€ %d개로 제한ë©ë‹ˆë‹¤\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "작업서버 세마í¬ì–´ 만들기: (오류 %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "ìž‘ì—… 파ì´í”„ ìƒì„±" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "작업서버 파ì´í”„ 초기화" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "심볼릭 ë§í¬ë¥¼ 지ì›í•˜ì§€ 않습니다: -L ì˜µì…˜ì„ ë•ë‹ˆë‹¤." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "ë©”ì´í¬íŒŒì¼ì„ ì—…ë°ì´íŠ¸í•˜ê³  있습니다....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì€(는) 반복할 수 있으므로, 다시 만들지 않습니다.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "'%s' ë©”ì´í¬íŒŒì¼ì„ 다시 ë§Œë“œëŠ”ë° ì‹¤íŒ¨." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "í¬í•¨ëœ ë©”ì´í¬íŒŒì¼ '%s'ì„(를) 찾지 못했습니다." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "ë©”ì´í¬íŒŒì¼ '%s'ì„(를) 찾지 못했습니다" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "ì›ëž˜ 디렉터리로 ëŒì•„ê°ˆ 수 없습니다." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "재실행[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (ìž„ì‹œ 파ì¼): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL ì•ˆì— íƒ€ê²Ÿì´ ì—¬ëŸ¬ ê°œ 들어 있습니다" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "íƒ€ê²Ÿì´ ì§€ì •ë˜ì§€ 않았고 ë©”ì´í¬íŒŒì¼ì´ 없습니다" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "타겟 ì—†ìŒ" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "최종 íƒ€ê²Ÿì„ ê°±ì‹ í•©ë‹ˆë‹¤....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "경고: 시계가 잘못ë˜ì—ˆìŒì´ 발견ë˜ì—ˆìŠµë‹ˆë‹¤. 빌드가 불완전할 수 있습니다." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "사용법: %s [옵션] [타겟] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1225,7 +1281,7 @@ "\n" "ì´ í”„ë¡œê·¸ëž¨ì€ %sì—ì„œ 사용하ë„ë¡ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1234,32 +1290,32 @@ "\n" "ì´ í”„ë¡œê·¸ëž¨ì€ %s(%s)ì—ì„œ 사용하ë„ë¡ ë¹Œë“œë˜ì—ˆìŠµë‹ˆë‹¤\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "문제ì ì„ ë¡œ 알려 주십시오.\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "'%s%s' ì˜µì…˜ì€ ë¹„ì–´ 있지 ì•Šì€ ë¬¸ìžì—´ ì¸ìˆ˜ê°€ 필요합니다" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "'-%c' ì˜µì…˜ì€ 0보다 í° ì •ìˆ˜ ì¸ìˆ˜ê°€ 필요합니다" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%s%s 빌드\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%s%s(%s) 빌드\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "내장 CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "ì•Œ 수 없는 내장 명령어 '%s'\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Error, empty command\n" +msgstr "오류, 빈 명령어\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "ìž…ë ¥ì„ %sì—ì„œ 리다ì´ë ‰íŠ¸í•©ë‹ˆë‹¤\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "오류를 %s(으)ë¡œ 리다ì´ë ‰íŠ¸í•©ë‹ˆë‹¤\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "ì¶œë ¥ì„ %sì— ë¶™ìž…ë‹ˆë‹¤\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "ì¶œë ¥ì„ %s(으)ë¡œ ëŒë¦½ë‹ˆë‹¤\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "%.*sì„(를) 붙ì´ê³  지ì›ë‹ˆë‹¤\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "대신 %sì„(를) 실행\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "실행 오류, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2144,11 +2214,11 @@ "\n" "# VPATH íƒìƒ‰ 경로\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# 'vpath' íƒìƒ‰ 경로가 ì—†ìŒ." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2157,7 +2227,7 @@ "\n" "# 'vpath' íƒìƒ‰ 경로 %uê°œ.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2165,7 +2235,7 @@ "\n" "# ì¼ë°˜ì ì¸ ('VPATH' 변수) íƒìƒ‰ 경로가 ì—†ìŒ." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2175,33 +2245,17 @@ "# ì¼ë°˜ì ì¸ ('VPATH' 변수) íƒìƒ‰ 경로:\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "작업서버 ìŠ¬ë¡¯ì€ %d개로 제한ë©ë‹ˆë‹¤\n" +#~ msgid "internal error: multiple --sync-mutex options" +#~ msgstr "내부 오류: 여러 ê°œì˜ --sync-mutex 옵션" -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "작업서버 세마í¬ì–´ 만들기: (오류 %ld: %s)" +#~ msgid "internal error: multiple --jobserver-fds options" +#~ msgstr "내부 오류: 여러 ê°œì˜ -jobserver-fds 옵션" -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "내부 오류: ìž‘ì—… 서버 세마í¬ì–´('%s')를 ì—´ 수 없습니다: (오류 %ld: %s)" +#~ msgid "virtual memory exhausted" +#~ msgstr "ê°€ìƒ ë©”ëª¨ë¦¬ê°€ ê³ ê°ˆë¨" -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "ìž‘ì—… 서버 í´ë¼ì´ì–¸íŠ¸(세마í¬ì–´ %s)\n" +#~ msgid "write error" +#~ msgstr "쓰기 오류" -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "ìž‘ì—… 서버 세마í¬ì–´ í•´ì œ: (오류 %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "세마í¬ì–´ ë˜ëŠ” 하위 프로세스 대기: (오류 %ld: %s)" +#~ msgid "BUILTIN RM %s\n" +#~ msgstr "내장 RM %s\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/lt.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/lt.gmo differ diff -Nru make-dfsg-4.2.1/po/lt.po make-dfsg-4.1/po/lt.po --- make-dfsg-4.2.1/po/lt.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/lt.po 2016-01-16 10:25:59.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: make-3.81\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2008-05-17 21:42+0300\n" "Last-Translator: Gintautas Miliauskas \n" "Language-Team: Lithuanian \n" @@ -48,84 +48,84 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "nepavyko atverti bibliotekos „%s“ bandant surasti narį „%s“" -#: arscan.c:965 +#: arscan.c:944 #, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Narys „%s“%s: %ld baitų pozicijoje %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (pavadinimas gali bÅ«ti sutrumpintas)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Data %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mode = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "" -#: commands.c:645 +#: commands.c:647 #, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Trinamas failas „%s“" -#: commands.c:647 +#: commands.c:649 #, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** Trinamas failas „%s“" -#: commands.c:683 +#: commands.c:685 #, fuzzy msgid "# recipe to execute" msgstr "# vykdytinos komandos" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (integruota)" -#: commands.c:688 +#: commands.c:690 #, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (nuo „%s“, %lu eilutÄ—):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -133,62 +133,62 @@ "\n" "# Aplankai\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: negalÄ—jo bÅ«ti stat'intas.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (key %s, mtime %d): nepavyko atverti.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (key %s, mtime %d): nepavyko atverti.\n" +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "" -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "" -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "" -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Ne" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " failai, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "ne" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " negalimybÄ—s" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " kol kas." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " negalimybÄ—s %lu aplankuose.\n" @@ -198,163 +198,163 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Rekursyvus kintamasis „%s“ nukreipia į save (anksÄiau ar vÄ—liau)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "neterminuota nuoroda į kintamÄ…jį" -#: file.c:278 +#: file.c:271 #, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Komandos nurodytos failui „%s“ %s:%lu," -#: file.c:283 +#: file.c:276 #, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "Komandos failui „%s“ rastos pagal neiÅ¡reikÅ¡tinÄ™ taisyklių paieÅ¡kÄ…" -#: file.c:287 +#: file.c:280 #, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "bet „%s“ dabar laikomas tuo paÄiu failu kaip „%s“." -#: file.c:290 +#: file.c:283 #, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "Komandos „%s“ bus ignoruojamos „%s“ komandų naudai." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" -#: file.c:408 +#: file.c:401 #, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Trinamas tarpinis failas „%s“" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Å alinami tarpiniai failai...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Dabartinis laikas" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Laiko žymÄ— už rėžių; keiÄiama į %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Ne tikslas:" -#: file.c:967 +#: file.c:960 #, fuzzy msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Brangus failas (reikalingas .PRECIOUS)" -#: file.c:969 +#: file.c:962 #, fuzzy msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Keistas tikslas (reikalingas .PHONY)." -#: file.c:971 +#: file.c:964 #, fuzzy msgid "# Command line target." msgstr "# KomandinÄ—s eilutÄ—s tikslas" -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Numatytoji reikÅ¡mÄ—, MAKEFILES, arba -include/sinclude „make“ failas" -#: file.c:975 +#: file.c:968 #, fuzzy msgid "# Builtin rule" msgstr "" "\n" "# NÄ—ra neiÅ¡reikÅ¡tinių taisyklių." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# NeiÅ¡reikÅ¡tinių taisyklių paieÅ¡ka atlikta." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# NeiÅ¡reikÅ¡tinių taisyklių paieÅ¡ka neatlikta." -#: file.c:980 +#: file.c:973 #, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# IÅ¡reikÅ¡tinis/statinis Å¡ablono kamienas: „%s“\n" -#: file.c:982 +#: file.c:975 #, fuzzy msgid "# File is an intermediate prerequisite." msgstr "# Failas yra tarpinÄ— sÄ…lyga" -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Taip pat sukuria:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Modifikacijos laikas niekada netikrintas." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Failas neegzistuoja." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Failas labai senas." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Paskutinį kartÄ… pakeista %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Failas atnaujintas." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Failas nebuvo atnaujintas." -#: file.c:1008 +#: file.c:1001 #, fuzzy msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Dabar vykdomos komandos (TAI KLAIDA)." -#: file.c:1011 +#: file.c:1004 #, fuzzy msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Vykdomos priklausomybių komandos (TAI KLAIDA)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# SÄ—kmingai atnaujinta." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Turi bÅ«ti atnaujinta (-q nustatyta)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Nepavyko atnaujinti." -#: file.c:1032 +#: file.c:1025 #, fuzzy msgid "# Invalid value in 'command_state' member!" msgstr "# Netaisyklinga reikÅ¡mÄ— „command_state“ naryje!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -362,7 +362,7 @@ "\n" "# Failai" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -372,121 +372,103 @@ "# failų maiÅ¡os lentelÄ—s statistika:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, fuzzy, c-format msgid "open: %s: %s" msgstr "%s: %s" -#: function.c:2227 +#: function.c:2203 #, fuzzy, c-format msgid "write: %s: %s" msgstr "raÅ¡ymo klaida: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "%s%s: %s" - -#: function.c:2243 -msgid "file: too many arguments" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "%s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "%s: netaisyklingas argumentas -- %c\n" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "" -#: function.c:2660 +#: function.c:2601 #, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "" #: getopt.c:659 @@ -584,7 +566,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Rasta neiÅ¡reikÅ¡tinÄ— taisyklÄ— tikslui „%s“.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "" @@ -628,184 +610,213 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Å alinami tarpiniai failai...\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr "" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr "" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 #, fuzzy msgid "" msgstr " (integruota)" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "" + +#: job.c:519 #, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s[%s] Error 0x%x%s" msgstr "" -#: job.c:599 +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "" -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr "" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "" -#: job.c:839 +#: job.c:849 #, fuzzy, c-format msgid "Cleaning up temp batch file %s\n" msgstr "%s: nepavyko atverti laikinojo failo: %s" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "%s: nepavyko atverti laikinojo failo: %s" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "" -#: job.c:1508 job.c:2201 +#: job.c:1036 +#, fuzzy +msgid "write jobserver" +msgstr "raÅ¡ymo klaida: %s" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" "Counted %d args in failed launch\n" msgstr "" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "touch: Archyvas „%s“ neegzistuoja" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "%sNÄ—ra taisyklÄ—s pasiekti tikslui „%s“, kurio reikia „%s“%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "" -#: job.c:1958 +#: job.c:2173 #, fuzzy msgid "cannot enforce load limit: " msgstr "%s: nepayko pakeisti limito: %s" -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: Komanda nerasta" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: Komanda nerasta" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Kevalo programa nerasta" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL pakeistas (buvo „%s“, dabar „%s“)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -834,200 +845,200 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "" -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr "" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" msgstr "" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" msgstr "" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" msgstr "" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr "" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" msgstr "" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" msgstr "" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " "N.\n" msgstr "" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " "them.\n" msgstr "" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " "it.\n" msgstr "" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr "" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" msgstr "" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr "" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr "" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr "" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" msgstr "" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "negalimas tuÅ¡Äias failo pavadinimas" -#: main.c:766 +#: main.c:737 #, fuzzy, c-format msgid "unknown debug level specification '%s'" msgstr "nežinomas debug lygio specifikacija „%s“" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1037,132 +1048,175 @@ "ExceptionAddress = 0x%p\n" msgstr "" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "" -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" msgstr "" -#: main.c:1635 +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "" -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "" -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "" -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Atnaujinami „make“ failai....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "" -#: main.c:2279 +#: main.c:2237 #, fuzzy, c-format msgid "Failed to remake makefile '%s'." msgstr "Nereikia atnaujinti taikinio „%s“" -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr "„Make“ failas „%s“ nerastas" -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "„Make“ failas „%s“ nerastas" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Nepavyko grįžti į pirminį aplankÄ…." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "" -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr "" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Nenurodyta tikslų ir nerasta „make“ failų" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "NÄ—ra tikslų" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Atnaujinami tikslai...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Naudojimas: %s [argumentai] [tikslas] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1171,7 +1225,7 @@ "\n" "Å i programa sukompiliuota %s sistemai\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1180,36 +1234,36 @@ "\n" "Å i programa sukompiliuota %s (%s) sistemai\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "PraneÅ¡kite apie klaidas adresu \n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "parametrui „-%c“ reikia netuÅ¡Äio argumento" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "parametrui „-%c“ reikia teigiamo sveiko argumento" -#: main.c:3332 +#: main.c:3269 #, fuzzy, c-format msgid "%sBuilt for %s\n" msgstr "" "\n" "%sÅ i programa sukompiliuota %s sistemai\n" -#: main.c:3334 +#: main.c:3271 #, fuzzy, c-format msgid "%sBuilt for %s (%s)\n" msgstr "" "\n" "%sÅ i programa sukompiliuota %s (%s) sistemai\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "" + +#: vmsjobs.c:505 +#, fuzzy, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "paskutinÄ— komanda: %s\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 #, c-format -msgid "DCL: %s\n" +msgid "Error, empty command\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "" + +#: vmsjobs.c:681 +#, fuzzy, c-format +msgid "Redirected error to %s\n" +msgstr "skaitymo klaida: %d: %s" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" msgstr "" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr " (paieÅ¡kos kelias)" -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" "# %u 'vpath' search paths.\n" msgstr "" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." msgstr "" -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" "# " msgstr "" -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Netaisyklinga reikÅ¡mÄ— „update_status“ naryje!" @@ -2150,7 +2184,3 @@ #, fuzzy #~ msgid "invalid `override' directive" #~ msgstr "netaisyklinga „override“ direktyva" - -#, fuzzy -#~ msgid "Redirected error to %s\n" -#~ msgstr "skaitymo klaida: %d: %s" diff -Nru make-dfsg-4.2.1/po/Makefile.in.in make-dfsg-4.1/po/Makefile.in.in --- make-dfsg-4.2.1/po/Makefile.in.in 2016-06-10 23:03:17.000000000 +0000 +++ make-dfsg-4.1/po/Makefile.in.in 2016-01-16 10:25:59.000000000 +0000 @@ -8,14 +8,13 @@ # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # -# Origin: gettext-0.19 -GETTEXT_MACRO_VERSION = 0.19 +# Origin: gettext-0.18 +GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -SED = @SED@ SHELL = /bin/sh @SET_MAKE@ @@ -77,16 +76,6 @@ CATALOGS = @CATALOGS@ -POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot -POFILESDEPS_yes = $(POFILESDEPS_) -POFILESDEPS_no = -POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT)) - -DISTFILESDEPS_ = update-po -DISTFILESDEPS_yes = $(DISTFILESDEPS_) -DISTFILESDEPS_no = -DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO)) - # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: @@ -107,14 +96,14 @@ mv t-$@ $@ -all: all-@USE_NLS@ +all: check-macro-version all-@USE_NLS@ all-yes: stamp-po all-no: # Ensure that the gettext macros and this Makefile.in.in are in sync. -CHECK_MACRO_VERSION = \ - test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ +check-macro-version: + @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ exit 1; \ } @@ -134,7 +123,6 @@ # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot - @$(CHECK_MACRO_VERSION) test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ @@ -149,29 +137,11 @@ # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -# The determination of whether the package xyz is a GNU one is based on the -# heuristic whether some file in the top level directory mentions "GNU xyz". -# If GNU 'find' is available, we avoid grepping through monster files. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - package_gnu="$(PACKAGE_GNU)"; \ - test -n "$$package_gnu" || { \ - if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \ - LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \ - -size -10000000c -exec grep 'GNU @PACKAGE@' \ - /dev/null '{}' ';' 2>/dev/null; \ - else \ - LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \ - fi; \ - } | grep -v 'libtool:' >/dev/null; then \ - package_gnu=yes; \ - else \ - package_gnu=no; \ - fi; \ - }; \ - if test "$$package_gnu" = "yes"; then \ - package_prefix='GNU '; \ + if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ + package_gnu='GNU '; \ else \ - package_prefix=''; \ + package_gnu=''; \ fi; \ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ @@ -191,7 +161,7 @@ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --package-name="$${package_prefix}@PACKAGE@" \ + --package-name="$${package_gnu}@PACKAGE@" \ --package-version='@VERSION@' \ --msgid-bugs-address="$$msgid_bugs_address" \ ;; \ @@ -219,10 +189,9 @@ # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(POFILESDEPS) +$(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ - test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) \ @@ -383,7 +352,7 @@ distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: - test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS) + $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) diff -Nru make-dfsg-4.2.1/po/make.pot make-dfsg-4.1/po/make.pot --- make-dfsg-4.2.1/po/make.pot 2016-06-10 23:03:35.000000000 +0000 +++ make-dfsg-4.1/po/make.pot 2016-01-16 10:25:59.000000000 +0000 @@ -1,14 +1,14 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Free Software Foundation, Inc. -# This file is distributed under the same license as the GNU make package. +# This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" -"Project-Id-Version: GNU make 4.2.1\n" +"Project-Id-Version: GNU make 4.1\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,142 +46,144 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "" -#: arscan.c:261 +#: arscan.c:255 #, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr "" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr "" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr "" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr "" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr "" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" msgstr "" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "" -#: dir.c:1085 -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "" -#: dir.c:1122 -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "" -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "" -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "" -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr "" -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr "" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr "" -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr "" @@ -191,280 +193,262 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "" -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "" -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "" -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "" -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "" -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "" -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "" -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "" -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "" -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "" -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "" -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "" -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "" -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "" -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "" -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "" -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "" -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "" -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "" -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" msgstr "" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" "# " msgstr "" -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "" -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "" - -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "" - -#: function.c:2275 +#: function.c:2209 #, c-format -msgid "file: invalid file operation: %s" +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "" -#: function.c:2660 +#: function.c:2601 #, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "" #: getopt.c:659 @@ -562,7 +546,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "" @@ -606,182 +590,210 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr "" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr "" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +#: job.c:503 #, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s: recipe for target '%s' failed" msgstr "" -#: job.c:599 +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "" + +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "" -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr "" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" "Counted %d args in failed launch\n" msgstr "" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "" -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" +msgid "%s: Command not found" msgstr "" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -810,200 +822,200 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "" -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr "" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" msgstr "" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" msgstr "" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" msgstr "" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr "" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" msgstr "" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" msgstr "" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " "N.\n" msgstr "" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " "them.\n" msgstr "" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " "it.\n" msgstr "" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr "" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" msgstr "" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr "" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr "" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr "" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" msgstr "" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1013,171 +1025,214 @@ "ExceptionAddress = 0x%p\n" msgstr "" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "" -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" msgstr "" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "" -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "" -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "" -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "" -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "" -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "" -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "" -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr "" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" "This program built for %s\n" msgstr "" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" "This program built for %s (%s)\n" msgstr "" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "" + +#: vmsjobs.c:681 #, c-format -msgid "DCL: %s\n" +msgid "Redirected error to %s\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" msgstr "" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "" -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" "# %u 'vpath' search paths.\n" msgstr "" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." msgstr "" -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" "# " msgstr "" - -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" diff -Nru make-dfsg-4.2.1/po/Makevars make-dfsg-4.1/po/Makevars --- make-dfsg-4.2.1/po/Makevars 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/po/Makevars 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ # This is a -*-Makefile-*- -# Copyright (C) 2002-2016 Free Software Foundation, Inc. +# Copyright (C) 2002-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/nl.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/nl.gmo differ diff -Nru make-dfsg-4.2.1/po/nl.po make-dfsg-4.1/po/nl.po --- make-dfsg-4.2.1/po/nl.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/nl.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,17 +1,17 @@ # Dutch translations for GNU make. -# Copyright (C) 2016 Free Software Foundation, Inc. +# Copyright (C) 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. # -# "On the plus side, Miss Vernon was outstandingly good-looking." +# « A quoi bon cette forfanterie? » # # Taco Witte , 2004. -# Benno Schulenberg , 2005, 2006, 2007, 2010, 2013, 2014, 2016. +# Benno Schulenberg , 2005, 2006, 2007, 2010, 2013. msgid "" msgstr "" -"Project-Id-Version: make-4.2\n" +"Project-Id-Version: make-4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-27 10:23+0200\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-09 21:18+0200\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -50,85 +50,84 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: ar_member_touch() van '%s' is mislukt" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "uitpakken van module-info door lbr$set_module() is mislukt, afsluitwaarde= %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() is mislukt, afsluitwaarde = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "" -"kan bibliotheek '%s' niet openen om status van onderdeel %d op te zoeken" +msgstr "kan bibliotheek '%s' niet openen om onderdeel '%s' op te zoeken" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Onderdeel '%s'%s: %ld bytes bij %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (naam kan afgekapt zijn)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Datum %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, modus = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Recept bevat te veel regels (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Afgebroken.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Archiefonderdeel '%s' kan onecht zijn; niet verwijderd" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Archiefonderdeel '%s' kan onecht zijn; niet verwijderd" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Verwijderen van bestand '%s'" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Verwijderen van bestand '%s'" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# uit te voeren recept" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (ingebouwd):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (uit '%s', regel %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -136,62 +135,62 @@ "\n" "# Mappen\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# kan status van %s niet opvragen.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (sleutel %s, wijzigingstijd %ull): kan niet worden geopend.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (sleutel %s, wijzigingstijd %d): kan niet worden geopend.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (apparaat %d, inode [%d,%d,%d]): kan niet worden geopend.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (apparaat %ld, inode %ld): kan niet worden geopend.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (sleutel %s, wijzigingstijd %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (sleutel %s, wijzigingstijd %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (apparaat %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (apparaat %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Geen" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " bestanden, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "geen" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " onmogelijkheden" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " tot nu toe." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " onmogelijkheden in %lu mappen.\n" @@ -201,154 +200,154 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Recursieve variabele '%s' verwijst naar zichzelf (uiteindelijk)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "onafgemaakte verwijzing naar variabele" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Recept voor bestand '%s' is opgegeven in %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "Recept voor bestand '%s' werd gevonden via impliciet zoeken," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "maar '%s' wordt nu als hetzelfde bestand beschouwd als '%s'." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "Recept voor '%s' zal worden genegeerd ten gunste van die voor '%s'." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "kan enkeldubbelpunts '%s' niet hernoemen tot dubbeldubbelpunts '%s'" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "kan dubbeldubbelpunts '%s' niet hernoemen tot enkeldubbelpunts '%s'" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Verwijderen van tussentijds bestand '%s'" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Verwijderen van tussentijdse bestanden...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Huidige tijd" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Tijdsstempel ligt buiten bereik; wordt vervangen door %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Is geen doel:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Waardevol bestand (vereiste van .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Nepdoel (vereiste van .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Doel afkomstig van opdrachtregel." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "" "# Een standaard Makefile, of eentje via MAKEFILES of '-include/sinclude'." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Ingebouwde regel" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Impliciete regel-zoekopdracht is uitgevoerd." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Impliciete regel-zoekopdracht is niet uitgevoerd." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Impliciete/statische patroonstam: '%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Bestand is een tussentijds vereiste." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Maakt ook:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Wijzigingstijd is nooit gecontroleerd." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Bestand bestaat niet." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Bestand is erg oud." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Laatst gewijzigd %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Bestand is bijgewerkt." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Bestand is niet bijgewerkt." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Nog lopend recept (DIT IS EEN PROGRAMMAFOUT)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Nog lopende receptafhankelijkheden (DIT IS EEN PROGRAMMAFOUT)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Met succes bijgewerkt." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Moet worden bijgewerkt ('-q' is ingesteld)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Bijwerken is mislukt." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Ongeldige waarde in 'command_state'-onderdeel!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -356,7 +355,7 @@ "\n" "# Bestanden" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -366,122 +365,105 @@ "# hashtabel-statistieken van bestanden:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Veld '%s' is niet gecached: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "niet-numeriek eerste argument van 'word'-functie" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "eerste argument van 'word'-functie moet groter zijn dan 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "niet-numeriek eerste argument van 'wordlist'-functie" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "niet-numeriek tweede argument van 'wordlist'-functie" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe(): DuplicateHandle(In) is mislukt (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe(): DuplicateHandle(Err) is mislukt (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() is mislukt (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() is mislukt\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Opschonen van tijdelijk batch-bestand %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "file: ontbrekende bestandsnaam" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "open(): %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "write(): %s: %s" -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "close(): %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "file: te veel argumenten" +msgid "Invalid file operation: %s" +msgstr "Ongeldige bestandsbewerking: %s" -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "read(): %s: %s" - -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "file: ongeldige bestandsbewerking: %s" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "onvoldoende aantal argumenten (%d) voor functie '%s'" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "niet-geïmplementeerd op dit platform: functie '%s'" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "onafgemaakte aanroep van functie '%s': '%c' ontbreekt" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Lege functienaam" +msgstr "Lege functienaam\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Ongeldige functienaam: %s" +msgstr "Ongeldige functienaam: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Functienaam is te lang: %s" - -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Ongeldig minimumaantal argumenten (%u) voor functie %s" +msgstr "Functienaam is te lang: %s\n" -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Ongeldig maximumaantal argumenten (%u) voor functie %s" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Ongeldig minimumaantal argumenten (%d) voor functie '%s'\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "Ongeldig maximumaantal argumenten (%d) voor functie '%s'\n" #: getopt.c:659 #, c-format @@ -580,7 +562,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Zoeken naar archiefonderdeel-impliciete regel voor '%s'.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Impliciete regelrecursie wordt ontweken.\n" @@ -624,76 +606,100 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Zoeken naar een regel met tussentijds bestand '%s'.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Kan geen tijdelijk bestand aanmaken\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (geheugendump gemaakt)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (genegeerd)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: recept voor doel '%s' is mislukt" + +#: job.c:516 job.c:524 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Fout %d%s" +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Fout %d%s" -#: job.c:599 +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Fout 0x%x%s" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Wachten op onvoltooide taken..." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Levend dochterproces %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (ginds)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Beëindigen van verliezend dochterproces %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Beëindigen van winnend dochterproces %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Opschonen van tijdelijk batch-bestand %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Opschonen van tijdelijk batch-bestand %s is mislukt (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Verwijderen van dochterproces %p PID %s%s uit de ketting.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "vrijgeven van taakserver-semafoor: (Fout %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Token vrijgegeven voor dochterproces %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "schrijven naar taakserver" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() kan geen proces starten (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -702,100 +708,104 @@ "\n" "%d argumenten geteld bij mislukte start\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Opname van dochterproces %p (%s) PID %s%s in de ketting.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "wachten op semafoor of dochterproces: (Fout %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Token verkregen voor dochterproces %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "lezen van taken-pijp" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: doel '%s' bestaat niet" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: bijwerken van doel '%s' vanwege: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "kan belastingsgrenzen niet afdwingen op dit besturingssysteem" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "kan belastingsgrens niet afdwingen: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" "geen bestandshandvatten meer beschikbaar: kan standaardinvoer niet " "dupliceren\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" "geen bestandshandvatten meer beschikbaar: kan standaarduitvoer niet " "dupliceren\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" "geen bestandshandvatten meer beschikbaar: kan standaardfoutuitvoer niet " "dupliceren\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Kan standaardinvoer niet herstellen\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Kan standaarduitvoer niet herstellen\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Kan standaardfoutuitvoer niet herstellen\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" "'make' heeft dochterproces met PID %s verwerkt, maar wacht nog op PID %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Opdracht niet gevonden\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Opdracht niet gevonden\n" +msgid "%s: Command not found" +msgstr "%s: Opdracht niet gevonden" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Shell-programma niet gevonden" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: mogelijk geen omgevingsruimte meer beschikbaar" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL is gewijzigd (was '%s', is nu '%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Maken van tijdelijk batch-bestand %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -803,7 +813,7 @@ "Inhoud van batch-bestand:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -812,7 +822,7 @@ "Inhoud van batch-bestand:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (regel %d) Onjuiste shell-context (!unixy && !batch_mode_shell)\n" @@ -843,62 +853,62 @@ msgid "Empty symbol name for load: %s" msgstr "Lege symboolnaam om te laden: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Laden van symbool %s uit %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "De 'load'-operatie wordt op dit platform niet ondersteund." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opties:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr "" " -b, -m (genegeerd, maar herkend wegens " "compatibiliteit)\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make onvoorwaardelijk alle doelen maken\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" msgstr "" " -C MAP, --directory=MAP naar deze map gaan alvorens iets te doen\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d veel informatie weergeven voor het debuggen\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=VLAGGEN] verschillende soorten debuginformatie " "weergeven\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" msgstr "" " -e, --environment-overrides omgevingsvariabelen gaan boven Makefiles\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=TEKST deze TEKST als Makefile-statement evalueren\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -907,15 +917,15 @@ " het gegeven bestand als Makefile gebruiken\n" "\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help deze hulptekst tonen en stoppen\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors alle fouten in recepten negeren\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -923,7 +933,7 @@ " -I MAP, --include-dir=MAP deze map doorzoeken naar ingesloten " "Makefiles\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -931,14 +941,14 @@ " -j [N], --jobs[=N] het uitvoeren van N taken tegelijk toestaan;\n" " zonder N is het aantal onbeperkt\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going doorgaan als een doel niet gemaakt kan " "worden\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -948,7 +958,7 @@ " alleen extra taken starten als de\n" " systeembelasting lager is dan N\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -957,7 +967,7 @@ " de laatste wijzigingstijd gebruiken\n" "\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -966,7 +976,7 @@ " -n, --just-print, --dry-run, --recon\n" " recepten niet uitvoeren, alleen weergeven\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -976,7 +986,7 @@ " BESTAND als oud beschouwen, niet opnieuw " "maken\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -985,12 +995,12 @@ " uitvoer van parallelle taken synchroniseren " "op TYPE\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base interne gegevensbank van 'make' weergeven\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -998,47 +1008,47 @@ " -q, --question geen recepten uitvoeren; de afsluitwaarde\n" " geeft aan of alles bijgewerkt is\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules ingebouwde impliciete regels uitzetten\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables ingebouwde instellingen van variabelen " "uitzetten\n" "\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet recepten niet weergeven\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" msgstr " -S, --no-keep-going, --stop optie '-k' uitzetten\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch doelen aanraken in plaats van opnieuw maken\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace tracing-informatie weergeven\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version programmaversie tonen en stoppen\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory de huidige map weergeven\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1046,7 +1056,7 @@ " --no-print-directory optie '-w' uitzetten, ook als deze impliciet\n" " was aangezet\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1054,7 +1064,7 @@ " -W BESTAND, --what-if=BESTAND, --new-file=BESTAND, --assume-new=BESTAND\n" " BESTAND als oneindig nieuw beschouwen\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1062,26 +1072,26 @@ " --warn-undefined-variables waarschuwen als naar een ongedefinieerde\n" " variabele wordt verwezen\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "lege tekenreeks is ongeldig als bestandsnaam" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "onbekende aanduiding '%s' voor debug-niveau" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "onbekend uitvoersynchronisatie-type: '%s'" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Onderbreking/uitzondering gekregen (code = 0x%lx, adres = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1096,140 +1106,184 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Toegangsrechtenovertreding: schrijfopdracht op adres 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Toegangsrechtenovertreding: leesopdracht op adres 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() stelt default_shell = %s in\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" "find_and_set_shell() stelt na doorzoeken van pad default_shell = %s in\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s slaapt gedurende 30 seconden..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "klaar met 30 seconden slapen. Make gaat verder.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"Waarschuwing: taakserver is onbeschikbaar: '-j1' wordt gebruikt. Voeg '+' " -"toe aan de ouderregel." +"*interne fout*: kan taakserver-semafoor '%s' niet openen: (Fout %ld: %s)" -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Taakservercliënt (semafoor %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "*interne fout*: ongeldige tekenreeks '%s' voor '--jobserver-fds'" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Taakservercliënt (bestandsdescriptor %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "Waarschuwing: '-jN' is afgedwongen in een deelproces: taakserver-modus " "uitgezet." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dubbele taakserver" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"Waarschuwing: taakserver is onbeschikbaar: '-j1' wordt gebruikt. Voeg '+' " +"toe aan de ouderregel." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile op standaardinvoer is dubbel opgegeven." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (tijdelijk bestand)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (tijdelijk bestand)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Parallelle taken (-j) worden op dit platform niet ondersteund." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Opnieuw instellen op enkele-taakmodus (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Taakserver-plaatsen zijn beperkt tot %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "aanmaken van taakserver-semafoor: (Fout %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "aanmaken van taken-pijp" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "initialiseren van taakserver-pijp" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "" "Symbolische koppelingen worden niet ondersteund: '-L' wordt uitgeschakeld." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Bijwerken van Makefiles...\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Makefile '%s' bevat mogelijk een lus; wordt niet opnieuw gemaakt.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Opnieuw maken van Makefile '%s' is mislukt." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Ingesloten Makefile '%s' is niet gevonden." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Makefile '%s' is niet gevonden." -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Kan niet terugkeren naar oorspronkelijke map." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Opnieuw uitvoeren[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "verwijderen (van tijdelijk bestand): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL bevat meer dan één doel" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Geen doelen opgegeven en geen Makefile gevonden" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Geen doelen" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Bijwerken van doelen...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "Waarschuwing: Klokafwijking geconstateerd. Het maken is mogelijk " "onvolledig gebeurd." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Gebruik: %s [OPTIES] [DOEL]...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1238,7 +1292,7 @@ "\n" "Dit programma is gecompileerd voor %s.\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1247,34 +1301,34 @@ "\n" "Dit programma is gecompileerd voor %s (%s).\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" "Rapporteer programmafouten aan ,\n" "meld gebreken in de vertaling aan .\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "de optie '%s%sc' vereist een niet-lege tekenreeks als argument" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "de optie '-%c' vereist een positief geheel getal als argument" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sDit programma is gecompileerd voor %s.\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sDit programma is gecompileerd voor %s (%s).\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "INGEBOUWDE CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Onbekende ingebouwde opdracht '%s'\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Fout: lege opdracht\n" + +#: vmsjobs.c:674 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Redirected input from %s\n" +msgstr "Invoer wordt omgeleid van %s\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Foutuitvoer wordt omgeleid naar %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Uitvoer wordt toegevoegd aan %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Uitvoer wordt omgeleid naar %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Toevoegen van %.*s en opschoning\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "In plaats daarvan wordt %s uitgevoerd\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Fout bij proces-start, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2166,11 +2235,11 @@ "\n" "# VPATH-zoekpaden\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Geen 'vpath'-zoekpaden." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2179,7 +2248,7 @@ "\n" "# %u 'vpath'-zoekpaden.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2187,7 +2256,7 @@ "\n" "# Geen algemeen zoekpad ('VPATH'-variabele)." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2197,79 +2266,6 @@ "# Algemeen zoekpad ('VPATH'-variabele):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Taakserver-plaatsen zijn beperkt tot %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "aanmaken van taakserver-semafoor: (Fout %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"*interne fout*: kan taakserver-semafoor '%s' niet openen: (Fout %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Taakservercliënt (semafoor %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "vrijgeven van taakserver-semafoor: (Fout %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "wachten op semafoor of dochterproces: (Fout %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: recept voor doel '%s' is mislukt" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Fout 0x%x%s" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Waarschuwing: lege omleiding\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "*interne fout*: '%s' command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "INGEBOUWD [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "INGEBOUWDE ECHO %s->%s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Onbekende ingebouwde opdracht '%s'\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "" -#~ "Ingebouwde opdracht is onbekend of wordt niet ondersteund in .ONESHELL: " -#~ "'%s'\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Fout: lege opdracht\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Invoer wordt omgeleid van %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Foutuitvoer wordt omgeleid naar %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Uitvoer wordt omgeleid naar %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Fout bij processtart, %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "*interne fout*: meerdere opties '--sync-mutex'" @@ -2325,6 +2321,9 @@ #~ "%sEr is GEEN garantie; zelfs niet voor VERHANDELBAARHEID of\n" #~ "%sGESCHIKTHEID VOOR EEN BEPAALD DOEL.\n" +#~ msgid "extraneous `endef'" +#~ msgstr "extra 'endef'" + #~ msgid "empty `override' directive" #~ msgstr "lege 'override'-opdracht" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/pl.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/pl.gmo differ diff -Nru make-dfsg-4.2.1/po/pl.po make-dfsg-4.1/po/pl.po --- make-dfsg-4.2.1/po/pl.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/pl.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,15 +1,15 @@ # Polish translation for GNU make. -# Copyright (C) 1996, 2002, 2005, 2006, 2010, 2013, 2014, 2016 Free Software Foundation, Inc. +# Copyright (C) 1996, 2002, 2005, 2006, 2010, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. # PaweÅ‚ Krawczyk , 1996. -# Jakub Bogusz , 2002-2016. +# Jakub Bogusz , 2002-2013. # msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-22 21:47+0200\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-13 10:48+0200\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "Language: pl\n" @@ -46,85 +46,85 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: BÅ‚Ä™dny kod powrotu z ar_member_touch w '%s'" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "Uzyskanie informacji o module przez lnr$set_module() nie udaÅ‚o siÄ™, status = " "%d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() nie powiodÅ‚o siÄ™, status = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "bÅ‚Ä…d otwarcia biblioteki '%s' podczas szukania stanu elementu %d" +msgstr "bÅ‚Ä…d otwarcia biblioteki '%s' podczas szukania elementu '%s'" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Element '%s'%s: %ld bajtów pod %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (nazwa może zostać okrojona)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Data %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mode = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Polecenia majÄ… za dużo linii (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Przerwano.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Element archiwum '%s' może być faÅ‚szywy; nie usuniÄ™ty" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Element archiwum '%s' może być faÅ‚szywy; nie usuniÄ™ty" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] KasujÄ™ plik '%s'" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** KasujÄ™ plik '%s'" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# polecenia do wykonania" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (wbudowane):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (z '%s', linia %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -132,62 +132,62 @@ "\n" "# Katalogi\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: stat() zwraca bÅ‚Ä…d.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (klucz %s, czas modyfikacji %ull): otwarcie byÅ‚o niemożliwe.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (klucz %s, czas modyfikacji %d): otwarcie byÅ‚o niemożliwe.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (urzÄ…dzenie %d, i-wÄ™zeÅ‚ [%d,%d,%d]): otwarcie byÅ‚o niemożliwe.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (urzÄ…dzenie %ld, i-wÄ™zeÅ‚ %ld): otwarcie byÅ‚o niemożliwe.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (klucz %s, czas modyfikacji %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (klucz %s, czas modyfikacji %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (urzÄ…dzenie %d, i-wÄ™zeÅ‚ [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (urzÄ…dzenie %ld, i-wÄ™zeÅ‚ %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Nie" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " pliki, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "nie" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " niemożliwoÅ›ci" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " jak dotÄ…d." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " niemożliwoÅ›ci w %lu katalogach.\n" @@ -197,156 +197,156 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Rekurencyjna zmienna '%s' wskazuje na samÄ… siebie" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "niezakoÅ„czone odwoÅ‚anie do zmiennej" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Polecenia dla pliku '%s' podano w %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" "Polecenia dla pliku '%s' zostaÅ‚y wyznaczone na podstawie reguÅ‚ standardowych," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "ale '%s' jest teraz uznawany za ten sam plik co '%s'." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "Polecenia dla '%s' zostanÄ… zignorowane na rzecz poleceÅ„ dla '%s'." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "nie można przemianować '%s' z pojedynczym dwukropkiem na '%s' z podwójnym" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" "nie można przemianować '%s' z podwójnym dwukropkiem na '%s' z pojedynczym" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Kasowanie pliku poÅ›redniego '%s'" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Kasowanie plików poÅ›rednich...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Aktualny czas" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Oznaczenie czasu spoza zakresu; zastÄ…piono %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# To nie jest obiekt:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Cenny plik (zależność .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Obiekt niejawny (zależność .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Obiekt podany w linii poleceÅ„." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Makefile domyÅ›lny, wymieniony w MAKEFILES lub -include/sinclude." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# ReguÅ‚a wbudowana" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Szukanie reguÅ‚ domyÅ›lnych zostaÅ‚o wykonane." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Szukanie reguÅ‚ domyÅ›lnych nie zostaÅ‚o wykonane." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Gałąź wzorców domyÅ›lnych/statycznych: '%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Plik jest zależnoÅ›ciÄ… przejÅ›ciowÄ…." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Robi również:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Czas modyfikacji nie byÅ‚ sprawdzany." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Plik nie istnieje." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Plik jest bardzo stary." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Ostatnio modyfikowany %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Plik zostaÅ‚ uaktualniony." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Plik nie zostaÅ‚ uaktualniony." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Aktualnie uruchamiane polecenia (TO JEST BÅÄ„D)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Aktualnie uruchamiane polecenia zależnoÅ›ci (TO JEST BÅÄ„D)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Uaktualnienie powiodÅ‚o siÄ™." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Powinien być uaktualniony (-q jest wÅ‚Ä…czone)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Uaktualnianie nie powiodÅ‚o siÄ™." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# BÅ‚Ä™dna wartość w elemencie 'command_state'!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -354,7 +354,7 @@ "\n" "# Pliki" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -364,122 +364,105 @@ "# statystyki tablic haszujÄ…cych plików:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Pole '%s' nie zapamiÄ™tane w pamiÄ™ci podrÄ™cznej: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "pierwszy argument funkcji 'word' nie jest liczbowy" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "pierwszy argument funkcji 'word' musi być wiÄ™kszy od 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "pierwszy argument funkcji 'wordlist' nie jest liczbowy" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "drugi argument funkcji 'wordlist' nie jest liczbowy" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) nie powiodÅ‚o siÄ™ (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(Err) nie powiodÅ‚o siÄ™ (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() nie powiodÅ‚o siÄ™ (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() nie powiodÅ‚o siÄ™\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "CzyszczÄ™ tymczasowy plik wsadowy %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "plik: brak nazwy" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "otwarcie: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "zapis: %s: %s" -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "zamkniÄ™cie: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "plik: zbyt dużo argumentów" - -#: function.c:2262 +#: function.c:2209 #, c-format -msgid "read: %s: %s" -msgstr "odczyt: %s: %s" +msgid "Invalid file operation: %s" +msgstr "BÅ‚Ä™dna operacja na pliku: %s" -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "plik: bÅ‚Ä™dna operacja na pliku: %s" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "niewystarczajÄ…ca liczba argumentów (%d) dla funkcji '%s'" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "funkcja '%s' nie jest zaimplementowana na tej platformie" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "nie dokoÅ„czone wywoÅ‚anie funkcji '%s': brak '%c'" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Pusta nazwa funkcji" +msgstr "Pusta nazwa funkcji\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "BÅ‚Ä™dna nazwa funkcji: %s" +msgstr "BÅ‚Ä™dna nazwa funkcji: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Zbyt dÅ‚uga nazwa funkcji: %s" +msgstr "Zbyt dÅ‚uga nazwa funkcji: %s\n" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "BÅ‚Ä™dna minimalna liczba argumentów (%u) dla funkcji %s" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "BÅ‚Ä™dna maksymalna liczba argumentów (%u) dla funkcji %s" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "BÅ‚Ä™dna minimalna liczba argumentów (%d) dla funkcji %s\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "BÅ‚Ä™dna maksymalna liczba argumentów (%d) dla funkcji %s\n" #: getopt.c:659 #, c-format @@ -577,7 +560,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Szukanie standardowej reguÅ‚y typu archive-member dla '%s'.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Pomijanie rekurencyjnego wywoÅ‚ania reguÅ‚y standardowej.\n" @@ -621,76 +604,100 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Szukanie reguÅ‚y zawierajÄ…cej plik przejÅ›ciowy '%s'.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Nie można utworzyć pliku tymczasowego\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (zrzut pamiÄ™ci)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (zignorowano)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: polecenia dla obiektu '%s' nie powiodÅ‚y siÄ™" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] BÅ‚Ä…d %d%s" + +#: job.c:519 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] BÅ‚Ä…d %d%s" +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] BÅ‚Ä…d 0x%x%s" -#: job.c:599 +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s]: %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Oczekiwanie na niezakoÅ„czone zadania...." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Å»yjÄ…cy potomek %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (zdalne)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Zbieranie przegrywajÄ…cego potomka %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Zbieranie wygrywajÄ…cego potomka %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Czyszczenie tymczasowego pliku wsadowego %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Czyszczenie tymczasowego pliku wsadowego %s nie powiodÅ‚o siÄ™ (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Usuwanie potomka %p PID %s%s z kolejki.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "zwalnianie semafora serwera zadaÅ„: (BÅ‚Ä…d %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Zwolniony token dla potomka %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "piszÄ…cy serwer zadaÅ„" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() nie mógÅ‚ uruchomić procesu (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -699,93 +706,97 @@ "\n" "Naliczono %d parametrów nieudanego uruchomienia\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Wstawianie potomka %p (%s) PID %s%s do kolejki.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "oczekiwanie na semafor lub proces potomny: (BÅ‚Ä…d %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Otrzymano token dla potomka %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "strumieÅ„ czytajÄ…cy zadania" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: obiekt '%s' nie istnieje" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: uaktualnianie obiektu '%s' z powodu: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "niemożliwe wymuszenie limitów obciążenia w tym systemie" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "niemożliwe wymuszenie limitu obciążenia: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "nie ma wiÄ™cej uchwytów plików: nie można powielić stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "nie ma wiÄ™cej uchwytów plików: nie można powielić stdout\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "nie ma wiÄ™cej uchwytów plików: nie można powielić stderr\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Nie można odtworzyć stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Nie można odtworzyć stdout\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Nie można odtworzyć stderr\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make usunÄ…Å‚ potomka pid %s, nadal czeka na pid %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Polecenie nie znalezione\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Polecenie nie znalezione\n" +msgid "%s: Command not found" +msgstr "%s: Polecenie nie znalezione" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Nie znaleziono programu powÅ‚oki" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: mogÅ‚o zabraknąć miejsca na Å›rodowisko" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL siÄ™ zmieniÅ‚ (byÅ‚ '%s', jest '%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Tworzenie tymczasowego pliku wsadowego %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -793,7 +804,7 @@ "Zawartość pliku wsadowego:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -802,7 +813,7 @@ "Zawartość pliku wsadowego:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (linia %d) ZÅ‚y kontekst powÅ‚oki (!unixy && !batch_mode_shell)\n" @@ -832,29 +843,29 @@ msgid "Empty symbol name for load: %s" msgstr "Pusta nazwa symbolu do wczytania: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Wczytywanie symbolu %s z %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "Operacja 'load' nie jest obsÅ‚ugiwana na tej platformie" -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opcje:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignorowane dla kompatybilnoÅ›ci.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Bezwarunkowe utworzenie wszystkich obiektów.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -863,19 +874,19 @@ " PrzejÅ›cie do KATALOGu przed robieniem\n" " czegokolwiek.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d WyÅ›wietla dużo informacji diagnostycznych.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=FLAGI] WyÅ›wietla różne rodzaje informacji\n" " diagnostycznych.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -883,14 +894,14 @@ " -e, --environment-overrides\n" " Zmienne Å›rodowiska przykrywajÄ… makefile.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=ÅAŃCUCH Wyznacza ÅAŃCUCH jako instrukcjÄ™ pliku " "makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -898,16 +909,16 @@ " -f PLIK, --file=PLIK, --makefile=PLIK\n" " Czyta PLIK jako makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr "" " -h, --help WyÅ›wietla ten komunikat i koÅ„czy dziaÅ‚anie.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Ignoruje bÅ‚Ä™dy poleceÅ„.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -915,7 +926,7 @@ " -I KATALOG, --include-dir=KATALOG\n" " Szuka doÅ‚Ä…czanych makefile w KATALOGu.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -923,14 +934,14 @@ " -j [N], --jobs[=N] Dopuszcza N zadaÅ„ naraz; brak N oznacza brak\n" " ograniczeÅ„.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Kontynuuj jeÅ›li nie da siÄ™ zrobić jakichÅ›\n" " obiektów.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -941,7 +952,7 @@ "jest\n" " poniżej N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -949,7 +960,7 @@ " -L, --check-symlink-times Używanie ostatniego mtime miÄ™dzy dowiÄ…zaniem a " "celem.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -958,7 +969,7 @@ " -n, --just-print, --dry-run, --recon\n" " Nie wykonuje poleceÅ„; jedynie je wyÅ›wietla.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -969,7 +980,7 @@ "go\n" " ponownie.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -978,11 +989,11 @@ " Sposób synchronizacji wyjÅ›cia zadaÅ„ " "równolegÅ‚ych.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base WyÅ›wietla wewnÄ™trznÄ… bazÄ™ danych make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -990,20 +1001,20 @@ " -q, --question Nie uruchamia żadnych poleceÅ„; status powrotu\n" " wskazuje aktualność.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules WyÅ‚Ä…cza wbudowane reguÅ‚y standardowe.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables WyÅ‚Ä…cza ustawianie wbudowanych zmiennych.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Nie wypisuje poleceÅ„.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1011,25 +1022,25 @@ " -S, --no-keep-going, --stop\n" " WyÅ‚Ä…cza -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr " -t, --touch Uaktualnia obiekty zamiast je robić.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Wypisywanie informacji ze Å›ledzenia.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version WyÅ›wietla wersjÄ™ make i koÅ„czy dziaÅ‚anie.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory WyÅ›wietla aktualny katalog.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1037,7 +1048,7 @@ " --no-print-directory WyÅ‚Ä…cza -w, nawet jeÅ›li byÅ‚o ono wÅ‚Ä…czone\n" " domyÅ›lnie.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1045,7 +1056,7 @@ " -W PLIK, --what-if=PLIK, --new-file=PLIK, --assume-new=PLIK\n" " Uznaje PLIK za nieskoÅ„czenie nowy.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1054,26 +1065,26 @@ "niezdefiniowanych\n" " zmiennych.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "pusty Å‚aÅ„cuch nie może być nazwÄ… pliku" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "nieznany poziom diagnostyki '%s'" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "nieznany sposób synchronizacji wyjÅ›cia '%s'" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: zÅ‚apano przerwanie/wyjÄ…tek (kod = 0x%lx, adres = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1088,134 +1099,179 @@ "ExceptionFlags = %lx\n" "ExceptionAddress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Naruszenie praw dostÄ™pu: zapis pod adresem 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Naruszenie praw dostÄ™pu: odczyt spod adresu 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() ustawia default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell() ustawia Å›cieżkÄ™ wyszukiwania default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s jest zawieszony na 30 sekund..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "zakoÅ„czono sleep(30). Kontynuacja.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"uwaga: serwer zadaÅ„ niedostÄ™pny: użycie -j1. Należy dodać `+' do nadrzÄ™dnej " -"reguÅ‚y make." +"bÅ‚Ä…d wewnÄ™trzny: nie udaÅ‚o siÄ™ otworzyć semafora serwera zadaÅ„ '%s': (BÅ‚Ä…d " +"%ld: %s)" -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Klient serwera zadaÅ„ (semafor %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "bÅ‚Ä…d wewnÄ™trzny: bÅ‚Ä™dny Å‚aÅ„cuch --jobserver-fds '%s'" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Klient serwera zadaÅ„ (fds %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "uwaga: -jN wymuszone w podzadaniu: wyÅ‚Ä…czanie trybu serwera zadaÅ„." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "duplikacja serwera zadaÅ„" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"uwaga: serwer zadaÅ„ niedostÄ™pny: użycie -j1. Należy dodać `+' do nadrzÄ™dnej " +"reguÅ‚y make." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile ze standardowego wejÅ›cia podano dwukrotnie." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (plik tymczasowy)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (plik tymczasowy)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "RównolegÅ‚e zadania (-j) nie sÄ… obsÅ‚ugiwane na tej platformie" -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "PrzeÅ‚Ä…czanie w tryb jednozadaniowy (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Pojemność serwera zadaÅ„ ograniczona do %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "tworzenie semafora serwera zadaÅ„: (BÅ‚Ä…d %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "tworzenie potoku zadaÅ„" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "inicjowanie potoku serwera zadaÅ„" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "DowiÄ…zania symboliczne nie sÄ… obsÅ‚ugiwane: wyÅ‚Ä…czono -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Uaktualnianie plików makefile....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Plik makefile '%s' może siÄ™ zapÄ™tlić; bez ponownego przetwarzania.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Nie udaÅ‚o siÄ™ ponownie przetworzyć pliku makefile '%s'." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Nie znaleziono wÅ‚Ä…czanego pliku makefile '%s'." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Nie znaleziono pliku makefile '%s'" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Niemożliwy powrót do katalogu startowego." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Ponowne uruchamianie[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (plik tymczasowy): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL zawiera wiÄ™cej niż jeden cel" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Nie podano obiektów i nie znaleziono makefile" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Brak obiektów" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Uaktualnianie obiektów docelowych....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "uwaga: Wykryto przestawienie zegara. Budowanie może być niekompletne." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "SkÅ‚adnia: %s [opcje] [obiekt] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1224,7 +1280,7 @@ "\n" "Ten program zostaÅ‚ zbudowany dla %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1233,32 +1289,32 @@ "\n" "Ten program zostaÅ‚ zbudowany dla %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "BÅ‚Ä™dy proszÄ™ zgÅ‚aszać na adres \n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "opcja '%s%s' wymaga niepustego Å‚aÅ„cucha jako argumentu" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "opcja '-%c' wymaga argumentu bÄ™dÄ…cego liczbÄ… caÅ‚kowitÄ… dodatniÄ…" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sTen program zostaÅ‚ zbudowany dla systemu %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sTen program zostaÅ‚ zbudowany dla systemu %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "WBUDOWANE CD %s\n" + +#: vmsjobs.c:505 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Unknown builtin command '%s'\n" +msgstr "Nieznane polecenie wbudowane '%s'\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "BÅ‚Ä…d, puste polecenie\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Przekierowane wejÅ›cie z %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Przekierowane wyjÅ›cie diagnostyczne do %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "DoÅ‚Ä…czanie wyjÅ›cia do %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Przekierowane wyjÅ›cie do %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "DoÅ‚Ä…czanie %.*s i czyszczenie\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Zamiast tego wykonywanie %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "BÅ‚Ä…d podczas uruchamiania, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2140,11 +2212,11 @@ "\n" "# Åšcieżki przeszukiwania VPATH\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Brak Å›cieżek przeszukiwania 'vpath'" -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2153,7 +2225,7 @@ "\n" "# %u Å›cieżek przeszukiwania 'vpath'.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2161,7 +2233,7 @@ "\n" "# Brak ogólnej (zmienna 'VPATH') Å›cieżki przeszukiwania." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2171,35 +2243,17 @@ "# Ogólna (zmienna 'VPATH') Å›cieżka przeszukiwania:\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Pojemność serwera zadaÅ„ ograniczona do %d\n" +#~ msgid "internal error: multiple --sync-mutex options" +#~ msgstr "bÅ‚Ä…d wewnÄ™trzny: wiele opcji --sync-mutex" -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "tworzenie semafora serwera zadaÅ„: (BÅ‚Ä…d %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"bÅ‚Ä…d wewnÄ™trzny: nie udaÅ‚o siÄ™ otworzyć semafora serwera zadaÅ„ '%s': (BÅ‚Ä…d " -"%ld: %s)" +#~ msgid "internal error: multiple --jobserver-fds options" +#~ msgstr "bÅ‚Ä…d wewnÄ™trzny: wiele opcji --jobserver-fds" -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Klient serwera zadaÅ„ (semafor %s)\n" +#~ msgid "virtual memory exhausted" +#~ msgstr "brak pamiÄ™ci wirtualnej" -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "zwalnianie semafora serwera zadaÅ„: (BÅ‚Ä…d %ld: %s)" +#~ msgid "write error" +#~ msgstr "bÅ‚Ä…d zapisu" -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "oczekiwanie na semafor lub proces potomny: (BÅ‚Ä…d %ld: %s)" +#~ msgid "BUILTIN RM %s\n" +#~ msgstr "WBUDOWANE RM %s\n" diff -Nru make-dfsg-4.2.1/po/POTFILES.in make-dfsg-4.1/po/POTFILES.in --- make-dfsg-4.2.1/po/POTFILES.in 2016-03-09 04:39:55.000000000 +0000 +++ make-dfsg-4.1/po/POTFILES.in 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ # List of source files containing translatable strings. -# Copyright (C) 2000-2016 Free Software Foundation, Inc. +# Copyright (C) 2000-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -32,7 +32,6 @@ main.c misc.c output.c -posixos.c read.c remake.c remote-cstms.c @@ -44,4 +43,3 @@ vmsfunctions.c vmsjobs.c vpath.c -w32/w32os.c Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/pt_BR.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/pt_BR.gmo differ diff -Nru make-dfsg-4.2.1/po/pt_BR.po make-dfsg-4.1/po/pt_BR.po --- make-dfsg-4.2.1/po/pt_BR.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/pt_BR.po 2016-01-16 10:25:59.000000000 +0000 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: GNU make 3.82\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2013-01-09 23:04-0300\n" "Last-Translator: Fábio Henrique F. Silva \n" "Language-Team: Brazilian Portuguese " msgstr " (embutido):" -#: job.c:510 +#: job.c:503 #, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s: recipe for target '%s' failed" +msgstr "aviso: sobreescrevendo os comandos para o alvo `%s'" + +#: job.c:516 job.c:524 +#, fuzzy, c-format +msgid "%s[%s] Error %d%s" msgstr "** [%s] Erro %d" -#: job.c:599 +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] Erro 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "** Esperando que outros processos terminem." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Filho ativo %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (remoto)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Descarregando processo filho %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Descarregando processo filho %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Apagando o arquivo de lote temporário: %s\n" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Apagando o arquivo de lote temporário: %s\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Removendo o processo filho %p PID %s%s da cadeia.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Liberado sinalizador para o processo filho %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "gravar jobserver" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() falhou ao executar o processo (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -711,95 +717,99 @@ "\n" "Contados %d args na falha de execução\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Colocando o processo filho %p (%s) PID %s%s na cadeia.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Obtido o sinalizador para o processo filho %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "tarefas canalizadas lidas" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "touch: Arquivo `%s' não existe" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "%sSem regra para processar o alvo `%s', necessário por `%s'%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "não pôde forçar os limites de carga neste sistema operacional" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "não pôde forçar a carga limite:" -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "sem manipuladores de arquivos: não é possível duplicar stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "sem manipuladores de arquivos: não é possível duplicar stdout\n" -#: job.c:2074 +#: job.c:2278 #, fuzzy msgid "no more file handles: could not duplicate stderr\n" msgstr "sem manipuladores de arquivos: não é possível duplicar stdin\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Não é possível restaurar stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Não é possível restaurar stdout\n" -#: job.c:2105 +#: job.c:2309 #, fuzzy msgid "Could not restore stderr\n" msgstr "Não é possível restaurar stdin\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "processo filho descarregado: pid %s, aguardando pelo pid %s\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: Comando não encontrado" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: Comando não encontrado" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Interpretador de comandos não encontrado" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: o espaço de ambiente pode estar cheio" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL alterado (era `%s' e agora é `%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Criando arquivo de lote temporário %s\n" -#: job.c:3030 +#: job.c:3206 #, fuzzy msgid "" "Batch file contents:\n" @@ -808,7 +818,7 @@ "Conteúdo do arquivo de lote:%s\n" "\t%s\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -817,7 +827,7 @@ "Conteúdo do arquivo de lote:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (linha %d) contexto inválido (!unixy && !batch_mode_shell)\n" @@ -846,30 +856,30 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr "Tarefas paralelas (-j) não são suportadas nesta plataforma." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Opções:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignorado para compatibilidade.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Processa todos os alvos incondicionalmente.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -877,18 +887,18 @@ " -C DIRETÓRIO, --directory=DIRETÓRIO\n" " Muda para o DIRETÓRIO antes de fazer algo.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d Imprime muita informação de depuração.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=OPÇÕES] Imprime vários tipos de informações de " "depuração.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -896,14 +906,14 @@ " -e, --environment-overrides\n" " Assume os valores das variáveis de ambiente.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=STRING Avalia a STRING como uma declaração para um " "makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -911,15 +921,15 @@ " -f ARQUIVO, --file=ARQUIVO, --makefile=ARQUIVO\n" " Lê o ARQUIVO como se fosse um arquivo make.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Imprime esta mensagem e sai.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Ignora os erros dos comandos.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -928,7 +938,7 @@ " Pesquisa o DIRETÒRIO por arquivos make a " "incluir.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -936,14 +946,14 @@ " -j [N], --jobs[=N] Permite N tarefas de uma vez; tarefas infinitas " "sem argumentos.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Continua mesmo que alguns alvos não possam ser " "processados.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -953,7 +963,7 @@ " Não inicia múltiplas tarefas a menos que a " "carga seja menor que N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -961,7 +971,7 @@ "-L, --check-symlink-times Usa o tempo mais antigo entre o vínculo simbólico " "e o alvo.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -971,7 +981,7 @@ " Não executa quaisquer comandos; apenas imprime-" "os.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -981,18 +991,18 @@ " Considera o ARQUIVO como muito antigo e não " "reprocessá-o.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base Imprime o banco de dados interno do make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -1000,21 +1010,21 @@ " -q, --question Não executa os comandos; O código de saida " "indica se está atualizado.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules Desabilita as regras implícitas.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Desabilita a configuração das variáveis " "embutidas.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Não ecoa os comandos.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1022,28 +1032,28 @@ " -S, --no-keep-going, --stop\n" " Desativa a opção -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Executa um `touch' nos alvos ao invés de " "reprocessá-los.\n" -#: main.c:398 +#: main.c:373 #, fuzzy msgid " --trace Print tracing information.\n" msgstr " -d Imprime muita informação de depuração.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Imprime o número de versão do make e sai.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Imprime o diretório atual.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1051,7 +1061,7 @@ " --no-print-directory Desativa a opção -w, mesmo que ela esteja " "implicitamente ativada.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1059,7 +1069,7 @@ " -W ARQUIVO, --what-if=ARQUIVO, --new-file=ARQUIVO, --assume-new=ARQUIVO\n" " Considera o ARQUIVO infinitamente novo.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1067,26 +1077,26 @@ " --warn-undefined-variables Avisa quando um variável não definida for " "referenciada.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "Cadeia de caracteres vazia não é válida como nome de arquivo" -#: main.c:766 +#: main.c:737 #, fuzzy, c-format msgid "unknown debug level specification '%s'" msgstr "nível de depuração desconhecido: `%s'" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Interrupção/Exceção capturada (código = 0x%lx, endereço = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1101,133 +1111,176 @@ "SinalExceção = %lx\n" "EndereçoExceção = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Violação de acesso: operação de escrita no endereço 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Violação de acesso: operação de leitura no endereço 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() definiu o default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell(), caminho de pesquisa do default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s está suspenso por 30 segundos..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) concluido. Continuando.\n" -#: main.c:1627 -#, fuzzy +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." -msgstr "aviso: jobserver indisponível: usando -j1. Inclua `+' na regra pai." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +#: main.c:1530 +#, fuzzy, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Cliente Jobserver (fds %d,%d)\n" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "erro interno: valor `%s' inválido para --jobserver-fds" -#: main.c:1635 +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Cliente Jobserver (fds %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "aviso: -jN forçado no submake: desabilitando o modo jobserver." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup jobserver" + +#: main.c:1570 +#, fuzzy +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "aviso: jobserver indisponível: usando -j1. Inclua `+' na regra pai." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile na entrada padrão especificado duas vezes." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (arquivo temporário)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (arquivo temporário)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Tarefas paralelas (-j) não são suportadas nesta plataforma." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Reiniciando no modo de tarefa única (-j1)." -#: main.c:2088 +#: main.c:1994 +#, fuzzy, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Cliente Jobserver (fds %d,%d)\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "criando canalização de tarefas" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "inicializando a canalização do jobserver" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Vínculos simbólicos não são suportados: desabilite -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Atualizando os arquivos makefiles ...\n" -#: main.c:2195 +#: main.c:2158 #, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "O arquivo `%s' pode estar em loop; não reprocessá-lo.\n" -#: main.c:2279 +#: main.c:2237 #, fuzzy, c-format msgid "Failed to remake makefile '%s'." msgstr "Problemas ao reprocessar o arquivo `%s'." -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr "Arquivo `%s' incluido não foi encontrado." -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "O arquivo `%s' não foi encontrado." -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Não foi possível voltar ao diretório original." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Re-executando[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "desvinculado (arquivos temporário): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ". DEFAULT_GOAL contém mais do que um alvo" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Nenhum alvo indicado e nenhum arquivo make encontrado" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Sem alvo" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Atualizando os objetivos finais...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "aviso: O relógio está errado. Sua compilação pode ficar incompleta." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Uso: %s [opções] [alvo] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1236,7 +1289,7 @@ "\n" "Este programa foi compilado para %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1245,32 +1298,32 @@ "\n" "Este programa foi compilado para %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Informe os problemas para .\n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "a opção `%s%s' requer um argumento não vazio" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "a opção `-%c' requer um argumento inteiro positivo" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sCompilado para %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sCompilado para %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "CD EMBUTIDO %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Comando embutido desconhecido `%s'.\n" + +#: vmsjobs.c:592 #, c-format -msgid "DCL: %s\n" +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Erro, comando vazio\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Entrada de %s redirecionada\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Erro redirecionado para %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Saida redirecionada para %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Saida redirecionada para %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Acrescentado %.*s e limpo\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Executando %s ao invés de\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Erro de execução, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2159,12 +2221,12 @@ "\n" "# Caminho VPATH\n" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr "# Sem caminho `vpath'." -#: vpath.c:622 +#: vpath.c:602 #, fuzzy, c-format msgid "" "\n" @@ -2173,7 +2235,7 @@ "\n" "# %u caminhos `vpath'.\n" -#: vpath.c:625 +#: vpath.c:605 #, fuzzy msgid "" "\n" @@ -2182,7 +2244,7 @@ "\n" "# Sem caminho genérico (variável `VPATH')." -#: vpath.c:631 +#: vpath.c:611 #, fuzzy msgid "" "\n" @@ -2193,46 +2255,12 @@ "# Caminho genérico (variável `VPATH'):\n" "# " -#: w32/w32os.c:46 -#, fuzzy, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Cliente Jobserver (fds %d,%d)\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, fuzzy, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Cliente Jobserver (fds %d,%d)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# Valor inválido no membro `update_status' !" #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] Erro 0x%x (ignorado)" -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] Erro 0x%x" - #~ msgid "Invoking recipe from %s:%lu to update target `%s'.\n" #~ msgstr "Chamando os comandos de %s:%lu para atualizar o alvo `%s'.\n" @@ -2242,9 +2270,6 @@ #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "erro interno: múltiplas opções --jobserver-fds" -#~ msgid "dup jobserver" -#~ msgstr "dup jobserver" - #~ msgid "virtual memory exhausted" #~ msgstr "A memória virtual encheu" @@ -2263,36 +2288,9 @@ #~ "# tabela hash de arquivos:\n" #~ "#" -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Aviso: Redireção vazia\n" - -#~ msgid "internal error: `%s' command_state" -#~ msgstr "erro interno: `%s' command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "EMBUTIDO [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "RM EMBUTIDO %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Comando embutido desconhecido `%s'.\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Erro, comando vazio\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Entrada de %s redirecionada\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Erro redirecionado para %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Saida redirecionada para %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Erro de execução, %d\n" - #~ msgid "process_easy() failed failed to launch process (e=%ld)\n" #~ msgstr "process_easy() falhou ao executar o processo (e=%ld)\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/ru.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/ru.gmo differ diff -Nru make-dfsg-4.2.1/po/Rules-quot make-dfsg-4.1/po/Rules-quot --- make-dfsg-4.2.1/po/Rules-quot 2016-06-10 23:03:17.000000000 +0000 +++ make-dfsg-4.1/po/Rules-quot 2016-01-16 10:25:59.000000000 +0000 @@ -1,4 +1,3 @@ -# This file, Rules-quot, can be copied and used freely without restrictions. # Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot @@ -15,23 +14,13 @@ .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ + if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ - if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \ - | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \ - { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \ - $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \ - ;; \ - *) \ - $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \ - ;; \ - esac } 2>/dev/null > $$tmpdir/$$lang.new.po \ - ; then \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ diff -Nru make-dfsg-4.2.1/po/ru.po make-dfsg-4.1/po/ru.po --- make-dfsg-4.2.1/po/ru.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/ru.po 2016-01-16 10:25:59.000000000 +0000 @@ -6,20 +6,20 @@ # Alexey Mahotkin , 2001. # Denis Perchine , 2001, 2002. # Pavel Maryanov , 2009. -# Yuri Kozlov , 2009, 2010, 2013, 2014, 2016. +# Yuri Kozlov , 2009, 2010, 2013. msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-23 20:04+0300\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-10 20:44+0400\n" "Last-Translator: Yuri Kozlov \n" -"Language-Team: Russian \n" +"Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Lokalize 1.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -54,84 +54,83 @@ "обновление времени изменениÑ: Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ar_member_touch вернула\n" "ошибочное значение Ð´Ð»Ñ Â«%s»" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module() не Ñмогла извлечь информацию о модуле, ÑÑ‚Ð°Ñ‚ÑƒÑ = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$init_control() вернула код ошибки %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "" -"невозможно открыть библиотеку «%s» Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑоÑтоÑÐ½Ð¸Ñ Ñлемента %d" +msgstr "Ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ «%s» Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка Ñлемента «%s»" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Элемент «%s»%s: %ld байт по адреÑу %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (Ð¸Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть уÑечено)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Дата %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, mode = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Ð’ ÑпоÑобе Ñлишком много Ñтрок (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** ОÑтанов.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Элемент архива «%s», кажетÑÑ, недейÑтвителен; не удалён" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Элемент архива «%s», кажетÑÑ, недейÑтвителен; не удалён" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] УдалÑетÑÑ Ñ„Ð°Ð¹Ð» «%s»" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** УдалÑетÑÑ Ñ„Ð°Ð¹Ð» «%s»" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# ÑпоÑоб, который Ñледует применить" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (вÑтроенные):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (из «%s», Ñтрока %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -139,62 +138,62 @@ "\n" "# Каталоги\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: невозможно получить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð¼ stat.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (ключ %s, mtime %ull): невозможно открыть.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (ключ %s, Ð²Ñ€ÐµÐ¼Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %d): невозможно открыть.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (уÑтройÑтво %d, inode [%d,%d,%d]): невозможно открыть.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (уÑтройÑтво %ld, inode %ld): невозможно открыть.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (ключ %s, mtime %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (ключ %s, Ð²Ñ€ÐµÐ¼Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (уÑтройÑтво %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (уÑтройÑтво %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Ðет" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " файлов," -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "нет" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " недоÑтижимых целей" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " на текущий момент." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " недоÑтижимых целей в %lu каталогах.\n" @@ -204,157 +203,157 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "РекурÑÐ¸Ð²Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«%s» ÑÑылаетÑÑ Ñама на ÑÐµÐ±Ñ (в результате)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ ÑÑылка на переменную" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» был задан в %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "СпоÑоб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» был найден из неÑвного правила," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "но «%s» и «%s» теперь ÑчитаютÑÑ Ð¾Ð´Ð½Ð¸Ð¼ и тем же файлом." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" "СпоÑоб Ð´Ð»Ñ Â«%s» игнорируетÑÑ, вмеÑто него будет иÑпользован ÑпоÑоб Ð´Ð»Ñ Â«%s»." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "невозможно переименовать «%s» Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием в «%s» Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" "невозможно переименовать «%s» Ñ Ð´Ð²ÑƒÐ¼Ñ Ð´Ð²Ð¾ÐµÑ‚Ð¾Ñ‡Ð¸Ñми в «%s» Ñ Ð¾Ð´Ð½Ð¸Ð¼ двоеточием" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Удаление промежуточного файла «%s»" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Удаление промежуточных файлов...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Текущее времÑ" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Временной штамп выходит за пределы диапазона; подÑтавлÑем %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Ðе ÑвлÑетÑÑ Ñ†ÐµÐ»ÑŒÑŽ:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Ценный файл (завиÑимоÑÑ‚ÑŒ .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# ПÑевдоцель (завиÑимоÑÑ‚ÑŒ от .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Цель, Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ Ð¸Ð· командной Ñтроки." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# По умолчанию, MAKEFILES, или -include/sinclude makefile." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Ð’Ñтроенное правило" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# ПроизводилÑÑ Ð¿Ð¾Ð¸Ñк неÑвных правил." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# ПоиÑк неÑвных правил не производилÑÑ." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# ОÑнова неÑвного или ÑтатичеÑкого образца: «%s»\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Файл — Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ð°Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚ÑŒ." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Собирает также:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Ð’Ñ€ÐµÐ¼Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð¸ разу не проверÑлоÑÑŒ." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Файл не ÑущеÑтвует." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Файл очень Ñтарый." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Файл был обновлён." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Файл не был обновлён." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Ð’ данный момент уже применÑетÑÑ Ð½ÐµÐºÐ¸Ð¹ ÑпоÑоб (ЭТО ОШИБКÐ)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "" "# Ð’ данный момент уже применÑетÑÑ Ð½ÐµÐºÐ¸Ð¹ ÑпоÑоб по завиÑимоÑÑ‚Ñм (ЭТО ОШИБКÐ)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# УÑпешно обновлено." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Должно быть обновлено (задан ключ -q)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Попытка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·ÑƒÑпешна." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Ðеверное значение члена «command_state»!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -362,7 +361,7 @@ "\n" "# Файлы" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -372,122 +371,105 @@ "# ÑоÑтоÑние файлов хеш-таблицы:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Поле «%s» не кешировано: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "нечиÑловой первый аргумент функции «word»" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "первый аргумент функции «word» должен быть больше нулÑ" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "нечиÑловой первый аргумент функции «wordlist»" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "нечиÑловой второй аргумент функции «wordlist»" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) вернула код ошибки (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(Err) вернула код ошибки (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() вернула код ошибки (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() завершилаÑÑŒ неудачно\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Очищаю временный пакетный файл %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "файл: отÑутÑтвует Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "открытие: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "запиÑÑŒ: %s: %s" -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "закрытие: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "файл: Ñлишком много аргументов" +msgid "Invalid file operation: %s" +msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼: %s" -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "чтение: %s: %s" - -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "файл: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼: %s" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "недоÑтаточно аргументов (вÑего %d) функции «%s»" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "не реализовано на Ñтой платформе: Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Â«%s»" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "незавершённый вызов функции «%s»: пропущено «%c»" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "ПуÑтое Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸" +msgstr "ПуÑтое Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Ðекорректное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s" +msgstr "Ðекорректное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s" - -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Ðекорректное минимальное чиÑло аргументов (вÑего %u) функции %s" +msgstr "Слишком длинное Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸: %s\n" -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Ðекорректное макÑимальное чиÑло аргументов (вÑего %u) функции %s" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Ðекорректное минимальное чиÑло аргументов (вÑего %d) функции %s\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "Ðекорректное макÑимальное чиÑло аргументов (вÑего %d) функции %s\n" # Ð¡Ð¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ getopt иÑключены, Ñ‚.к. они отноÑÑÑ‚ÑÑ Ðº уже # уÑтаревшей верÑии Ñтой библиотеки, и иÑчезнут в Ñледующей верÑии make @@ -586,7 +568,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "ПоиÑк неÑвного правила Ð´Ð»Ñ Ñлемента архива «%s».\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Избежание рекурÑивного вызова неÑвного правила.\n" @@ -630,76 +612,100 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "ПоиÑк правила Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ¶ÑƒÑ‚Ð¾Ñ‡Ð½Ñ‹Ð¼ файлом «%s».\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Ðе удалоÑÑŒ Ñоздать временный файл\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (Ñделан дамп памÑти)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (игнорирование)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "<вÑтроенное>" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: ошибка Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s»" + +#: job.c:516 job.c:524 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Ошибка %d%s" +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Ошибка %d%s" -#: job.c:599 +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Ошибка 0x%x%s" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Ожидание Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹â€¦" -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Ðезавершённый потомок %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (удалённый)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "ПодбираетÑÑ Ð½ÐµÑƒÐ´Ð°Ñ‡Ð½Ð¾ завершившийÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "ПодбираетÑÑ ÑƒÐ´Ð°Ñ‡Ð½Ð¾ завершившийÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Подчищаю временный пакетный файл %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "ОчиÑтка временного пакетного файла %s завершилаÑÑŒ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹ (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "УдалÑетÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼Ð¾Ðº %p PID %s%s из цепочки.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "оÑвобождение Ñемафора Ñервера заданий: (ошибка %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "ОÑвобождён токен Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "запиÑÑŒ Ñервера заданий" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() не Ñмогла запуÑтить процеÑÑ (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -708,93 +714,97 @@ "\n" "При неудачном запуÑке ÑоÑчитано %d аргументов\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Помещение потомка %p (%s) PID %s%s в цепочку потомков.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "ожидание Ñемафора или процеÑÑа-потомка: (ошибка %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Получен токен Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "чтение потока заданий" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: цель «%s» не ÑущеÑтвует" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: обновление цели «%s» из-за: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "Ñта Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ ÑиÑтема не позволÑет уÑтанавливать пределы загрузки" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "невозможно уÑтановить пределы загрузки: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stdout\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "закончилиÑÑŒ файловые деÑкрипторы: не удалоÑÑŒ Ñделать копию stderr\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Ðе удалоÑÑŒ воÑÑтановить stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Ðе удалоÑÑŒ воÑÑтановить stdout\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Ðе удалоÑÑŒ воÑÑтановить stderr\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make нашла завершившегоÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° pid %s, вÑÑ‘ ещё ожидает pid %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Команда не найдена\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Команда не найдена\n" +msgid "%s: Command not found" +msgstr "%s: Команда не найдена" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Командный процеÑÑор не найден" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: вероÑтно, закончилоÑÑŒ меÑто под окружение" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ $SHELL изменилаÑÑŒ (было «%s», теперь «%s»)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "СоздаётÑÑ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¹ пакетный файл %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -802,7 +812,7 @@ "Содержимое файла пакетных заданий:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -811,7 +821,7 @@ "Содержимое файла пакетных заданий:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -842,28 +852,28 @@ msgid "Empty symbol name for load: %s" msgstr "ПуÑтое Ð¸Ð¼Ñ Ñимвола Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "ЗагружаетÑÑ Ñимвол %s из %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Â«load» не поддерживаетÑÑ Ð½Ð° Ñтой платформе." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Ключи:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m ИгнорируетÑÑ Ð´Ð»Ñ ÑовмеÑтимоÑти.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make Без уÑловий отрабатывать вÑе цели.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -871,18 +881,18 @@ " -C КÐТÐЛОГ, --directory=КÐТÐЛОГ\n" " Перейти в КÐТÐЛОГ перед выполнением дейÑтвий.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d Выводить маÑÑу отладочных Ñообщений.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=ФЛÐГИ] Выводить различные типы отладочной " "информации.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -891,13 +901,13 @@ " Переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÐ½ÑÑŽÑ‚ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ " "makefile.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=СТРОКРВычиÑлить СТРОКУ как предложение makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -905,15 +915,15 @@ " -f ФÐЙЛ, --file=ФÐЙЛ, --makefile=ФÐЙЛ\n" " ИÑпользовать ФÐЙЛ в качеÑтве makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Показать Ñту Ñправку и выйти.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Игнорировать ошибки ÑпоÑобов.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -921,7 +931,7 @@ " -I КÐТÐЛОГ, --include-dir=КÐТÐЛОГ\n" " ИÑкать включаемые make-файлы в КÐТÐЛОГЕ.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -930,14 +940,14 @@ " еÑли N не указано, чиÑло заданий " "неограничено.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Продолжать работу, даже еÑли некоторые цели\n" " не могут быть доÑтигнуты.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -946,7 +956,7 @@ " -l [N], --load-average[=N], --max-load[=N] Ðе запуÑкать\n" " неÑколько заданий, еÑли загрузка больше N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -954,7 +964,7 @@ " -L, --check-symlink-times ИÑпользовать поÑледнее mtime при выборе между\n" " ÑимволичеÑкими ÑÑылками и целью.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -964,7 +974,7 @@ " Ðе применÑÑ‚ÑŒ ÑпоÑоб на Ñамом деле; проÑто\n" " напечатать его.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -974,7 +984,7 @@ " Считать ФÐЙЛ очень Ñтарым и не переделывать " "его.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -983,12 +993,12 @@ " Синхронизировать вывод параллельных\n" " заданий Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ ТИП.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr "" " -p, --print-data-base Ðапечатать внутреннюю базу данных make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -997,23 +1007,23 @@ " код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ñ‹Ð²Ð°ÐµÑ‚, вÑÑ‘ ли уже " "Ñделано.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Ðе иÑпользовать вÑтроенные неÑвные правила.\n" # Что такое "variable settings"? -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Выключить уÑтановку вÑтроенных\n" " значений переменных.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Ðе показывать Ñами ÑпоÑобы.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1021,26 +1031,26 @@ " -S, --no-keep-going, --stop\n" " Отменить ключ -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch УÑтановить Ð²Ñ€ÐµÐ¼Ñ Ð´Ð¾Ñтупа целей в текущее,\n" " а не переÑобирать их.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Выводить траÑÑировочную информацию.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version Показать информацию о верÑии и выйти.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Ðапечатать текущий каталог.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1048,7 +1058,7 @@ " --no-print-directory Отменить ключ -w, даже еÑли он был Ñвно " "указан.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1056,7 +1066,7 @@ " -W ФÐЙЛ, --what-if=ФÐЙЛ, --new-file=ФÐЙЛ, --assume-new=ФÐЙЛ\n" " Считать ФÐЙЛ вÑегда новым.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1064,26 +1074,26 @@ " --warn-undefined-variables Выдавать предупреждение при ÑÑылке\n" " на неопределённую переменную.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "пуÑÑ‚Ð°Ñ Ñтрока недопуÑтима в качеÑтве имени файла" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "задан неизвеÑтный уровень отладки «%s»" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "неизвеÑтный тип output-sync «%s»" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: поймано прерывание или иÑключение (код = 0x%lx, Ð°Ð´Ñ€ÐµÑ = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1098,136 +1108,181 @@ "Флаги иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ = %lx\n" "ÐÐ´Ñ€ÐµÑ Ð¸ÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Ðарушение доÑтупа: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи по адреÑу 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Ðарушение доÑтупа: Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð°Ð´Ñ€ÐµÑа 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() уÑтанавливает default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell(): поиÑк в путÑÑ… уÑтанавливает default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s приоÑтанавливаетÑÑ Ð½Ð° 30 Ñекунд..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) завершён. Продолжаем.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"предупреждение: Ñервер заданий недоÑтупен: иÑпользуетÑÑ -j1. Добавьте «+» к " -"правилу в родительÑком make." +"внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: не удалоÑÑŒ открыть Ñемафор Ñервера заданий «%s»: (ошибка " +"%ld: %s)" -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Клиент Ñервера заданий (Ñемафор %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока --jobserver-fds «%s»" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Клиент Ñервера заданий (fds %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "предупреждение: в Ñуб-Makefile принудительно задан -jN; режим Ñервера " "заданий запрещён" -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "Ñоздаю копию Ñервера заданий" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"предупреждение: Ñервер заданий недоÑтупен: иÑпользуетÑÑ -j1. Добавьте «+» к " +"правилу в родительÑком make." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile из Ñтандартного ввода указан дважды." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (временный файл)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (временный файл)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Параллельные Ð·Ð°Ð´Ð°Ð½Ð¸Ñ (-j) не поддерживаютÑÑ Ð½Ð° Ñтой платформе." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "ВозвращаетÑÑ Ñ€ÐµÐ¶Ð¸Ð¼ одиночного Ð·Ð°Ð´Ð°Ð½Ð¸Ñ (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "КоличеÑтво Ñлотов Ñервера заданий ограничено %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "Ñоздание Ñемафора Ñервера заданий: (ошибка %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "ÑоздаётÑÑ ÐºÐ°Ð½Ð°Ð» заданий" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð½Ð°Ñтройка Ñервера заданий" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "СимволичеÑкие ÑÑылки не поддерживаютÑÑ: отменÑетÑÑ ÐºÐ»ÑŽÑ‡ -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Обновление make-файлов....\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Make-файл «%s», возможно, зациклен, он не будет переÑобиратьÑÑ.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Попытка переÑобрать make-файл «%s» завершилаÑÑŒ неудачно." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Включаемый make-файл «%s» не найден." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Make-файл «%s» не найден" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Ðевозможно перейти в первоначальный каталог." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Повторное выполнение[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (временный файл)" -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL Ñодержит более одной цели" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Ðе заданы цели и не найден make-файл" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Ðет целей" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Обновление целей результата...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "предупреждение: Ðеправильный ход чаÑов. Сборка может быть неполной." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "ИÑпользование: %s [КЛЮЧ]... [ЦЕЛЬ]...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1236,7 +1291,7 @@ "\n" "Эта программа Ñобрана Ð´Ð»Ñ %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1245,32 +1300,32 @@ "\n" "Эта программа Ñобрана Ð´Ð»Ñ %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Сообщайте об ошибках по адреÑу \n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "длÑ ключа «%s%s» нужно указать аргументом непуÑтую Ñтроку" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "ключ «-%c» должен иÑпользоватьÑÑ Ñ Ñ†ÐµÐ»Ñ‹Ð¼ положительным аргументом" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sЭта программа Ñобрана Ð´Ð»Ñ %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sЭта программа Ñобрана Ð´Ð»Ñ %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "ВСТРОЕÐÐЫЙ CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° '%s'\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Ошибка, пуÑÑ‚Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n" + +#: vmsjobs.c:674 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Redirected input from %s\n" +msgstr "Стандартный ввод перенаправлен из %s\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Поток ошибок перенаправлен в %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Стандартный вывод добавлен в %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Стандартный вывод перенаправлен в %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Добавить %.*s и очиÑтить\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "ВмеÑто заданного выполнÑетÑÑ %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Ошибка Ð¿Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2157,11 +2228,11 @@ "\n" "# Пути поиÑка VPATH\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Ðе определён путь поиÑка «vpath»." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2170,7 +2241,7 @@ "\n" "# %u путей поиÑка по «vpath»\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2178,7 +2249,7 @@ "\n" "# Ðе определён общий (Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«VPATH») путь поиÑка." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2188,85 +2259,6 @@ "# Общий (Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Â«VPATH») путь поиÑка:\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "КоличеÑтво Ñлотов Ñервера заданий ограничено %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "Ñоздание Ñемафора Ñервера заданий: (ошибка %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: не удалоÑÑŒ открыть Ñемафор Ñервера заданий «%s»: (ошибка " -"%ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Клиент Ñервера заданий (Ñемафор %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "оÑвобождение Ñемафора Ñервера заданий: (ошибка %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "ожидание Ñемафора или процеÑÑа-потомка: (ошибка %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: ошибка Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸ «%s»" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Ошибка 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "Ñоздаю копию Ñервера заданий" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Предупреждение: ПуÑтое перенаправление\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: «%s» command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "ВСТРОЕÐÐЫЙ [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "ВСТРОЕÐÐÐЯ ECHO %s->%s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "ÐеизвеÑÑ‚Ð½Ð°Ñ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° «%s»\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "" -#~ "Ð’ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° неизвеÑтна или не поддерживаетÑÑ Ð² .ONESHELL: «%s»\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Ошибка, пуÑÑ‚Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Стандартный ввод перенаправлен из %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Поток ошибок перенаправлен в %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Стандартный вывод перенаправлен в %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Ошибка Ð¿Ð¾Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа, %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: неÑколько ключей --sync-mutex" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/sv.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/sv.gmo differ diff -Nru make-dfsg-4.2.1/po/sv.po make-dfsg-4.1/po/sv.po --- make-dfsg-4.2.1/po/sv.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/sv.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,18 +1,17 @@ # Swedish messages translation of make -# Copyright © 2002, 2007, 2011, 2013, 2014, 2016 Free Software Foundation, Inc. +# Copyright © 2002, 2007, 2011, 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. -# # Tomas Gradin , 1996-2002. # Christer Andersson , 2007. -# Göran Uddeborg , 2011, 2013, 2014, 2016. +# Göran Uddeborg , 2011, 2013. # -# $Id: make.po,v 1.21 2016-05-22 22:46:49+02 göran Exp $ +# $Id: make.po,v 1.14 2013-10-09 21:33:42+02 göran Exp $ msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-22 22:45+0200\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-09 21:33+0200\n" "Last-Translator: Göran Uddeborg \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -49,84 +48,84 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "nudda: Felaktig returkod frÃ¥n ar_member_touch pÃ¥ â€%sâ€" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "lbr$set_module() misslyckades med att extrahera modulinformation, status = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() misslyckades och gav status = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "kan inte öppna biblioteket â€%s†för att slÃ¥ upp medlemsstatus %d" +msgstr "kan inte öppna biblioteket â€%s†för att slÃ¥ upp medlemmen â€%sâ€" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Medlem â€%sâ€%s: %ld byte vid %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (namnet kan vara avkortat)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Datum %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, flaggor = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Receptet har för mÃ¥nga rader (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Avbrott.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Arkivmedlemmen â€%s†kan vara felaktig; ej borttagen" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Arkivmedlemmen â€%s†kan vara felaktig; ej borttagen" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Tar bort filen â€%sâ€" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Tar bort filen â€%sâ€" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# recept att utföra" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (inbyggd):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (frÃ¥n â€%sâ€, rad %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -134,62 +133,62 @@ "\n" "# Kataloger\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: kunde inte ta status.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (nyckel %s, mtid %ull): kunde inte öppnas.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (nyckel %s, mtid %d): kunde inte öppnas.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (enhet %d, inod [%d,%d,%d]): kunde inte öppnas.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (enhet %ld, inod %ld): kunde inte öppnas.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (nyckel %s, mtid %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (nyckel %s, mtid %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (enhet %d, inod [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (enhet %ld, inod %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Inga" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " filer, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "inga" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " omöjligheter" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " hittills." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " omöjligheter i %lu kataloger.\n" @@ -199,156 +198,156 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Den rekursiva variabeln â€%s†hänvisar till sig själv (sÃ¥ smÃ¥ningom)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "oavslutad variabelreferens" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Recept angavs för filen â€%s†pÃ¥ %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "Recept för filen â€%s†hittades genom sökning efter implicit regel," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "men â€%s†anses nu vara samma fil som â€%sâ€." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" "Kommer att bortse frÃ¥n recept för â€%s†till förmÃ¥n för det som gäller â€%sâ€." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "kan inte ändra namn frÃ¥n enkelkolon â€%s†till dubbelkolon â€%sâ€" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "kan inte ändra namn frÃ¥n dubbelkolon â€%s†till enkelkolon â€%sâ€" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Tar bort mellanfilen â€%sâ€" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Tar bort mellanfiler …\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Nuvarande tid" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Tidsvärde utanför gränser; ersätter med %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Inte ett mÃ¥l:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Värdefull fil (nödvändig för .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# LÃ¥tsasmÃ¥l (nödvändig för .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# KommandoradsmÃ¥l." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "" "# En standardmakefil, eller enligt MAKEFILES, eller en -include/sinclude-" "makefil." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Inbyggd regel" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Implicit regelsökning har genomförts." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Implicit regelsökning har inte genomförts." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Implicit/statisk mönsterstam: â€%sâ€\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Filen är ett övergÃ¥ende beroende." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Skapar ocksÃ¥:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Ändringstiden har inte kontrollerats." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Filen finns inte." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Filen är mycket gammal." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Senast ändrad %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Filen har uppdaterats." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Filen har inte uppdaterats." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Recept körs just nu (DETTA ÄR ETT FEL)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Beroenderecept körs (DETTA ÄR ETT FEL)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Uppdateringen lyckades." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Behöver uppdateras (-q har angivits)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Uppdateringen misslyckades." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Ogiltigt värde i medlemmen â€command_stateâ€!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -356,7 +355,7 @@ "\n" "# Filer" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -366,122 +365,105 @@ "# statistik för filhashtabell:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: Fältet â€%s†cachas inte: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "icke-numeriskt första argument till funktionen â€wordâ€" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "det första argumentet till funktionen â€word†mÃ¥ste vara större än 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "icke-numeriskt första argument till funktionen â€wordlistâ€" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "icke-numeriskt andra argument till funktionen â€wordlistâ€" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) misslyckades (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(Fel) misslyckades (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() misslyckades (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() misslyckades\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Städar bort tillfällig satsfil %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "file: filnamn saknas" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "öppna: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "skriv: %s: %s" -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "stäng: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "file: för mÃ¥nga argument" - -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "läs: %s: %s" - -#: function.c:2275 +#: function.c:2209 #, c-format -msgid "file: invalid file operation: %s" -msgstr "file: felaktig filÃ¥tgärd: %s" +msgid "Invalid file operation: %s" +msgstr "Felaktig filÃ¥tgärd: %s" -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "otillräckligt antal argument (%d) till funktionen â€%sâ€" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "ej implementerat pÃ¥ denna plattform: funktionen â€%sâ€" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "oavslutat funktionsanrop â€%sâ€: â€%c†saknas" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Tomt funktionsnamn" +msgstr "Tomt funktionsnamn\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Felaktigt funktionsnamn: %s" +msgstr "Felaktigt funktionsnamn: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Funktionsnamnet är för lÃ¥ngt: %s" +msgstr "Funktionsnamnet är för lÃ¥ngt: %s\n" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Felaktigt minsta antal argument (%u) till funktionen â€%sâ€" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Felaktigt största antal argument (%u) till funktionen â€%sâ€" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Felaktigt minsta antal argument (%d) till funktionen â€%sâ€\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "Felaktigt största antal argument (%d) till funktionen â€%sâ€\n" #: getopt.c:659 #, c-format @@ -578,7 +560,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Letar efter en implicit regel för arkivmedlemmen â€%sâ€.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Undviker rekursion orsakad av implicit regel.\n" @@ -622,76 +604,100 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Letar efter en regel med mellanfilen â€%sâ€.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Kan inte skapa en temporärfil\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (minnesdump)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (ignoreras)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: receptet för mÃ¥let â€%s†misslyckades" + +#: job.c:516 job.c:524 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Fel %d%s" +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Fel %d%s" -#: job.c:599 +#: job.c:519 +#, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Fel 0x%x%s" + +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s]: %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** Inväntar oavslutade jobb..." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Levande barnprocess %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (fjärr)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Inhöstar misslyckad barnprocess: %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Inhöstar lyckad barnprocess: %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Städar bort tillfällig satsfil %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Bortstädning av tillfällig satsfil %s misslyckades (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Tar bort barnprocessen %p PID %s%s frÃ¥n kedjan.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "släpp jobbserversemafor: (Fel %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Frigjorde symbol för barnprocessen %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "skriver till jobbserver" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() misslyckades med processtart (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -700,93 +706,97 @@ "\n" "Räknade till %d argument vid misslyckad start\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "För upp barnprocessen %p (%s) PID %s%s pÃ¥ kedjan.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "väntan pÃ¥ semafor eller barnprocess: (Fel %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Erhöll symbol för barnprocessen %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "läser frÃ¥n jobbledning" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: mÃ¥let â€%s†finns inte" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: uppdatera mÃ¥let â€%s†pÃ¥ grund av: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "kan inte upprätthÃ¥lla lastbegränsningar i detta operativsystem" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "kan inte upprätthÃ¥lla lastbegränsning: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "inga fler filhandtag: kunde inte duplicera standard in\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "inga fler filhandtag: kunde inte duplicera standard ut\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "inga fler filhandtag: kunde inte duplicera standard fel\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Kunde inte Ã¥terställa standard in\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Kunde inte Ã¥terställa standard ut\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Kunde inte Ã¥terställa standard fel\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make inhöstade barn-pid %s, inväntar fortfarande pid %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Kommandot hittades inte\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Kommandot hittades inte\n" +msgid "%s: Command not found" +msgstr "%s: Kommandot hittades inte" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Skalprogrammet hittades inte" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: miljöutrymmet kanske är slut" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL ändrades (var â€%sâ€, är nu â€%sâ€)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Skapar tillfällig satsfil %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -794,7 +804,7 @@ "SatsfilinnehÃ¥ll:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -803,7 +813,7 @@ "SatsfilinnehÃ¥ll:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (rad %d) Felaktigt skalsammanhang (!unixy && !batch_mode_shell)\n" @@ -832,28 +842,28 @@ msgid "Empty symbol name for load: %s" msgstr "Tomt symbolnamn för laddning: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Laddar symbol %s frÃ¥n %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "Operationen â€load†stödjs inte pÃ¥ denna plattform." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Flaggor:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Ignoreras av kompatibilitetsskäl.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make Bygg ovillkorligen alla mÃ¥l.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -861,19 +871,19 @@ " -C KATALOG, --directory=KATALOG\n" " Byt katalog till KATALOG innan nÃ¥got görs.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr "" " -d Skriv ut massor av felsökningsinformation.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=FLAGGOR] Skriv ut olika sorters " "felsökningsinformation.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -881,12 +891,12 @@ " -e, --environment-overrides\n" " Miljövariabler Ã¥sidosätter makefiler.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr " --eval=STRÄNG Evaluera STRÄNG som en makefile-sats.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -894,15 +904,15 @@ " -f FIL, --file=FIL, --makefile=FIL\n" " Använd FIL som makefil.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Skriv ut detta meddelande och avsluta.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Ignorera fel frÃ¥n recept.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -910,7 +920,7 @@ " -I KATALOG, --include-dir=KATALOG\n" " Genomsök KATALOG efter inkluderade makefiler.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -918,13 +928,13 @@ " -j [N], --jobs[=N] TillÃ¥t N samtidiga jobb; oändligt mÃ¥nga om " "inget antal anges.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Fortsätt även om vissa mÃ¥l inte kan skapas.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -934,7 +944,7 @@ " PÃ¥börja fler jobb endast om lasten understiger " "N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -942,7 +952,7 @@ " -L, --check-symlink-times Använd den senaste av mtiderna för symboliska " "länkar eller mÃ¥l.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -951,7 +961,7 @@ " -n, --just-print, --dry-run, --recon\n" " Kör inte nÃ¥got recept, skriv bara ut dem.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -961,7 +971,7 @@ " Betrakta FIL som mycket gammal och Ã¥terskapa " "den inte.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -970,11 +980,11 @@ " Synkronisera utmatningen av parallella jobb\n" " enligt TYP.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base Skriv ut makes interna databas.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -982,22 +992,22 @@ " -q, --question Kör inga recept; slutstatus visar om det är " "aktuellt.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules Inaktivera de inbyggda implicita reglerna.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables Inaktivera de inbyggda " "variabelinställningarna.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Ã…terge inte recept.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1005,26 +1015,26 @@ " -S, --no-keep-going, --stop\n" " Stäng av -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Nydatera mÃ¥l i stället för att Ã¥terskapa dem.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Skriv spÃ¥rningsinformation.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr "" " -v, --version Skriv ut makes versionsnummer och avsluta.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Skriv ut aktuell katalog.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1032,7 +1042,7 @@ " --no-print-directory Stäng av -w, även om det är implicit " "pÃ¥slaget.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1040,7 +1050,7 @@ " -W FIL, --what-if=FIL, --new-file=FIL, --assume-new=FIL\n" " Betrakta FIL som hur ny som helst.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1048,26 +1058,26 @@ " --warn-undefined-variables Varna vid användning av en odefinierad " "variabel.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "en tom sträng är ett ogiltigt filnamn" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "okänd felsökningsnivÃ¥ â€%s†angiven" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "okänd typ av utmatningssynkronisering â€%sâ€" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Avbrott/Undantag fÃ¥ngat (kod = 0x%lx, adress = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1082,135 +1092,178 @@ "Undantagsflaggor = %lx\n" "Undantagsadress = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Ã…tkomstförseelse: skrivinstruktion pÃ¥ adressen 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Ã…tkomstförseelse: läsinstruktion pÃ¥ adressen 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() ger default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "sökvägen för find_and_set_shell() gav default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s suspenderas i 30 sekunder..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "färdig med sleep(30). Fortsätter.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format +msgid "" +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "Internt fel: kan inte öppna jobbserversemaforen â€%sâ€: (Fel %ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Jobbserverklient (semafor %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "internt fel: ogiltig sträng â€--jobserver-fds†â€%sâ€" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Jobbserverklient (fb %d,%d)\n" + +#: main.c:1551 +msgid "warning: -jN forced in submake: disabling jobserver mode." +msgstr "varning: -jN framtvingat i del-make: inaktiverar jobbserverläge." + +#: main.c:1567 +msgid "dup jobserver" +msgstr "duplicerar jobbserver" + +#: main.c:1570 msgid "" "warning: jobserver unavailable: using -j1. Add '+' to parent make rule." msgstr "" "varning: jobbserver otillgänglig: använder -j1. Lägg till â€+†i " "föräldraregeln." -#: main.c:1635 -msgid "warning: -jN forced in submake: disabling jobserver mode." -msgstr "varning: -jN framtvingat i del-make: inaktiverar jobbserverläge." - -#: main.c:1805 +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefil frÃ¥n standard in angavs dubbelt." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (temporärfil)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (temporärfil)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Parallella jobb (-j) stöds inte pÃ¥ denna plattform." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Ã…terställer till enkeljobbsläge (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Jobbserfacj begränsat till %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "skapar jobbserversemafor: (Fel %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "skapar jobbledning" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "iordningställer ledning till jobbserver" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Symboliska länkar stöds inte: inaktiverar -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "Uppdaterar makefiler...\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Makefilen â€%s†kan loopa; Ã¥terskapas inte.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Misslyckades med att Ã¥terskapa makefilen â€%sâ€." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Den inkluderade makefilen â€%s†fanns inte." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Makefilen â€%s†fanns inte" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Kunde inte Ã¥tergÃ¥ till ursprungskatalogen." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Utför pÃ¥ nytt[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "avlänka (temporärfil): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL innehÃ¥ller fler än ett mÃ¥l" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Inga mÃ¥l angavs och ingen makefil hittades" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Inga mÃ¥l" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Uppdaterar slutmÃ¥l...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "varning: Klockförskjutning upptäckt. Bygget kan ha blivit ofullständigt." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Användning: %s [flaggor] [mÃ¥l] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1219,7 +1272,7 @@ "\n" "Detta program byggdes för %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1228,34 +1281,34 @@ "\n" "Detta program byggdes för %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" "Anmäl fel till .\n" -"Skicka synpunkter pÃ¥ översättningen till .\n" +"Skicka synpunkter pÃ¥ översättningen till .\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "flaggan â€%s%s†kräver ett strängargument som inte är tomt" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "flaggan â€-%c†kräver ett positivt heltal som argument" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sByggt för %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sByggt för %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "INBYGGT CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Okänt inbyggt kommando \"%s\"\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Error, empty command\n" +msgstr "Fel, tomt kommando\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Inkanal omdirigerad till %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Felkanal omdirigerad till %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Lägg till utdata till %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Utkanal omdirigerad till %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Lägg till %.*s och rensa upp\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Utför %s i stället\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Fel vid avknoppning, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2135,11 +2204,11 @@ "\n" "# VPATH-sökvägar\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Inga â€vpathâ€-sökvägar." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2148,7 +2217,7 @@ "\n" "# %u â€vpathâ€-sökvägar.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2156,7 +2225,7 @@ "\n" "# Ingen allmän sökväg (enligt â€VPATHâ€-variabeln)." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2166,33 +2235,17 @@ "# Allmän sökväg (enligt â€VPATHâ€-variabeln):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Jobbserverfack begränsat till %d\n" +#~ msgid "internal error: multiple --sync-mutex options" +#~ msgstr "internt fel: flera flaggor â€--sync-mutexâ€" -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "skapar jobbserversemafor: (Fel %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "Internt fel: kan inte öppna jobbserversemaforen â€%sâ€: (Fel %ld: %s)" +#~ msgid "internal error: multiple --jobserver-fds options" +#~ msgstr "internt fel: flera \"--jobserver-fds\"-flaggor" -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Jobbserverklient (semafor %s)\n" +#~ msgid "virtual memory exhausted" +#~ msgstr "virtuellt minne uttömt" -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "släpp jobbserversemafor: (Fel %ld: %s)" +#~ msgid "write error" +#~ msgstr "skrivfel" -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "väntan pÃ¥ semafor eller barnprocess: (Fel %ld: %s)" +#~ msgid "BUILTIN RM %s\n" +#~ msgstr "INBYGGT RM %s\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/tr.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/tr.gmo differ diff -Nru make-dfsg-4.2.1/po/tr.po make-dfsg-4.1/po/tr.po --- make-dfsg-4.2.1/po/tr.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/tr.po 2016-01-16 10:25:59.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: make 3.81\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" "PO-Revision-Date: 2006-04-23 08:45+0300\n" "Last-Translator: Nilgün Belma Bugüner \n" "Language-Team: Turkish \n" @@ -46,84 +46,84 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "Dokunulup geçildi: `%s' deki ar_member_touch'dan dönen kod hatalı" -#: arscan.c:130 +#: arscan.c:124 #, fuzzy, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module modül bilgisini çıkarırken baÅŸarısız oldu, durum = %d" -#: arscan.c:236 +#: arscan.c:230 #, fuzzy, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control durum =%d ile baÅŸarısız oldu" -#: arscan.c:261 +#: arscan.c:255 #, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" msgstr "`%s' kaynakçası `%s' üyesine bakmak için açılamadı" -#: arscan.c:965 +#: arscan.c:944 #, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Ãœye `%s'%s: %ld bayt %ld 'de (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr "(isim kırpılmış olmalı)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Tarih %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " Kull-kim = %d, Grup-kim = %d, kip = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Bırakıldı.\n" -#: commands.c:627 +#: commands.c:629 #, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] ArÅŸiv üyesi `%s' sahte olabilir; silinmedi" -#: commands.c:631 +#: commands.c:633 #, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** ArÅŸiv üyesi `%s' sahte olabilir; silinmedi" -#: commands.c:645 +#: commands.c:647 #, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] `%s' dosyası siliniyor" -#: commands.c:647 +#: commands.c:649 #, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** `%s' dosyası siliniyor" -#: commands.c:683 +#: commands.c:685 #, fuzzy msgid "# recipe to execute" msgstr "# çalıştırma komutları" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (paket içinde):" -#: commands.c:688 +#: commands.c:690 #, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (`%s'den, satır %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -131,62 +131,62 @@ "\n" "# Dizin\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: durumlanamadı.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (anahtar (key) %s, deÄŸiÅŸiklik tarihi (mtime) %d): açılamadı.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (aygıt %d, i-düğüm [%d,%d,%d]): açılamadı.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (aygıt %ld, i-düğüm %ld): açılamadı.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (anahtar (key) %s, deÄŸiÅŸiklik tarihi (mtime) %d):" -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (aygıt %d, i-düğüm [%d,%d,%d]):" -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (aygıt %ld, i-düğüm %ld):" -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Hayır" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " dosyaları," -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "hayır" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr "olanaksızlıklar" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " çok uzak." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " %lu dizinde olanaksızlıklar.\n" @@ -196,163 +196,163 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Çevrimsel deÄŸiÅŸken `%s' tekrar kendine bağıntılı (sonuçta)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "sonlandırılmamış deÄŸiÅŸken bağıntısı" -#: file.c:278 +#: file.c:271 #, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "`%s' dosyası için komutlar %s:%lu de belirtildi," -#: file.c:283 +#: file.c:276 #, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "`%s' dosyası için komutlar örtük kural aramasında bulundu," -#: file.c:287 +#: file.c:280 #, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "fakat `%s' ÅŸimdi `%s' dosyası ile aynı dosya olarak düşünülmeli." -#: file.c:290 +#: file.c:283 #, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "`%s' dosyası için komutlar `%s' lehine yoksayılmış olacak." -#: file.c:310 +#: file.c:303 #, fuzzy, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "tek-sütun `%s', çift-sütun `%s' olarak yeniden adlandırılamaz" -#: file.c:316 +#: file.c:309 #, fuzzy, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "çift-sütun `%s', tek-sütun `%s' olarak yeniden adlandırılamaz" -#: file.c:408 +#: file.c:401 #, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Aracı dosya `%s' siliniyor" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "Aracı dosyalar siliniyor...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Åžu an" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Tarih damgası kapsamdışı; yerine %s kullanılıyor" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Bir hedef deÄŸil:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Kıymetli dosya (.PRECIOUS önceden gerekliliÄŸi)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Sahte hedef (.PHONY önceden gerekliliÄŸi)." -#: file.c:971 +#: file.c:964 #, fuzzy msgid "# Command line target." msgstr "# Komut-satırı hedefi." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Bir öntanımlı,MAKEFILES veya -include/sinclude makefile." -#: file.c:975 +#: file.c:968 #, fuzzy msgid "# Builtin rule" msgstr "" "\n" "# Örtük kural yok." -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Örtük kural araÅŸtırması yapılmıştı." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Örtük kural araÅŸtırması yapılmamıştı." -#: file.c:980 +#: file.c:973 #, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Örtük/deÄŸiÅŸmeyen kalıp kökü: `%s'\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "" "# Orta seviyede önceden gerekli bir dosya (öncelikle gerekli dosyalara " "aracılık eden dosya)" -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# OluÅŸtursa da:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# DeÄŸiÅŸiklik zamanı hiç kontrol edilmedi." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Dosya yok." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Dosya çok eski." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Son deÄŸiÅŸiklik tarihi %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Dosya güncelleÅŸtirilmiÅŸti." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Dosya güncelleÅŸtirilmemiÅŸti." -#: file.c:1008 +#: file.c:1001 #, fuzzy msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Komutlar ÅŸu an iÅŸlemlerini sürdürüyor (BU BÄ°R YAZILIM HATASI)." -#: file.c:1011 +#: file.c:1004 #, fuzzy msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "" "# Bağımlılıkların komutları iÅŸlemlerini sürdürüyor (BU BÄ°R YAZILIM HATASI)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Tamamen güncellendi." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# GüncellenmiÅŸ olması gerekir (-q verildi)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# GüncellenmiÅŸ olamadı." -#: file.c:1032 +#: file.c:1025 #, fuzzy msgid "# Invalid value in 'command_state' member!" msgstr "# `command_state' üyesinde geçersiz deÄŸer!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -360,7 +360,7 @@ "\n" "# Dosyalar" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -370,126 +370,108 @@ "# dosyaların hash tablosu durumları:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "" -#: function.c:790 +#: function.c:780 #, fuzzy msgid "non-numeric first argument to 'word' function" msgstr "`word' iÅŸlevinde sayısal olmayan ilk argüman" -#: function.c:795 +#: function.c:785 #, fuzzy msgid "first argument to 'word' function must be greater than 0" msgstr "`word' iÅŸlevinin ilk argümanı sıfırdan büyük olmalı" -#: function.c:815 +#: function.c:805 #, fuzzy msgid "non-numeric first argument to 'wordlist' function" msgstr "`wordlist' iÅŸlevinde sayısal olmayan ilk argüman" -#: function.c:817 +#: function.c:807 #, fuzzy msgid "non-numeric second argument to 'wordlist' function" msgstr "`wordlist' iÅŸlevinde sayısal olmayan ikinci argüman" -#: function.c:1525 +#: function.c:1499 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "create_child_process: DuplicateHandle(In) baÅŸarısız (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "create_child_process: DuplicateHandle(Err) baÅŸarısız (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() baÅŸarısız (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 #, fuzzy msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe (): process_init_fd() baÅŸarısız\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Geçici komut-listesi (batch) dosyası %s temizleniyor\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, fuzzy, c-format msgid "open: %s: %s" msgstr "%s: %s" -#: function.c:2227 +#: function.c:2203 #, fuzzy, c-format msgid "write: %s: %s" msgstr "yazma hatası: %s" -#: function.c:2230 function.c:2267 -#, fuzzy, c-format -msgid "close: %s: %s" -msgstr "%s%s: %s" - -#: function.c:2243 -msgid "file: too many arguments" +#: function.c:2209 +#, c-format +msgid "Invalid file operation: %s" msgstr "" -#: function.c:2262 -#, fuzzy, c-format -msgid "read: %s: %s" -msgstr "%s: %s" - -#: function.c:2275 -#, fuzzy, c-format -msgid "file: invalid file operation: %s" -msgstr "%s: geçersiz seçenek -- %c\n" - -#: function.c:2390 +#: function.c:2324 #, fuzzy, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "argüman sayısı (%d) `%s' iÅŸlevinde yetersiz" -#: function.c:2402 +#: function.c:2336 #, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" msgstr "bu platformda gerçekleÅŸtirilmemiÅŸ: iÅŸlev `%s'" -#: function.c:2466 +#: function.c:2399 #, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "`%s' iÅŸlemine çaÄŸrı sonlandırılmamış: `%c' kayıp" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" msgstr "" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" +msgid "Invalid minimum argument count (%d) for function %s" msgstr "argüman sayısı (%d) `%s' iÅŸlevinde yetersiz" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" +msgid "Invalid maximum argument count (%d) for function %s" msgstr "argüman sayısı (%d) `%s' iÅŸlevinde yetersiz" #: getopt.c:659 @@ -587,7 +569,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "`%s' için arÅŸiv-üyesi örtük kural arıyor.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Örtük kural çevrimi görmezden geliniyor.\n" @@ -631,78 +613,102 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Aracı dosya `%s' ile bir kural arıyor.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Bir geçici dosya oluÅŸturulamıyor\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (bellek kopyası - core dosyası - diske yazıldı)" -#: job.c:490 +#: job.c:488 #, fuzzy msgid " (ignored)" msgstr "[%s] Hata %d (yoksayıldı)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 #, fuzzy msgid "" msgstr " (paket içinde):" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 #, fuzzy, c-format -msgid "%s[%s: %s] Error %d%s" +msgid "%s[%s] Error %d%s" msgstr "*** [%s] Hata %d" -#: job.c:599 +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] Hata 0x%x" + +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** BitmemiÅŸ iÅŸler için bekliyor...." -#: job.c:629 +#: job.c:651 #, fuzzy, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Ast dosya iÅŸini sürdürüyor: 0x%08lx (%s) PID %ld %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (karşıdan)" -#: job.c:831 +#: job.c:841 #, fuzzy, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Kaybeden ast dosya saÄŸlanıyor: 0x%08lx PID %ld %s\n" -#: job.c:832 +#: job.c:842 #, fuzzy, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Kazanan ast dosya saÄŸlanıyor: 0x%08lx PID %ld %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Geçici komut-listesi dosyası %s temizleniyor\n" -#: job.c:845 +#: job.c:855 #, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Geçici komut-listesi dosyası %s temizleniyor\n" -#: job.c:951 +#: job.c:961 #, fuzzy, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Ast 0x%08lx PID %ld%s zincirden kaldırılıyor\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 #, fuzzy, c-format msgid "Released token for child %p (%s).\n" msgstr "Ast 0x%08lx (%s) için simge (token) kullanıma sunuldu.\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "iÅŸ-sunucusu yazıyor" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "Süreci baÅŸlatacak process_easy() baÅŸarısız oldu (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -711,110 +717,114 @@ "\n" "Sayılan %d argüman ile baÅŸarısız oldu\n" -#: job.c:1581 +#: job.c:1735 #, fuzzy, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Ast 0x%08lx (%s) PID %ld%s zincire konuluyor.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 #, fuzzy, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Ast 0x%08lx (%s) için simge (token) saÄŸlandı.\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "görev listesi okunuyor" + +#: job.c:2056 #, fuzzy, c-format msgid "%s: target '%s' does not exist" msgstr "Dokunulup geçildi: ArÅŸiv `%s' yok" -#: job.c:1841 +#: job.c:2059 #, fuzzy, c-format msgid "%s: update target '%s' due to: %s" msgstr "" "%sHedef `%s' i derlemek için hiçbir kural yok, `%s' tarafından gereksinim " "duyuluyor%s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "iÅŸletim sisteminde yük sınırlarına ulaşılamadı " -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "ulaşılamayan yük sınırı: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "baÅŸka dosya tutucu yok: standart girdi kopyalanamadı\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "baÅŸka dosya tutucu yok: standart çıktı kopyalanamadı\n" -#: job.c:2074 +#: job.c:2278 #, fuzzy msgid "no more file handles: could not duplicate stderr\n" msgstr "baÅŸka dosya tutucu yok: standart girdi kopyalanamadı\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Standart girdi eski haline getirilemedi\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Standart çıktı eski haline getirilemedi\n" -#: job.c:2105 +#: job.c:2309 #, fuzzy msgid "Could not restore stderr\n" msgstr "Standart girdi eski haline getirilemedi\n" -#: job.c:2234 +#: job.c:2420 #, fuzzy, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "make %ld pid'li ast süreci kaldırdı ama hala pid %ld için bekliyor\n" -#: job.c:2275 -#, fuzzy, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: Komut bulunamadı" - -#: job.c:2277 -#, fuzzy, c-format -msgid "%s[%u]: %s: Command not found\n" +#: job.c:2458 +#, c-format +msgid "%s: Command not found" msgstr "%s: Komut bulunamadı" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Kabuk uygulaması bulunamadı" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: ortam alanı tükenmiÅŸ olabilir" -#: job.c:2584 +#: job.c:2765 #, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL deÄŸiÅŸti (`%s' idi, ÅŸimdi `%s')\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "%s geçici komut-liste dosyasını oluÅŸturuyor\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (satır %d) kabuk baÄŸlamı hatalı (!unixy && !batch_mode_shell)\n" @@ -843,58 +853,58 @@ msgid "Empty symbol name for load: %s" msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "" -#: load.c:256 +#: load.c:244 #, fuzzy msgid "The 'load' operation is not supported on this platform." msgstr "Bu platformda paralel iÅŸler (-j) desteklenmiyor." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Seçenekler:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Uyumluluk için yoksayıldı.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr "" " -B, --always-make Tüm hedefler koÅŸulsuz olarak oluÅŸturulur.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" msgstr " -C DÄ°ZÄ°N, --directory=DIZIN BirÅŸey yapmadan önce DÄ°ZÄ°Ne geçilir.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -b, -m Bir sürü hata ayıklama bilgisi basar.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=SEÇENEKLER] ÇeÅŸitli türde hata ayıklama bilgileri basar.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" msgstr "" " -e, --environment-overrides Ortam deÄŸiÅŸkenleri makefile'ları deÄŸiÅŸtirir.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -902,16 +912,16 @@ " -f DOSYA, --file=DOSYA, --makefile=DOSYA\n" " DOSYAyı bir makefile olarak okur.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Bu iletiyi basar ve çıkar.\n" -#: main.c:360 +#: main.c:335 #, fuzzy msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Komutların ürettiÄŸi hataları yoksayar.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -919,7 +929,7 @@ " -I DÄ°ZÄ°N, --include-dir=DÄ°ZÄ°N\n" " Eklenecek makefile'ları DÄ°ZÄ°Nde arar.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -927,13 +937,13 @@ " -j [N], --jobs[=N] Bir defada N iÅŸe izin verir; argumansız iÅŸ\n" " sayısı sınırsızdır.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Bazı hedefler yapılmadığında devam eder.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -943,7 +953,7 @@ " Yük N'den az olmadıkça çoklu iÅŸler " "baÅŸlatılmaz.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -951,7 +961,7 @@ " -L, --check-symlink-times sembolik baÄŸlarla hedef arasında en son mtime\n" " kullanılır\n" -#: main.c:374 +#: main.c:349 #, fuzzy msgid "" " -n, --just-print, --dry-run, --recon\n" @@ -961,7 +971,7 @@ " -n, --just-print, --dry-run, --recon\n" " Gerçekte komutlar çalıştırılmaz, gösterilir.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -971,17 +981,17 @@ " DOSYAnın çok eski olduÄŸu varsayılır ve\n" " yeniden iÅŸlem yapılmaz.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base make'in içsel veritabanını basar.\n" -#: main.c:385 +#: main.c:360 #, fuzzy msgid "" " -q, --question Run no recipe; exit status says if up to " @@ -989,49 +999,49 @@ msgstr "" " -q, --question Komut çalıştırmaz; güncelse çıkışta belirtir\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr "" " -r, --no-builtin-rules OluÅŸumiçi örtük kuralları etkisizleÅŸtirir.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr "" " -R, --no-builtin-variables OluÅŸumiçi deÄŸiÅŸken ayarlarını etkisizleÅŸtirir\n" -#: main.c:391 +#: main.c:366 #, fuzzy msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Komutlar iÅŸlenirken gösterilmez.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" msgstr "" " -S, --no-keep-going, --stop Bazı hedefler yapılmadığında devam etmez.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Yeniden derlemek yerine hedeflere bakıp " "geçer.\n" -#: main.c:398 +#: main.c:373 #, fuzzy msgid " --trace Print tracing information.\n" msgstr " -b, -m Bir sürü hata ayıklama bilgisi basar.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version make sürüm numarasını basar ve çıkar.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Kullanılan dizini basar.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1039,7 +1049,7 @@ " --no-print-directory Dolaylı olarak açılmış olsa bile -w 'yi " "kapatır\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1047,7 +1057,7 @@ " -W DOSYA, --what-if=DOSYA, --new-file=DOSYA, --assume-new=DOSYA\n" " DOSYA sonsuz yeni varsayılır.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1055,26 +1065,26 @@ " --warn-undefined-variables Atanmamış bir deÄŸiÅŸkene bağıntı yapıldığında\n" " uyarır.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "dosyaismi olarak boÅŸ dizge geçersiz" -#: main.c:766 +#: main.c:737 #, fuzzy, c-format msgid "unknown debug level specification '%s'" msgstr "Hata ayıklama düzeyi özelliÄŸi `%s' bilinmiyor" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "" -#: main.c:861 +#: main.c:828 #, fuzzy, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Kesinti/OlaÄŸandışı durum saptandı (kod = 0x%lx, adres = 0x%lx)\n" -#: main.c:868 +#: main.c:835 #, fuzzy, c-format msgid "" "\n" @@ -1089,38 +1099,67 @@ "OlaÄŸandışılıkBayrakları = %lx\n" "OlaÄŸandışılıkAdresi = %lx\n" -#: main.c:876 +#: main.c:843 #, fuzzy, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "EriÅŸim uyumsuzluÄŸu: %lx adresinde yazma iÅŸlemi\n" -#: main.c:877 +#: main.c:844 #, fuzzy, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "EriÅŸim uyumsuzluÄŸu: %lx adresinde okuma iÅŸlemi\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, fuzzy, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell default_shell = %s olarak belirliyor\n" -#: main.c:1021 +#: main.c:988 #, fuzzy, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" "find_and_set_shell yol aramasını default_shell = %s olarak belirliyor\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s 30 saniyeliÄŸine askıya alınıyor..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "sleep(30) bitti. Devam ediliyor.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format +msgid "" +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "içsel hata: --jobserver-fds dizgesi `%s' geçersiz" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "" + +#: main.c:1551 +msgid "warning: -jN forced in submake: disabling jobserver mode." +msgstr "uyarı: alt derlemede -jN zorlandı: iÅŸ sunucusu kipi kapatılıyor." + +#: main.c:1567 +msgid "dup jobserver" +msgstr "çift iÅŸ sunucusu" + +#: main.c:1570 #, fuzzy msgid "" "warning: jobserver unavailable: using -j1. Add '+' to parent make rule." @@ -1128,97 +1167,111 @@ "uyarı: iÅŸ sunucusu kullanımdışı: -j1 kullanılıyor. Ãœst make kuralına `+' " "ekle." -#: main.c:1635 -msgid "warning: -jN forced in submake: disabling jobserver mode." -msgstr "uyarı: alt derlemede -jN zorlandı: iÅŸ sunucusu kipi kapatılıyor." - -#: main.c:1805 +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile standart girdiden iki kez belirtildi." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (geçici dosya)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (geçici dosya)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Bu platformda paralel iÅŸler (-j) desteklenmiyor." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Tek iÅŸ kipi (-j1) için make'i baÅŸlatma konumuna alıyor" -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "iÅŸleri yaratıyor" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "iÅŸleri hazırlıyor" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Sembolik baÄŸlar desteklenmiyor: -L iptal ediliyor" -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "makefile'ları güncelliyor...\n" -#: main.c:2195 +#: main.c:2158 #, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "`%s' make dosyası çevrime girdi; yeniden derlenemez.\n" -#: main.c:2279 +#: main.c:2237 #, fuzzy, c-format msgid "Failed to remake makefile '%s'." msgstr "`%s' make dosyası yeniden derlenemiyor." -#: main.c:2299 +#: main.c:2257 #, fuzzy, c-format msgid "Included makefile '%s' was not found." msgstr "İçerilen make dosyası `%s' bulunamadı." -#: main.c:2304 +#: main.c:2262 #, fuzzy, c-format msgid "Makefile '%s' was not found" msgstr "`%s' make dosyası bulunamadı" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Geriye, özgün dizine geçilemiyor." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Yeniden çalıştırılıyor[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (geçici dosya): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL bir hedeften fazlasını içeriyor" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Hedefler belirtilmediÄŸinden make dosyası yok" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Hedef yok" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "Amaçlanan hedefler güncelleniyor...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "uyarı: Clock skew saptandı. Derleme tamamlanamayabilir." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "Kullanım: %s [seçenekler] [hedef] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1227,7 +1280,7 @@ "\n" "Bu program %s için kurgulanmış\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1236,38 +1289,38 @@ "\n" "Bu program %s için kurgulanmış (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" "Yazılım hatalarını adresine,\n" "çeviri hatalarını adresine bildiriniz.\n" -#: main.c:2870 +#: main.c:2807 #, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "`-%c' seçeneÄŸi bir boÅŸ olmayan dizge argüman gerektirir" -#: main.c:2934 +#: main.c:2871 #, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "`-%c' seçeneÄŸi bir pozitif tümleyici bağımsız deÄŸiÅŸkenle kullanılır" -#: main.c:3332 +#: main.c:3269 #, fuzzy, c-format msgid "%sBuilt for %s\n" msgstr "" "\n" "%sBu program %s için derlenmiÅŸ\n" -#: main.c:3334 +#: main.c:3271 #, fuzzy, c-format msgid "%sBuilt for %s (%s)\n" msgstr "" "\n" "%sBu program %s için derlenmiÅŸ (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "OLUÅžUMİÇİ CD %s\n" + +#: vmsjobs.c:505 #, c-format -msgid "DCL: %s\n" +msgid "Unknown builtin command '%s'\n" +msgstr "OluÅŸumiçi komut '%s' bilinmiyor\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Hata, boÅŸ komut\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "%s den yönlendirilmiÅŸ girdi\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "%s e yönlendirilmiÅŸ hata\n" + +#: vmsjobs.c:690 #, fuzzy, c-format msgid "Append output to %s\n" msgstr "%s e yönlendirilmiÅŸ çıktı\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "%s e yönlendirilmiÅŸ çıktı\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "%s yerine çalıştırılıyor\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "doÄŸum hatası, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2156,12 +2218,12 @@ "\n" "# VPATH Arama yolu\n" -#: vpath.c:620 +#: vpath.c:600 #, fuzzy msgid "# No 'vpath' search paths." msgstr "# `vpath' arama yolları yok" -#: vpath.c:622 +#: vpath.c:602 #, fuzzy, c-format msgid "" "\n" @@ -2170,7 +2232,7 @@ "\n" "# %u `vpath' arama yolu.\n" -#: vpath.c:625 +#: vpath.c:605 #, fuzzy msgid "" "\n" @@ -2179,7 +2241,7 @@ "\n" "# Genel arama yolu (`VPATH' çevre deÄŸiÅŸkeni) yok." -#: vpath.c:631 +#: vpath.c:611 #, fuzzy msgid "" "\n" @@ -2190,55 +2252,18 @@ "# Genel (`VPATH' çevre deÄŸiÅŸkeni) arama yolu:\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "" - #~ msgid "# Invalid value in `update_status' member!" #~ msgstr "# `update_status' üyesinde geçersiz deÄŸer!" #~ msgid "*** [%s] Error 0x%x (ignored)" #~ msgstr "*** [%s] Hata 0x%x (yoksayıldı)" -#~ msgid "*** [%s] Error 0x%x" -#~ msgstr "*** [%s] Hata 0x%x" - #~ msgid "process_easy() failed failed to launch process (e=%ld)\n" #~ msgstr "Süreci baÅŸlatmada process_easy() baÅŸarısız oldu (e=%ld)\n" #~ msgid "internal error: multiple --jobserver-fds options" #~ msgstr "içsel hata: çok sayıda --jobserver-fds seçeneÄŸi" -#~ msgid "dup jobserver" -#~ msgstr "çift iÅŸ sunucusu" - #~ msgid "" #~ "%sThis is free software; see the source for copying conditions.\n" #~ "%sThere is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n" @@ -2272,36 +2297,12 @@ #~ "\n" #~ "%s dizge belleÄŸindeki dizgelerin sayısı: %d\n" -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Uyarı: BoÅŸ yönlendirme\n" - -#~ msgid "internal error: `%s' command_state" -#~ msgstr "içsel hata: `%s' command_state" - #~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n" #~ msgstr "-uyarı, CTRL-Y etraftaki alt-süreç(ler)i bıraktıracak.\n" -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "OLUÅžUMİÇİ [%s][%s]\n" - #~ msgid "BUILTIN RM %s\n" #~ msgstr "OLUÅžUMİÇİ RM %s\n" -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "OluÅŸumiçi komut '%s' bilinmiyor\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Hata, boÅŸ komut\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "%s den yönlendirilmiÅŸ girdi\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "%s e yönlendirilmiÅŸ hata\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "doÄŸum hatası, %d\n" - #~ msgid "Syntax error, still inside '\"'\n" #~ msgstr "Dosyada hala yazılış hatası var: '\"'\n" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/uk.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/uk.gmo differ diff -Nru make-dfsg-4.2.1/po/uk.po make-dfsg-4.1/po/uk.po --- make-dfsg-4.2.1/po/uk.po 2016-06-10 23:03:36.000000000 +0000 +++ make-dfsg-4.1/po/uk.po 2016-01-16 10:25:59.000000000 +0000 @@ -3,13 +3,13 @@ # This file is distributed under the same license as the make package. # # Volodymyr M. Lisivka , 2001-2012. -# Yuri Chornoivan , 2012, 2013, 2014, 2016. +# Yuri Chornoivan , 2012, 2013. msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make 4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-22 21:55+0300\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-09 22:15+0300\n" "Last-Translator: Volodymyr M. Lisivka \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -22,7 +22,7 @@ #: ar.c:46 #, c-format msgid "attempt to use unsupported feature: '%s'" -msgstr "Ñпроба вжити можливіÑÑ‚ÑŒ, підтримки Ñкої не передбачено: \"%s\"" +msgstr "Ñпроба вжити можливіÑÑ‚ÑŒ, Ñка не підтримуєтьÑÑ: \"%s\"" #: ar.c:123 msgid "touch archive member is not available on VMS" @@ -36,7 +36,7 @@ #: ar.c:150 #, c-format msgid "touch: '%s' is not a valid archive" -msgstr "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: некоректний архів: \"%s\"" +msgstr "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: Ðевірний архів: \"%s\"" #: ar.c:157 #, c-format @@ -48,85 +48,85 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "" "Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу зміни: Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ ar_member_touch повернула\n" -"помилковий код відповіді Ð´Ð»Ñ \"%s\"" +"поганий код відповіді Ð´Ð»Ñ \"%s\"" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "lbr$set_module() не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ дані модулÑ, Ñтан = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "Помилка lbr$ini_control() з повідомленнÑм Ñтану = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ бібліотеку «%s» Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ Ñтану елемента %d" +msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ бібліотеку «%s» Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ елемента «%s»" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Елемент «%s»%s: %ld байтів з %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" msgstr " (ім'Ñ Ð¼Ð¾Ð¶Ðµ бути обрізано)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Дата %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, режим = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "У рецепті забагато Ñ€Ñдків (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Зупинка.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Елемент архіву, «%s», можливо Ñ” фіктивним; не вилучено" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Елемент архіву, «%s», можливо Ñ” фіктивним; не вилучено" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] Вилучаємо файл \"%s\"" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" msgstr "*** Вилучаємо файл \"%s\"" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# ÑпоÑіб, Ñкий Ñлід заÑтоÑувати" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (вбудоване):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (з \"%s\", Ñ€Ñдок %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -134,62 +134,62 @@ "\n" "# Каталоги\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: неможливо отримати інформацію (stat).\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (ключ %s, Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ %ull): не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (ключ %s, Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ %d): не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (приÑтрій %d, івузол [%d,%d,%d]): неможливо відкрити.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (приÑтрій %ld, івузол %ld): не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (ключ %s, Ñ‡Ð°Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (ключ %s, Ñ‡Ð°Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (приÑтрій %d, івузол [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (приÑтрій %ld, івузол %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "ÐÑ–" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " файлів, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "ні" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " недоÑÑжних цілей" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " на поточний момент." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " недоÑÑжних цілей у %lu каталогах.\n" @@ -199,158 +199,158 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "РекурÑивна змінна \"%s\" поÑилаєтьÑÑ Ñама на Ñебе (у результаті)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "незавершена поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° змінну" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "СпоÑіб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» було задано %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "" "СпоÑіб Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° «%s» було знайдено за допомогою пошуку неÑвних правил," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "але \"%s\" Ñ– \"%s\" тепер вважаютьÑÑ Ð¾Ð´Ð½Ð¸Ð¼ Ñ– тим же ж файлом. " -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "СпоÑіб Ð´Ð»Ñ Â«%s» буде проігноровано на кориÑÑ‚ÑŒ ÑпоÑобу Ð´Ð»Ñ Â«%s»." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "" "неможливо перейменувати \"%s\" з однією двокрапкою у \"%s\" з двома " "двокрапками" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "" "неможливо перейменувати \"%s\" з двома двокрапками у \"%s\" з однією " "двокрапкою" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** Вилучаємо проміжний файл «%s»" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" -msgstr "Вилучаємо проміжні файли...\n" +msgstr "ВидалÑÑŽ проміжні файли...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Поточний чаÑ" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: чаÑова позначка поза допуÑтимим діапазоном; замінюємо на %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Ðе Ñ” метою:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# ВартіÑний файл (залежніÑÑ‚ÑŒ .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# ПÑевдоціль (залежніÑÑ‚ÑŒ .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Мета, що викликаєтьÑÑ Ð· командного Ñ€Ñдка." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Типово, MAKEFILES, або -include/sinclude makefile." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Вбудоване правило" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Пошук неÑвних правил виконано." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# Пошук неÑвних правил не було виконано." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# ОÑнова неÑвного або Ñтатичного шаблону: \"%s\"\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Файл Ñ” проміжною залежніÑÑ‚ÑŽ." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# Збирає також:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# Ð§Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ ніколи не перевірÑвÑÑ." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Файл не Ñ–Ñнує." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Файл дуже Ñтарий." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# ВоÑтаннє оновлено %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Файл був оновлений." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Файл не було оновлено." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# ВиконуєтьÑÑ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ° (ЦЕ ПОМИЛКÐ)" -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Ці залежноÑÑ‚Ñ– вже оброблÑÑŽÑ‚ÑŒÑÑ (ЦЕ ПОМИЛКÐ)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# УÑпішно оновлено." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Повинно бути оновлено (вÑтановлений ключ -q)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Спроба Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±ÐµÐ·ÑƒÑпішна." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð»ÐµÐ½Ð° \"command_state\"!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -358,7 +358,7 @@ "\n" "# Файли" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -368,122 +368,105 @@ "# ÑтатиÑтика щодо таблиці хешів файлів:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: поле «%s» не кешовано: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "не чиÑловий перший аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"word\"" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "першим аргументом функції «word» має бути чиÑло, більше за 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "не чиÑловий перший аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"wordlist\"" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "не чиÑловий другий аргумент Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— \"wordlist\"" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: помилка DuplicateHandle(In) (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: помилка DuplicateHandle(Err) (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "Помилка CreatePipe() (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): помилка process_init_fd()\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Спорожнюємо тимчаÑовий пакетний файл %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "file: не вказано назви файла" - -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "open: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "write: %s: %s" -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "close: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "file: надто багато аргументів" +msgid "Invalid file operation: %s" +msgstr "Ðекоректна Ð´Ñ–Ñ Ð½Ð°Ð´ файлом: %s" -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "read: %s: %s" - -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "file: некоректна Ð´Ñ–Ñ Ð½Ð°Ð´ файлом: %s" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "недоÑÑ‚Ð°Ñ‚Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ аргументів (%d) функції «%s»" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "не реалізовано на цій платформі: Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Â«%s»" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "незавершений виклик функції \"%s\"; пропущено \"%c\"" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° функції" +msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° функції\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Ðекоректна назва функції: %s" +msgstr "Ðекоректна назва функції: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Ðазва функції Ñ” задовгою: %s" +msgstr "Ðазва функції Ñ” задовгою: %s\n" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Ðекоректна мінімальна кількіÑÑ‚ÑŒ аргументів (%u) функції %s" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Ðекоректна макÑимальна кількіÑÑ‚ÑŒ аргументів (%u) функції %s" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "Ðекоректна мінімальна кількіÑÑ‚ÑŒ аргументів (%d) функції %s\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "Ðекоректна макÑимальна кількіÑÑ‚ÑŒ аргументів (%d) функції %s\n" #: getopt.c:659 #, c-format @@ -580,7 +563,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Пошук неÑвного правила Ð´Ð»Ñ Ñ‡Ð»ÐµÐ½Ð° архіву \"%s\".\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Ð—Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ñ€ÐµÐºÑƒÑ€Ñивного виклику неÑвного правила.\n" @@ -624,77 +607,101 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Пошук правила з проміжним файлом \"%s\".\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Ðе вдалоÑÑ Ñтворити тимчаÑовий файл\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (зроблений дамп пам'ÑÑ‚Ñ–)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (ігноруєтьÑÑ)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "<вбудований>" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: Ñпроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s» зазнала невдачі" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Помилка %d%s" + +#: job.c:519 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Помилка %d%s" +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Помилка 0x%x%s" -#: job.c:599 +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** ÐžÑ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð·Ð°Ð²Ð´Ð°Ð½ÑŒ..." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Ðезавершений дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (віддалений)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Підбираємо невдалий дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Підбираємо вдалий дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Ð—Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового командного файла %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "" "Спроба Ð²Ð¸Ñ‚Ð¸ÐºÐ°Ð½Ð½Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового файла пакетної обробки %s зазнала невдачі (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Вилучаємо PID дочірнього процеÑу %p %s%s з ланцюжка.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "ÑпуÑкаємо Ñемафор Ñервера завдань: (Помилка %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Звільнено Ñимвол Ð´Ð»Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ Ñервера завдань" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() не вдалоÑÑ Ð·Ð°Ð¿ÑƒÑтити Ð¿Ñ€Ð¾Ñ†ÐµÑ (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -703,96 +710,100 @@ "\n" "Під Ñ‡Ð°Ñ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾Ð³Ð¾ запуÑку кількіÑÑ‚ÑŒ аргументів дорівнювала %d\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Додаємо дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· PID %p (%s) %s%s до ланцюжка.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "Ð¾Ñ‡Ñ–ÐºÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñемафора або дочірнього процеÑу: (помилка %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Отримано Ñимвол Ð´Ð»Ñ Ð´Ð¾Ñ‡Ñ–Ñ€Ð½ÑŒÐ¾Ð³Ð¾ процеÑу %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "читаємо запиÑи з потоку завдань" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: мети «%s» не Ñ–Ñнує" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼ÐµÑ‚Ð¸ «%s» з такої причини: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "" "Ñ†Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ð¹Ð½Ð° ÑиÑтема не дозволÑÑ” вÑтановлювати Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° завантаженнÑ" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "неможливо вÑтановити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° завантаженнÑ: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stdin\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stdout\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "не виÑтачає файлових деÑкрипторів: не вдалоÑÑ Ð·Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ñ‚Ð¸ stderr\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stdin\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stdout\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Ðе вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ stderr\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "" "make підібрано дочірній Ð¿Ñ€Ð¾Ñ†ÐµÑ Ð· pid %s, Ñкий вÑе ще чекає на Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ " "процеÑу з pid %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: не знайдено команди\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: не знайдено команди\n" +msgid "%s: Command not found" +msgstr "%s: Команда не знайдена" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Командний процеÑор не знайдений" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: ймовірно, завершилоÑÑ Ð¼Ñ–Ñце у Ñередовищі" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL змінено (було «%s», тепер «%s»)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Створюємо тимчаÑовий пакетний файл %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -800,7 +811,7 @@ "ВміÑÑ‚ файла пакетної обробки:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -809,7 +820,7 @@ "ВміÑÑ‚ пакетного файла:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "" @@ -840,28 +851,28 @@ msgid "Empty symbol name for load: %s" msgstr "ÐŸÐ¾Ñ€Ð¾Ð¶Ð½Ñ Ð½Ð°Ð·Ð²Ð° Ñимволу Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Завантажуємо Ñимвол %s з %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "Ðа цій платформі Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð´Ñ–Ñ— «load» не передбачено." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Ключі:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m ІгноруєтьÑÑ, Ð´Ð»Ñ ÑуміÑноÑÑ‚Ñ–.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make безумовно оброблÑти вÑÑ– запиÑи мети.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -870,18 +881,18 @@ " Перейти до каталогу до Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð±ÑƒÐ´ÑŒ-Ñких " "дій.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d ВивеÑти діагноÑтичні повідомленнÑ.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" " --debug[=ПРÐПОРЦІ] ВивеÑти діагноÑтичні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ñ… " "типів.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -890,12 +901,12 @@ " Змінні Ñередовища мають вищий пріоритет за " "змінні makefile.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr " --eval=РЯДОК Обробити РЯДОК Ñк інÑтрукцію makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -903,16 +914,16 @@ " -f ФÐЙЛ, --file=ФÐЙЛ, --makefile=ФÐЙЛ\n" " ВикориÑтати ФÐЙЛ Ñк makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help ВивеÑти це Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñ– вийти.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr "" " -i, --ignore-errors Ігнорувати помилки від ÑпоÑобів збираннÑ.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -920,7 +931,7 @@ " -I КÐТÐЛОГ, --include-dir=КÐТÐЛОГ\n" " Виконати пошук включених makefile у каталозі.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -928,14 +939,14 @@ " -j [N], --jobs[=N] Виконувати одночаÑно N завдань; Ñкщо не " "вказано — необмежену кількіÑÑ‚ÑŒ.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr "" " -k, --keep-going Продовжувати роботу, Ñкщо Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ ÑкоїÑÑŒ мети " "неможливе.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -945,7 +956,7 @@ " Ðе запуÑкати декількох завдань, Ñкщо " "Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" @@ -953,7 +964,7 @@ " -L, --check-symlink-times ВикориÑтовувати новіший Ñ‡Ð°Ñ Ð·Ð¼Ñ–Ð½Ð¸ з чаÑів " "зміни поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñ– мети.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -963,7 +974,7 @@ " Ðе заÑтоÑовувати ÑпоÑобів збираннÑ, проÑто " "вивеÑти назви ÑпоÑобів.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -973,7 +984,7 @@ " Вважати ФÐЙЛ дуже Ñтарим Ñ– не виконувати його " "повторного збираннÑ.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -982,11 +993,11 @@ " Ñинхронізувати виведені дані паралельних " "завдань за ТИПом.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base ВивеÑти внутрішню базу даних make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" @@ -995,19 +1006,19 @@ "ÑпоÑобів; код Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·ÑƒÑ”, чи вÑе вже " "зроблено.\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules Вимкнути вбудовані неÑвні правила.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables Вимкнути вбудовані параметри змінних.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Ðе виводити ÑпоÑоби збираннÑ.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1015,26 +1026,26 @@ " -S, --no-keep-going, --stop\n" " Вимкнути -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr "" " -t, --touch Змінювати Ñ‡Ð°Ñ Ð´Ð¾Ñтупу до мети заміÑÑ‚ÑŒ Ñ—Ñ— " "повторного збираннÑ.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace ВивеÑти дані щодо траÑуваннÑ.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version ВивеÑти дані щодо верÑÑ–Ñ— make Ñ– вийти.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Виводити дані щодо поточного каталогу.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" @@ -1042,7 +1053,7 @@ " --no-print-directory Вимкнути -w, навіть Ñкщо Ð²Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð±ÑƒÐ»Ð¾ " "виконано неÑвним чином.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1050,7 +1061,7 @@ " -W ФÐЙЛ, --what-if=ФÐЙЛ, --new-file=ФÐЙЛ, --assume-new=ФÐЙЛ\n" " Вважати ФÐЙЛ завжди новим.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" @@ -1058,26 +1069,26 @@ " --warn-undefined-variables Попереджати про поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° невизначену " "змінну.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "порожній Ñ€Ñдок не може бути назвою файла" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "невідома ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ€Ñ–Ð²Ð½Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтики, «%s»" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "невідомий тип Ñинхронізації виведених даних, «%s»" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: ÑталоÑÑ Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ (код = 0x%lx, адреÑа = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1092,139 +1103,184 @@ "Прапорці Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ = %lx\n" "ÐдреÑа Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "ÐŸÐ¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» доÑтупу: Ð´Ñ–Ñ Ð· запиÑу за адреÑою 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "ÐŸÐ¾Ñ€ÑƒÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» доÑтупу: Ð´Ñ–Ñ Ð· Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð·Ð° адреÑою 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() вÑтановлює default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "" "Пошуком шлÑхів find_and_set_shell() вÑтановлено Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s призупинÑєтьÑÑ Ð½Ð° 30 Ñекунд..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "виконано sleep(30). Продовжуємо.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"попередженнÑ: Ñервер завдань недоÑтупний: викориÑтовуємо -j1. Додайте «+» до " -"батьківÑького правила збираннÑ." +"Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ñемафор Ñервера завдань «%s»: " +"(помилка %ld: %s)" -#: main.c:1635 +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Клієнт Ñервера завдань (Ñемафор %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: некоректний Ñ€Ñдок --jobserver-fds, «%s»" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Клієнт Ñервера завдань (fd %d,%d)\n" + +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "" "попередженнÑ: у вкладеному файлів Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ -jN: вимикаємо режим " "Ñервера завдань." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "дублюємо Ñервер завдань" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"попередженнÑ: Ñервер завдань недоÑтупний: викориÑтовуємо -j1. Додайте «+» до " +"батьківÑького правила збираннÑ." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Makefile зі Ñтандартного джерела вхідних даних вказано двічі." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (тимчаÑовий файл)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (тимчаÑовий файл)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Ðа цій платформі паралельної обробки завдань (-j) не передбачено." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "ПовертаємоÑÑ Ð´Ð¾ режиму єдиного Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Слоти Ñервера завдань обмежено значеннÑм %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "Ñтворюємо Ñемафор Ñервера завдань: (помилка %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "Ñтворюємо канал завдань" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "ініціалізуємо канал Ñервера завдань" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Підтримки Ñимволічних поÑилань не передбачено: вимикаємо -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ make-файлів...\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Make-файл \"%s\", можливо, зациклений, він не перезбиратиметьÑÑ.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Спроба перезібрати make-файл \"%s\" безуÑпішна." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Make-файл \"%s\", Ñкий включаєтьÑÑ, не було знайдено." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Make-файл \"%s\" не було знайдено" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Ðеможливо перейти у первіÑний каталог." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Повторне виконаннÑ[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (тимчаÑовий файл): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL міÑтить декілька запиÑів мети" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "Ðе задані цілі Ñ– не знайдений make-файл" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Ðема цілей" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ†Ñ–Ð»ÐµÐ¹ мети...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "попередженнÑ: виÑвлено Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·Ñ–Ð² годинника. Ð—Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ðµ бути " "неповним." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "ВикориÑтаннÑ: %s [КЛЮЧІ]... [ЦІЛЬ]...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1233,7 +1289,7 @@ "\n" "Цю програму зібрано Ð´Ð»Ñ %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1242,32 +1298,32 @@ "\n" "Цю програму зібрано Ð´Ð»Ñ %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "Повідомлюйте про помилки до \n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "разом з «%s%s» мало бути вказано непорожній Ñ€Ñдковий аргумент" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "ключ \"-%c\" повинен викориÑтовуватиÑÑ Ð· цілим додатним аргументом" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" msgstr "%sЗібрано Ð´Ð»Ñ %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" msgstr "%sЗібрано Ð´Ð»Ñ %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "ВБУДОВÐÐИЙ CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Ðевідома вбудована команда \"%s\".\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Помилка, Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n" + +#: vmsjobs.c:674 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Redirected input from %s\n" +msgstr "ПереÑпрÑмоване Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· %s\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку переÑпрÑмовано до %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "ДопиÑати виведенні дані до %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "ПереÑпрÑмовуємо Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾ %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "ДопиÑати %.*s Ñ– Ñпорожнити\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "ЗаміÑÑ‚ÑŒ заданого виконуєтьÑÑ %s\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Помилка Ð¿Ð¾Ñ€Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2151,11 +2223,11 @@ "\n" "# ШлÑхи пошуку VPATH\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Ðе визначено шлÑÑ… пошуку \"vpath\"." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2164,7 +2236,7 @@ "\n" "# %u шлÑхи пошуку \"vpath\".\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2172,7 +2244,7 @@ "\n" "# Ðе визначено загальний шлÑÑ… пошуку (змінна \"VPATH\")." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2182,85 +2254,6 @@ "# Загальний шлÑÑ… пошуку (змінна \"VPATH\"):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Слоти Ñервера завдань обмежено значеннÑм %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "Ñтворюємо Ñемафор Ñервера завдань: (помилка %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ Ñемафор Ñервера завдань «%s»: " -"(помилка %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Клієнт Ñервера завдань (Ñемафор %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "ÑпуÑкаємо Ñемафор Ñервера завдань: (Помилка %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "Ð¾Ñ‡Ñ–ÐºÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñемафора або дочірнього процеÑу: (помилка %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: Ñпроба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ€ÐµÑ†ÐµÐ¿Ñ‚Ð° Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¸ «%s» зазнала невдачі" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Помилка 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "дублюємо Ñервер завдань" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "ПопередженнÑ: порожнє переÑпрÑмуваннÑ\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: «%s» command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "ВБУДОВÐÐИЙ [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "ВБУДОВÐÐЕ ECHO %s->%s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Ðевідома вбудована команда \"%s\".\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "" -#~ "У .ONESHELL Ñ†Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð° команда Ñ” невідомою або непідтримуваною: «%s»\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Помилка, Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "ПереÑпрÑмоване Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку переÑпрÑмовано до %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "ПереÑпрÑмовуємо Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð¾ %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Помилка Ð¿Ð¾Ñ€Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу, %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: вказано декілька параметрів --sync-mutex" Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/vi.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/vi.gmo differ diff -Nru make-dfsg-4.2.1/po/vi.po make-dfsg-4.1/po/vi.po --- make-dfsg-4.2.1/po/vi.po 2016-06-10 23:03:37.000000000 +0000 +++ make-dfsg-4.1/po/vi.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,27 +1,28 @@ # Vietnamese translation for Make. -# Bản dịch tiếng Việt dành cho make. -# Copyright © 2016 Free Software Foundation, Inc. +# Copyright © 2013 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. # Clytie Siddall , 2006-2010. # Nguyá»…n Thái Ngá»c Duy , 2012. -# Trần Ngá»c Quân , 2012-2014, 2016. +# Trần Ngá»c Quân , 2012-2013. # msgid "" msgstr "" -"Project-Id-Version: make 4.2\n" +"Project-Id-Version: make-4.0\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-05-23 07:10+0700\n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-10-10 07:36+0700\n" "Last-Translator: Trần Ngá»c Quân \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Team-Website: \n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Language-Team-Website: \n" -"X-Generator: Gtranslator 2.91.7\n" +"X-Generator: Poedit 1.5.5\n" "X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-Language: Vietnamese\n" +"X-Poedit-Country: VIET NAM\n" #: ar.c:46 #, c-format @@ -52,84 +53,84 @@ msgid "touch: Bad return code from ar_member_touch on '%s'" msgstr "touch: Gặp mã trả lại sai từ ar_member_touch trên “%sâ€" -#: arscan.c:130 +#: arscan.c:124 #, c-format msgid "lbr$set_module() failed to extract module info, status = %d" msgstr "" "lbr$set_module() đã không giải nén thông tin vá» mô-Ä‘un, trạng thái = %d" -#: arscan.c:236 +#: arscan.c:230 #, c-format msgid "lbr$ini_control() failed with status = %d" msgstr "lbr$ini_control() bị lá»—i vá»›i trạng thái = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "không thể mở thÆ° viện “%s†để tra tìm thành viên “%dâ€" +msgstr "không thể mở thÆ° viện “%s†để tra tìm thành viên “%sâ€" -#: arscan.c:965 +#: arscan.c:944 #, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" msgstr "Thành viên “%sâ€%s: %ld byte tại %ld (%ld).\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" -msgstr " (có lẽ tên đã bị cắt ngắn)" +msgstr " (có lẽ tên bị cắt ngắn)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " Ngày %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d, gid = %d, chế Ä‘á»™ = 0%o.\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" msgstr "Công thức có quá nhiá»u dòng (%ud)" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** Ngắt.\n" -#: commands.c:627 +#: commands.c:629 #, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] Thành phần kho “%s†có thể là giả; chÆ°a bị xóa bá»" -#: commands.c:631 +#: commands.c:633 #, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** Thành viên kho “%s†có thể là giả; chÆ°a bị xóa bá»" -#: commands.c:645 +#: commands.c:647 #, c-format msgid "*** [%s] Deleting file '%s'" -msgstr "*** [%s] Äang xóa tập tin “%sâ€" +msgstr "*** [%s] Äang xoá tập tin “%sâ€" -#: commands.c:647 +#: commands.c:649 #, c-format msgid "*** Deleting file '%s'" -msgstr "*** Äang xóa tập tin “%sâ€" +msgstr "*** Äang xoá tập tin “%sâ€" -#: commands.c:683 +#: commands.c:685 msgid "# recipe to execute" msgstr "# công thức cần thá»±c hiện" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (dá»±ng-sẵn):" -#: commands.c:688 +#: commands.c:690 #, c-format msgid " (from '%s', line %lu):\n" msgstr " (từ “%sâ€, dòng %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -137,62 +138,62 @@ "\n" "# ThÆ° mục\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s: không thể lấy thống kê.\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" -msgstr "# %s (khóa %s, mtime %ull): không thể mở.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" +msgstr "# %s (khoá %s, mtime %d): không thể mở.\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (thiết bị %d, nút thông tin [%d,%d,%d]): không thể mở.\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (thiết bị %ld, nút thông tin %ld): không thể mở.\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " -msgstr "# %s (khóa %s, mtime %ull): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " +msgstr "# %s (khoá %s, mtime %d): " -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (thiết bị %d, inode [%d,%d,%d]): " -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (thiết bị %ld, inode %ld): " -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "Không" -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " tập tin, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "không" -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " việc không thể làm được" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " cho đến giá»." -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " việc không thể làm được trong %lu thÆ° mục.\n" @@ -202,154 +203,154 @@ msgid "Recursive variable '%s' references itself (eventually)" msgstr "Biến đệ quy “%s†(cuối cùng) lại tham chiếu đến chính nó" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "tham chiếu biến chÆ°a chấm dứt" -#: file.c:278 +#: file.c:271 #, c-format msgid "Recipe was specified for file '%s' at %s:%lu," msgstr "Công thức được chỉ định cho tập tin “%s†tại %s:%lu," -#: file.c:283 +#: file.c:276 #, c-format msgid "Recipe for file '%s' was found by implicit rule search," msgstr "Tìm thấy công thức cho tập tin “%s†nhá» quy tắc tìm kiếm ngầm," -#: file.c:287 +#: file.c:280 #, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "nhÆ°ng “%s†bây giỠđược cÅ©ng được xem là cùng tập tin “%sâ€." -#: file.c:290 +#: file.c:283 #, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." msgstr "" "Công thức cho “%s†sẽ bị bá» qua trong sá»± chấp thuận của má»™t cái cho “%sâ€." -#: file.c:310 +#: file.c:303 #, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "không thể đổi tên “%s†hai chấm Ä‘Æ¡n thành “%s†hai chấm đôi" -#: file.c:316 +#: file.c:309 #, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "không thể đổi tên “%s†hai chấm đôi thành “%s†hai chấm Ä‘Æ¡n" -#: file.c:408 +#: file.c:401 #, c-format msgid "*** Deleting intermediate file '%s'" -msgstr "*** Äang xóa tập tin trung gian “%sâ€" +msgstr "*** Äang xoá tập tin trung gian “%sâ€" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" -msgstr "Xóa các tập tin trung gian…\n" +msgstr "Xoá các tập tin trung gian...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "Giá» hiện tại" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%s: Thá»i gian của tập tin ở ngoài phạm vi nên thay thế bằng %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# Không phải là đích:" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# Tập tin giá trị (Ä‘iá»u kiện tiên quyết của .PRECIOUS)." -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# Äích giả (Ä‘iá»u kiện tiên quyết của .PHONY)." -#: file.c:971 +#: file.c:964 msgid "# Command line target." msgstr "# Äích dòng lệnh." -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# Mặc định, MAKEFILES, hoặc makefile kiểu -include/sinclude." -#: file.c:975 +#: file.c:968 msgid "# Builtin rule" msgstr "# Quy tắc dá»±ng sẵn" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# Hoàn tất tìm quy tắc ngầm." -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# ChÆ°a hoàn tất tìm quy tắc ngầm." -#: file.c:980 +#: file.c:973 #, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# Cuống mẫu ngầm/tÄ©nh: “%sâ€\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# Tập tin là má»™t Ä‘iá»u kiện tiên quyết trung gian." -#: file.c:986 +#: file.c:979 msgid "# Also makes:" msgstr "# CÅ©ng tạo:" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# ChÆ°a kiểm tra giá» sá»­a đổi." -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# Tập tin không tồn tại." -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# Tập tin rất cÅ©." -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# Lần sá»­a cuối cùng %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# Tập tin đã được cập nhật." -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# Tập tin chÆ°a được cập nhật." -#: file.c:1008 +#: file.c:1001 msgid "# Recipe currently running (THIS IS A BUG)." msgstr "# Công thức Ä‘ang chạy (ÄÂY LÀ MỘT Lá»–I)." -#: file.c:1011 +#: file.c:1004 msgid "# Dependencies recipe running (THIS IS A BUG)." msgstr "# Công thức phụ thuá»™c Ä‘ang chạy (ÄÂY LÀ MỘT Lá»–I)." -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# Cập nhật thành công." -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# Cần được cập nhật (-q được đặt)." -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# Gặp lá»—i khi cập nhật." -#: file.c:1032 +#: file.c:1025 msgid "# Invalid value in 'command_state' member!" msgstr "# Gặp giá trị sai trong thành viên “command_stateâ€!" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -357,7 +358,7 @@ "\n" "# Tập tin" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -367,124 +368,106 @@ "# thống kê bảng băm tập tin:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" msgstr "%s: TrÆ°á»ng “%s†chÆ°a được nhá»› đệm: %s" -#: function.c:790 +#: function.c:780 msgid "non-numeric first argument to 'word' function" msgstr "đối số thứ nhất không phải dạng số cho hàm “wordâ€" -#: function.c:795 +#: function.c:785 msgid "first argument to 'word' function must be greater than 0" msgstr "đối số thứ nhất cho hàm “word†phải lá»›n hÆ¡n 0" -#: function.c:815 +#: function.c:805 msgid "non-numeric first argument to 'wordlist' function" msgstr "đối số thứ nhất không phải số cho hàm “wordlistâ€" -#: function.c:817 +#: function.c:807 msgid "non-numeric second argument to 'wordlist' function" msgstr "đối số thứ hai không phải số cho hàm “wordlistâ€" -#: function.c:1525 +#: function.c:1499 #, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(In) gặp lá»—i (e=%ld)\n" -#: function.c:1549 +#: function.c:1523 #, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" msgstr "windows32_openpipe: DuplicateHandle(Err) gặp lá»—i (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() bị lá»—i (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 msgid "windows32_openpipe(): process_init_fd() failed\n" msgstr "windows32_openpipe(): process_init_fd() gặp lá»—i\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "Dá»n dẹp tập tin bó tạm %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "file: thiết tên tập tin" - # Variable: do not translate/ biến: đừng dịch -#: function.c:2219 function.c:2250 +#: function.c:2193 #, c-format msgid "open: %s: %s" msgstr "mở: %s: %s" -#: function.c:2227 +#: function.c:2203 #, c-format msgid "write: %s: %s" msgstr "ghi: %s: %s" -# Variable: do not translate/ biến: đừng dịch -#: function.c:2230 function.c:2267 +#: function.c:2209 #, c-format -msgid "close: %s: %s" -msgstr "đóng: %s: %s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "file: quá ít đối số" +msgid "Invalid file operation: %s" +msgstr "Thao tác tập tin không hợp lệ: %s" -#: function.c:2262 -#, c-format -msgid "read: %s: %s" -msgstr "read: %s: %s" - -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "Tập tin: Thao tác tập tin không hợp lệ: %s" - -#: function.c:2390 +#: function.c:2324 #, c-format msgid "insufficient number of arguments (%d) to function '%s'" msgstr "không đủ số đối số (%d) cho hàm “%sâ€" -#: function.c:2402 +#: function.c:2336 #, c-format msgid "unimplemented on this platform: function '%s'" msgstr "chÆ°a được viết mã thi hành trên hệ thống này: hàm “%sâ€" -#: function.c:2466 +#: function.c:2399 #, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "cuá»™c gá»i chÆ°a được chấm dứt cho hàm “%sâ€: thiếu “%câ€" -#: function.c:2650 +#: function.c:2591 +#, fuzzy msgid "Empty function name" -msgstr "Tên hàm trống rá»—ng" +msgstr "Tên hàm trống rá»—ng\n" -#: function.c:2652 -#, c-format +#: function.c:2593 +#, fuzzy, c-format msgid "Invalid function name: %s" -msgstr "Tên hàm không hợp lệ: %s" +msgstr "Tên hàm không hợp lệ: %s\n" -#: function.c:2654 -#, c-format +#: function.c:2595 +#, fuzzy, c-format msgid "Function name too long: %s" -msgstr "Tên hàm quá dài: %s" +msgstr "Tên hàm quá dài: %s\n" -#: function.c:2657 -#, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "Số lượng đối số tối thiểu (%u) là không hợp lệ cho hàm “%sâ€" - -#: function.c:2660 -#, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "Số lượng đối số tối Ä‘a (%u) là không hợp lệ cho hàm “%sâ€" +#: function.c:2598 +#, fuzzy, c-format +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "số lượng đối số tối thiểu (%d) là không hợp lệ cho hàm “%sâ€\n" + +#: function.c:2601 +#, fuzzy, c-format +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "số lượng đối số tối Ä‘a (%d) là không hợp lệ cho hàm “%sâ€\n" #: getopt.c:659 #, c-format @@ -581,7 +564,7 @@ msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "Tìm quy tắc ngầm vá» thành phần kho cho “%sâ€.\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "Tránh quy tắc ngầm đệ quy.\n" @@ -625,76 +608,101 @@ msgid "Looking for a rule with intermediate file '%s'.\n" msgstr "Tìm quy tắc có tập tin trung gian “%sâ€.\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "Không thể tạo tập tin tạm\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (đổ lõi)" -#: job.c:490 +#: job.c:488 msgid " (ignored)" msgstr " (bá» qua)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 msgid "" msgstr "" -#: job.c:510 +#: job.c:503 +#, c-format +msgid "%s: recipe for target '%s' failed" +msgstr "%s: công thức cho đích “%s†gặp lá»—i" + +#: job.c:516 job.c:524 +#, c-format +msgid "%s[%s] Error %d%s" +msgstr "%s[%s] Lá»—i %d%s" + +#: job.c:519 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s: %s] Lá»—i %d%s" +msgid "%s[%s] Error 0x%x%s" +msgstr "%s[%s] Lá»—i 0x%x%s" -#: job.c:599 +# Variable: don't translate / Biến: đừng dịch +#: job.c:529 +#, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s[%s] %s%s%s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." -msgstr "*** Äang đợi những công việc chÆ°a hoàn tất…" +msgstr "*** Äang đợi những công việc chÆ°a hoàn tất..." -#: job.c:629 +#: job.c:651 #, c-format msgid "Live child %p (%s) PID %s %s\n" msgstr "Tiến trình con còn sống %p (%s) PID %s %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (máy chủ)" -#: job.c:831 +#: job.c:841 #, c-format msgid "Reaping losing child %p PID %s %s\n" msgstr "Äang mất tiến trình con %p PID %s %s\n" -#: job.c:832 +#: job.c:842 #, c-format msgid "Reaping winning child %p PID %s %s\n" msgstr "Äang thắng lại tiến trình con %p PID %s %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "Dá»n dẹp tập tin bó tạm %s\n" -#: job.c:845 +#: job.c:855 #, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" msgstr "Dá»n dẹp tập tin bó tạm %s gặp lá»—i (%d)\n" -#: job.c:951 +#: job.c:961 #, c-format msgid "Removing child %p PID %s%s from chain.\n" msgstr "Bá» tiến trình con %p PID %s%s khá»i xâu.\n" -#: job.c:1006 +#: job.c:1021 +#, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "giải phóng tín hiệu jobserver: (Lá»—i %ld: %s)" + +#: job.c:1024 job.c:1038 #, c-format msgid "Released token for child %p (%s).\n" msgstr "Äã giải phóng thẻ bài cho tiến trình con %p (%s).\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "ghi lại trình phục vụ công việc" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() gặp lá»—i khi chạy tiến trình (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -703,96 +711,100 @@ "\n" "Äếm được %d đối số trong lần khởi chạy bị lá»—i\n" -#: job.c:1581 +#: job.c:1735 #, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" msgstr "Äặt tiến trình con %p (%s) PID %s%s vào xâu.\n" -#: job.c:1811 +#: job.c:2005 +#, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "chá» tín hiệu hay tiến trình con: (Lá»—i %ld: %s)" + +#: job.c:2019 #, c-format msgid "Obtained token for child %p (%s).\n" msgstr "Äã lấy thẻ bài cho Ä‘iá»u con %p (%s).\n" -#: job.c:1838 +#: job.c:2029 +msgid "read jobs pipe" +msgstr "Ä‘á»c ống dẫn công việc" + +#: job.c:2056 #, c-format msgid "%s: target '%s' does not exist" msgstr "%s: đích “%s†không tồn tại" -#: job.c:1841 +#: job.c:2059 #, c-format msgid "%s: update target '%s' due to: %s" msgstr "%s: cập nhật đích “%sâ€, cần bởi: %s" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "không thể buá»™c giá»›i hạn tải trên hệ Ä‘iá»u hành này" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "không thể buá»™c giá»›i hạn tải: " -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "" "không thể xá»­ lý thêm tập tin nào nữa: không thể nhân đôi đầu vào chuẩn\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "" "không thể xá»­ lý thêm tập tin nào nữa: không thể nhân đôi đầu ra chuẩn\n" -#: job.c:2074 +#: job.c:2278 msgid "no more file handles: could not duplicate stderr\n" msgstr "" "không thể xá»­ lý thêm tập tin nào nữa: không thể nhân đôi đầu ra lá»—i chuẩn\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "Không thể phục hồi đầu vào chuẩn\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "Không thể phục hồi đầu ra chuẩn\n" -#: job.c:2105 +#: job.c:2309 msgid "Could not restore stderr\n" msgstr "Không thể phục hồi đầu ra lá»—i tiêu chuẩn\n" -#: job.c:2234 +#: job.c:2420 #, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" msgstr "đặt Ä‘iá»u con đã bắt là PID %s, vẫn còn đợi PID %s\n" -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s: %s: Không tìm thấy lệnh\n" - -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]: %s: Không tìm thấy lệnh\n" +msgid "%s: Command not found" +msgstr "%s: Không tìm thấy lệnh" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s: Không tìm thấy chÆ°Æ¡ng trình hệ vá»" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: cạn không gian dành cho biến môi trÆ°á»ng" -#: job.c:2584 +#: job.c:2765 #, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL thay đổi (trÆ°á»›c là “%sâ€, giá» là “%sâ€)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "Tạo tập tin bó lệnh tạm: %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" @@ -800,7 +812,7 @@ "Ná»™i dung tập tin bó lệnh:\n" "\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" @@ -809,7 +821,7 @@ "Ná»™i dung tập tin bó lệnh:%s\n" "\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (dòng %d) Ngữ cảnh shell sai (!unixy && !batch_mode_shell)\n" @@ -838,28 +850,28 @@ msgid "Empty symbol name for load: %s" msgstr "Tên ký hiệu là trống rá»—ng cho việc tải: %s" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" msgstr "Äang tải ký hiệu %s từ %s\n" -#: load.c:256 +#: load.c:244 msgid "The 'load' operation is not supported on this platform." msgstr "không há»— trợ thao tác “load†trên hệ thống này." -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "Tùy chá»n:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" msgstr " -b, -m Bá» qua để tÆ°Æ¡ng thích.\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" msgstr " -B, --always-make Tạo má»i đích vô Ä‘iá»u kiện.\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" @@ -867,17 +879,17 @@ " -C THƯ_MỤC, --directory=THƯ_MỤC\n" " Chuyển sang THƯ MỤC này trÆ°á»›c khi làm.\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d In rất nhiá»u thông tin gỡ rối.\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" msgstr "" -" --debug[=CỜ…] In nhiá»u loại thông tin gỡ rối khác nhau.\n" +" --debug[=CỜ...] In nhiá»u loại thông tin gỡ rối khác nhau.\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -885,13 +897,13 @@ " -e, --environment-overrides\n" " Biến môi trÆ°á»ng đè tập tin makefile.\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" msgstr "" " --eval=CHUá»–I Äịnh lượng CHUá»–I nhÆ° má»™t lệnh makefile.\n" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" @@ -899,15 +911,15 @@ " -f TẬP-TIN, --file=TẬP-TIN, --makefile=TẬP-TIN\n" " Äá»c TẬP-TIN dạng makefile.\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help Hiển thị trợ giúp này và thoát.\n" -#: main.c:360 +#: main.c:335 msgid " -i, --ignore-errors Ignore errors from recipes.\n" msgstr " -i, --ignore-errors Bá» qua lá»—i từ công thức.\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" @@ -915,7 +927,7 @@ " -I THƯ_MỤC, --include-dir=THƯ_MỤC\n" " Quét THƯ-MỤC này tìm makefile con.\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" @@ -923,12 +935,12 @@ " -j [N], --jobs[=N] Cho phép N công việc đồng thá»i; không có đối " "số thì vô hạn.\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" msgstr " -k, --keep-going Cứ tiếp tục khi không thể tạo đích.\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -937,14 +949,14 @@ " -l [Sá»], --load-average[=N], --max-load[=N]\n" " Chỉ chạy nhiá»u công việc nếu tải dÆ°á»›i N.\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" " -L, --check-symlink-times Dùng mtime má»›i nhất giữa liên kết và đích.\n" -#: main.c:374 +#: main.c:349 msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " @@ -953,7 +965,7 @@ " -n, --just-print, --dry-run, --recon\n" " Không chạy công thức; chỉ in chúng ra.\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " @@ -962,7 +974,7 @@ " -o TẬP-TIN, --old-file=TẬP-TIN, --assume-old=TẬP-TIN\n" " Coi TẬP-TIN là rất cÅ© và không tạo lại.\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" @@ -971,30 +983,30 @@ " Äồng bá»™ hóa kết xuất công việc song song theo " "KIỂU.\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base In cÆ¡ sở dữ liệu ná»™i bá»™ của make.\n" -#: main.c:385 +#: main.c:360 msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "" " -q, --question Không chạy; mã thoát là \"đã cập nhật\".\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules Tắt quy tắc ngầm dá»±ng sẵn.\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables Tắt đặt biến dá»±ng sẵn.\n" -#: main.c:391 +#: main.c:366 msgid " -s, --silent, --quiet Don't echo recipes.\n" msgstr " -s, --silent, --quiet Không in lại công thức.\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -1002,30 +1014,30 @@ " -S, --no-keep-going, --stop\n" " Tắt -k.\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" msgstr " -t, --touch Chạm đích thay vì tạo lại.\n" -#: main.c:398 +#: main.c:373 msgid " --trace Print tracing information.\n" msgstr " --trace Hiển thị thông tin dấu vết.\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version Hiển thị phiên bản make rồi thoát.\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory Hiển thị thÆ° mục hiện thá»i.\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr " --no-print-directory Tắt -w, thậm chí nếu được bật ngầm.\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" @@ -1033,33 +1045,33 @@ " -W TẬP-TIN, --what-if=TẬP-TIN, --new-file=TẬP-TIN, --assume-new=TẬP-TIN\n" " Giả định TẬP-TIN là má»›i vô hạn.\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr "" " --warn-undefined-variables Cảnh báo tham chiếu đến biến chÆ°a xác định.\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "chuá»—i rá»—ng không hợp lệ làm tên tập tin" -#: main.c:766 +#: main.c:737 #, c-format msgid "unknown debug level specification '%s'" msgstr "không hiểu đặc tả cấp gỡ rối “%sâ€" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" msgstr "không hiểu kiểu output-sync “%sâ€" -#: main.c:861 +#: main.c:828 #, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" msgstr "%s: Bắt được ngắt/ngoại lệ (mã = 0x%lx, địa chỉ = 0x%p)\n" -#: main.c:868 +#: main.c:835 #, c-format msgid "" "\n" @@ -1074,135 +1086,179 @@ "ExceptionFlags (các cá» ngoại lệ) = %lx\n" "ExceptionAddress (địa chỉ ngoại lệ) = 0x%p\n" -#: main.c:876 +#: main.c:843 #, c-format msgid "Access violation: write operation at address 0x%p\n" msgstr "Vi phạm truy cập: thao tác ghi tại địa chỉ 0x%p\n" -#: main.c:877 +#: main.c:844 #, c-format msgid "Access violation: read operation at address 0x%p\n" msgstr "Vi phạm truy cập: thao tác Ä‘á»c tại địa chỉ 0x%p\n" -#: main.c:953 main.c:968 +#: main.c:920 main.c:935 #, c-format msgid "find_and_set_shell() setting default_shell = %s\n" msgstr "find_and_set_shell() Ä‘ang đặt default_shell = %s\n" -#: main.c:1021 +#: main.c:988 #, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" msgstr "find_and_set_shell() đã quét Ä‘Æ°á»ng dẫn thì đặt default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." -msgstr "%s Ä‘ang ngÆ°ng trong 30 giây…" +msgstr "%s Ä‘ang ngÆ°ng trong 30 giây..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "đã ngủ(30). Tiếp tục.\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" msgstr "" -"cảnh báo: trình jobserver không sẵn sàng: dùng -j1. Thêm “+†vào quy tắc " -"make cha." +"lá»—i ná»™i tại: không thể mở cá» hiệu máy phục vụ công việc “%sâ€: (Lá»—i %ld: %s)" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "Ứng dụng khách jobserver (cá» hiệu %s)\n" + +#: main.c:1534 +#, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "lá»—i ná»™i bá»™: gặp chuá»—i --jobserver-fds “%s†không hợp lệ" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "Ứng dụng khách jobserver (fds %d,%d)\n" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "cảnh báo: -jN bị ép buá»™c trong make con: tắt chế Ä‘á»™ jobserver." -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "dup jobserver" + +#: main.c:1570 +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "" +"cảnh báo: trình jobserver không sẵn sàng: dùng -j1. Thêm “+†vào quy tắc " +"make cha." + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "Tập tin makefile từ đầu vào chuẩn được ghi hai lần." -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (tập tin tạm)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (tập tin tạm)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "Không há»— trợ công việc song song (-j) trên hệ thống này." -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "Äặt lại thành chế Ä‘á»™ công việc Ä‘Æ¡n (-j1)." -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "Khe jobserver bị giá»›i hạn thành %d\n" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "Ä‘ang tạo tín hiệu jobserver: (Lá»—i %ld: %s)" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "tạo ống dẫn công việc" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "khởi tạo Ä‘Æ°á»ng ống “jobserverâ€" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "Không há»— trợ liên kết má»m: tắt -L." -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" -msgstr "Cập nhật makefile…\n" +msgstr "Cập nhật makefile...\n" -#: main.c:2195 +#: main.c:2158 #, c-format msgid "Makefile '%s' might loop; not remaking it.\n" msgstr "Makefile “%s†bị lặp; không tạo lại nó.\n" -#: main.c:2279 +#: main.c:2237 #, c-format msgid "Failed to remake makefile '%s'." msgstr "Gặp lá»—i khi làm lại makefile “%sâ€." -#: main.c:2299 +#: main.c:2257 #, c-format msgid "Included makefile '%s' was not found." msgstr "Không tìm thấy makefile bao gồm “%sâ€." -#: main.c:2304 +#: main.c:2262 #, c-format msgid "Makefile '%s' was not found" msgstr "Không tìm thấy makefile “%sâ€." -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "Không thể chuyển vá» thÆ° mục gốc." -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "Thá»±c hiện lại[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "unlink (bá» liên kết tập tin tạm): " -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL chứa nhiá»u đích" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "ChÆ°a chỉ định đích, và không tìm thấy makefile" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "Không có đích" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" -msgstr "Äang cập nhật đích mong muốn…\n" +msgstr "Äang cập nhật đích mong muốn...\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." msgstr "" "cảnh báo: Phát hiện lệch giá». Bản dịch của bạn có thể không hoàn thiện." -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" -msgstr "Cách dùng: %s [các_tùy_chá»n] [đích] …\n" +msgstr "Cách dùng: %s [các_tùy_chá»n] [đích] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1211,7 +1267,7 @@ "\n" "ChÆ°Æ¡ng trình này đã được dịch cho %s\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1220,34 +1276,34 @@ "\n" "ChÆ°Æ¡ng trình này đã được dịch cho %s (%s)\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "" "Hãy thông báo lá»—i cho \n" "Hãy thông báo lá»—i dịch cho .\n" -#: main.c:2870 +#: main.c:2807 #, c-format msgid "the '%s%s' option requires a non-empty string argument" msgstr "tùy chá»n “%s%s†cần má»™t đối số là chuá»—i khác rá»—ng" -#: main.c:2934 +#: main.c:2871 #, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "tùy chá»n “-%c†cần má»™t đối số số nguyên dÆ°Æ¡ng" -#: main.c:3332 +#: main.c:3269 #, c-format msgid "%sBuilt for %s\n" -msgstr "%sÄược biên dịch cho %s\n" +msgstr "%sÄược dịch cho %s\n" -#: main.c:3334 +#: main.c:3271 #, c-format msgid "%sBuilt for %s (%s)\n" -msgstr "%sÄược biên dịch cho %s (%s)\n" +msgstr "%sÄược dịch cho %s (%s)\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later %s\n" +msgstr "BUILTIN CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "Không hiểu lệnh dá»±ng sẵn “%sâ€\n" + +#: vmsjobs.c:592 #, c-format -msgid "DCL: %s\n" -msgstr "DCL: %s\n" +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" -#: vmsjobs.c:1288 +#: vmsjobs.c:643 +#, c-format +msgid "Error, empty command\n" +msgstr "Lá»—i, lệnh trống rá»—ng\n" + +#: vmsjobs.c:674 +#, c-format +msgid "Redirected input from %s\n" +msgstr "Äã chuyển hÆ°á»›ng đầu vào từ %s\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "Äã chuyển hÆ°á»›ng lá»—i tá»›i %s\n" + +#: vmsjobs.c:690 #, c-format msgid "Append output to %s\n" msgstr "Nối thêm đầu ra vào %s\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "Äã chuyển hÆ°á»›ng đầu ra tá»›i %s\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" msgstr "Nối thêm %.*s và dá»n dẹp\n" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "Thá»±c hiện %s để thay thế\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "Gặp lá»—i sản sinh tiến trình, %d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2135,11 +2206,11 @@ "\n" "# ÄÆ°á»ng dẫn tìm kiếm VPATH\n" -#: vpath.c:620 +#: vpath.c:600 msgid "# No 'vpath' search paths." msgstr "# Không có Ä‘Æ°á»ng dẫn tìm kiếm “vpathâ€." -#: vpath.c:622 +#: vpath.c:602 #, c-format msgid "" "\n" @@ -2148,7 +2219,7 @@ "\n" "# %u Ä‘Æ°á»ng dẫn tìm kiếm “vpathâ€.\n" -#: vpath.c:625 +#: vpath.c:605 msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2156,7 +2227,7 @@ "\n" "# Không có Ä‘Æ°á»ng dẫn tìm kiếm chung (biến “VPATHâ€)." -#: vpath.c:631 +#: vpath.c:611 msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2166,85 +2237,6 @@ "# ÄÆ°á»ng dẫn tìm kiếm chung (biến “VPATHâ€):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "Khe jobserver bị giá»›i hạn thành %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "Ä‘ang tạo tín hiệu jobserver: (Lá»—i %ld: %s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "" -"lá»—i ná»™i tại: không thể mở cá» hiệu máy phục vụ công việc “%sâ€: (Lá»—i %ld: %s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "Ứng dụng khách jobserver (cá» hiệu %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "giải phóng tín hiệu jobserver: (Lá»—i %ld: %s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "chá» tín hiệu hay tiến trình con: (Lá»—i %ld: %s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: công thức cho đích “%s†gặp lá»—i" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] Lá»—i 0x%x%s" - -# Variable: don't translate / Biến: đừng dịch -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "dup jobserver" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "Cảnh báo: Chuyển hÆ°á»›ng trống rá»—ng\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "lá»—i ná»™i bá»™: command_state “%sâ€" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "BUILTIN [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "BUILTIN ECHO %s->%s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "Không hiểu lệnh dá»±ng sẵn “%sâ€\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "" -#~ "Lệnh dá»±ng sẵn là chÆ°a biết hoặc không được há»— trợ trong .ONESHELL: “%sâ€\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "Lá»—i, lệnh trống rá»—ng\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "Äã chuyển hÆ°á»›ng đầu vào từ %s\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "Äã chuyển hÆ°á»›ng lá»—i tá»›i %s\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "Äã chuyển hÆ°á»›ng đầu ra tá»›i %s\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "Gặp lá»—i sản sinh tiến trình, %d\n" - #~ msgid "internal error: multiple --sync-mutex options" #~ msgstr "lá»—i ná»™i bá»™: có nhiá»u tùy chá»n --sync-mutex" @@ -2311,7 +2303,7 @@ #~ msgstr "chỉ thị “override†(đè) không hợp lệ" #~ msgid "-warning, CTRL-Y will leave sub-process(es) around.\n" -#~ msgstr "* cảnh báo, CTRL-Y sẽ để má»™t số tiến trình con còn lại.\n" +#~ msgstr "• cảnh báo, CTRL-Y sẽ để má»™t số tiến trình con còn lại.\n" #~ msgid "Do not specify -j or --jobs if sh.exe is not available." #~ msgstr "Äừng ghi rõ “-j†hay “--jobs†nếu không sẵn sàng." Binary files /tmp/tmpzI5KFi/KcA9gjSsbP/make-dfsg-4.2.1/po/zh_CN.gmo and /tmp/tmpzI5KFi/jfgJN3H3wY/make-dfsg-4.1/po/zh_CN.gmo differ diff -Nru make-dfsg-4.2.1/po/zh_CN.po make-dfsg-4.1/po/zh_CN.po --- make-dfsg-4.2.1/po/zh_CN.po 2016-06-10 23:03:37.000000000 +0000 +++ make-dfsg-4.1/po/zh_CN.po 2016-01-16 10:25:59.000000000 +0000 @@ -1,27 +1,24 @@ -# Make in zh_CN. +# SOME DESCRIPTIVE TITLE. # Copyright (C) 2002 Free Software Foundation, Inc. # This file is distributed under the same license as the make package. # Wang Li , 2002. # LI Daobing , 2008, 2013. -# Mingye Wang , 2015, 2016. # msgid "" msgstr "" -"Project-Id-Version: make 4.1.90\n" +"Project-Id-Version: make 3.99.90\n" "Report-Msgid-Bugs-To: bug-make@gnu.org\n" -"POT-Creation-Date: 2016-06-10 19:03-0400\n" -"PO-Revision-Date: 2016-04-25 13:32-0400\n" -"Last-Translator: Mingye Wang (Arthur2e5) \n" +"POT-Creation-Date: 2014-10-05 12:25-0400\n" +"PO-Revision-Date: 2013-06-12 15:54+0800\n" +"Last-Translator: LI Daobing \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.8.7\n" -"Plural-Forms: nplurals=1; plural=0;\n" #: ar.c:46 -#, c-format +#, fuzzy, c-format msgid "attempt to use unsupported feature: '%s'" msgstr "试图使用ä¸æ”¯æŒçš„功能:“%sâ€" @@ -30,103 +27,103 @@ msgstr "VMS 系统上ä¸æ”¯æŒ touch å½’æ¡£æˆå‘˜" #: ar.c:147 -#, c-format +#, fuzzy, c-format msgid "touch: Archive '%s' does not exist" msgstr "touch:归档文件“%sâ€ä¸å­˜åœ¨" #: ar.c:150 -#, c-format +#, fuzzy, c-format msgid "touch: '%s' is not a valid archive" msgstr "touch:“%sâ€ä¸æ˜¯åˆæ³•çš„归档文件" #: ar.c:157 -#, c-format +#, fuzzy, c-format msgid "touch: Member '%s' does not exist in '%s'" msgstr "touch:在“%2$sâ€ä¸­ä¸å­˜åœ¨æˆå‘˜â€œ%1$sâ€" #: ar.c:164 -#, c-format +#, fuzzy, c-format msgid "touch: Bad return code from ar_member_touch on '%s'" -msgstr "touch:“%sâ€ä¸Šçš„ ar_member_touch 的返回ç ä¸å½“" +msgstr "touch:æ¥è‡ªâ€œ%sâ€ä¸Šçš„ ar_member_touch 的错误返回ç " -#: arscan.c:130 -#, c-format +#: arscan.c:124 +#, fuzzy, c-format msgid "lbr$set_module() failed to extract module info, status = %d" -msgstr "lbr$set_modules() 获å–模å—ä¿¡æ¯å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d" +msgstr "lbr$set_modules 获å–模å—ä¿¡æ¯å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d" -#: arscan.c:236 -#, c-format +#: arscan.c:230 +#, fuzzy, c-format msgid "lbr$ini_control() failed with status = %d" -msgstr "lbr$ini_control() å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d" +msgstr "lbr$ini_control å¤±è´¥ï¼Œè¿”å›žçŠ¶æ€ = %d" -#: arscan.c:261 -#, c-format +#: arscan.c:255 +#, fuzzy, c-format msgid "unable to open library '%s' to lookup member status %d" -msgstr "无法打开库“%sâ€ä»¥å¯»æ‰¾æˆå‘˜ï¼ŒçŠ¶æ€ %d" +msgstr "无法打开库“%sâ€ä»¥å¯»æ‰¾æˆå‘˜â€œ%sâ€" -#: arscan.c:965 -#, c-format +#: arscan.c:944 +#, fuzzy, c-format msgid "Member '%s'%s: %ld bytes at %ld (%ld).\n" -msgstr "æˆå‘˜â€œ%sâ€%s: %ld 字节于 %ld (%ld)。\n" +msgstr "æˆå‘˜â€œ%sâ€%s: %ld 字节在 %ld (%ld)。\n" -#: arscan.c:966 +#: arscan.c:945 msgid " (name might be truncated)" -msgstr " (å称å¯èƒ½è¢«æˆªæ–­)" +msgstr " (å称å¯èƒ½è¢«æˆªçŸ­)" -#: arscan.c:968 +#: arscan.c:947 #, c-format msgid " Date %s" msgstr " 日期 %s" -#: arscan.c:969 +#: arscan.c:948 #, c-format msgid " uid = %d, gid = %d, mode = 0%o.\n" msgstr " uid = %d,gid = %d,mode = 0%o。\n" -#: commands.c:402 +#: commands.c:404 #, c-format msgid "Recipe has too many lines (%ud)" -msgstr "命令é…方行数太多 (%ud)" +msgstr "" -#: commands.c:503 +#: commands.c:505 msgid "*** Break.\n" msgstr "*** 中断。\n" -#: commands.c:627 -#, c-format +#: commands.c:629 +#, fuzzy, c-format msgid "*** [%s] Archive member '%s' may be bogus; not deleted" msgstr "*** [%s] å½’æ¡£æˆå‘˜â€œ%sâ€å¯èƒ½æ˜¯å‡çš„;未删除" -# 是化学的æˆåˆ†ï¼Œæ˜¯ç‰¹æŠ€ï¼ -#: commands.c:631 -#, c-format +#: commands.c:633 +#, fuzzy, c-format msgid "*** Archive member '%s' may be bogus; not deleted" msgstr "*** å½’æ¡£æˆå‘˜â€œ%sâ€å¯èƒ½æ˜¯å‡çš„;未删除" -#: commands.c:645 -#, c-format +#: commands.c:647 +#, fuzzy, c-format msgid "*** [%s] Deleting file '%s'" msgstr "*** [%s] 正在删除文件“%sâ€" -#: commands.c:647 -#, c-format +#: commands.c:649 +#, fuzzy, c-format msgid "*** Deleting file '%s'" msgstr "*** 正在删除文件“%sâ€" -#: commands.c:683 +#: commands.c:685 +#, fuzzy msgid "# recipe to execute" -msgstr "# è¦æ‰§è¡Œçš„é…æ–¹" +msgstr "# è¦æ‰§è¡Œçš„命令" -#: commands.c:686 +#: commands.c:688 msgid " (built-in):" msgstr " (内置):" -#: commands.c:688 -#, c-format +#: commands.c:690 +#, fuzzy, c-format msgid " (from '%s', line %lu):\n" msgstr " (从“%sâ€ï¼Œè¡Œ %lu):\n" -#: dir.c:1069 +#: dir.c:989 msgid "" "\n" "# Directories\n" @@ -134,218 +131,225 @@ "\n" "# 目录\n" -#: dir.c:1081 +#: dir.c:1001 #, c-format msgid "# %s: could not be stat'd.\n" msgstr "# %s:无法对其进行 stat æ“作。\n" -#: dir.c:1085 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): could not be opened.\n" +#: dir.c:1005 +#, c-format +msgid "# %s (key %s, mtime %d): could not be opened.\n" msgstr "# %s (关键字 %s,修改时间 %d):无法打开。\n" -#: dir.c:1090 +#: dir.c:1009 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): could not be opened.\n" msgstr "# %s (设备 %d,i-节点 [%d,%d,%d]):无法打开。\n" -#: dir.c:1095 +#: dir.c:1014 #, c-format msgid "# %s (device %ld, inode %ld): could not be opened.\n" msgstr "# %s (设备 %ld,i-节点 %ld):无法打开。\n" -#: dir.c:1122 -#, fuzzy -msgid "# %s (key %s, mtime %I64u): " +#: dir.c:1041 +#, c-format +msgid "# %s (key %s, mtime %d): " msgstr "# %s (关键字 %s,修改时间 %d):" -#: dir.c:1127 +#: dir.c:1045 #, c-format msgid "# %s (device %d, inode [%d,%d,%d]): " msgstr "# %s (设备 %d,i-节点 [%d,%d,%d]):" -#: dir.c:1132 +#: dir.c:1050 #, c-format msgid "# %s (device %ld, inode %ld): " msgstr "# %s (设备 %ld,i-节点 %ld):" -#: dir.c:1138 dir.c:1159 +#: dir.c:1056 dir.c:1077 msgid "No" msgstr "æ— " -#: dir.c:1141 dir.c:1162 +#: dir.c:1059 dir.c:1080 msgid " files, " msgstr " 文件, " -#: dir.c:1143 dir.c:1164 +#: dir.c:1061 dir.c:1082 msgid "no" msgstr "æ— " -#: dir.c:1146 +#: dir.c:1064 msgid " impossibilities" msgstr " ä¸å¯èƒ½" -#: dir.c:1150 +#: dir.c:1068 msgid " so far." msgstr " 迄今为止。" -#: dir.c:1167 +#: dir.c:1085 #, c-format msgid " impossibilities in %lu directories.\n" msgstr " ä¸å¯èƒ½åœ¨ %lu 目录中。\n" #: expand.c:125 -#, c-format +#, fuzzy, c-format msgid "Recursive variable '%s' references itself (eventually)" -msgstr "递归å˜é‡â€œ%sâ€ï¼ˆæœ€ç»ˆå°†ä¼šï¼‰å¼•ç”¨è‡ªèº«" +msgstr "递归å˜é‡â€œ%sâ€åº”用自身 (最终)" -#: expand.c:271 +#: expand.c:269 msgid "unterminated variable reference" msgstr "未终止的å˜é‡å¼•ç”¨" -#: file.c:278 -#, c-format +#: file.c:271 +#, fuzzy, c-format msgid "Recipe was specified for file '%s' at %s:%lu," -msgstr "关于文件“%sâ€çš„命令é…方在 %s:%lu 处指定," +msgstr "关于文件“%sâ€çš„命令在 %s:%lu 处指定," -#: file.c:283 -#, c-format +#: file.c:276 +#, fuzzy, c-format msgid "Recipe for file '%s' was found by implicit rule search," -msgstr "关于文件“%sâ€çš„命令é…方通过éšå«è§„则æœç´¢è€Œæ‰¾åˆ°ï¼Œ" +msgstr "关于文件“%sâ€çš„命令通过éšå«è§„则æœç´¢è€Œæ‰¾åˆ°ï¼Œ" -#: file.c:287 -#, c-format +#: file.c:280 +#, fuzzy, c-format msgid "but '%s' is now considered the same file as '%s'." msgstr "但“%sâ€çŽ°åœ¨è¢«çœ‹åšâ€œ%sâ€çš„åŒä¸€ä¸ªæ–‡ä»¶ã€‚" -#: file.c:290 -#, c-format +#: file.c:283 +#, fuzzy, c-format msgid "Recipe for '%s' will be ignored in favor of the one for '%s'." -msgstr "“%sâ€çš„命令é…方被忽略,转而使用“%sâ€çš„" +msgstr "“%2$sâ€æ›´ä¼˜å…ˆï¼Œâ€œ%1$sâ€çš„命令被忽略。" -#: file.c:310 -#, c-format +#: file.c:303 +#, fuzzy, c-format msgid "can't rename single-colon '%s' to double-colon '%s'" msgstr "无法将å•å†’å·â€œ%sâ€é‡å‘½å为åŒå†’å·â€œ%sâ€" -#: file.c:316 -#, c-format +#: file.c:309 +#, fuzzy, c-format msgid "can't rename double-colon '%s' to single-colon '%s'" msgstr "无法将åŒå†’å·â€œ%sâ€é‡å‘½å为å•å†’å·â€œ%sâ€" -#: file.c:408 -#, c-format +#: file.c:401 +#, fuzzy, c-format msgid "*** Deleting intermediate file '%s'" msgstr "*** 正在删除中间文件“%sâ€" -#: file.c:412 +#: file.c:405 msgid "Removing intermediate files...\n" msgstr "正在删除中间文件...\n" -#: file.c:818 +#: file.c:811 msgid "Current time" msgstr "当å‰æ—¶é—´" -#: file.c:822 +#: file.c:815 #, c-format msgid "%s: Timestamp out of range; substituting %s" msgstr "%sï¼šæ—¶é—´æ ‡è®°è¶…å‡ºèŒƒå›´ï¼›æ­£åœ¨æ›¿æ¢ %s" -#: file.c:962 +#: file.c:955 msgid "# Not a target:" msgstr "# ä¸æ˜¯ä¸€ä¸ªç›®æ ‡ï¼š" -#: file.c:967 +#: file.c:960 msgid "# Precious file (prerequisite of .PRECIOUS)." msgstr "# é‡è¦æ–‡ä»¶ (.PRECIOUSçš„å‰æ)。" -#: file.c:969 +#: file.c:962 msgid "# Phony target (prerequisite of .PHONY)." msgstr "# å‡ç›®æ ‡ (.PHONYçš„å‰æ)。" -#: file.c:971 +#: file.c:964 +#, fuzzy msgid "# Command line target." msgstr "# 命令行目标。" -#: file.c:973 +#: file.c:966 msgid "# A default, MAKEFILES, or -include/sinclude makefile." msgstr "# 缺çœçš„ã€MAKEFILES 指定的ã€-include/sinclude 包å«çš„ makefile。" -#: file.c:975 +#: file.c:968 +#, fuzzy msgid "# Builtin rule" -msgstr "# 内建规则" +msgstr "" +"\n" +"# 没有éšå«è§„则。" -#: file.c:977 +#: file.c:970 msgid "# Implicit rule search has been done." msgstr "# 对éšå«è§„则的æœç´¢å·²å®Œæˆã€‚" -#: file.c:978 +#: file.c:971 msgid "# Implicit rule search has not been done." msgstr "# 对éšå«è§„则的æœç´¢å°šæœªå®Œæˆã€‚" -#: file.c:980 -#, c-format +#: file.c:973 +#, fuzzy, c-format msgid "# Implicit/static pattern stem: '%s'\n" msgstr "# éšå«/é™æ€æ¨¡å¼ä¸»å¹²ï¼šâ€œ%sâ€\n" -#: file.c:982 +#: file.c:975 msgid "# File is an intermediate prerequisite." msgstr "# 文件是一个中间å‰æ。" -#: file.c:986 +#: file.c:979 msgid "# Also makes:" -msgstr "# 还è¦åˆ¶ä½œï¼š" +msgstr "# 还è¦åˆ›å»ºï¼š" -#: file.c:992 +#: file.c:985 msgid "# Modification time never checked." msgstr "# 从ä¸æ£€æŸ¥ä¿®æ”¹æ—¶é—´ã€‚" -#: file.c:994 +#: file.c:987 msgid "# File does not exist." msgstr "# 文件ä¸å­˜åœ¨ã€‚" -#: file.c:996 +#: file.c:989 msgid "# File is very old." msgstr "# 文件éžå¸¸é™ˆæ—§ã€‚" -#: file.c:1001 +#: file.c:994 #, c-format msgid "# Last modified %s\n" msgstr "# 最近更新 %s\n" -#: file.c:1004 +#: file.c:997 msgid "# File has been updated." msgstr "# 文件已ç»è¢«æ›´æ–°ã€‚" -#: file.c:1004 +#: file.c:997 msgid "# File has not been updated." msgstr "# 文件尚未被更新。" -#: file.c:1008 +#: file.c:1001 +#, fuzzy msgid "# Recipe currently running (THIS IS A BUG)." -msgstr "# 正在è¿è¡Œçš„é…æ–¹ (这是 BUG)。" +msgstr "# 正在è¿è¡Œçš„命令 (这是个错误)。" -#: file.c:1011 +#: file.c:1004 +#, fuzzy msgid "# Dependencies recipe running (THIS IS A BUG)." -msgstr "# 正在è¿è¡Œçš„ä¾èµ–性é…æ–¹ (这是 BUG)。" +msgstr "# 正在è¿è¡Œçš„ä¾èµ–性命令 (这是个错误)。" -#: file.c:1020 +#: file.c:1013 msgid "# Successfully updated." msgstr "# æ›´æ–°æˆåŠŸã€‚" -#: file.c:1024 +#: file.c:1017 msgid "# Needs to be updated (-q is set)." msgstr "# 需è¦æ›´æ–° (用 -q 设定)。" -#: file.c:1027 +#: file.c:1020 msgid "# Failed to be updated." msgstr "# 更新失败。" -#: file.c:1032 +#: file.c:1025 +#, fuzzy msgid "# Invalid value in 'command_state' member!" -msgstr "# “command_stateâ€æˆå‘˜ä¸­å­˜åœ¨æ— æ•ˆçš„值ï¼" +msgstr "# “command_stateâ€æˆå‘˜ä¸­æ— æ•ˆçš„值ï¼" -#: file.c:1051 +#: file.c:1044 msgid "" "\n" "# Files" @@ -353,7 +357,7 @@ "\n" "# 文件" -#: file.c:1055 +#: file.c:1048 msgid "" "\n" "# files hash-table stats:\n" @@ -363,151 +367,137 @@ "# 文件æ‚凑表状æ€:\n" "# " -#: file.c:1065 +#: file.c:1058 #, c-format msgid "%s: Field '%s' not cached: %s" -msgstr "%s:字段“%sâ€æœªè¢«ç¼“存:%s" +msgstr "" -#: function.c:790 +#: function.c:780 +#, fuzzy msgid "non-numeric first argument to 'word' function" -msgstr "“wordâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å­—" +msgstr "“wordâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°" -#: function.c:795 +#: function.c:785 +#, fuzzy msgid "first argument to 'word' function must be greater than 0" msgstr "“wordâ€å‡½æ•°çš„第一个å‚数必须大于 0" -#: function.c:815 +#: function.c:805 +#, fuzzy msgid "non-numeric first argument to 'wordlist' function" -msgstr "“wordlistâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å­—" +msgstr "“wordlistâ€å‡½æ•°çš„第一个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°" -#: function.c:817 +#: function.c:807 +#, fuzzy msgid "non-numeric second argument to 'wordlist' function" -msgstr "“wordlistâ€å‡½æ•°çš„第二个å‚æ•°ä¸æ˜¯æ•°å­—" +msgstr "“wordlistâ€å‡½æ•°çš„第二个å‚æ•°ä¸æ˜¯æ•°å€¼å‚æ•°" -# 程åºå‘˜çš„函数åæ示,还是ä¸è¦åŠ¨å§ã€‚ -#: function.c:1525 -#, c-format +#: function.c:1499 +#, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(In) failed (e=%ld)\n" -msgstr "windows32_openpipe: DuplicateHandle(In) 失败 (e=%ld)\n" +msgstr "创建å­è¿›ç¨‹ï¼šå¤åˆ¶å¥æŸ„(In)失败 (e=%ld)\n" -#: function.c:1549 -#, c-format +#: function.c:1523 +#, fuzzy, c-format msgid "windows32_openpipe: DuplicateHandle(Err) failed (e=%ld)\n" -msgstr "windows32_openpipe: DuplicateHandle(Err) 失败 (e=%ld)\n" +msgstr "创建å­è¿›ç¨‹ï¼šå¤åˆ¶å¥æŸ„(Err)失败 (e=%ld)\n" -#: function.c:1556 +#: function.c:1530 #, c-format msgid "CreatePipe() failed (e=%ld)\n" msgstr "CreatePipe() 失败 (e=%ld)\n" -#: function.c:1564 +#: function.c:1538 +#, fuzzy msgid "windows32_openpipe(): process_init_fd() failed\n" -msgstr "windows32_openpipe(): process_init_fd() 失败\n" +msgstr "windows32_openpipe ():process_init_fd() 失败\n" -#: function.c:1858 +#: function.c:1832 #, c-format msgid "Cleaning up temporary batch file %s\n" msgstr "正在清除临时批处ç†æ–‡ä»¶ %s\n" -#: function.c:2215 function.c:2240 -msgid "file: missing filename" -msgstr "file:缺少文件å" - -#: function.c:2219 function.c:2250 -#, c-format +#: function.c:2193 +#, fuzzy, c-format msgid "open: %s: %s" -msgstr "open: %s: %s" +msgstr "%s: %s" -#: function.c:2227 -#, c-format +#: function.c:2203 +#, fuzzy, c-format msgid "write: %s: %s" -msgstr "write: %s: %s" - -#: function.c:2230 function.c:2267 -#, c-format -msgid "close: %s: %s" -msgstr "close:%s:%s" - -#: function.c:2243 -msgid "file: too many arguments" -msgstr "file:太多å‚æ•°" +msgstr "写错误: %s" -#: function.c:2262 +#: function.c:2209 #, c-format -msgid "read: %s: %s" -msgstr "read:%s:%s" - -#: function.c:2275 -#, c-format -msgid "file: invalid file operation: %s" -msgstr "file:无效文件(file)æ“作:%s" +msgid "Invalid file operation: %s" +msgstr "" -#: function.c:2390 -#, c-format +#: function.c:2324 +#, fuzzy, c-format msgid "insufficient number of arguments (%d) to function '%s'" -msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡ (%1$d) ä¸å¤Ÿ" +msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ" -#: function.c:2402 -#, c-format +#: function.c:2336 +#, fuzzy, c-format msgid "unimplemented on this platform: function '%s'" msgstr "在本平å°ä¸Šæœªå®žçŽ°ï¼šå‡½æ•°â€œ%sâ€" -#: function.c:2466 -#, c-format +#: function.c:2399 +#, fuzzy, c-format msgid "unterminated call to function '%s': missing '%c'" msgstr "对函数“%sâ€çš„未终止的调用:é—æ¼â€œ%câ€" -#: function.c:2650 +#: function.c:2591 msgid "Empty function name" -msgstr "空函数å" +msgstr "" -#: function.c:2652 +#: function.c:2593 #, c-format msgid "Invalid function name: %s" -msgstr "无效的函数å称:%s" +msgstr "" -#: function.c:2654 +#: function.c:2595 #, c-format msgid "Function name too long: %s" -msgstr "函数å称太长:%s" +msgstr "" -#: function.c:2657 +#: function.c:2598 #, fuzzy, c-format -msgid "Invalid minimum argument count (%u) for function %s" -msgstr "函数“%2$sâ€çš„最少å‚æ•°æ•°é‡ (%1$d) 无效" +msgid "Invalid minimum argument count (%d) for function %s" +msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ" -#: function.c:2660 +#: function.c:2601 #, fuzzy, c-format -msgid "Invalid maximum argument count (%u) for function %s" -msgstr "函数“%2$sâ€çš„最多å‚æ•°æ•°é‡ (%1$d) 无效" +msgid "Invalid maximum argument count (%d) for function %s" +msgstr "函数“%2$sâ€çš„å‚æ•°æ•°é‡(%1$d)ä¸å¤Ÿ" #: getopt.c:659 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' is ambiguous\n" msgstr "%s:选项“%sâ€å«ä¹‰ä¸æ¸…\n" #: getopt.c:683 -#, c-format +#, fuzzy, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s:选项“--%sâ€ä¸å…许å‚æ•°\n" +msgstr "%s:选项“--%sâ€ä¸éœ€è¦å‚æ•°\n" #: getopt.c:688 -#, c-format +#, fuzzy, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s:选项“%c%sâ€ä¸å…许å‚æ•°\n" +msgstr "%s:选项“%c%sâ€ä¸éœ€è¦å‚æ•°\n" #: getopt.c:705 getopt.c:878 -#, c-format +#, fuzzy, c-format msgid "%s: option '%s' requires an argument\n" msgstr "%s:选项“%sâ€éœ€è¦ä¸€ä¸ªå‚æ•°\n" #: getopt.c:734 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '--%s'\n" msgstr "%s:无法识别的选项“--%sâ€\n" #: getopt.c:738 -#, c-format +#, fuzzy, c-format msgid "%s: unrecognized option '%c%s'\n" msgstr "%s:无法识别的选项“%c%sâ€\n" @@ -527,29 +517,29 @@ msgstr "%s:选项需è¦ä¸€ä¸ªå‚æ•° -- %c\n" #: getopt.c:844 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' is ambiguous\n" msgstr "%s:选项“-W %sâ€å«ä¹‰ä¸æ¸…\n" #: getopt.c:862 -#, c-format +#, fuzzy, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" msgstr "%s:选项“-W %sâ€ä¸å…许给出å‚æ•°\n" #: guile.c:58 #, c-format msgid "guile: Expanding '%s'\n" -msgstr "guile: 正拓展 '%s'\n" +msgstr "" #: guile.c:74 #, c-format msgid "guile: Evaluating '%s'\n" -msgstr "guile: 正求值 '%s'\n" +msgstr "" #: hash.c:49 -#, c-format +#, fuzzy, c-format msgid "can't allocate %lu bytes for hash table: memory exhausted" -msgstr "无法为æ‚å‡‘è¡¨åˆ†é… %lu 字节: 内存耗尽" +msgstr "无法为æ‚å‡‘è¡¨åˆ†é… %ld 字节: 内存耗尽" #: hash.c:280 #, c-format @@ -567,129 +557,155 @@ msgstr "碰撞=%ld/%ld=%.0f%%" #: implicit.c:38 -#, c-format +#, fuzzy, c-format msgid "Looking for an implicit rule for '%s'.\n" msgstr "正在为“%sâ€å¯»æ‰¾éšå«è§„则。\n" #: implicit.c:54 -#, c-format +#, fuzzy, c-format msgid "Looking for archive-member implicit rule for '%s'.\n" msgstr "正在为“%sâ€å¯»æ‰¾å½’æ¡£æˆå‘˜éšå«è§„则。\n" -#: implicit.c:311 +#: implicit.c:310 msgid "Avoiding implicit rule recursion.\n" msgstr "é¿å…éšå«è§„则递归。\n" #: implicit.c:486 #, c-format msgid "Stem too long: '%.*s'.\n" -msgstr "主干太长:'%.*s'.\n" +msgstr "" #: implicit.c:491 -#, c-format +#, fuzzy, c-format msgid "Trying pattern rule with stem '%.*s'.\n" -msgstr "用主干“%.*sâ€å°è¯•åŒ¹é…模å¼è§„则。\n" +msgstr "以主干“%.*sâ€å°è¯•åŒ¹é…模å¼è§„则。\n" #: implicit.c:697 -#, c-format +#, fuzzy, c-format msgid "Rejecting impossible rule prerequisite '%s'.\n" msgstr "æ‹’ç»ä¸å¯èƒ½çš„规则å‰æ“%sâ€ã€‚\n" #: implicit.c:698 -#, c-format +#, fuzzy, c-format msgid "Rejecting impossible implicit prerequisite '%s'.\n" msgstr "æ‹’ç»ä¸å¯èƒ½çš„éšå«å‰æ“%sâ€ã€‚\n" #: implicit.c:711 -#, c-format +#, fuzzy, c-format msgid "Trying rule prerequisite '%s'.\n" msgstr "å°è¯•è§„则å‰æ“%sâ€ã€‚\n" #: implicit.c:712 -#, c-format +#, fuzzy, c-format msgid "Trying implicit prerequisite '%s'.\n" msgstr "å°è¯•éšå«å‰æ“%sâ€ã€‚\n" #: implicit.c:751 -#, c-format +#, fuzzy, c-format msgid "Found prerequisite '%s' as VPATH '%s'\n" -msgstr "å‰æ“%sâ€åœ¨ VPATH“%sâ€ä¸­å‘现\n" +msgstr "å‰æ“%sâ€åœ¨ VPATH “%s†中å‘现\n" #: implicit.c:765 -#, c-format +#, fuzzy, c-format msgid "Looking for a rule with intermediate file '%s'.\n" -msgstr "正在寻找包å«ä¸­é—´æ–‡ä»¶â€œ%sâ€çš„规则。\n" +msgstr "正在寻找使用中间文件“%sâ€çš„规则。\n" -#: job.c:363 +#: job.c:361 msgid "Cannot create a temporary file\n" msgstr "无法创建临时文件\n" -#: job.c:485 +#: job.c:483 msgid " (core dumped)" msgstr " (core dumped)" -#: job.c:490 +#: job.c:488 +#, fuzzy msgid " (ignored)" -msgstr " (已忽略)" +msgstr "[%s] 错误 %d (忽略)" -#: job.c:494 job.c:1828 +#: job.c:492 job.c:2046 +#, fuzzy msgid "" -msgstr "<内置>" +msgstr " (内置):" -#: job.c:510 +#: job.c:503 #, c-format -msgid "%s[%s: %s] Error %d%s" -msgstr "%s[%s:%s] 错误 %d%s" +msgid "%s: recipe for target '%s' failed" +msgstr "" + +#: job.c:516 job.c:524 +#, fuzzy, c-format +msgid "%s[%s] Error %d%s" +msgstr "*** [%s] 错误 %d" + +#: job.c:519 +#, fuzzy, c-format +msgid "%s[%s] Error 0x%x%s" +msgstr "*** [%s] 错误 0x%x" -#: job.c:599 +#: job.c:529 +#, fuzzy, c-format +msgid "%s[%s] %s%s%s" +msgstr "%s%s: %s" + +#: job.c:621 msgid "*** Waiting for unfinished jobs...." msgstr "*** 正在等待未完æˆçš„任务...." -#: job.c:629 -#, c-format +#: job.c:651 +#, fuzzy, c-format msgid "Live child %p (%s) PID %s %s\n" -msgstr "活跃å­è¿›ç¨‹ %p (%s) PID %s %s\n" +msgstr "活跃å­è¿›ç¨‹ 0x%08lx (%s) PID %ld %s\n" -#: job.c:631 job.c:833 job.c:952 job.c:1583 +#: job.c:653 job.c:843 job.c:962 job.c:1737 msgid " (remote)" msgstr " (远程)" -#: job.c:831 -#, c-format +#: job.c:841 +#, fuzzy, c-format msgid "Reaping losing child %p PID %s %s\n" -msgstr "正在中止失败的å­è¿›ç¨‹ %p PID %s %s\n" +msgstr "正在中止失败的å­è¿›ç¨‹ 0x%08lx PID %ld %s\n" -#: job.c:832 -#, c-format +#: job.c:842 +#, fuzzy, c-format msgid "Reaping winning child %p PID %s %s\n" -msgstr "正在中止获胜的å­è¿›ç¨‹ %p PID %s %s\n" +msgstr "正在中止获胜的å­è¿›ç¨‹ 0x%08lx PID %ld %s\n" -#: job.c:839 +#: job.c:849 #, c-format msgid "Cleaning up temp batch file %s\n" msgstr "正在清除临时批文件 %s\n" -#: job.c:845 -#, c-format +#: job.c:855 +#, fuzzy, c-format msgid "Cleaning up temp batch file %s failed (%d)\n" -msgstr "清ç†ä¸´æ—¶æ‰¹å¤„ç†æ–‡ä»¶ %s 失败 (%d)\n" +msgstr "正在清除临时批文件 %s\n" -#: job.c:951 -#, c-format +#: job.c:961 +#, fuzzy, c-format msgid "Removing child %p PID %s%s from chain.\n" -msgstr "从链中删除å­è¿›ç¨‹ %p PID %s%s。\n" +msgstr "从链中删除å­è¿›ç¨‹ 0x%08lx PID %ld%s。\n" -#: job.c:1006 +#: job.c:1021 #, c-format +msgid "release jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: job.c:1024 job.c:1038 +#, fuzzy, c-format msgid "Released token for child %p (%s).\n" -msgstr "为å­è¿›ç¨‹ %p (%s) 释放令牌 (token)。\n" +msgstr "为å­è¿›ç¨‹ 0x%08lx (%s) 释放令牌(token)。\n" -#: job.c:1508 job.c:2201 +#: job.c:1036 +msgid "write jobserver" +msgstr "写入任务æœåŠ¡å™¨" + +#: job.c:1662 job.c:2387 #, c-format msgid "process_easy() failed to launch process (e=%ld)\n" msgstr "process_easy() å¯åŠ¨è¿›ç¨‹å¤±è´¥ (e=%ld)\n" -#: job.c:1512 job.c:2205 +#: job.c:1666 job.c:2391 #, c-format msgid "" "\n" @@ -698,175 +714,180 @@ "\n" "失败执行中共有 %d 个å‚数。\n" -#: job.c:1581 -#, c-format +#: job.c:1735 +#, fuzzy, c-format msgid "Putting child %p (%s) PID %s%s on the chain.\n" -msgstr "å°†å­è¿›ç¨‹ %p (%s) PID %s%s 放入链。\n" +msgstr "å°†å­è¿›ç¨‹ 0x%08lx (%s) PID %ld%s 放入链。\n" -#: job.c:1811 +#: job.c:2005 #, c-format +msgid "semaphore or child process wait: (Error %ld: %s)" +msgstr "" + +#: job.c:2019 +#, fuzzy, c-format msgid "Obtained token for child %p (%s).\n" -msgstr "获得至进程 %p (%s) 的标记。\n" +msgstr "获得至进程 0x%08lx (%s) 的标记。\n" -#: job.c:1838 -#, c-format +#: job.c:2029 +msgid "read jobs pipe" +msgstr "读å–任务管é“" + +#: job.c:2056 +#, fuzzy, c-format msgid "%s: target '%s' does not exist" -msgstr "%s: 目标文件“%sâ€ä¸å­˜åœ¨" +msgstr "touch:归档文件“%sâ€ä¸å­˜åœ¨" -#: job.c:1841 -#, c-format +#: job.c:2059 +#, fuzzy, c-format msgid "%s: update target '%s' due to: %s" -msgstr "%s:更新“%sâ€ï¼Œå› ä¸ºï¼š%s" +msgstr "%1$s没有规则å¯ä»¥åˆ›å»ºâ€œ%3$sâ€%4$s需è¦çš„目标“%2$sâ€" -#: job.c:1956 +#: job.c:2171 msgid "cannot enforce load limits on this operating system" msgstr "无法在本æ“作系统中实施负载é™åˆ¶" -#: job.c:1958 +#: job.c:2173 msgid "cannot enforce load limit: " msgstr "无法实施负载é™åˆ¶ï¼š" -#: job.c:2048 +#: job.c:2252 msgid "no more file handles: could not duplicate stdin\n" msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“å…¥\n" -#: job.c:2060 +#: job.c:2264 msgid "no more file handles: could not duplicate stdout\n" msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“出\n" -#: job.c:2074 +#: job.c:2278 +#, fuzzy msgid "no more file handles: could not duplicate stderr\n" -msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†é”™è¯¯\n" +msgstr "没有剩余的文件å¥æŸ„: 无法å¤åˆ¶æ ‡å‡†è¾“å…¥\n" -#: job.c:2089 +#: job.c:2293 msgid "Could not restore stdin\n" msgstr "无法还原标准输入\n" -#: job.c:2097 +#: job.c:2301 msgid "Could not restore stdout\n" msgstr "无法还原标准输出\n" -#: job.c:2105 +#: job.c:2309 +#, fuzzy msgid "Could not restore stderr\n" -msgstr "无法还原标准错误\n" +msgstr "无法还原标准输入\n" -#: job.c:2234 -#, c-format +#: job.c:2420 +#, fuzzy, c-format msgid "make reaped child pid %s, still waiting for pid %s\n" -msgstr "make 已中止的å­è¿›ç¨‹ pid %s,ä»åœ¨ç­‰å¾… pid %s\n" - -#: job.c:2275 -#, c-format -msgid "%s: %s: Command not found\n" -msgstr "%s:%s:命令未找到\n" +msgstr "make 已中止的å­è¿›ç¨‹ pid %ld,ä»åœ¨ç­‰å¾… pid %ld\n" -#: job.c:2277 +#: job.c:2458 #, c-format -msgid "%s[%u]: %s: Command not found\n" -msgstr "%s[%u]:%s:命令未找到\n" +msgid "%s: Command not found" +msgstr "%s:命令未找到" -#: job.c:2337 +#: job.c:2518 #, c-format msgid "%s: Shell program not found" msgstr "%s:未找到 shell 程åº" -#: job.c:2346 +#: job.c:2527 msgid "spawnvpe: environment space might be exhausted" msgstr "spawnvpe: 环境å˜é‡ç©ºé—´å¯èƒ½ä¼šè€—å°½" -#: job.c:2584 -#, c-format +#: job.c:2765 +#, fuzzy, c-format msgid "$SHELL changed (was '%s', now '%s')\n" msgstr "$SHELL å·²æ”¹å˜ (原为“%sâ€ï¼ŒçŽ°ä¸ºâ€œ%sâ€)\n" -#: job.c:3022 job.c:3207 +#: job.c:3198 job.c:3383 #, c-format msgid "Creating temporary batch file %s\n" msgstr "正在创建临时批文件 %s\n" -#: job.c:3030 +#: job.c:3206 msgid "" "Batch file contents:\n" "\t@echo off\n" msgstr "" -"批处ç†æ–‡ä»¶å†…容:\n" -"\t@echo off\n" -#: job.c:3219 +#: job.c:3395 #, c-format msgid "" "Batch file contents:%s\n" "\t%s\n" msgstr "" -"批处ç†æ–‡ä»¶å†…容:%s\n" -"\t%s\n" -#: job.c:3327 +#: job.c:3503 #, c-format msgid "%s (line %d) Bad shell context (!unixy && !batch_mode_shell)\n" msgstr "%s (è¡Œ %d) 错误的 shell 上下文 (!unixy && !batch_mode_shell)\n" #: job.h:43 msgid "-O[TYPE] (--output-sync[=TYPE]) is not configured for this build." -msgstr "-O[类型] (--output-sync[=类型]) 并未é…置入此 make 构建。" +msgstr "" #: load.c:60 #, c-format msgid "Failed to open global symbol table: %s" -msgstr "打开全局符å·è¡¨å¤±è´¥ï¼š%s" +msgstr "" #: load.c:97 #, c-format msgid "Loaded object %s is not declared to be GPL compatible" -msgstr "已加载的对象 %s 未声明为 GPL 兼容" +msgstr "" #: load.c:104 #, c-format msgid "Failed to load symbol %s from %s: %s" -msgstr "从 %2$s åŠ è½½ç¬¦å· %1$s 失败:%3$s" +msgstr "" #: load.c:149 #, c-format msgid "Empty symbol name for load: %s" -msgstr "è¦åŠ è½½çš„符å·å为空:%s" +msgstr "" -#: load.c:204 +#: load.c:205 #, c-format msgid "Loading symbol %s from %s\n" -msgstr "正从 %2$s åŠ è½½ç¬¦å· %1$s\n" +msgstr "" -#: load.c:256 +#: load.c:244 +#, fuzzy msgid "The 'load' operation is not supported on this platform." -msgstr "本平å°ä¸æ”¯æŒâ€œloadâ€æ“作。" +msgstr "本平å°ä¸æ”¯æŒå¹¶è¡Œä»»åŠ¡ (-j)。" -#: main.c:338 +#: main.c:313 msgid "Options:\n" msgstr "选项:\n" -#: main.c:339 +#: main.c:314 msgid " -b, -m Ignored for compatibility.\n" -msgstr " -b, -m 为兼容性而忽略。\n" +msgstr " -b, -m 忽略兼容性。\n" -#: main.c:341 +#: main.c:316 msgid " -B, --always-make Unconditionally make all targets.\n" -msgstr " -B, --always-make æ— æ¡ä»¶åˆ¶ä½œ (make) 所有目标。\n" +msgstr " -B, --always-make æ— æ¡ä»¶ make 所有目标。\n" -#: main.c:343 +#: main.c:318 msgid "" " -C DIRECTORY, --directory=DIRECTORY\n" " Change to DIRECTORY before doing anything.\n" -msgstr " -C 目录, --directory=目录 在执行å‰å…ˆåˆ‡æ¢åˆ° <目录>。\n" +msgstr "" +" -C DIRECTORY, --directory=DIRECTORY\n" +" 在执行å‰å…ˆåˆ‡æ¢åˆ° DIRECTORY 目录。\n" -#: main.c:346 +#: main.c:321 msgid " -d Print lots of debugging information.\n" msgstr " -d 打å°å¤§é‡è°ƒè¯•ä¿¡æ¯ã€‚\n" -#: main.c:348 +#: main.c:323 msgid "" " --debug[=FLAGS] Print various types of debugging information.\n" -msgstr " --debug[=æ——æ ‡] 打å°å„ç§è°ƒè¯•ä¿¡æ¯ã€‚\n" +msgstr " --debug[=FLAGS] 打å°å„ç§è°ƒè¯•ä¿¡æ¯ã€‚\n" -#: main.c:350 +#: main.c:325 msgid "" " -e, --environment-overrides\n" " Environment variables override makefiles.\n" @@ -874,46 +895,49 @@ " -e, --environment-overrides\n" " 环境å˜é‡è¦†ç›– makefile 中的å˜é‡ã€‚\n" -#: main.c:353 +#: main.c:328 msgid "" " --eval=STRING Evaluate STRING as a makefile statement.\n" -msgstr " --eval=字串 å°† <字串> 作为 makefile 语å¥ä¼°å€¼ã€‚\n" +msgstr "" -#: main.c:355 +#: main.c:330 msgid "" " -f FILE, --file=FILE, --makefile=FILE\n" " Read FILE as a makefile.\n" msgstr "" -" -f 文件, --file=文件, --makefile=文件\n" -" 从 <文件> 中读入 makefile。\n" +" -f FILE, --file=FILE, --makefile=FILE\n" +" 从 FILE 中读入 makefile。\n" -#: main.c:358 +#: main.c:333 msgid " -h, --help Print this message and exit.\n" msgstr " -h, --help 打å°è¯¥æ¶ˆæ¯å¹¶é€€å‡ºã€‚\n" -#: main.c:360 +#: main.c:335 +#, fuzzy msgid " -i, --ignore-errors Ignore errors from recipes.\n" -msgstr " -i, --ignore-errors 忽略æ¥è‡ªå‘½ä»¤é…方的错误。\n" +msgstr " -i, --ignore-errors 忽略æ¥è‡ªå‘½ä»¤çš„错误。\n" -#: main.c:362 +#: main.c:337 msgid "" " -I DIRECTORY, --include-dir=DIRECTORY\n" " Search DIRECTORY for included makefiles.\n" -msgstr " -I 目录, --include-dir=目录 在 <目录> 中æœç´¢è¢«åŒ…å«çš„ makefile。\n" +msgstr "" +" -I DIRECTORY, --include-dir=DIRECTORY\n" +" 在 DIRECTORY 中æœç´¢è¢«åŒ…å«çš„ makefile。\n" -#: main.c:365 +#: main.c:340 msgid "" " -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no " "arg.\n" msgstr "" " -j [N], --jobs[=N] åŒæ—¶å…许 N 个任务;无å‚数表明å…许无é™ä¸ªä»»åŠ¡ã€‚\n" -#: main.c:367 +#: main.c:342 msgid "" " -k, --keep-going Keep going when some targets can't be made.\n" -msgstr " -k, --keep-going 当æŸäº›ç›®æ ‡æ— æ³•åˆ¶ä½œæ—¶ä»ç„¶ç»§ç»­ã€‚\n" +msgstr " -k, --keep-going 当æŸäº›ç›®æ ‡æ— æ³•åˆ›å»ºæ—¶ä»ç„¶ç»§ç»­ã€‚\n" -#: main.c:369 +#: main.c:344 msgid "" " -l [N], --load-average[=N], --max-load[=N]\n" " Don't start multiple jobs unless load is below " @@ -922,63 +946,64 @@ " -l [N], --load-average[=N], --max-load[=N]\n" " 在系统负载高于 N æ—¶ä¸å¯åŠ¨å¤šä»»åŠ¡ã€‚\n" -#: main.c:372 +#: main.c:347 msgid "" " -L, --check-symlink-times Use the latest mtime between symlinks and " "target.\n" msgstr "" " -L, --check-symlink-times 使用软链接åŠè½¯é“¾æŽ¥ç›®æ ‡ä¸­ä¿®æ”¹æ—¶é—´è¾ƒæ™šçš„一个。\n" -#: main.c:374 +#: main.c:349 +#, fuzzy msgid "" " -n, --just-print, --dry-run, --recon\n" " Don't actually run any recipe; just print " "them.\n" msgstr "" " -n, --just-print, --dry-run, --recon\n" -" åªæ‰“å°å‘½ä»¤é…方,ä¸å®žé™…执行。\n" +" åªæ‰“å°å‘½ä»¤ï¼Œä¸å®žé™…执行。\n" -#: main.c:377 +#: main.c:352 msgid "" " -o FILE, --old-file=FILE, --assume-old=FILE\n" " Consider FILE to be very old and don't remake " "it.\n" msgstr "" -" -o 文件, --old-file=文件, --assume-old=文件\n" -" å°† <文件> 当åšå¾ˆæ—§ï¼Œä¸å¿…é‡æ–°åˆ¶ä½œã€‚\n" +" -o FILE, --old-file=FILE, --assume-old=FILE\n" +" å°† FILE 当åšå¾ˆæ—§ï¼Œä¸å¿…é‡æ–°ç”Ÿæˆã€‚\n" -#: main.c:380 +#: main.c:355 msgid "" " -O[TYPE], --output-sync[=TYPE]\n" " Synchronize output of parallel jobs by TYPE.\n" msgstr "" -" -O[类型], --output-sync[=类型]\n" -" 使用 <类型> æ–¹å¼åŒæ­¥å¹¶è¡Œä»»åŠ¡è¾“出。\n" -#: main.c:383 +#: main.c:358 msgid " -p, --print-data-base Print make's internal database.\n" msgstr " -p, --print-data-base æ‰“å° make 的内部数æ®åº“。\n" -#: main.c:385 +#: main.c:360 +#, fuzzy msgid "" " -q, --question Run no recipe; exit status says if up to " "date.\n" msgstr "" -" -q, --question ä¸è¿è¡Œä»»ä½•é…方;退出状æ€è¯´æ˜Žæ˜¯å¦å·²å…¨éƒ¨æ›´æ–°ã€‚\n" +" -q, --question ä¸è¿è¡Œä»»ä½•å‘½ä»¤ï¼›é€€å‡ºçŠ¶æ€è¯´æ˜Žæ˜¯å¦å·²å…¨éƒ¨æ›´æ–°ã€‚\n" -#: main.c:387 +#: main.c:362 msgid " -r, --no-builtin-rules Disable the built-in implicit rules.\n" msgstr " -r, --no-builtin-rules ç¦ç”¨å†…ç½®éšå«è§„则。\n" -#: main.c:389 +#: main.c:364 msgid " -R, --no-builtin-variables Disable the built-in variable settings.\n" msgstr " -R, --no-builtin-variables ç¦ç”¨å†…ç½®å˜é‡è®¾ç½®ã€‚\n" -#: main.c:391 +#: main.c:366 +#, fuzzy msgid " -s, --silent, --quiet Don't echo recipes.\n" -msgstr " -s, --silent, --quiet ä¸è¾“出é…方命令。\n" +msgstr " -s, --silent, --quiet ä¸è¾“出命令。\n" -#: main.c:393 +#: main.c:368 msgid "" " -S, --no-keep-going, --stop\n" " Turns off -k.\n" @@ -986,66 +1011,65 @@ " -S, --no-keep-going, --stop\n" " 关闭 -k。\n" -#: main.c:396 +#: main.c:371 msgid " -t, --touch Touch targets instead of remaking them.\n" -msgstr "" -" -t, --touch touch 目标(更新修改时间)而ä¸æ˜¯é‡æ–°åˆ¶ä½œå®ƒ" -"们。\n" +msgstr " -t, --touch touch 目标而ä¸æ˜¯é‡æ–°åˆ›å»ºå®ƒä»¬ã€‚\n" -#: main.c:398 +#: main.c:373 +#, fuzzy msgid " --trace Print tracing information.\n" -msgstr " --trace 打å°è·Ÿè¸ªä¿¡æ¯ã€‚\n" +msgstr " --debug[=FLAGS] 打å°å„ç§è°ƒè¯•ä¿¡æ¯ã€‚\n" -#: main.c:400 +#: main.c:375 msgid "" " -v, --version Print the version number of make and exit.\n" msgstr " -v, --version æ‰“å° make 的版本å·å¹¶é€€å‡ºã€‚\n" -#: main.c:402 +#: main.c:377 msgid " -w, --print-directory Print the current directory.\n" msgstr " -w, --print-directory 打å°å½“å‰ç›®å½•ã€‚\n" -#: main.c:404 +#: main.c:379 msgid "" " --no-print-directory Turn off -w, even if it was turned on " "implicitly.\n" msgstr " --no-print-directory 关闭 -w,å³ä½¿ -w 默认开å¯ã€‚\n" -#: main.c:406 +#: main.c:381 msgid "" " -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" " Consider FILE to be infinitely new.\n" msgstr "" -" -W 文件, --what-if=文件, --new-file=文件, --assume-new=文件\n" -" å°† <文件> 当åšæœ€æ–°ã€‚\n" +" -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE\n" +" å°† FILE 当åšæœ€æ–°ã€‚\n" -#: main.c:409 +#: main.c:384 msgid "" " --warn-undefined-variables Warn when an undefined variable is " "referenced.\n" msgstr " --warn-undefined-variables 当引用未定义å˜é‡çš„时候å‘出警告。\n" -#: main.c:683 +#: main.c:654 msgid "empty string invalid as file name" msgstr "空字符串是无效的文件å" -#: main.c:766 -#, c-format +#: main.c:737 +#, fuzzy, c-format msgid "unknown debug level specification '%s'" -msgstr "未知的调试级别定义“%sâ€" +msgstr "未知的调试级别“%sâ€" -#: main.c:806 +#: main.c:774 #, c-format msgid "unknown output-sync type '%s'" -msgstr "ä¸æ˜Žè¾“出åŒæ­¥ç±»åž‹â€œ%sâ€" +msgstr "" -#: main.c:861 -#, c-format +#: main.c:828 +#, fuzzy, c-format msgid "%s: Interrupt/Exception caught (code = 0x%lx, addr = 0x%p)\n" -msgstr "%s:æ•èŽ·ä¸­æ–­/异常 (ä»£ç  = 0x%lx, åœ°å€ = 0x%p)\n" +msgstr "%s:æ•èŽ·ä¸­æ–­/异常 (ä»£ç  = 0x%lx, åœ°å€ = 0x%lx)\n" -#: main.c:868 -#, c-format +#: main.c:835 +#, fuzzy, c-format msgid "" "\n" "Unhandled exception filter called from program %s\n" @@ -1057,134 +1081,178 @@ "ä»Žç¨‹åº %s 产生的未处ç†çš„异常过滤器\n" "å¼‚å¸¸ç  = %lx\n" "异常标志 = %lx\n" -"å¼‚å¸¸åœ°å€ = 0x%p\n" +"å¼‚å¸¸åœ°å€ = %lx\n" -#: main.c:876 -#, c-format +#: main.c:843 +#, fuzzy, c-format msgid "Access violation: write operation at address 0x%p\n" -msgstr "访问冲çªï¼šåœ°å€ 0x%p 处的写æ“作\n" +msgstr "访问冲çªï¼šåœ°å€ %lx 处的写æ“作\n" -#: main.c:877 -#, c-format +#: main.c:844 +#, fuzzy, c-format msgid "Access violation: read operation at address 0x%p\n" -msgstr "访问冲çªï¼šåœ°å€ 0x%p 处的读æ“作\n" +msgstr "访问冲çªï¼šåœ°å€ %lx处的读æ“作\n" -#: main.c:953 main.c:968 -#, c-format +#: main.c:920 main.c:935 +#, fuzzy, c-format msgid "find_and_set_shell() setting default_shell = %s\n" -msgstr "find_and_set_shell() 设置 default_shell = %s\n" +msgstr "find_and_set_shell 设置 default_shell = %s\n" -#: main.c:1021 -#, c-format +#: main.c:988 +#, fuzzy, c-format msgid "find_and_set_shell() path search set default_shell = %s\n" -msgstr "find_and_set_shell() 路径æœç´¢ç»“果设置 default_shell = %s\n" +msgstr "find_and_set_shell 路径æœç´¢ç»“果设置 default_shell = %s\n" -#: main.c:1538 +#: main.c:1436 #, c-format msgid "%s is suspending for 30 seconds..." msgstr "%s 正在挂起 30 秒..." -#: main.c:1540 +#: main.c:1438 #, c-format msgid "done sleep(30). Continuing.\n" msgstr "ç¡çœ å®Œæˆ(30)。继续。\n" -#: main.c:1627 +#: main.c:1527 +#, c-format msgid "" -"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." -msgstr "警告: jobserver ä¸å¯ç”¨: 正使用 -j1。添加 “+†到父 make 的规则。" +"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" +msgstr "" + +#: main.c:1530 +#, c-format +msgid "Jobserver client (semaphore %s)\n" +msgstr "" + +#: main.c:1534 +#, fuzzy, c-format +msgid "internal error: invalid --jobserver-fds string '%s'" +msgstr "内部错误:éžæ³• --jobserver-fds 字符串“%sâ€" + +#: main.c:1537 +#, c-format +msgid "Jobserver client (fds %d,%d)\n" +msgstr "" -#: main.c:1635 +#: main.c:1551 msgid "warning: -jN forced in submake: disabling jobserver mode." msgstr "警告: å­ make 中强制 -jN: 关闭 jobserver 模å¼ã€‚" -#: main.c:1805 +#: main.c:1567 +msgid "dup jobserver" +msgstr "å¤åˆ¶ä»»åŠ¡æœåŠ¡å™¨" + +#: main.c:1570 +#, fuzzy +msgid "" +"warning: jobserver unavailable: using -j1. Add '+' to parent make rule." +msgstr "警告: jobserver ä¸å­˜åœ¨: 使用 -j1。添加 “+†到父 make 的规则。" + +#: main.c:1742 msgid "Makefile from standard input specified twice." msgstr "两次指明æ¥è‡ªæ ‡å‡†è¾“入的 makefile。" -#: main.c:1843 vmsjobs.c:1252 +#: main.c:1780 vmsjobs.c:653 msgid "fopen (temporary file)" msgstr "fopen (临时文件)" -#: main.c:1849 +#: main.c:1786 msgid "fwrite (temporary file)" msgstr "fwrite (临时文件)" -#: main.c:2048 +#: main.c:1974 msgid "Parallel jobs (-j) are not supported on this platform." msgstr "本平å°ä¸æ”¯æŒå¹¶è¡Œä»»åŠ¡ (-j)。" -#: main.c:2049 +#: main.c:1975 msgid "Resetting to single job (-j1) mode." msgstr "é‡ç½®ä¸ºå•ä»»åŠ¡æ¨¡å¼ (-j1)。" -#: main.c:2088 +#: main.c:1994 +#, c-format +msgid "Jobserver slots limited to %d\n" +msgstr "" + +#: main.c:2002 +#, c-format +msgid "creating jobserver semaphore: (Error %ld: %s)" +msgstr "" + +#: main.c:2008 +msgid "creating jobs pipe" +msgstr "正在创建任务管é“" + +#: main.c:2028 +msgid "init jobserver pipe" +msgstr "创始化任务æœåŠ¡å™¨ç®¡é“" + +#: main.c:2047 msgid "Symbolic links not supported: disabling -L." msgstr "ä¸æ”¯æŒè½¯é“¾æŽ¥: 关闭 -L" -#: main.c:2170 +#: main.c:2133 msgid "Updating makefiles....\n" msgstr "正在更新 makefile....\n" -#: main.c:2195 -#, c-format +#: main.c:2158 +#, fuzzy, c-format msgid "Makefile '%s' might loop; not remaking it.\n" -msgstr "Makefile “%sâ€å¯èƒ½å¾ªçŽ¯ï¼›ä¸ä¼šé‡æ–°æ‰§è¡Œå®ƒã€‚\n" +msgstr "Makefile “%sâ€å¯èƒ½å¾ªçŽ¯ï¼›ä¸ä¼šé‡æ–°åˆ›å»ºå®ƒã€‚\n" -#: main.c:2279 -#, c-format +#: main.c:2237 +#, fuzzy, c-format msgid "Failed to remake makefile '%s'." -msgstr "é‡æ–°æ‰§è¡Œ makefile“%sâ€å¤±è´¥ã€‚" +msgstr "é‡æ–°åˆ›å»º makefile “%s†失败。" -#: main.c:2299 -#, c-format +#: main.c:2257 +#, fuzzy, c-format msgid "Included makefile '%s' was not found." -msgstr "找ä¸åˆ°è¢«å¼•å…¥çš„ makefile“%sâ€ã€‚" +msgstr "找ä¸åˆ°è¢«å¼•å…¥çš„ makefile “%sâ€" -#: main.c:2304 -#, c-format +#: main.c:2262 +#, fuzzy, c-format msgid "Makefile '%s' was not found" -msgstr "找ä¸åˆ° makefile “%sâ€ã€‚" +msgstr "找ä¸åˆ° makefile “%sâ€" -#: main.c:2372 +#: main.c:2330 msgid "Couldn't change back to original directory." msgstr "无法回到原始目录。" -#: main.c:2380 +#: main.c:2343 #, c-format msgid "Re-executing[%u]:" msgstr "é‡æ–°æ‰§è¡Œ[%u]:" -#: main.c:2492 +#: main.c:2453 msgid "unlink (temporary file): " msgstr "删除 (临时文件):" -#: main.c:2525 +#: main.c:2486 msgid ".DEFAULT_GOAL contains more than one target" msgstr ".DEFAULT_GOAL 包å«å¤šä½™ä¸€ä¸ªç›®æ ‡" -#: main.c:2548 +#: main.c:2509 msgid "No targets specified and no makefile found" msgstr "没有指明目标并且找ä¸åˆ° makefile" -#: main.c:2550 +#: main.c:2511 msgid "No targets" msgstr "无目标" -#: main.c:2555 +#: main.c:2516 msgid "Updating goal targets....\n" msgstr "更新目标....\n" -#: main.c:2579 +#: main.c:2541 msgid "warning: Clock skew detected. Your build may be incomplete." -msgstr "警告:检测到时钟错误。您的构建版本å¯èƒ½æ˜¯ä¸å®Œæ•´çš„。" +msgstr "警告:检测到时钟错误。您的创建å¯èƒ½æ˜¯ä¸å®Œæ•´çš„。" -#: main.c:2773 +#: main.c:2710 #, c-format msgid "Usage: %s [options] [target] ...\n" msgstr "用法:%s [选项] [目标] ...\n" -#: main.c:2779 +#: main.c:2716 #, c-format msgid "" "\n" @@ -1193,7 +1261,7 @@ "\n" "该程åºä¸º %s 编译\n" -#: main.c:2781 +#: main.c:2718 #, c-format msgid "" "\n" @@ -1202,32 +1270,36 @@ "\n" "该程åºä¸º %s (%s) 编译\n" -#: main.c:2784 +#: main.c:2721 #, c-format msgid "Report bugs to \n" msgstr "报告错误到 \n" -#: main.c:2870 -#, c-format +#: main.c:2807 +#, fuzzy, c-format msgid "the '%s%s' option requires a non-empty string argument" -msgstr "“%s%sâ€é€‰é¡¹éœ€è¦éžç©ºå­—符串å‚æ•°" +msgstr "“-%câ€é€‰é¡¹éœ€è¦éžç©ºå­—符串å‚æ•°" -#: main.c:2934 -#, c-format +#: main.c:2871 +#, fuzzy, c-format msgid "the '-%c' option requires a positive integer argument" msgstr "“-%câ€é€‰é¡¹éœ€è¦æ­£æ•´æ•°å‚æ•°" -#: main.c:3332 -#, c-format +#: main.c:3269 +#, fuzzy, c-format msgid "%sBuilt for %s\n" -msgstr "%s为 %s 编译\n" +msgstr "" +"\n" +"%s该程åºä¸º %s 编译\n" -#: main.c:3334 -#, c-format +#: main.c:3271 +#, fuzzy, c-format msgid "%sBuilt for %s (%s)\n" -msgstr "%s为 %s (%s) 编译\n" +msgstr "" +"\n" +"%s该程åºä¸º %s (%s) 编译\n" -#: main.c:3345 +#: main.c:3282 #, c-format msgid "" "%sLicense GPLv3+: GNU GPL version 3 or later 。\n" -"%s本软件是自由软件:您å¯ä»¥è‡ªç”±ä¿®æ”¹å’Œé‡æ–°å‘布它。\n" -"%s在法律å…许的范围内没有其他ä¿è¯ã€‚\n" -#: main.c:3366 +#: main.c:3303 #, c-format msgid "" "\n" @@ -1249,7 +1317,7 @@ "\n" "# make æ•°æ®åŸºç¡€ï¼Œæ‰“å°åœ¨ %s" -#: main.c:3376 +#: main.c:3313 #, c-format msgid "" "\n" @@ -1258,29 +1326,29 @@ "\n" "# 在 %s ä¸Šå®Œæˆ make æ•°æ®åŸºç¡€\n" -#: misc.c:202 +#: misc.c:201 #, c-format msgid "Unknown error %d" msgstr "未知错误 %d" -#: misc.c:508 +#: misc.c:522 #, c-format msgid "%s: user %lu (real %lu), group %lu (real %lu)\n" msgstr "%s: 用户 %lu (真实用户 %lu), 组 %lu (真实组 %lu)\n" -#: misc.c:529 +#: misc.c:543 msgid "Initialized access" msgstr "åˆå§‹åŒ–æˆåŠŸ" -#: misc.c:608 +#: misc.c:622 msgid "User access" msgstr "用户æƒé™" -#: misc.c:656 +#: misc.c:670 msgid "Make access" msgstr "Make æƒé™" -#: misc.c:690 +#: misc.c:704 msgid "Child access" msgstr "å­è¿›ç¨‹ æƒé™" @@ -1295,12 +1363,12 @@ msgstr "%s: 离开一个未知的目录\n" #: output.c:109 -#, c-format +#, fuzzy, c-format msgid "%s: Entering directory '%s'\n" msgstr "%s: 进入目录“%sâ€\n" #: output.c:111 -#, c-format +#, fuzzy, c-format msgid "%s: Leaving directory '%s'\n" msgstr "%s: 离开目录“%sâ€\n" @@ -1315,18 +1383,19 @@ msgstr "%s[%u]: 离开一个未知的目录\n" #: output.c:120 -#, c-format +#, fuzzy, c-format msgid "%s[%u]: Entering directory '%s'\n" msgstr "%s[%u]: 进入目录“%sâ€\n" #: output.c:122 -#, c-format +#, fuzzy, c-format msgid "%s[%u]: Leaving directory '%s'\n" msgstr "%s[%u]: 离开目录“%sâ€\n" #: output.c:495 output.c:497 +#, fuzzy msgid "write error: stdout" -msgstr "写错误: 标准输出" +msgstr "写错误: %s" #: output.c:677 msgid ". Stop.\n" @@ -1342,398 +1411,370 @@ msgid "%s: %s" msgstr "%s: %s" -#: posixos.c:69 -msgid "creating jobs pipe" -msgstr "正在创建任务管é“" - -#: posixos.c:72 posixos.c:227 -msgid "duping jobs pipe" -msgstr "正在å¤åˆ¶ä»»åŠ¡ç®¡é“" - -#: posixos.c:78 -msgid "init jobserver pipe" -msgstr "创始化任务æœåŠ¡å™¨ç®¡é“" - -#: posixos.c:90 -#, c-format -msgid "internal error: invalid --jobserver-auth string '%s'" -msgstr "内部错误:éžæ³• --jobserver-auth 验è¯å­—符串“%sâ€" - -#: posixos.c:93 -#, c-format -msgid "Jobserver client (fds %d,%d)\n" -msgstr "jobserver 客户端(文件æ述符 %d,%d)\n" - -#: posixos.c:109 -msgid "jobserver pipeline" -msgstr "任务æœåŠ¡å™¨ç®¡é“" - -#: posixos.c:154 -msgid "write jobserver" -msgstr "写入任务æœåŠ¡å™¨" - -# , fuzzy -#: posixos.c:268 -msgid "pselect jobs pipe" -msgstr "pselect 任务管é“" - -#: posixos.c:279 posixos.c:391 -msgid "read jobs pipe" -msgstr "读å–任务管é“" - -#: read.c:178 +#: read.c:180 msgid "Reading makefiles...\n" msgstr "正在读入 makefiles...\n" -#: read.c:329 -#, c-format +#: read.c:335 +#, fuzzy, c-format msgid "Reading makefile '%s'" msgstr "正在读入 makefile “%sâ€" -#: read.c:331 +#: read.c:337 #, c-format msgid " (no default goal)" msgstr " (没有缺çœç›®æ ‡)" -#: read.c:333 +#: read.c:339 #, c-format msgid " (search path)" msgstr " (æœç´¢è·¯å¾„)" -#: read.c:335 +#: read.c:341 #, c-format msgid " (don't care)" msgstr " (ä¸ç”¨ç†)" -#: read.c:337 +#: read.c:343 #, c-format msgid " (no ~ expansion)" msgstr " (没有 ~ 扩展)" -#: read.c:651 +#: read.c:656 #, c-format msgid "Skipping UTF-8 BOM in makefile '%s'\n" -msgstr "跳过 Makefile“%sâ€ä¸­çš„ UTF-8 BOM\n" +msgstr "" -#: read.c:654 +#: read.c:659 #, c-format msgid "Skipping UTF-8 BOM in makefile buffer\n" -msgstr "跳过 Makefile 缓冲区中的 UTF-8 BOM\n" +msgstr "" -#: read.c:783 +#: read.c:789 msgid "invalid syntax in conditional" msgstr "æ¡ä»¶ä¸­å«æœ‰æ— æ•ˆè¯­æ³•" -#: read.c:959 +#: read.c:966 #, c-format msgid "%s: failed to load" -msgstr "%s: 加载失败" +msgstr "" -#: read.c:985 +#: read.c:992 +#, fuzzy msgid "recipe commences before first target" -msgstr "é…方在第一个目标å‰å¼€å§‹" +msgstr "命令在第一个目标å‰å¼€å§‹" -#: read.c:1034 +#: read.c:1041 +#, fuzzy msgid "missing rule before recipe" -msgstr "é…方之å‰é—æ¼äº†è§„则" +msgstr "命令之å‰é—æ¼äº†è§„则" -#: read.c:1124 +#: read.c:1131 +#, fuzzy msgid "missing separator (did you mean TAB instead of 8 spaces?)" -msgstr "分隔符缺失 (你大概想用 TAB,而ä¸æ˜¯å…«ä¸ªç©ºæ ¼)" +msgstr " (您的æ„æ€æ˜¯ç”¨ TAB 代替 8 个空格?)" -#: read.c:1126 +#: read.c:1133 +#, fuzzy msgid "missing separator" msgstr "é—æ¼åˆ†éš”符 %s" -#: read.c:1262 +#: read.c:1270 msgid "missing target pattern" msgstr "无目标匹é…" -#: read.c:1264 +#: read.c:1272 msgid "multiple target patterns" msgstr "多个目标匹é…" -#: read.c:1268 -#, c-format +#: read.c:1276 +#, fuzzy, c-format msgid "target pattern contains no '%%'" msgstr "目标模å¼ä¸å«æœ‰â€œ%%â€" -#: read.c:1390 +#: read.c:1398 +#, fuzzy msgid "missing 'endif'" msgstr "é—æ¼â€œendifâ€" -#: read.c:1428 read.c:1473 variable.c:1576 +#: read.c:1436 read.c:1481 variable.c:1546 msgid "empty variable name" msgstr "空å˜é‡å" -#: read.c:1463 +#: read.c:1471 +#, fuzzy msgid "extraneous text after 'define' directive" msgstr "“endefâ€æŒ‡ä»¤åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字" -#: read.c:1488 +#: read.c:1496 +#, fuzzy msgid "missing 'endef', unterminated 'define'" msgstr "é—æ¼â€œendefâ€ï¼Œæœªç»ˆæ­¢çš„“defineâ€" -#: read.c:1516 +#: read.c:1524 +#, fuzzy msgid "extraneous text after 'endef' directive" msgstr "“endefâ€æŒ‡ä»¤åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字" -#: read.c:1588 -#, c-format +#: read.c:1595 +#, fuzzy, c-format msgid "extraneous text after '%s' directive" msgstr "在“%sâ€æŒ‡ä»¤ä¹‹åŽå«æœ‰ä¸è¯¥å‡ºçŽ°çš„文字" -#: read.c:1589 -#, c-format +#: read.c:1596 +#, fuzzy, c-format msgid "extraneous '%s'" msgstr "ä¸è¯¥å‡ºçŽ°çš„“%sâ€" -#: read.c:1617 +#: read.c:1624 +#, fuzzy msgid "only one 'else' per conditional" msgstr "æ¯ä¸ªæ¡ä»¶åªèƒ½æœ‰ä¸€ä¸ªâ€œelseâ€" -#: read.c:1892 +#: read.c:1899 msgid "Malformed target-specific variable definition" msgstr "畸形的针对目标的标é‡å®šä¹‰" -#: read.c:1950 +#: read.c:1957 +#, fuzzy msgid "prerequisites cannot be defined in recipes" -msgstr "ä¾èµ–无法在é…方脚本中定义" +msgstr "ä¾èµ–无法在命令脚本中定义" -#: read.c:2009 +#: read.c:2015 msgid "mixed implicit and static pattern rules" msgstr "混和的éšå«å’Œé™æ€æ¨¡å¼è§„则" -#: read.c:2032 +#: read.c:2038 msgid "mixed implicit and normal rules" msgstr "混和的éšå«å’Œæ™®é€šè§„则" -#: read.c:2085 -#, c-format +#: read.c:2091 +#, fuzzy, c-format msgid "target '%s' doesn't match the target pattern" msgstr "目标“%sâ€ä¸åŒ¹é…目标模å¼" -#: read.c:2100 read.c:2146 -#, c-format +#: read.c:2106 read.c:2152 +#, fuzzy, c-format msgid "target file '%s' has both : and :: entries" msgstr "目标文件“%sâ€å«æœ‰ : å’Œ :: 两ç§æ¡ç›®" -#: read.c:2106 -#, c-format +#: read.c:2112 +#, fuzzy, c-format msgid "target '%s' given more than once in the same rule" msgstr "目标“%sâ€åœ¨åŒä¸€ä¸ªè§„则中给出了多次。" -#: read.c:2116 -#, c-format +#: read.c:2122 +#, fuzzy, c-format msgid "warning: overriding recipe for target '%s'" -msgstr "警告:覆盖关于目标“%sâ€çš„é…æ–¹" +msgstr "警告:覆盖关于目标“%sâ€çš„命令" -#: read.c:2119 -#, c-format +#: read.c:2125 +#, fuzzy, c-format msgid "warning: ignoring old recipe for target '%s'" -msgstr "警告:忽略关于目标“%sâ€çš„æ—§é…æ–¹" +msgstr "警告:忽略关于目标“%sâ€çš„旧命令" -#: read.c:2223 +#: read.c:2229 +#, fuzzy msgid "*** mixed implicit and normal rules: deprecated syntax" -msgstr "*** éšå«å’Œæ™®é€šè§„则混åˆï¼šå·²å¼ƒç”¨çš„语法" +msgstr "混和的éšå«å’Œæ™®é€šè§„则" -#: read.c:2542 +#: read.c:2539 msgid "warning: NUL character seen; rest of line ignored" msgstr "警告:é‡åˆ°äº† NUL 字符;忽略行的剩余部分" -#: remake.c:226 -#, c-format +#: remake.c:230 +#, fuzzy, c-format msgid "Nothing to be done for '%s'." msgstr "对“%sâ€æ— éœ€åšä»»ä½•äº‹ã€‚" -#: remake.c:227 -#, c-format +#: remake.c:231 +#, fuzzy, c-format msgid "'%s' is up to date." -msgstr "“%sâ€å·²æ˜¯æœ€æ–°ã€‚" +msgstr "“%sâ€æ˜¯æœ€æ–°çš„。" -#: remake.c:323 -#, c-format +#: remake.c:303 +#, fuzzy, c-format msgid "Pruning file '%s'.\n" -msgstr "正删除文件“%sâ€ã€‚\n" +msgstr "正在删除文件“%sâ€ã€‚\n" -#: remake.c:406 -#, c-format +#: remake.c:390 remake.c:393 +#, fuzzy, c-format msgid "%sNo rule to make target '%s', needed by '%s'%s" -msgstr "%s没有规则å¯åˆ¶ä½œç›®æ ‡â€œ%sâ€ï¼Œç”±â€œ%sâ€%s 需求" +msgstr "%1$s没有规则å¯ä»¥åˆ›å»ºâ€œ%3$sâ€%4$s需è¦çš„目标“%2$sâ€" -#: remake.c:416 -#, c-format +#: remake.c:402 remake.c:405 +#, fuzzy, c-format msgid "%sNo rule to make target '%s'%s" -msgstr "%s没有规则å¯åˆ¶ä½œç›®æ ‡â€œ%sâ€%s" +msgstr "%s没有规则å¯ä»¥åˆ›å»ºç›®æ ‡â€œ%sâ€%s" -#: remake.c:442 -#, c-format +#: remake.c:426 +#, fuzzy, c-format msgid "Considering target file '%s'.\n" msgstr "正在考虑目标文件“%sâ€ã€‚\n" -#: remake.c:449 -#, c-format +#: remake.c:433 +#, fuzzy, c-format msgid "Recently tried and failed to update file '%s'.\n" msgstr "最近已å°è¯•è¿‡æ›´æ–°æ–‡ä»¶â€œ%sâ€å¹¶å¤±è´¥ã€‚\n" -#: remake.c:461 -#, c-format +#: remake.c:445 +#, fuzzy, c-format msgid "File '%s' was considered already.\n" msgstr "已考虑过文件“%sâ€ã€‚\n" -#: remake.c:471 -#, c-format +#: remake.c:455 +#, fuzzy, c-format msgid "Still updating file '%s'.\n" msgstr "ä»ç„¶åœ¨æ›´æ–°æ–‡ä»¶â€œ%sâ€ã€‚\n" -#: remake.c:474 -#, c-format +#: remake.c:458 +#, fuzzy, c-format msgid "Finished updating file '%s'.\n" msgstr "更新文件“%sâ€å®Œæˆã€‚\n" -#: remake.c:503 -#, c-format +#: remake.c:487 +#, fuzzy, c-format msgid "File '%s' does not exist.\n" msgstr "文件“%sâ€ä¸å­˜åœ¨ã€‚\n" -#: remake.c:511 -#, c-format +#: remake.c:495 +#, fuzzy, c-format msgid "" "*** Warning: .LOW_RESOLUTION_TIME file '%s' has a high resolution time stamp" -msgstr "*** 警告: .LOW_RESOLUTION_TIME 文件 `%s' 有一个高精度的的时间标志" +msgstr "*** 警告: .LOW_RESOLUTION_TIME 文件 `%s' 有一个精细的时间标志" -#: remake.c:524 remake.c:1056 -#, c-format +#: remake.c:508 remake.c:1040 +#, fuzzy, c-format msgid "Found an implicit rule for '%s'.\n" msgstr "找到一æ¡å…³äºŽâ€œ%sâ€çš„éšå«è§„则。\n" -#: remake.c:526 remake.c:1058 -#, c-format +#: remake.c:510 remake.c:1042 +#, fuzzy, c-format msgid "No implicit rule found for '%s'.\n" msgstr "找ä¸åˆ°å…³äºŽâ€œ%sâ€çš„éšå«è§„则。\n" -#: remake.c:532 -#, c-format +#: remake.c:516 +#, fuzzy, c-format msgid "Using default recipe for '%s'.\n" -msgstr "使用“%sâ€çš„默认é…方。\n" +msgstr "使用关于“%sâ€çš„默认命令。\n" -#: remake.c:566 remake.c:1105 +#: remake.c:550 remake.c:1089 #, c-format msgid "Circular %s <- %s dependency dropped." msgstr "放弃循环ä¾èµ– %s <- %s 。" -#: remake.c:691 -#, c-format +#: remake.c:675 +#, fuzzy, c-format msgid "Finished prerequisites of target file '%s'.\n" msgstr "目标文件“%sâ€çš„å‰æ已完æˆã€‚\n" -#: remake.c:697 -#, c-format +#: remake.c:681 +#, fuzzy, c-format msgid "The prerequisites of '%s' are being made.\n" -msgstr "正在制作“%sâ€çš„å‰æ。\n" +msgstr "正在创建“%sâ€çš„å‰æ。\n" -#: remake.c:711 -#, c-format +#: remake.c:695 +#, fuzzy, c-format msgid "Giving up on target file '%s'.\n" msgstr "放弃目标文件“%sâ€ã€‚\n" -#: remake.c:716 -#, c-format +#: remake.c:700 +#, fuzzy, c-format msgid "Target '%s' not remade because of errors." -msgstr "由于错误目标“%sâ€å¹¶æœªé‡æ–°åˆ¶ä½œã€‚" +msgstr "由于错误目标“%sâ€å¹¶æœªé‡æ–°åˆ›å»ºã€‚" -#: remake.c:768 -#, c-format +#: remake.c:752 +#, fuzzy, c-format msgid "Prerequisite '%s' is order-only for target '%s'.\n" -msgstr "å‰æ“%sâ€å¯¹ç›®æ ‡â€œ%sâ€æ¥è¯´ä»…ç”¨äºŽæŒ‡å®šæ‰§è¡Œé¡ºåº (order-only) 。\n" +msgstr "“%sâ€æ˜¯ç›®æ ‡â€œ%sâ€çš„一个仅用于指定执行顺åº(order-only)çš„å‰æ。\n" -#: remake.c:773 -#, c-format +#: remake.c:757 +#, fuzzy, c-format msgid "Prerequisite '%s' of target '%s' does not exist.\n" msgstr "目标“%2$sâ€çš„å‰æ“%1$sâ€ä¸å­˜åœ¨ã€‚\n" -#: remake.c:778 -#, c-format +#: remake.c:762 +#, fuzzy, c-format msgid "Prerequisite '%s' is newer than target '%s'.\n" msgstr "å‰æ“%sâ€æ¯”目标“%sâ€æ–°ã€‚\n" -#: remake.c:781 -#, c-format +#: remake.c:765 +#, fuzzy, c-format msgid "Prerequisite '%s' is older than target '%s'.\n" msgstr "å‰æ“%sâ€æ¯”目标“%sâ€æ—§ã€‚\n" -#: remake.c:799 -#, c-format +#: remake.c:783 +#, fuzzy, c-format msgid "Target '%s' is double-colon and has no prerequisites.\n" msgstr "目标“%sâ€æ˜¯åŒå†’å·ç›®æ ‡å¹¶ä¸”没有å‰æ。\n" -#: remake.c:806 -#, c-format +#: remake.c:790 +#, fuzzy, c-format msgid "No recipe for '%s' and no prerequisites actually changed.\n" -msgstr "没有关于“%sâ€çš„é…方,并且没有实际改å˜çš„å‰æ。\n" +msgstr "没有关于“%sâ€çš„命令,并且实际上改å˜äº†çš„å‰æ。\n" -#: remake.c:811 -#, c-format +#: remake.c:795 +#, fuzzy, c-format msgid "Making '%s' due to always-make flag.\n" -msgstr "由于 always-make 标志所以制作“%sâ€ã€‚\n" +msgstr "由于 always-make 标志所以 make “%sâ€ã€‚\n" -#: remake.c:819 -#, c-format +#: remake.c:803 +#, fuzzy, c-format msgid "No need to remake target '%s'" -msgstr "ä¸éœ€è¦é‡æ–°åˆ¶ä½œç›®æ ‡â€œ%sâ€" +msgstr "ä¸éœ€è¦é‡æ–°åˆ›å»ºç›®æ ‡â€œ%sâ€" -#: remake.c:821 -#, c-format +#: remake.c:805 +#, fuzzy, c-format msgid "; using VPATH name '%s'" msgstr ";使用 VPATH å称“%sâ€" -#: remake.c:841 -#, c-format +#: remake.c:825 +#, fuzzy, c-format msgid "Must remake target '%s'.\n" -msgstr "å¿…é¡»é‡æ–°åˆ¶ä½œç›®æ ‡â€œ%sâ€ã€‚\n" +msgstr "å¿…é¡»é‡æ–°åˆ›å»ºç›®æ ‡â€œ%sâ€ã€‚\n" -#: remake.c:847 -#, c-format +#: remake.c:831 +#, fuzzy, c-format msgid " Ignoring VPATH name '%s'.\n" -msgstr " 忽略 VPATH å称“%sâ€ã€‚\n" +msgstr " 忽略 VPATH å称 `%s'。\n" -#: remake.c:856 -#, c-format +#: remake.c:840 +#, fuzzy, c-format msgid "Recipe of '%s' is being run.\n" -msgstr "“%sâ€çš„命令é…方正在被执行。\n" +msgstr "“%sâ€çš„命令正在被执行。\n" -#: remake.c:863 -#, c-format +#: remake.c:847 +#, fuzzy, c-format msgid "Failed to remake target file '%s'.\n" -msgstr "é‡æ–°åˆ¶ä½œç›®æ ‡æ–‡ä»¶â€œ%sâ€å¤±è´¥ã€‚\n" +msgstr "é‡æ–°åˆ›å»ºç›®æ ‡æ–‡ä»¶â€œ%sâ€å¤±è´¥ã€‚\n" -#: remake.c:866 -#, c-format +#: remake.c:850 +#, fuzzy, c-format msgid "Successfully remade target file '%s'.\n" -msgstr "é‡æ–°åˆ¶ä½œç›®æ ‡æ–‡ä»¶â€œ%sâ€æˆåŠŸã€‚\n" +msgstr "é‡æ–°åˆ›å»ºç›®æ ‡æ–‡ä»¶â€œ%sâ€æˆåŠŸã€‚\n" -#: remake.c:869 -#, c-format +#: remake.c:853 +#, fuzzy, c-format msgid "Target file '%s' needs to be remade under -q.\n" -msgstr "目标文件“%sâ€éœ€è¦ä»¥ -q 选项é‡æ–°åˆ¶ä½œã€‚\n" +msgstr "目标文件“%sâ€éœ€è¦ä»¥ -q 选项é‡æ–°åˆ›å»ºã€‚\n" -#: remake.c:1064 -#, c-format +#: remake.c:1048 +#, fuzzy, c-format msgid "Using default commands for '%s'.\n" msgstr "使用关于“%sâ€çš„默认命令。\n" -#: remake.c:1430 -#, c-format +#: remake.c:1397 +#, fuzzy, c-format msgid "Warning: File '%s' has modification time in the future" msgstr "警告:文件“%sâ€çš„修改时间在未æ¥" -#: remake.c:1444 -#, c-format +#: remake.c:1411 +#, fuzzy, c-format msgid "Warning: File '%s' has modification time %s s in the future" -msgstr "警告:文件“%sâ€çš„ä¿®æ”¹æ—¶é—´åœ¨æœªæ¥ %s 秒åŽ" +msgstr "警告:文件“%sâ€çš„修改时间在 %.2g 秒åŽ" -#: remake.c:1647 -#, c-format +#: remake.c:1610 +#, fuzzy, c-format msgid ".LIBPATTERNS element '%s' is not a pattern" msgstr ".LIBPATTERNS 的元素“%sâ€ä¸æ˜¯ä¸€ä¸ªæ¨¡å¼" @@ -1742,7 +1783,7 @@ msgid "Customs won't export: %s\n" msgstr "用户ä¸å¸Œæœ›å¯¼å‡ºï¼š%s\n" -#: rule.c:496 +#: rule.c:495 msgid "" "\n" "# Implicit Rules" @@ -1750,7 +1791,7 @@ "\n" "# éšå«è§„则。" -#: rule.c:511 +#: rule.c:510 msgid "" "\n" "# No implicit rules." @@ -1758,7 +1799,7 @@ "\n" "# 没有éšå«è§„则。" -#: rule.c:514 +#: rule.c:513 #, c-format msgid "" "\n" @@ -1767,14 +1808,14 @@ "\n" "# %u æ¡éšå«è§„则,%u" -#: rule.c:523 +#: rule.c:522 msgid " terminal." msgstr " 终端。" -#: rule.c:531 -#, c-format +#: rule.c:530 +#, fuzzy, c-format msgid "BUG: num_pattern_rules is wrong! %u != %u" -msgstr "BUG:num_pattern_rules 出错ï¼%u != %u" +msgstr "错误:num_pattern_rules 出错ï¼%u != %u" #: signame.c:84 msgid "unknown signal" @@ -1932,98 +1973,94 @@ msgid "Floating point co-processor not available" msgstr "浮点数å处ç†å™¨ä¸å¯ç”¨" -#: strcache.c:274 -#, c-format +#: strcache.c:236 +#, fuzzy, c-format msgid "" "\n" "%s No strcache buffers\n" -msgstr "" -"\n" -"%s 没有 strcache 缓冲区\n" +msgstr "%s strcache 缓冲区数é‡: %d\n" -#: strcache.c:304 -#, c-format +#: strcache.c:266 +#, fuzzy, c-format msgid "" "\n" "%s strcache buffers: %lu (%lu) / strings = %lu / storage = %lu B / avg = %lu " "B\n" -msgstr "" -"\n" -"%s strcache 缓冲: %lu (%lu) / 字串 = %lu / 空间 = %lu B / å¹³å‡ = %lu B\n" +msgstr "%s strcache 剩余: 总共 = %d / 最大 = %d / æœ€å° = %d / å¹³å‡ = %d\n" -#: strcache.c:308 +#: strcache.c:270 #, c-format msgid "" "%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n" -msgstr "%s ç›®å‰ç¼“冲: 尺寸 = %hu B / 已用 = %hu B / æ•°é‡ = %hu / å¹³å‡ = %hu B\n" +msgstr "" -#: strcache.c:319 -#, c-format +#: strcache.c:280 +#, fuzzy, c-format msgid "%s other used: total = %lu B / count = %lu / avg = %lu B\n" -msgstr "%s 其他已用: 总共 = %lu B / æ•°é‡ = %lu / å¹³å‡ = %lu B\n" +msgstr "%s strcache 大å°: 总共 = %d / 最大 = %d / æœ€å° = %d / å¹³å‡ = %d\n" -#: strcache.c:322 -#, c-format +#: strcache.c:283 +#, fuzzy, c-format msgid "" "%s other free: total = %lu B / max = %lu B / min = %lu B / avg = %hu B\n" -msgstr "" -"%s 其他空余: 总共 = %lu B / 最大 = %lu B / æœ€å° = %lu B / å¹³å‡ = %hu B\n" +msgstr "%s strcache 剩余: 总共 = %d / 最大 = %d / æœ€å° = %d / å¹³å‡ = %d\n" -#: strcache.c:326 +#: strcache.c:287 #, c-format msgid "" "\n" "%s strcache performance: lookups = %lu / hit rate = %lu%%\n" msgstr "" -"\n" -"%s strcache 性能:查找 = %lu / 命中率 = %lu%%\n" -#: strcache.c:328 +#: strcache.c:289 +#, fuzzy msgid "" "# hash-table stats:\n" "# " msgstr "" -"# æ‚凑表统计数æ®:\n" +"\n" +"# 文件æ‚凑表状æ€:\n" "# " -#: variable.c:1629 +#: variable.c:1599 msgid "automatic" msgstr "自动" -#: variable.c:1632 +#: variable.c:1602 msgid "default" msgstr "默认" -#: variable.c:1635 +#: variable.c:1605 msgid "environment" msgstr "环境" -#: variable.c:1638 +#: variable.c:1608 msgid "makefile" msgstr "makefile" -#: variable.c:1641 +#: variable.c:1611 msgid "environment under -e" msgstr "-e 指定的环境å˜é‡" -#: variable.c:1644 +#: variable.c:1614 msgid "command line" msgstr "命令行" -#: variable.c:1647 +#: variable.c:1617 +#, fuzzy msgid "'override' directive" msgstr "“overrideâ€æŒ‡ä»¤" -#: variable.c:1658 -#, c-format +#: variable.c:1628 +#, fuzzy, c-format msgid " (from '%s', line %lu)" msgstr " (从“%sâ€ï¼Œè¡Œ %lu)" -#: variable.c:1721 +#: variable.c:1691 msgid "# variable set hash-table stats:\n" msgstr "# å˜é‡çš„æ‚凑表状æ€:\n" -#: variable.c:1732 +#: variable.c:1702 msgid "" "\n" "# Variables\n" @@ -2031,7 +2068,7 @@ "\n" "# å˜é‡\n" -#: variable.c:1736 +#: variable.c:1706 msgid "" "\n" "# Pattern-specific Variable Values" @@ -2039,7 +2076,7 @@ "\n" "# Pattern-specific å˜é‡å€¼" -#: variable.c:1750 +#: variable.c:1720 msgid "" "\n" "# No pattern-specific variable values." @@ -2047,7 +2084,7 @@ "\n" "# 没有 pattern-specific å˜é‡çš„值。" -#: variable.c:1752 +#: variable.c:1722 #, c-format msgid "" "\n" @@ -2057,46 +2094,96 @@ "# %u 个 pattern-specific å˜é‡çš„值" #: variable.h:224 -#, c-format +#, fuzzy, c-format msgid "warning: undefined variable '%.*s'" msgstr "警告:未定义的å˜é‡â€œ%.*sâ€" #: vmsfunctions.c:91 -#, c-format +#, fuzzy, c-format msgid "sys$search() failed with %d\n" -msgstr "sys$search() 失败并返回 %d\n" +msgstr "sys$search 失败并返回 %d\n" + +#: vmsjobs.c:72 +#, c-format +msgid "Warning: Empty redirection\n" +msgstr "警告:空的é‡å®šå‘\n" -#: vmsjobs.c:242 +#: vmsjobs.c:183 +#, fuzzy, c-format +msgid "internal error: '%s' command_state" +msgstr "内部错误:“%s†command_state" + +#: vmsjobs.c:290 #, c-format msgid "-warning, you may have to re-enable CTRL-Y handling from DCL.\n" -msgstr "-警告, ä½ å¯èƒ½å¿…须从 DCL é‡æ–°å¯ç”¨ CTRL-Y 处ç†ã€‚\n" +msgstr "-警告, ä½ å¯èƒ½å¿…须从 DCL é‡æ–°å¯ç”¨ CTRL-Y。\n" + +#: vmsjobs.c:455 vmsjobs.c:559 +#, c-format +msgid "BUILTIN [%s][%s]\n" +msgstr "BUILTIN [%s][%s]\n" -#: vmsjobs.c:679 +#: vmsjobs.c:465 #, c-format msgid "BUILTIN CD %s\n" msgstr "BUILTIN CD %s\n" -#: vmsjobs.c:1228 +#: vmsjobs.c:501 +#, fuzzy, c-format +msgid "BUILTIN ECHO %s->%s\n" +msgstr "BUILTIN CD %s\n" + +#: vmsjobs.c:505 +#, c-format +msgid "Unknown builtin command '%s'\n" +msgstr "未知的内置命令“%sâ€\n" + +#: vmsjobs.c:592 +#, c-format +msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" +msgstr "" + +#: vmsjobs.c:643 #, c-format -msgid "DCL: %s\n" -msgstr "DCL:%s\n" +msgid "Error, empty command\n" +msgstr "错误,空命令\n" -#: vmsjobs.c:1288 +#: vmsjobs.c:674 #, c-format +msgid "Redirected input from %s\n" +msgstr "æ¥è‡ª %s çš„é‡å®šå‘输入\n" + +#: vmsjobs.c:681 +#, c-format +msgid "Redirected error to %s\n" +msgstr "到 %s çš„é‡å®šå‘错误输出\n" + +#: vmsjobs.c:690 +#, fuzzy, c-format msgid "Append output to %s\n" -msgstr "将输出追加到 %s\n" +msgstr "到 %s çš„é‡å®šå‘输出\n" -#: vmsjobs.c:1313 +#: vmsjobs.c:696 +#, c-format +msgid "Redirected output to %s\n" +msgstr "到 %s çš„é‡å®šå‘输出\n" + +#: vmsjobs.c:802 #, c-format msgid "Append %.*s and cleanup\n" -msgstr "追加 %.*s 并清ç†\n" +msgstr "" -#: vmsjobs.c:1326 +#: vmsjobs.c:809 #, c-format msgid "Executing %s instead\n" msgstr "执行 %s 作为替代\n" -#: vpath.c:603 +#: vmsjobs.c:915 +#, c-format +msgid "Error spawning, %d\n" +msgstr "错误产生,%d\n" + +#: vpath.c:583 msgid "" "\n" "# VPATH Search Paths\n" @@ -2104,12 +2191,13 @@ "\n" "# VPATH æœç´¢è·¯å¾„\n" -#: vpath.c:620 +#: vpath.c:600 +#, fuzzy msgid "# No 'vpath' search paths." msgstr "# 没有“vpathâ€æœç´¢è·¯å¾„。" -#: vpath.c:622 -#, c-format +#: vpath.c:602 +#, fuzzy, c-format msgid "" "\n" "# %u 'vpath' search paths.\n" @@ -2117,7 +2205,8 @@ "\n" "# %u “vpathâ€æœç´¢è·¯å¾„。\n" -#: vpath.c:625 +#: vpath.c:605 +#, fuzzy msgid "" "\n" "# No general ('VPATH' variable) search path." @@ -2125,7 +2214,8 @@ "\n" "# 没有通用æœç´¢è·¯å¾„(“VPATHâ€å˜é‡)。" -#: vpath.c:631 +#: vpath.c:611 +#, fuzzy msgid "" "\n" "# General ('VPATH' variable) search path:\n" @@ -2135,82 +2225,6 @@ "# 通用æœç´¢è·¯å¾„(“VPATHâ€å˜é‡):\n" "# " -#: w32/w32os.c:46 -#, c-format -msgid "Jobserver slots limited to %d\n" -msgstr "jobserver 槽ä½æ•°é™åˆ¶ä¸º %d\n" - -#: w32/w32os.c:62 -#, c-format -msgid "creating jobserver semaphore: (Error %ld: %s)" -msgstr "正创建 jobserver ä¿¡å·é‡ï¼šï¼ˆé”™è¯¯ %ld:%s)" - -#: w32/w32os.c:81 -#, c-format -msgid "" -"internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)" -msgstr "内部错误:无法打开 jobserver ä¿¡å·é‡â€œ%sâ€ï¼šï¼ˆé”™è¯¯ %ld:%s)" - -#: w32/w32os.c:84 -#, c-format -msgid "Jobserver client (semaphore %s)\n" -msgstr "jobserver 客户端(信å·é‡ %s)\n" - -#: w32/w32os.c:125 -#, c-format -msgid "release jobserver semaphore: (Error %ld: %s)" -msgstr "释放 jobserver ä¿¡å·é‡ï¼šï¼ˆé”™è¯¯ %ld:%s)" - -#: w32/w32os.c:192 -#, c-format -msgid "semaphore or child process wait: (Error %ld: %s)" -msgstr "ä¿¡å·é‡æˆ–å­è¿›ç¨‹ç­‰å¾…:(错误 %ld:%s)" - -#~ msgid "%s: recipe for target '%s' failed" -#~ msgstr "%s: '%s' 的命令é…方失败" - -#~ msgid "%s[%s] Error 0x%x%s" -#~ msgstr "%s[%s] 错误 0x%x%s" - -#~ msgid "%s[%s] %s%s%s" -#~ msgstr "%s[%s] %s%s%s" - -#~ msgid "dup jobserver" -#~ msgstr "å¤åˆ¶ä»»åŠ¡æœåŠ¡å™¨" - -#~ msgid "Warning: Empty redirection\n" -#~ msgstr "警告:空的é‡å®šå‘\n" - -#~ msgid "internal error: '%s' command_state" -#~ msgstr "内部错误:“%sâ€command_state" - -#~ msgid "BUILTIN [%s][%s]\n" -#~ msgstr "BUILTIN [%s][%s]\n" - -#~ msgid "BUILTIN ECHO %s->%s\n" -#~ msgstr "BUILTIN ECHO %s->%s\n" - -#~ msgid "Unknown builtin command '%s'\n" -#~ msgstr "未知的内置命令“%sâ€\n" - -#~ msgid "Builtin command is unknown or unsupported in .ONESHELL: '%s'\n" -#~ msgstr "内置命令在 .ONESHELL 内未知或ä¸å—支æŒï¼šâ€œ%sâ€\n" - -#~ msgid "Error, empty command\n" -#~ msgstr "错误,空命令\n" - -#~ msgid "Redirected input from %s\n" -#~ msgstr "æ¥è‡ª %s çš„é‡å®šå‘输入\n" - -#~ msgid "Redirected error to %s\n" -#~ msgstr "到 %s çš„é‡å®šå‘错误输出\n" - -#~ msgid "Redirected output to %s\n" -#~ msgstr "到 %s çš„é‡å®šå‘输出\n" - -#~ msgid "Error spawning, %d\n" -#~ msgstr "错误产生,%d\n" - #, fuzzy #~ msgid "# Invalid value in 'update_status' member!" #~ msgstr "# “update_statusâ€æˆå‘˜ä¸­æ— æ•ˆçš„值ï¼" diff -Nru make-dfsg-4.2.1/posixos.c make-dfsg-4.1/posixos.c --- make-dfsg-4.2.1/posixos.c 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/posixos.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,431 +0,0 @@ -/* POSIX-based operating system interface for GNU Make. -Copyright (C) 2016 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make 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. - -GNU Make 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 -this program. If not, see . */ - -#include "makeint.h" - -#include - -#ifdef HAVE_FCNTL_H -# include -#endif -#if defined(HAVE_PSELECT) && defined(HAVE_SYS_SELECT_H) -# include -#endif - -#include "debug.h" -#include "job.h" -#include "os.h" - -#ifdef MAKE_JOBSERVER - -/* This section provides OS-specific functions to support the jobserver. */ - -/* These track the state of the jobserver pipe. Passed to child instances. */ -static int job_fds[2] = { -1, -1 }; - -/* Used to signal read() that a SIGCHLD happened. Always CLOEXEC. - If we use pselect() this will never be created and always -1. - */ -static int job_rfd = -1; - -/* Token written to the pipe (could be any character...) */ -static char token = '+'; - -static int -make_job_rfd (void) -{ -#ifdef HAVE_PSELECT - /* Pretend we succeeded. */ - return 0; -#else - EINTRLOOP (job_rfd, dup (job_fds[0])); - if (job_rfd >= 0) - CLOSE_ON_EXEC (job_rfd); - - return job_rfd; -#endif -} - -unsigned int -jobserver_setup (int slots) -{ - int r; - - EINTRLOOP (r, pipe (job_fds)); - if (r < 0) - pfatal_with_name (_("creating jobs pipe")); - - if (make_job_rfd () < 0) - pfatal_with_name (_("duping jobs pipe")); - - while (slots--) - { - EINTRLOOP (r, write (job_fds[1], &token, 1)); - if (r != 1) - pfatal_with_name (_("init jobserver pipe")); - } - - return 1; -} - -unsigned int -jobserver_parse_auth (const char *auth) -{ - /* Given the command-line parameter, parse it. */ - if (sscanf (auth, "%d,%d", &job_fds[0], &job_fds[1]) != 2) - OS (fatal, NILF, - _("internal error: invalid --jobserver-auth string '%s'"), auth); - - DB (DB_JOBS, - (_("Jobserver client (fds %d,%d)\n"), job_fds[0], job_fds[1])); - -#ifdef HAVE_FCNTL_H -# define FD_OK(_f) (fcntl ((_f), F_GETFD) != -1) -#else -# define FD_OK(_f) 1 -#endif - - /* Make sure our pipeline is valid, and (possibly) create a duplicate pipe, - that will be closed in the SIGCHLD handler. If this fails with EBADF, - the parent has closed the pipe on us because it didn't think we were a - submake. If so, warn and default to -j1. */ - - if (!FD_OK (job_fds[0]) || !FD_OK (job_fds[1]) || make_job_rfd () < 0) - { - if (errno != EBADF) - pfatal_with_name (_("jobserver pipeline")); - - job_fds[0] = job_fds[1] = -1; - - return 0; - } - - return 1; -} - -char * -jobserver_get_auth (void) -{ - char *auth = xmalloc ((INTSTR_LENGTH * 2) + 2); - sprintf (auth, "%d,%d", job_fds[0], job_fds[1]); - return auth; -} - -unsigned int -jobserver_enabled (void) -{ - return job_fds[0] >= 0; -} - -void -jobserver_clear (void) -{ - if (job_fds[0] >= 0) - close (job_fds[0]); - if (job_fds[1] >= 0) - close (job_fds[1]); - if (job_rfd >= 0) - close (job_rfd); - - job_fds[0] = job_fds[1] = job_rfd = -1; -} - -void -jobserver_release (int is_fatal) -{ - int r; - EINTRLOOP (r, write (job_fds[1], &token, 1)); - if (r != 1) - { - if (is_fatal) - pfatal_with_name (_("write jobserver")); - perror_with_name ("write", ""); - } -} - -unsigned int -jobserver_acquire_all (void) -{ - unsigned int tokens = 0; - - /* Close the write side, so the read() won't hang. */ - close (job_fds[1]); - job_fds[1] = -1; - - while (1) - { - char intake; - int r; - EINTRLOOP (r, read (job_fds[0], &intake, 1)); - if (r != 1) - return tokens; - ++tokens; - } -} - -/* Prepare the jobserver to start a child process. */ -void -jobserver_pre_child (int recursive) -{ - /* If it's not a recursive make, avoid polutting the jobserver pipes. */ - if (!recursive && job_fds[0] >= 0) - { - CLOSE_ON_EXEC (job_fds[0]); - CLOSE_ON_EXEC (job_fds[1]); - } -} - -void -jobserver_post_child (int recursive) -{ -#if defined(F_GETFD) && defined(F_SETFD) - if (!recursive && job_fds[0] >= 0) - { - unsigned int i; - for (i = 0; i < 2; ++i) - { - int flags; - EINTRLOOP (flags, fcntl (job_fds[i], F_GETFD)); - if (flags >= 0) - { - int r; - EINTRLOOP (r, fcntl (job_fds[i], F_SETFD, flags & ~FD_CLOEXEC)); - } - } - } -#endif -} - -void -jobserver_signal (void) -{ - if (job_rfd >= 0) - { - close (job_rfd); - job_rfd = -1; - } -} - -void -jobserver_pre_acquire (void) -{ - /* Make sure we have a dup'd FD. */ - if (job_rfd < 0 && job_fds[0] >= 0 && make_job_rfd () < 0) - pfatal_with_name (_("duping jobs pipe")); -} - -#ifdef HAVE_PSELECT - -/* Use pselect() to atomically wait for both a signal and a file descriptor. - It also provides a timeout facility so we don't need to use SIGALRM. - - This method relies on the fact that SIGCHLD will be blocked everywhere, - and only unblocked (atomically) within the pselect() call, so we can - never miss a SIGCHLD. - */ -unsigned int -jobserver_acquire (int timeout) -{ - sigset_t empty; - fd_set readfds; - struct timespec spec; - struct timespec *specp = NULL; - int r; - char intake; - - sigemptyset (&empty); - - FD_ZERO (&readfds); - FD_SET (job_fds[0], &readfds); - - if (timeout) - { - /* Alarm after one second (is this too granular?) */ - spec.tv_sec = 1; - spec.tv_nsec = 0; - specp = &spec; - } - - r = pselect (job_fds[0]+1, &readfds, NULL, NULL, specp, &empty); - - if (r == -1) - { - /* Better be SIGCHLD. */ - if (errno != EINTR) - pfatal_with_name (_("pselect jobs pipe")); - return 0; - } - - if (r == 0) - /* Timeout. */ - return 0; - - /* The read FD is ready: read it! */ - EINTRLOOP (r, read (job_fds[0], &intake, 1)); - if (r < 0) - pfatal_with_name (_("read jobs pipe")); - - /* What does it mean if read() returns 0? It shouldn't happen because only - the master make can reap all the tokens and close the write side...?? */ - return r > 0; -} - -#else - -/* This method uses a "traditional" UNIX model for waiting on both a signal - and a file descriptor. However, it's complex and since we have a SIGCHLD - handler installed we need to check ALL system calls for EINTR: painful! - - Read a token. As long as there's no token available we'll block. We - enable interruptible system calls before the read(2) so that if we get a - SIGCHLD while we're waiting, we'll return with EINTR and we can process the - death(s) and return tokens to the free pool. - - Once we return from the read, we immediately reinstate restartable system - calls. This allows us to not worry about checking for EINTR on all the - other system calls in the program. - - There is one other twist: there is a span between the time reap_children() - does its last check for dead children and the time the read(2) call is - entered, below, where if a child dies we won't notice. This is extremely - serious as it could cause us to deadlock, given the right set of events. - - To avoid this, we do the following: before we reap_children(), we dup(2) - the read FD on the jobserver pipe. The read(2) call below uses that new - FD. In the signal handler, we close that FD. That way, if a child dies - during the section mentioned above, the read(2) will be invoked with an - invalid FD and will return immediately with EBADF. */ - -static RETSIGTYPE -job_noop (int sig UNUSED) -{ -} - -/* Set the child handler action flags to FLAGS. */ -static void -set_child_handler_action_flags (int set_handler, int set_alarm) -{ - struct sigaction sa; - -#ifdef __EMX__ - /* The child handler must be turned off here. */ - signal (SIGCHLD, SIG_DFL); -#endif - - memset (&sa, '\0', sizeof sa); - sa.sa_handler = child_handler; - sa.sa_flags = set_handler ? 0 : SA_RESTART; - -#if defined SIGCHLD - if (sigaction (SIGCHLD, &sa, NULL) < 0) - pfatal_with_name ("sigaction: SIGCHLD"); -#endif - -#if defined SIGCLD && SIGCLD != SIGCHLD - if (sigaction (SIGCLD, &sa, NULL) < 0) - pfatal_with_name ("sigaction: SIGCLD"); -#endif - -#if defined SIGALRM - if (set_alarm) - { - /* If we're about to enter the read(), set an alarm to wake up in a - second so we can check if the load has dropped and we can start more - work. On the way out, turn off the alarm and set SIG_DFL. */ - if (set_handler) - { - sa.sa_handler = job_noop; - sa.sa_flags = 0; - if (sigaction (SIGALRM, &sa, NULL) < 0) - pfatal_with_name ("sigaction: SIGALRM"); - alarm (1); - } - else - { - alarm (0); - sa.sa_handler = SIG_DFL; - sa.sa_flags = 0; - if (sigaction (SIGALRM, &sa, NULL) < 0) - pfatal_with_name ("sigaction: SIGALRM"); - } - } -#endif -} - -unsigned int -jobserver_acquire (int timeout) -{ - char intake; - int got_token; - int saved_errno; - - /* Set interruptible system calls, and read() for a job token. */ - set_child_handler_action_flags (1, timeout); - - EINTRLOOP (got_token, read (job_rfd, &intake, 1)); - saved_errno = errno; - - set_child_handler_action_flags (0, timeout); - - if (got_token == 1) - return 1; - - /* If the error _wasn't_ expected (EINTR or EBADF), fatal. Otherwise, - go back and reap_children(), and try again. */ - errno = saved_errno; - - if (errno != EINTR && errno != EBADF) - pfatal_with_name (_("read jobs pipe")); - - if (errno == EBADF) - DB (DB_JOBS, ("Read returned EBADF.\n")); - - return 0; -} - -#endif - -#endif /* MAKE_JOBSERVER */ - -/* Create a "bad" file descriptor for stdin when parallel jobs are run. */ -int -get_bad_stdin (void) -{ - static int bad_stdin = -1; - - /* Set up a bad standard input that reads from a broken pipe. */ - - if (bad_stdin == -1) - { - /* Make a file descriptor that is the read end of a broken pipe. - This will be used for some children's standard inputs. */ - int pd[2]; - if (pipe (pd) == 0) - { - /* Close the write side. */ - (void) close (pd[1]); - /* Save the read side. */ - bad_stdin = pd[0]; - - /* Set the descriptor to close on exec, so it does not litter any - child's descriptor table. When it is dup2'd onto descriptor 0, - that descriptor will not close on exec. */ - CLOSE_ON_EXEC (bad_stdin); - } - } - - return bad_stdin; -} diff -Nru make-dfsg-4.2.1/read.c make-dfsg-4.1/read.c --- make-dfsg-4.2.1/read.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/read.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Reading and parsing of makefiles for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -18,6 +18,8 @@ #include +#include + #include "filedef.h" #include "dep.h" #include "job.h" @@ -52,7 +54,7 @@ char *bufstart; /* Start of the entire buffer. */ unsigned int size; /* Malloc'd size of buffer. */ FILE *fp; /* File, or NULL if this is an internal buffer. */ - floc floc; /* Info on the file in fp (if any). */ + gmk_floc floc; /* Info on the file in fp (if any). */ }; /* Track the modifiers we can have on variable assignments */ @@ -126,13 +128,13 @@ /* The filename and pointer to line number of the makefile currently being read in. */ -const floc *reading_file = 0; +const gmk_floc *reading_file = 0; /* The chain of files read by read_all_makefiles. */ -static struct goaldep *read_files = 0; +static struct dep *read_files = 0; -static struct goaldep *eval_makefile (const char *filename, int flags); +static int eval_makefile (const char *filename, int flags); static void eval (struct ebuffer *buffer, int flags); static long readline (struct ebuffer *ebuf); @@ -140,16 +142,16 @@ struct ebuffer *ebuf); static struct variable *do_define (char *name, enum variable_origin origin, struct ebuffer *ebuf); -static int conditional_line (char *line, int len, const floc *flocp); +static int conditional_line (char *line, int len, const gmk_floc *flocp); static void record_files (struct nameseq *filenames, const char *pattern, const char *pattern_percent, char *depstr, unsigned int cmds_started, char *commands, unsigned int commands_idx, int two_colon, - char prefix, const floc *flocp); + char prefix, const gmk_floc *flocp); static void record_target_var (struct nameseq *filenames, char *defn, enum variable_origin origin, struct vmodifiers *vmod, - const floc *flocp); + const gmk_floc *flocp); static enum make_word_type get_next_mword (char *buffer, char *delim, char **startp, unsigned int *length); static void remove_comments (char *line); @@ -165,7 +167,7 @@ /* Read in all the makefiles and return a chain of targets to rebuild. */ -struct goaldep * +struct dep * read_all_makefiles (const char **makefiles) { unsigned int num_makefiles = 0; @@ -215,11 +217,17 @@ if (makefiles != 0) while (*makefiles != 0) { - struct goaldep *d = eval_makefile (*makefiles, 0); + struct dep *tail = read_files; + struct dep *d; - if (errno) + if (! eval_makefile (*makefiles, 0)) perror_with_name ("", *makefiles); + /* Find the first element eval_makefile() added to read_files. */ + d = read_files; + while (d->next != tail) + d = d->next; + /* Reuse the storage allocated for the read_file. */ *makefiles = dep_name (d); ++num_makefiles; @@ -233,8 +241,7 @@ static const char *default_makefiles[] = #ifdef VMS /* all lower case since readdir() (the vms version) 'lowercasifies' */ - /* TODO: Above is not always true, this needs more work */ - { "makefile.vms", "gnumakefile", "makefile", 0 }; + { "makefile.vms", "gnumakefile.", "makefile.", 0 }; #else #ifdef _AMIGA { "GNUmakefile", "Makefile", "SMakefile", 0 }; @@ -252,25 +259,25 @@ if (*p != 0) { - eval_makefile (*p, 0); - if (errno) + if (! eval_makefile (*p, 0)) perror_with_name ("", *p); } else { /* No default makefile was found. Add the default makefiles to the 'read_files' chain so they will be updated if possible. */ - struct goaldep *tail = read_files; + struct dep *tail = read_files; /* Add them to the tail, after any MAKEFILES variable makefiles. */ while (tail != 0 && tail->next != 0) tail = tail->next; for (p = default_makefiles; *p != 0; ++p) { - struct goaldep *d = alloc_goaldep (); + struct dep *d = alloc_dep (); d->file = enter_file (strcache_add (*p)); + d->dontcare = 1; /* Tell update_goal_chain to bail out as soon as this file is made, and main not to die if we can't make this file. */ - d->flags = RM_DONTCARE; + d->changed = RM_DONTCARE; if (tail == 0) read_files = d; else @@ -311,18 +318,17 @@ conditionals = saved; } -static struct goaldep * +static int eval_makefile (const char *filename, int flags) { - struct goaldep *deps; + struct dep *deps; struct ebuffer ebuf; - const floc *curfile; + const gmk_floc *curfile; char *expanded = 0; int makefile_errno; ebuf.floc.filenm = filename; /* Use the original file name. */ ebuf.floc.lineno = 1; - ebuf.floc.offset = 0; if (ISDB (DB_VERBOSE)) { @@ -394,14 +400,16 @@ filename = strcache_add (filename); /* Add FILENAME to the chain of read makefiles. */ - deps = alloc_goaldep (); + deps = alloc_dep (); deps->next = read_files; read_files = deps; deps->file = lookup_file (filename); if (deps->file == 0) deps->file = enter_file (filename); filename = deps->file->name; - deps->flags = flags; + deps->changed = flags; + if (flags & RM_DONTCARE) + deps->dontcare = 1; free (expanded); @@ -410,10 +418,10 @@ if (ebuf.fp == 0) { /* If we did some searching, errno has the error from the last - attempt, rather from FILENAME itself. Store it in case the + attempt, rather from FILENAME itself. Restore it in case the caller wants to use it in a message. */ errno = makefile_errno; - return deps; + return 0; } /* Set close-on-exec to avoid leaking the makefile to children, such as @@ -443,17 +451,16 @@ free (ebuf.bufstart); alloca (0); - errno = 0; - return deps; + return 1; } void -eval_buffer (char *buffer, const floc *flocp) +eval_buffer (char *buffer, const gmk_floc *floc) { struct ebuffer ebuf; struct conditionals *saved; struct conditionals new; - const floc *curfile; + const gmk_floc *curfile; /* Evaluate the buffer */ @@ -461,15 +468,14 @@ ebuf.buffer = ebuf.bufnext = ebuf.bufstart = buffer; ebuf.fp = NULL; - if (flocp) - ebuf.floc = *flocp; + if (floc) + ebuf.floc = *floc; else if (reading_file) ebuf.floc = *reading_file; else { ebuf.floc.filenm = NULL; ebuf.floc.lineno = 1; - ebuf.floc.offset = 0; } curfile = reading_file; @@ -504,7 +510,7 @@ memset (vmod, '\0', sizeof (*vmod)); /* Find the start of the next token. If there isn't one we're done. */ - NEXT_TOKEN (line); + line = next_token (line); if (*line == '\0') return (char *)line; @@ -583,8 +589,8 @@ char prefix = cmd_prefix; const char *pattern = 0; const char *pattern_percent; - floc *fstart; - floc fi; + gmk_floc *fstart; + gmk_floc fi; #define record_waiting_files() \ do \ @@ -592,7 +598,6 @@ if (filenames != 0) \ { \ fi.lineno = tgts_started; \ - fi.offset = 0; \ record_files (filenames, pattern, pattern_percent, depstr, \ cmds_started, commands, commands_idx, two_colon, \ prefix, &fi); \ @@ -714,7 +719,8 @@ /* Get rid if starting space (including formfeed, vtab, etc.) */ p = collapsed; - NEXT_TOKEN (p); + while (isspace ((unsigned char)*p)) + ++p; /* See if this is a variable assignment. We need to do this early, to allow variables with names like 'ifdef', 'export', 'private', etc. */ @@ -724,6 +730,9 @@ struct variable *v; enum variable_origin origin = vmod.override_v ? o_override : o_file; + /* Variable assignment ends the previous rule. */ + record_waiting_files (); + /* If we're ignoring then we're done now. */ if (ignoring) { @@ -732,9 +741,6 @@ continue; } - /* Variable assignment ends the previous rule. */ - record_waiting_files (); - if (vmod.undefine_v) { do_undefine (p, origin, ebuf); @@ -762,7 +768,7 @@ p2 = end_of_token (p); wlen = p2 - p; - NEXT_TOKEN (p2); + p2 = next_token (p2); /* If we're in an ignored define, skip this line (but maybe get out). */ if (in_ignored_define) @@ -897,20 +903,21 @@ while (files != 0) { struct nameseq *next = files->next; - int flags = (RM_INCLUDED | RM_NO_TILDE - | (noerror ? RM_DONTCARE : 0) - | (set_default ? 0 : RM_NO_DEFAULT_GOAL)); + const char *name = files->name; + int r; - struct goaldep *d = eval_makefile (files->name, flags); + free_ns (files); + files = next; - if (errno) + r = eval_makefile (name, + (RM_INCLUDED | RM_NO_TILDE + | (noerror ? RM_DONTCARE : 0) + | (set_default ? 0 : RM_NO_DEFAULT_GOAL))); + if (!r && !noerror) { - d->error = (unsigned short)errno; - d->floc = *fstart; + const char *err = strerror (errno); + OSS (error, fstart, "%s: %s", name, err); } - - free_ns (files); - files = next; } /* Restore conditional state. */ @@ -950,7 +957,7 @@ { struct nameseq *next = files->next; const char *name = files->name; - struct goaldep *deps; + struct dep *deps; int r; /* Load the file. 0 means failure. */ @@ -966,7 +973,7 @@ continue; /* It succeeded, so add it to the list "to be rebuilt". */ - deps = alloc_goaldep (); + deps = alloc_dep (); deps->next = read_files; read_files = deps; deps->file = lookup_file (name); @@ -1234,7 +1241,8 @@ The rule is that it's only a target, if there are TWO :'s OR a space around the :. */ - if (p && !(ISSPACE (p[1]) || !p[1] || ISSPACE (p[-1]))) + if (p && !(isspace ((unsigned char)p[1]) || !p[1] + || isspace ((unsigned char)p[-1]))) p = 0; #endif #ifdef HAVE_DOS_PATHS @@ -1427,7 +1435,7 @@ if (*name == '\0') O (fatal, &ebuf->floc, _("empty variable name")); p = name + strlen (name) - 1; - while (p > name && ISBLANK (*p)) + while (p > name && isblank ((unsigned char)*p)) --p; p[1] = '\0'; @@ -1444,7 +1452,7 @@ { struct variable *v; struct variable var; - floc defstart; + gmk_floc defstart; int nlevels = 1; unsigned int length = 100; char *definition = xmalloc (length); @@ -1472,7 +1480,7 @@ if (name[0] == '\0') O (fatal, &defstart, _("empty variable name")); p = name + strlen (name) - 1; - while (p > name && ISBLANK (*p)) + while (p > name && isblank ((unsigned char)*p)) --p; p[1] = '\0'; @@ -1500,13 +1508,13 @@ len = strlen (p); /* If this is another 'define', increment the level count. */ - if ((len == 6 || (len > 6 && ISBLANK (p[6]))) + if ((len == 6 || (len > 6 && isblank ((unsigned char)p[6]))) && strneq (p, "define", 6)) ++nlevels; /* If this is an 'endef', decrement the count. If it's now 0, we've found the last one. */ - else if ((len == 5 || (len > 5 && ISBLANK (p[5]))) + else if ((len == 5 || (len > 5 && isblank ((unsigned char)p[5]))) && strneq (p, "endef", 5)) { p += 5; @@ -1560,7 +1568,7 @@ 1 if following text should be ignored. */ static int -conditional_line (char *line, int len, const floc *flocp) +conditional_line (char *line, int len, const gmk_floc *flocp) { const char *cmdname; enum { c_ifdef, c_ifndef, c_ifeq, c_ifneq, c_else, c_endif } cmdtype; @@ -1582,8 +1590,7 @@ return -2; /* Found one: skip past it and any whitespace after it. */ - line += len; - NEXT_TOKEN (line); + line = next_token (line + len); #define EXTRATEXT() OS (error, flocp, _("extraneous text after '%s' directive"), cmdname) #define EXTRACMD() OS (fatal, flocp, _("extraneous '%s'"), cmdname) @@ -1704,7 +1711,7 @@ /* Make sure there's only one variable name to test. */ p = end_of_token (var); i = p - var; - NEXT_TOKEN (p); + p = next_token (p); if (*p != '\0') return -1; @@ -1750,7 +1757,7 @@ { /* Strip blanks after the first string. */ char *p = line++; - while (ISBLANK (p[-1])) + while (isblank ((unsigned char)p[-1])) --p; *p = '\0'; } @@ -1766,7 +1773,7 @@ if (termin != ',') /* Find the start of the second string. */ - NEXT_TOKEN (line); + line = next_token (line); termin = termin == ',' ? ')' : *line; if (termin != ')' && termin != '"' && termin != '\'') @@ -1801,8 +1808,8 @@ if (*line == '\0') return -1; - *(line++) = '\0'; - NEXT_TOKEN (line); + *line = '\0'; + line = next_token (++line); if (*line != '\0') EXTRATEXT (); @@ -1831,7 +1838,7 @@ static void record_target_var (struct nameseq *filenames, char *defn, enum variable_origin origin, struct vmodifiers *vmod, - const floc *flocp) + const gmk_floc *flocp) { struct nameseq *nextf; struct variable_set_list *global; @@ -1935,7 +1942,7 @@ const char *pattern_percent, char *depstr, unsigned int cmds_started, char *commands, unsigned int commands_idx, int two_colon, - char prefix, const floc *flocp) + char prefix, const gmk_floc *flocp) { struct commands *cmds; struct dep *deps; @@ -1959,7 +1966,6 @@ cmds = xmalloc (sizeof (struct commands)); cmds->fileinfo.filenm = flocp->filenm; cmds->fileinfo.lineno = cmds_started; - cmds->fileinfo.offset = 0; cmds->commands = xstrndup (commands, commands_idx); cmds->command_lines = 0; cmds->recipe_prefix = prefix; @@ -2255,10 +2261,6 @@ { char openparen = p[1]; - /* Check if '$' is the last character in the string. */ - if (openparen == '\0') - break; - p += 2; /* Skip the contents of a non-quoted, multi-char variable ref. */ @@ -2340,10 +2342,6 @@ /* It's not; just take it all without unescaping. */ memmove (p, s, l); p += l; - - // If we hit the end of the string, we're done - if (*e == '\0') - break; } else if (l > 1) { @@ -2352,7 +2350,6 @@ memmove (p, s, l); p += l; } - s = e; } @@ -2460,7 +2457,7 @@ Since we aren't really reading from a file, don't bother with linenumbers. */ -static long +static unsigned long readstring (struct ebuffer *ebuf) { char *eol; @@ -2634,7 +2631,7 @@ char c; /* Skip any leading whitespace. */ - while (ISBLANK (*p)) + while (isblank ((unsigned char)*p)) ++p; beg = p; @@ -2732,8 +2729,6 @@ c = *(p++); if (c == '$') break; - if (c == '\0') - goto done_word; /* This is a variable reference, so note that it's expandable. Then read it to the matching close paren. */ @@ -2918,6 +2913,7 @@ #ifndef VMS if (name[1] == '/' || name[1] == '\0') { + extern char *getenv (); char *home_dir; int is_variable; @@ -2940,6 +2936,7 @@ # if !defined(_AMIGA) && !defined(WINDOWS32) if (home_dir == 0 || home_dir[0] == '\0') { + extern char *getlogin (); char *logname = getlogin (); home_dir = 0; if (logname != 0) @@ -3008,6 +3005,8 @@ parse_file_seq (char **stringp, unsigned int size, int stopmap, const char *prefix, int flags) { + extern void dir_setup_glob (glob_t *glob); + /* tmp points to tmpbuf after the prefix, if any. tp is the end of the buffer. */ static char *tmpbuf = NULL; @@ -3065,7 +3064,7 @@ int i; /* Skip whitespace; at the end of the string or STOPCHAR we're done. */ - NEXT_TOKEN (p); + p = next_token (p); if (STOP_SET (*p, stopmap)) break; @@ -3080,7 +3079,8 @@ #endif #ifdef _AMIGA if (p && STOP_SET (*p, stopmap & MAP_COLON) - && !(ISSPACE (p[1]) || !p[1] || ISSPACE (p[-1]))) + && !(isspace ((unsigned char)p[1]) || !p[1] + || isspace ((unsigned char)p[-1]))) p = find_char_unquote (p+1, stopmap|MAP_VMSCOMMA|MAP_BLANK); #endif #ifdef HAVE_DOS_PATHS @@ -3089,7 +3089,7 @@ Note that tokens separated by spaces should be treated as separate tokens since make doesn't allow path names with spaces */ if (stopmap | MAP_COLON) - while (p != 0 && !ISSPACE (*p) && + while (p != 0 && !isspace ((unsigned char)*p) && (p[1] == '\\' || p[1] == '/') && isalpha ((unsigned char)p[-1])) p = find_char_unquote (p + 1, stopmap|MAP_VMSCOMMA|MAP_BLANK); #endif @@ -3099,15 +3099,12 @@ /* Strip leading "this directory" references. */ if (NONE_SET (flags, PARSEFS_NOSTRIP)) #ifdef VMS - /* Skip leading '[]'s. should only be one set or bug somwhere else */ - if (p - s > 2 && s[0] == '[' && s[1] == ']') - s += 2; - /* Skip leading '<>'s. should only be one set or bug somwhere else */ - if (p - s > 2 && s[0] == '<' && s[1] == '>') - s += 2; -#endif + /* Skip leading '[]'s. */ + while (p - s > 2 && s[0] == '[' && s[1] == ']') +#else /* Skip leading './'s. */ while (p - s > 2 && s[0] == '.' && s[1] == '/') +#endif { /* Skip "./" and all following slashes. */ s += 2; @@ -3121,7 +3118,9 @@ if (s == p) { /* The name was stripped to empty ("./"). */ -#if defined(_AMIGA) +#if defined(VMS) + continue; +#elif defined(_AMIGA) /* PDS-- This cannot be right!! */ tp[0] = '\0'; nlen = 0; @@ -3184,7 +3183,7 @@ do { const char *o = e; - NEXT_TOKEN (e); + e = next_token (e); /* Find the end of this word. We don't want to unquote and we don't care about quoting since we're looking for the last char in the word. */ diff -Nru make-dfsg-4.2.1/README make-dfsg-4.1/README --- make-dfsg-4.2.1/README 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/README 2016-01-16 10:25:59.000000000 +0000 @@ -1,4 +1,4 @@ -This directory contains the 4.2.1 release of GNU Make. +This directory contains the 4.1 release of GNU Make. See the file NEWS for the user-visible changes from previous releases. In addition, there have been bugs fixed. @@ -162,7 +162,7 @@ ------------------------------------------------------------------------------- -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/README.Amiga make-dfsg-4.1/README.Amiga --- make-dfsg-4.2.1/README.Amiga 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/README.Amiga 2016-01-16 10:25:59.000000000 +0000 @@ -61,7 +61,7 @@ ------------------------------------------------------------------------------- -Copyright (C) 1995-2016 Free Software Foundation, Inc. +Copyright (C) 1995-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/README.customs make-dfsg-4.1/README.customs --- make-dfsg-4.2.1/README.customs 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/README.customs 2016-01-16 10:25:59.000000000 +0000 @@ -96,7 +96,7 @@ ------------------------------------------------------------------------------- -Copyright (C) 1998-2016 Free Software Foundation, Inc. +Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/README.DOS make-dfsg-4.1/README.DOS --- make-dfsg-4.2.1/README.DOS 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/README.DOS 2016-01-16 10:25:59.000000000 +0000 @@ -62,7 +62,7 @@ [Enter]. Otherwise, you need to supply the path to the source directory as an argument to the batch file, like this: - c:\djgpp\gnu\make-4.2.1\configure.bat c:/djgpp/gnu/make-4.2.1 + c:\djgpp\gnu\make-4.1\configure.bat c:/djgpp/gnu/make-4.1 Note the forward slashes in the source path argument: you MUST use them here. @@ -84,7 +84,7 @@ If you are building from outside of the source directory, you need to tell Make where the sources are, like this: - make srcdir=c:/djgpp/gnu/make-4.2.1 + make srcdir=c:/djgpp/gnu/make-4.1 (configure.bat will tell you this when it finishes). You MUST use a full, not relative, name of the source directory here, or @@ -324,7 +324,7 @@ ------------------------------------------------------------------------------- -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/README.OS2 make-dfsg-4.1/README.OS2 --- make-dfsg-4.2.1/README.OS2 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/README.OS2 2016-01-16 10:25:59.000000000 +0000 @@ -160,7 +160,7 @@ ------------------------------------------------------------------------------- -Copyright (C) 2003-2016 Free Software Foundation, Inc. +Copyright (C) 2003-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/README.VMS make-dfsg-4.1/README.VMS --- make-dfsg-4.2.1/README.VMS 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/README.VMS 2016-01-16 10:25:59.000000000 +0000 @@ -1,515 +1,284 @@ -Overview: -*-text-mode-*- ---------- +This version of GNU make has been tested on +OpenVMS V8.3 (Alpha) and V8.4 (Integrity). - This version of GNU make has been tested on: - OpenVMS V8.3/V8.4 (Alpha) and V8.4 (Integrity) AND V7.3 (VAX) - - This version of GNU Make is intended to be run from DCL to run - make scripts with a special syntax that is described below. It - likely will not be able to run unmodified Unix makefiles. - - There is an older implementation of GNU Make that was ported to GNV. - Work is now in progress to merge that port to get a single version - of GNU Make available. When that merge is done, GNU Make will auto - detect that it is running under a Posix shell and then operate as close to - GNU Make on Unix as possible. - - The descriptions below are for running GNU make from DCL or equivalent. - -Recipe differences: -------------------- - - GNU Make for OpenVMS can not currently run native Unix make files because of - differences in the implementation. - - I am trying to document the current behavior in this section. This is based - on the information in the file NEWS. and running the test suite. - TODO: More tests are needed to validate and demonstrate the OpenVMS - expected behavior. - - In some cases the older behavior of GNU Make when run from DCL is not - compatible with standard makefile behavior. - - This behavior can be changed when running GNU Make from DCL by setting - either DCL symbols or logical names of the format GNV$. The settings - are enabled with a string starting with one of '1', 'T', or 'E' for "1", - "TRUE", or "ENABLE". They are disabled with a '0', 'F', or 'D' for "1", - "FALSE", or "DISABLE". If they are not explicitly set to one of these - values, then they will be set to their default values. - - The value of the setting DECC$FILENAME_UNIX_REPORT or - DECC$FILENAME_UNIX_ONLY will now cause the $(dir x) function to return - './' or '[]' as appropriate. - - The name GNV$MAKE_OLD_VMS when enabled will cause GNU Make to behave as - much as the older method as can be done with out disabling VMS features. - When it is disabled GNU Make have the new behavior which more closely - matches Unix Make behavior. - - The default is currently the old behavior when running GNU Make from DCL. - In the future this may change. When running make from GNV Bash the new - behavior is the default. - - This is a global setting that sets the default behavior for several other - options that can be individually changed. Many of the individual settings - are to make it so that the self tests for GNU Make need less VMS specific - modifications. - - The name GNV$MAKE_COMMA when enabled will cause GNU Make to expect a comma - for a path separator and use a comma for the separator for a list of files. - When disabled, it will cause GNU Make to use a colon for a path separator - and a space for the separator for a list of files. The default is to be - enabled if the GNU Make is set to the older behavior. - - The name GNV$MAKE_SHELL_SIM when enabled will cause GNU Make to try to - simulate a Posix shell more closely. The following behaviors occur: - - * Single quotes are converted to double quotes and any double - quotes inside of them are doubled. No environment variable expansion - is simulated. - * A exit command status will be converted to a Posix Exit - where 0 is success and non-zero is failure. - * The $ character will cause environment variable expansion. - * Environent variables can be set on the command line before a command. - - VMS generally uses logical name search lists instead of path variables - where the resolution is handled by VMS independent of the program. Which - means that it is likely that nothing will notice if the default path - specifier is changed in the future. - - Currently the built in VMS specific macros and recipes depend on the comma - being used as a file list separator. - TODO: Remove this dependency as other functions in GNU Make depend on a - space being used as a separator. - - The format for recipes are a combination of Unix macros, a subset of - simulated UNIX commands, some shell emulation, and OpenVMS commands. - This makes the resulting makefiles unique to the OpenVMS port of GNU make. - - If you are creating a OpenVMS specific makefile from scratch, you should also - look at MMK (Madgoat Make) available at https://github.com/endlesssoftware/mmk - MMK uses full OpenVMS syntax and a persistent subprocess is used for the - recipe lines, allowing multiple line rules. - - The default makefile search order is "makefile.vms", "gnumakefile", - "makefile". TODO: See if that lookup is case sensitive. - - When Make is invoked from DCL, it will create a foreign command - using the name of executable image, with any facility prefix removed, - for the duration of the make program, so it can be used internally - to recursively run make(). The macro MAKE_COMMAND will be set to - this foreign command. - - When make is launched from an exec*() command from a C program, - the foreign command is not created. The macro MAKE_COMMAND will be - set to the actual command passed as argv[0] to the exec*() function. - - If the DCL symbol or logical name GNV$MAKE_USE_MCR exists, then - the macro MAKE_COMMAND will be set to be an "MCR" command with the - absolute path used by DCL to launch make. The foreign command - will not be created. - - The macro MAKE is set to be the same value as the macro MAKE_COMMAND - on all platforms. - - Each recipe command is normally run as a separate spawned processes, - except for the cases documented below where a temporary DCL command - file may be used. - - BUG: Testing has shown that the commands in the temporary command files - are not always created properly. This issue is still under investigation. - - Any macros marked as exported are temporarily created as DCL symbols - for child images to use. DCL symbol substitution is not done with these - commands. - Untested: Symbol substitution. - - When a temporary DCL command file is used, DCL symbol substitution - will work. - - For VMS 7.3-1 and earlier, command lines are limited to 255 characters - or 1024 characters in a command file. - For VMS 7.3-2 and later, command lines are limited to 4059 characters - or 8192 characters in a command file. - - VMS limits each token of a command line to 256 characters, and limits - a command line to 127 tokens. - - Command lines above the limit length are written to a command file - in sys$scratch:. - - In order to handle Unix style extensions to VMS DCL, GNU Make has - parsed the recipe commands and them modified them as needed. The - parser has been re-written to resolve numerous bugs in handling - valid VMS syntax and potential buffer overruns. - - The new parser may need whitespace characters where DCL does not require - it, and also may require that quotes are matched were DCL forgives if - they are not. There is a small chance that existing VMS specific makefiles - will be affected. - - The '<', '>' was previously implemented using command files. Now - GNU Make will check to see if the is already a VMS "PIPE" command and - if it is not, will convert the command to a VMS "PIPE" command. - - The '>>' redirection has been implemented by using a temporary command file. - This will be described later. - - The DCL symbol or logical name GNV$MAKE_USE_CMD_FILE when set to a - string starting with one of '1','T', or 'E' for "1", "TRUE", or "ENABLE", - then temporary DCL command files are always used for running commands. - - Some recipe strings with embedded new lines will not be handled correctly - when a command file is used. - - GNU Make generally does text comparisons for the targets and sources. The - make program itself can handle either Unix or OpenVMS format filenames, but - normally does not do any conversions from one format to another. - TODO: The OpenVMS format syntax handling is incomplete. - TODO: ODS-5 EFS support is missing. - BUG: The internal routines to convert filenames to and from OpenVMS format - do not work correctly. - - Note: In the examples below, line continuations such as a backslash may have - been added to make the examples easier to read in this format. - BUG: That feature does not completely work at this time. - - Since the OpenVMS utilities generally expect OpenVMS format paths, you will - usually have to use OpenVMS format paths for rules and targets. - BUG: Relative OpenVMS paths may not work in targets, especially combined - with vpaths. This is because GNU make will just concatenate the directories - as it does on Unix. - - The variables $^ and $@ separate files with commas instead of spaces. - This is controlled by the name GNV$MAKE_COMMA as documented in the - previous section. - - While this may seem the natural thing to do with OpenVMS, it actually - causes problems when trying to use other make functions that expect the - files to be separated by spaces. If you run into this, you need the - following workaround to convert the output. - TODO: Look at have the $^ and $@ use spaces like on Unix and have - and easy to use function to do the conversions and have the built - in OpenVMS specific recipes and macros use it. - - Example: - -comma := , -empty := -space := $(empty) $(empty) - -foo: $(addsuffix .3,$(subs $(comma),$(space),$^) - - - Makefile variables are looked up in the current environment. You can set - symbols or logicals in DCL and evaluate them in the Makefile via - $(). Variables defined in the Makefile - override OpenVMS symbols/logicals. - - OpenVMS logical and symbols names show up as "environment" using the - origin function. when the "-e" option is specified, the origion function - shows them as "environment override". On Posix the test scripts indicate - that they should show up just as "environment". - - When GNU make reads in a symbol or logical name into the environment, it - converts any dollar signs found to double dollar signs for convenience in - using DCL symbols and logical names in recipes. When GNU make exports a - DCL symbol for a child process, if the first dollar sign found is followed - by second dollar sign, then all double dollar signs will be convirted to - single dollar signs. - - The variable $(ARCH) is predefined as IA64, ALPHA or VAX respectively. - Makefiles for different OpenVMS systems can now be written by checking - $(ARCH). Since IA64 and ALPHA are similar, usually just a check for - VAX or not VAX is sufficient. - - You may have to update makefiles that assume VAX if not ALPHA. - -ifeq ($(ARCH),VAX) - $(ECHO) "On the VAX" -else - $(ECHO) "On the ALPHA or IA64" -endif - - Empty commands are handled correctly and don't end in a new DCL process. - - The exit command needs to have OpenVMS exit codes. To pass a Posix code - back to the make script, you need to encode it by multiplying it by 8 - and then adding %x1035a002 for a failure code and %x1035a001 for a - success. Make will interpret any posix code other than 0 as a failure. - TODO: Add an option have simulate Posix exit commands in recipes. - - Lexical functions can be used in pipes to simulate shell file test rules. - - Example: - - Posix: -b : c ; [ -f $@ ] || echo >> $@ - - OpenVMS: -b : c ; if f$$search("$@") then pipe open/append xx $@ ; write xx "" ; close xx - - - You can also use pipes and turning messages off to silently test for a - failure. - -x = %x1035a00a - -%.b : %.c -pipe set mess/nofac/noiden/nosev/notext ; type $^/output=$@ || exit $(x) - - -Runtime issues: - - The OpenVMS C Runtime has a convention for encoding a Posix exit status into - to OpenVMS exit codes. These status codes will have the hex value of - 0x35a000. OpenVMS exit code may also have a hex value of %x10000000 set on - them. This is a flag to tell DCL not to write out the exit code. - - To convert an OpenVMS encoded Posix exit status code to the original code - You subtract %x35a000 and any flags from the OpenVMS code and divide it by 8. +Build instructions +------------------ +Make a 1st version + $ @makefile.com ! ignore any compiler and/or linker warning + $ copy make.exe 1st-make.exe + Use the 1st version to generate a 2nd version + $ mc sys$disk:[]1st-make clean ! ignore any file not found messages + $ mc sys$disk:[]1st-make + Verify your 2nd version + $ copy make.exe 2nd-make.exe + $ mc sys$disk:[]2nd-make clean + $ mc sys$disk:[]2nd-make + Don't use the HP C V7.2-001 compiler, which has an incompatible change + how __STDC__ is defined. This results at least in compile time warnings. + +Changes since GNU make 3.82 +--------------------------- - WARNING: Backward-incompatibility! - The make program exit now returns the same encoded Posix exit code as on - Unix. Previous versions returned the OpenVMS exit status code if that is what - caused the recipe to fail. - TODO: Provide a way for scripts calling make to obtain that OpenVMS status - code. +Fix build problems. - Make internally has two error codes, MAKE_FAILURE and MAKE_TROUBLE. These - will have the error "-E-" severity set on exit. +The new feature "Loadable objects" is not yet supported. If you need it, +please send a change request or submit a bug report. - MAKE_TROUBLE is returned only if the option "-q" or "--question" is used and - has a Posix value of 1 and an OpenVMS status of %x1035a00a. +The new option --output-sync (-O) is accepted but has no effect: GNU make +for VMS does not support running multiple commands simultaneously. + +Changes for GNU make 3.82 - MAKE_FAILURE has a Posix value of 2 and an OpenVMS status of %x1035a012. +Michael Gehre (at VISTEC-SEMI dot COM) supplied a fix for a problem with +timestamps of object modules in OLBs. The timestamps were not correctly +adjusted to GMT based time, if the local VMS time was using a daylight saving +algorithm and if daylight saving was switched off. - Output from GNU make may have single quotes around some values where on - other platforms it does not. Also output that would be in double quotes - on some platforms may show up as single quotes on VMS. +John Eisenbraun (at HP dot COM) supplied fixes and and an enhancement to append +output redirection in action lines. - There may be extra blank lines in the output on VMS. - https://savannah.gnu.org/bugs/?func=detailitem&item_id=41760 +Rework of ctrl+c and ctrl+y handling. - There may be a "Waiting for unfinished jobs..." show up in the output. +Fix a problem with cached strings, which showed on case-insensitive file +systems. - Error messages generated by Make or Unix utilities may slightly vary from - Posix platforms. Typically the case may be different. +Build fixes for const-ified code in VMS specific sources. - When make deletes files, on posix platforms it writes out 'rm' and the list - of files. On VMS, only the files are writen out, one per line. - TODO: VMS +A note on appending the redirected output. With this change, a simple mechanism +is implemented to make ">>" work in action lines. In VMS there is no simple +feature like ">>" to have DCL command or program output redirected and appended +to a file. GNU make for VMS already implements the redirection of output. If +such a redirection is detected, an ">" on the action line, GNU make creates a +DCL command procedure to execute the action and to redirect its output. Based +on that, now ">>" is also recognized and a similar but different command +procedure is created to implement the append. The main idea here is to create a +temporary file which collects the output and which is appended to the wanted +output file. Then the temporary file is deleted. This is all done in the +command procedure to keep changes in make small and simple. This obviously has +some limitations but it seems good enough compared with the current ">" +implementation. (And in my opinion, redirection is not really what GNU make has +to do.) With this approach, it may happen that the temporary file is not yet +appended and is left in SYS$SCRATCH. The temporary file names look like +"CMDxxxxx.". Any time the created command procedure can not complete, this +happens. Pressing Ctrl+Y to abort make is one case. In case of Ctrl+Y the +associated command procedure is left in SYS$SCRATCH as well. Its name is +CMDxxxxx.COM. - There may be extra leading white space or additional or missing whitespace - in the output of recipes. +Change in the Ctrl+Y handling. The CtrlY handler now uses $delprc to delete all +children. This way also actions with DCL commands will be stopped. As before +the CtrlY handler then sends SIGQUIT to itself, which is handled in common +code. - GNU Make uses sys$scratch: for the tempfiles that it creates. +Change in deleteing temporary command files. Temporary command files are now +deleted in the vms child termination handler. That deletes them even if +a Ctrl+C was pressed. - The OpenVMS CRTL library maps /tmp to sys$scratch if the TMP: logical name - does not exist. As the CRTL may use both sys$scratch: and /tmp internally, - if you define the TMP logical name to be different than SYS$SCRATCH:, - you may end up with only some temporary files in TMP: and some in SYS$SCRATCH: +The behavior of pressing Ctrl+C is not changed. It still has only an effect, +after the current action is terminated. If that doesn't happen or takes too +long, Ctrl+Y should be used instead. + +Changes for GNU make 3.80 - The default include directory for including other makefiles is - SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use - SYS$LIBRARY: instead; maybe it wouldn't work that way). - TODO: A better default may be desired. +. In default.c define variable ARCH as IA64 for VMS on Itanium systems. - If the device for a file in a recipe does not exist, on OpenVMS an error - message of "stat: : no such device or address" will be output. +. In makefile.vms avoid name collision for glob and globfree. + +This is the VMS port of GNU Make done by Hartmut.Becker@compaq.com. - Make ignores success, informational, or warning errors (-S-, -I-, or - -W-). But it will stop on -E- and -F- errors. (unless you do something - to override this in your makefile, or whatever). +It is based on the specific version 3.77k and on 3.78.1. 3.77k was done +by Klaus Kämpf , the code was based on the VMS port of +GNU Make 3.60 by Mike Moretti. +It was ported on OpenVMS/Alpha V7.1, DECC V5.7-006. It was re-build and +tested on OpenVMS/Alpha V7.2, OpenVMS/VAX 7.1 and 5.5-2. Different +versions of DECC were used. VAXC was tried: it fails; but it doesn't +seem worth to get it working. There are still some PTRMISMATCH warnings +during the compile. Although perl is working on VMS the test scripts +don't work. The function $shell is still missing. -Unix compatibilty features: ---------------------------- +There is a known bug in some of the VMS CRTLs. It is in the shipped +versions of VMS V7.2 and V7.2-1 and in the currently (October 1999) +available ECOs for VMS V7.1 and newer versions. It is fixed in versions +shipped with newer VMS versions and all ECO kits after October 1999. It +only shows up during the daylight saving time period (DST): stat() +returns a modification time 1 hour ahead. This results in GNU make +warning messages. For a just created source you will see: - If the command 'echo' is seen, any single quotes on the line will be - converted to double quotes. + $ gmake x.exe + gmake.exe;1: *** Warning: File 'x.c' has modification time in the future (940582863 > 940579269) + cc /obj=x.obj x.c + link x.obj /exe=x.exe + gmake.exe;1: *** Warning: Clock skew detected. Your build may be incomplete. - The variable $(CD) is implemented as a built in Change Directory - command. This invokes the 'builtin_cd' Executing a 'set default' - recipe doesn't do the trick, since it only affects the subprocess - spawned for that command. - The 'builtin_cd' is generally expected to be on its own line. - The 'builtin_cd' either from the expansion of $(CD) or directly - put in a recipe line will be executed before any other commands in - that recipe line. DCL parameter substitution will not work for the - 'builtin_cd' command. +New in 3.78.1: - Putting a 'builtin_cd' in a pipeline or an IF-THEN line should not be - done because the 'builtin_cd' is always executed - and executed first. The directory change is persistent. +Fix a problem with automatically remaking makefiles. GNU make uses an +execve to restart itself after a successful remake of the makefile. On +UNIX systems execve replaces the running program with a new one and +resets all signal handling to the default. On VMS execve creates a child +process, signal and exit handlers of the parent are still active, and, +unfortunately, corrupt the exit code from the child. Fix in job.c: +ignore SIGCHLD. - Unix shell style I/O redirection is supported. You can now write lines like: - "mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt" +Added some switches to reflect latest features of DECC. Modifications in +makefile.vms. - Posix shells have ":" as a null command. These are now handled. - https://savannah.gnu.org/bugs/index.php?41761 +Set some definitions to reflect latest features of DECC. Modifications in +config.h-vms (which is copied to config.h). - A note on appending the redirected output. A simple mechanism is - implemented to make ">>" work in action lines. In OpenVMS there is no simple - feature like ">>" to have DCL command or program output redirected and - appended to a file. GNU make for OpenVMS implements the redirection - of ">>" by using a command procedure. +Added extern strcmpi declaration to avoid 'implicitly declared' messages. +Modification in make.h. - The current algorithm creates the output file if it does not exist and - then uses the DCL open/append to extend it. SYS$OUTPUT is then directed - to that file. +Default rule for C++, conditionals for gcc (GCC_IS_NATIVE) or DEC/Digital/ +Compaq c/c++ compilers. Modifications in default.c. - The implementation supports only one redirected append output to a file - and that redirection is done before any other commands in that line - are executed, so it redirects all output for that command. +Usage of opendir() and friends, suppress file version. Modifications in dir.c. - The older implementation wrote the output to a temporary file in - in sys$scratch: and then attempted to append the file to the existing file. - The temporary file names looked like "CMDxxxxx.". Any time the created - command procedure can not complete, this happens. Pressing Ctrl+Y to - abort make is one case. +Added VMS specific code to handle ctrl+c and ctrl+y to abort make. +Modifications in job.c. - In case of Ctrl+Y the associated command procedure is left in SYS$SCRATCH:. - The command procedures will be named gnv$make_cmd*.com. +Added support to have case sensitive targets and dependencies but to +still use case blind file names. This is especially useful for Java +makefiles on VMS: - The CtrlY handler now uses $delprc to delete all children. This way also - actions with DCL commands will be stopped. As before the CtrlY handler - then sends SIGQUIT to itself, which is handled in common code. + .SUFFIXES : + .SUFFIXES : .class .java + .java.class : + javac "$< + HelloWorld.class : HelloWorld.java - Temporary command files are now deleted in the OpenVMS child termination - handler. That deletes them even if a Ctrl+C was pressed. - TODO: Does the previous section about >> leaving files still apply? +A new macro WANT_CASE_SENSITIVE_TARGETS in config.h-vms was introduced. +It needs to be enabled to get this feature; default is disabled. The +macro HAVE_CASE_INSENSITIVE_FS must not be touched: it is still enabled. +Modifications in file.c and config.h-vms. - The behavior of pressing Ctrl+C is not changed. It still has only an effect, - after the current action is terminated. If that doesn't happen or takes too - long, Ctrl+Y should be used instead. +Bootstrap make to start building make is still makefile.com, but make +needs to be re-made with a make to make a correct version: ignore all +possible warnings, delete all objects, rename make.exe to a different +name and run it. +Made some minor modifications to the bootstrap build makefile.com. + +This is the VMS port of GNU Make. -Build Options: +It is based on the VMS port of GNU Make 3.60 by Mike Moretti. - Added support to have case sensitive targets and dependencies but to - still use case blind file names. This is especially useful for Java - makefiles on VMS: +This port was done by Klaus Kämpf -.SUFFIXES : -.SUFFIXES : .class .java -.java.class : -javac "$<" -HelloWorld.class : HelloWorld.java +There is first-level support available from proGIS Software, Germany. +Visit their web-site at http://www.progis.de to get information +about other vms software and forthcoming updates to gnu make. - A new macro WANT_CASE_SENSITIVE_TARGETS in config.h-vms was introduced. - It needs to be enabled to get this feature; default is disabled. - TODO: This should be a run-time setting based on if the process - has been set to case sensitive. +New for 3.77: +/bin/sh style I/O redirection is supported. You can now write lines like + mcr sys$disk:[]program.exe < input.txt > output.txt &> error.txt -Unimplemented functionality: +Makefile variables are looked up in the current environment. You can set +symbols or logicals in DCL and evaluate them in the Makefile via +$(). Variables defined in the Makefile +override VMS symbols/logicals ! - The new feature "Loadable objects" is not yet supported. If you need it, - please send a change request or submit a bug report. +Functions for file names are working now. See the GNU Make manual for +$(dir ...) and $(wildcard ...). Unix-style and VMS-style names are +supported as arguments. - The new option --output-sync (-O) is accepted but has no effect: GNU make - for OpenVMS does not support running multiple commands simultaneously. +The default rules are set up for GNU C. Building an executable from a +single source file is as easy as 'make file.exe'. +The variable $(ARCH) is predefined as ALPHA or VAX resp. Makefiles for +different VMS systems can now be written by checking $(ARCH) as in + ifeq ($(ARCH),ALPHA) + $(ECHO) "On the Alpha" + else + $(ECHO) "On the VAX" + endif -Self test failures and todos: ------------------------------ +Command lines of excessive length are correctly broken and written to a +batch file in sys$scratch for later execution. There's no limit to the +lengths of commands (and no need for .opt files :-) any more. - The test harness can not handle testing some of the VMS specific modes - because of the features needed for to be set for the Perl to run. - Need to find a way to set the VMS features before running make as a - child. +Empty commands are handled correctly and don't end in a new DCL process. - GNU make was not currently translating the OpenVMS encoded POSIX values - returned to it back to the Posix values. I have temporarily modified the - Perl test script to compensate for it. This should be being handled - internally to Make. - TODO: Verify and update the Perl test script. - The features/parallelism test was failing. OpenVMS is executing the rules - in sequence not in parallel as this feature was not implemented. - GNU Make on VMS no longer claims it is implemented. - TODO: Implement it. +New for 3.76: - Symlink support is not present. Symlinks are supported by OpenVMS 8.3 and - later. +John W. Eaton has updated the VMS port to support libraries and VPATH. - Error messages should be supressed with the "-" at the beginning of a line. - On openVMS they were showing up. TODO: Is this still an issue? - The internal vmsify and unixify OpenVMS to/from UNIX are not handling logical - names correctly. +To build Make, simply type @makefile. This should compile all the +necessary files and link Make. There is also a file called +makefile.vms. If you already have GNU Make built you can just use +Make with this makefile to rebuild. +Here are some notes about GNU Make for VMS: -Build instructions: ------------------- +The cd command is supported if it's called as $(CD). This invokes +the 'builtin_cd' command which changes the directory. +Calling 'set def' doesn't do the trick, since a sub-shell is +spawned for this command, the directory is changed *in this sub-shell* +and the sub-shell ends. - Don't use the HP C V7.2-001 compiler, which has an incompatible change - how __STDC__ is defined. This results at least in compile time warnings. +Libraries are not supported. They were in GNU Make 3.60 but somehow I +didn't care porting the code. If there is enough interest, I'll do it at +some later time. -Make a 1st version - $ @makefile.com ! ignore any compiler and/or linker warning - $ copy make.exe 1st-make.exe +The variable $^ separates files with commas instead of spaces (It's the +natural thing to do for VMS). - Use the 1st version to generate a 2nd version as a test. - $ mc sys$disk:[]1st-make clean ! ignore any file not found messages - $ mc sys$disk:[]1st-make +See defaults.c for VMS default suffixes and my definitions for default +rules and variables. - Verify your 2nd version by building Make again. - $ copy make.exe 2nd-make.exe - $ mc sys$disk:[]2nd-make clean - $ mc sys$disk:[]2nd-make +The shell function is not implemented yet. +Load average routines haven't been implemented for VMS yet. -Running the tests: ------------------- +The default include directory for including other makefiles is +SYS$SYSROOT:[SYSLIB] (I don't remember why I didn't just use +SYS$LIBRARY: instead; maybe it wouldn't work that way). - Running the tests on OpenVMS requires the following software to be installed - as most of the tests are Unix oriented. +The default makefiles make looks for are: makefile.vms, gnumakefile, +makefile., and gnumakefile. . - * Perl 5.18 or later. - https://sourceforge.net/projects/vmsperlkit/files/ - * GNV 2.1.3 + Updates including a minimum of: - * Bash 4.3.30 - * ld_tools 3.0.2 - * coreutils 8.21 - https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/ - https://sourceforge.net/projects/gnv/files/ +The stat() function and handling of time stamps in VMS is broken, so I +replaced it with a hack in vmsfunctions.c. I will provide a full rewrite +somewhere in the future. Be warned, the time resolution inside make is +less than what vms provides. This might be a problem on the faster Alphas. - As the test scripts need to create some foreign commands that persist - after the test is run, it is recommend that either you use a subprocess or - a dedicated login to run the tests. +You can use a : in a filename only if you precede it with a backslash ('\'). +E.g.- hobbes\:[bogas.files] - To get detailed information for running the tests: +Make ignores success, informational, or warning errors (-S-, -I-, or +-W-). But it will stop on -E- and -F- errors. (unless you do something +to override this in your makefile, or whatever). - $ set default [.tests] - $ @run_make_tests help +Remote stuff isn't implemented yet. - Running the script with no parameters will run all the tests. +Multiple line DCL commands, such as "if" statements, must be put inside +command files. You can run a command file by using \@. - After the the test script has been run once in a session, assuming - that you built make in sys$disk:[make], you can redefined the - "bin" logical name as follows: - $ define bin sys$disk:[make],gnv$gnu:[bin] +VMS changes made for 3.74.3 - Then you can use Perl to run the scripts. +Lots of default settings are adapted for VMS. See default.c. - $ perl run_make_tests.pl +Long command lines are now converted to command files. +Comma (',') as a separator is now allowed. See makefile.vms for an example. -Acknowlegements: ----------------- +------------------------------------------------------------------------------- +Copyright (C) 1996-2014 Free Software Foundation, Inc. +This file is part of GNU Make. -See NEWS. for details of past changes. +GNU Make 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. - These are the currently known contributers to this port. +GNU Make 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. - Hartmut Becker - John Malmberg - Michael Gehre - John Eisenbraun - Klaus Kaempf - Mike Moretti - John W. Eaton +You should have received a copy of the GNU General Public License along with +this program. If not, see . diff -Nru make-dfsg-4.2.1/README.W32 make-dfsg-4.1/README.W32 --- make-dfsg-4.2.1/README.W32 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/README.W32 2016-01-16 10:25:59.000000000 +0000 @@ -1,12 +1,11 @@ -This version of GNU make has been tested on: - Microsoft Windows 2000/XP/2003/Vista/7/8/10 +This version of GNU make has been tested on +Microsoft Windows 2000/XP/2003/Vista/7/2008. It has also been used on Windows 95/98/NT, and on OS/2. -It builds with the MinGW port of GCC (tested with GCC 3.4.2, 4.8.1, -and 4.9.3). +It builds with the MinGW port of GCC (tested with GCC 3.4.2). -It also builds with MSVC 2.x, 4.x, 5.x, 6.x, 2003, and 14 (2015) as -well as with .NET 7.x and .NET 2003. +It also builds with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as +with .NET 7.x and .NET 2003. As of version 4.0, a build with Guile is supported (tested with Guile 2.0.3). To build with Guile, you will need, in addition to Guile @@ -14,32 +13,32 @@ latter is used to figure out which compilation and link switches and libraries need to be mentioned on the compiler command lines to correctly link with Guile. A Windows port of pkg-config can be found -on ezwinports site: +on the Windows download page of the GTK+ project: - http://sourceforge.net/projects/ezwinports/ + http://www.gtk.org/download/win32.php The libraries on which Guile depends can vary depending on your version and build of Guile. At the very least, the Boehm's GC library will be needed, and typically also GNU MP, libffi, libunistring, and libtool's libltdl. Whoever built the port of Guile you have should also provide you with these dependencies or a URL where to download -them. A precompiled 32-bit Windows build of Guile is available from -the ezwinports site mentioned above. +them. -The Windows port of GNU make is maintained jointly by various people. -It was originally made by Rob Tulloh. -It is currently maintained by Eli Zaretskii. +The Windows 32-bit port of GNU make is maintained jointly by various +people. It was originally made by Rob Tulloh. Do this first, regardless of the build method you choose: --------------------------------------------------------- - 1. Edit config.h.W32 to your liking (especially the few shell-related + 1. At the Windows command prompt run: + + if not exist NMakefile copy NMakefile.template NMakefile + if not exist config.h copy config.h.W32 config.h + + Then edit config.h to your liking (especially the few shell-related defines near the end, or HAVE_CASE_INSENSITIVE_FS which corresponds - to './configure --enable-case-insensitive-file-system'). (We don't - recommend to define HAVE_CASE_INSENSITIVE_FS, but you may wish to - consider that if you have a lot of files whose names are in upper - case, while Makefile rules are written for lower-case versions.) + to './configure --enable-case-insensitive-file-system'). Using make_msvc_net2003.vcproj @@ -58,9 +57,7 @@ build_w32.bat gcc - This produces gnumake.exe in the GccRel directory. - If you want a version of GNU make built with debugging enabled, - add the --debug option. + This produces gnumake.exe in the current directory. The batch file will probe for Guile installation, and will build gnumake.exe with Guile if it finds it. If you have Guile @@ -80,9 +77,7 @@ build_w32.bat - This produces gnumake.exe in the WinRel directory. - If you want a version of GNU make built with debugging enabled, - add the --debug option. + (this produces WinDebug/gnumake.exe and WinRel/gnumake.exe) ... OR ... @@ -212,7 +207,7 @@ GNU make test suite: I verified all functionality with a slightly modified version - of make-test-4.2.1 (modifications to get test suite to run + of make-test-4.1 (modifications to get test suite to run on Windows NT). All tests pass in an environment that includes sh.exe. Tests were performed on both Windows NT and Windows 95. @@ -298,7 +293,7 @@ is described in the GNU make manual and the base README. ------------------------------------------------------------------------------- -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/remake.c make-dfsg-4.1/remake.c --- make-dfsg-4.2.1/remake.c 2018-04-17 12:38:17.000000000 +0000 +++ make-dfsg-4.1/remake.c 2018-04-17 12:38:17.000000000 +0000 @@ -1,5 +1,5 @@ /* Basic dependency engine for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -37,6 +37,8 @@ #include #endif +extern int try_implicit_rule (struct file *file, unsigned int depth); + /* The test for circular dependencies is based on the 'updating' bit in 'struct file'. However, double colon targets have separate 'struct @@ -53,13 +55,8 @@ /* Incremented when a command is started (under -n, when one would be). */ unsigned int commands_started = 0; -/* Set to the goal dependency. Mostly needed for remaking makefiles. */ -static struct goaldep *goal_list; -static struct dep *goal_dep; - -/* Current value for pruning the scan of the goal chain. - All files start with considered == 0. */ -static unsigned int considered = 0; +/* Current value for pruning the scan of the goal chain (toggle 0/1). */ +static unsigned int considered; static enum update_status update_file (struct file *file, unsigned int depth); static enum update_status update_file_1 (struct file *file, unsigned int depth); @@ -80,22 +77,31 @@ one goal whose 'changed' member is nonzero is successfully made. */ enum update_status -update_goal_chain (struct goaldep *goaldeps) +update_goal_chain (struct dep *goals) { int t = touch_flag, q = question_flag, n = just_print_flag; enum update_status status = us_none; +#define MTIME(file) (rebuilding_makefiles ? file_mtime_no_search (file) \ + : file_mtime (file)) + /* Duplicate the chain so we can remove things from it. */ - struct dep *goals = copy_dep_chain ((struct dep *)goaldeps); + goals = copy_dep_chain (goals); - goal_list = rebuilding_makefiles ? goaldeps : NULL; + { + /* Clear the 'changed' flag of each goal in the chain. + We will use the flag below to notice when any commands + have actually been run for a target. When no commands + have been run, we give an "up to date" diagnostic. */ + + struct dep *g; + for (g = goals; g != 0; g = g->next) + g->changed = 0; + } -#define MTIME(file) (rebuilding_makefiles ? file_mtime_no_search (file) \ - : file_mtime (file)) - - /* Start a fresh batch of consideration. */ - ++considered; + /* All files start with the considered bit 0, so the global value is 1. */ + considered = 1; /* Update all the goals until they are all finished. */ @@ -119,8 +125,6 @@ struct file *file; int stop = 0, any_not_updated = 0; - goal_dep = g; - for (file = g->file->double_colon ? g->file->double_colon : g->file; file != NULL; file = file->prev) @@ -128,7 +132,7 @@ unsigned int ocommands_started; enum update_status fail; - file->dontcare = ANY_SET (g->flags, RM_DONTCARE); + file->dontcare = g->dontcare; check_renamed (file); if (rebuilding_makefiles) @@ -248,10 +252,10 @@ } } - /* If we reached the end of the dependency graph update CONSIDERED - for the next pass. */ + /* If we reached the end of the dependency graph toggle the considered + flag for the next pass. */ if (g == 0) - ++considered; + considered = !considered; } if (rebuilding_makefiles) @@ -264,30 +268,6 @@ return status; } -/* If we're rebuilding an included makefile that failed, and we care - about errors, show an error message the first time. */ - -void -show_goal_error (void) -{ - struct goaldep *goal; - - if ((goal_dep->flags & (RM_INCLUDED|RM_DONTCARE)) != RM_INCLUDED) - return; - - for (goal = goal_list; goal; goal = goal->next) - if (goal_dep->file == goal->file) - { - if (goal->error) - { - OSS (error, &goal->floc, "%s: %s", - goal->file->name, strerror ((int)goal->error)); - goal->error = 0; - } - return; - } -} - /* If FILE is not up to date, execute the commands for it. Return 0 if successful, non-0 if unsuccessful; but with some flag settings, just call 'exit' if unsuccessful. @@ -321,7 +301,7 @@ && !f->dontcare && f->no_diag)) { DBF (DB_VERBOSE, _("Pruning file '%s'.\n")); - return f->command_state == cs_finished ? f->update_status : us_success; + return f->command_state == cs_finished ? f->update_status : 0; } } @@ -345,9 +325,12 @@ if (f->command_state == cs_running || f->command_state == cs_deps_running) - /* Don't run other :: rules for this target until - this rule is finished. */ - return us_success; + { + /* Don't run the other :: rules for this + file until this rule is finished. */ + status = us_success; + break; + } if (new > status) status = new; @@ -366,7 +349,7 @@ { enum update_status new = update_file (d->file, depth + 1); if (new > status) - status = new; + new = status; } } @@ -397,28 +380,29 @@ if (d == 0) { - show_goal_error (); - /* Didn't find any dependencies to complain about. */ if (file->parent) { size_t l = strlen (file->name) + strlen (file->parent->name) + 4; - const char *m = _("%sNo rule to make target '%s', needed by '%s'%s"); if (!keep_going_flag) - fatal (NILF, l, m, "", file->name, file->parent->name, ""); + fatal (NILF, l, + _("%sNo rule to make target '%s', needed by '%s'%s"), + "", file->name, file->parent->name, ""); - error (NILF, l, m, "*** ", file->name, file->parent->name, "."); + error (NILF, l, _("%sNo rule to make target '%s', needed by '%s'%s"), + "*** ", file->name, file->parent->name, "."); } else { size_t l = strlen (file->name) + 4; - const char *m = _("%sNo rule to make target '%s'%s"); if (!keep_going_flag) - fatal (NILF, l, m, "", file->name, ""); + fatal (NILF, l, + _("%sNo rule to make target '%s'%s"), "", file->name, ""); - error (NILF, l, m, "*** ", file->name, "."); + error (NILF, l, + _("%sNo rule to make target '%s'%s"), "*** ", file->name, "."); } file->no_diag = 0; @@ -616,8 +600,8 @@ break; if (!running) - /* The prereq is considered changed if the timestamp has changed - while it was built, OR it doesn't exist. */ + /* The prereq is considered changed if the timestamp has changed while + it was built, OR it doesn't exist. */ d->changed = ((file_mtime (d->file) != mtime) || (mtime == NONEXISTENT_MTIME)); @@ -651,7 +635,7 @@ /* We may have already considered this file, when we didn't know we'd need to update it. Force update_file() to consider it and not prune it. */ - d->file->considered = 0; + d->file->considered = !considered; new = update_file (d->file, depth); if (new > dep_status) @@ -1088,7 +1072,7 @@ /* If the target was waiting for a dependency it has to be reconsidered, as that dependency might have finished. */ if (file->command_state == cs_deps_running) - file->considered = 0; + file->considered = !considered; set_command_state (file, cs_not_started); } @@ -1174,9 +1158,8 @@ else #endif { - int fd; + int fd = open (file->name, O_RDWR | O_CREAT, 0666); - EINTRLOOP (fd, open (file->name, O_RDWR | O_CREAT, 0666)); if (fd < 0) TOUCH_ERROR ("touch: open: "); else @@ -1189,24 +1172,18 @@ if (e < 0) TOUCH_ERROR ("touch: fstat: "); /* Rewrite character 0 same as it already is. */ - EINTRLOOP (e, read (fd, &buf, 1)); - if (e < 0) + if (read (fd, &buf, 1) < 0) TOUCH_ERROR ("touch: read: "); - { - off_t o; - EINTRLOOP (o, lseek (fd, 0L, 0)); - if (o < 0L) - TOUCH_ERROR ("touch: lseek: "); - } - EINTRLOOP (e, write (fd, &buf, 1)); - if (e < 0) + if (lseek (fd, 0L, 0) < 0L) + TOUCH_ERROR ("touch: lseek: "); + if (write (fd, &buf, 1) < 0) TOUCH_ERROR ("touch: write: "); - - /* If file length was 0, we just changed it, so change it back. */ + /* If file length was 0, we just + changed it, so change it back. */ if (statbuf.st_size == 0) { (void) close (fd); - EINTRLOOP (fd, open (file->name, O_RDWR | O_TRUNC, 0666)); + fd = open (file->name, O_RDWR | O_TRUNC, 0666); if (fd < 0) TOUCH_ERROR ("touch: open: "); } @@ -1272,7 +1249,6 @@ f_mtime (struct file *file, int search) { FILE_TIMESTAMP mtime; - int propagate_timestamp; /* File's mtime is not known; must get it from the system. */ @@ -1283,6 +1259,7 @@ char *arname, *memname; struct file *arfile; + int found; time_t member_date; /* Find the archive's name. */ @@ -1330,10 +1307,15 @@ /* The archive doesn't exist, so its members don't exist either. */ return NONEXISTENT_MTIME; - member_date = ar_member_date (file->hname); - mtime = (member_date == (time_t) -1 - ? NONEXISTENT_MTIME - : file_timestamp_cons (file->hname, member_date, 0)); + found = ar_member_date (file->hname, &member_date); + if (found && member_date == (time_t) 0) + { + OSS (error, NILF, + _("Warning: Archive '%s' seems to have been created in deterministic mode. '%s' will always be updated. Please consider passing the U flag to ar to avoid the problem."), + arfile->name, memname); + + } + mtime = found ? file_timestamp_cons (file->hname, member_date, 0) : NONEXISTENT_MTIME; } else #endif @@ -1349,8 +1331,6 @@ || (file->name[0] == '-' && file->name[1] == 'l' && (name = library_search (file->name, &mtime)) != 0)) { - int name_len; - if (mtime != UNKNOWN_MTIME) /* vpath_search and library_search store UNKNOWN_MTIME if they didn't need to do a stat call for their work. */ @@ -1359,14 +1339,7 @@ /* If we found it in VPATH, see if it's in GPATH too; if so, change the name right now; if not, defer until after the dependencies are updated. */ -#ifndef VMS - name_len = strlen (name) - strlen (file->name) - 1; -#else - name_len = strlen (name) - strlen (file->name); - if (name[name_len - 1] == '/') - name_len--; -#endif - if (gpath_search (name, name_len)) + if (gpath_search (name, strlen (name) - strlen (file->name) - 1)) { rename_file (file, name); check_renamed (file); @@ -1449,13 +1422,10 @@ } } - /* Store the mtime into all the entries for this file for which it is safe - to do so: avoid propagating timestamps to double-colon rules that haven't - been examined so they're run or not based on the pre-update timestamp. */ + /* Store the mtime into all the entries for this file. */ if (file->double_colon) file = file->double_colon; - propagate_timestamp = file->updated; do { /* If this file is not implicit but it is intermediate then it was @@ -1467,8 +1437,7 @@ && !file->tried_implicit && file->intermediate) file->intermediate = 0; - if (file->updated == propagate_timestamp) - file->last_mtime = mtime; + file->last_mtime = mtime; file = file->prev; } while (file != 0); diff -Nru make-dfsg-4.2.1/remote-cstms.c make-dfsg-4.1/remote-cstms.c --- make-dfsg-4.2.1/remote-cstms.c 2016-03-12 06:20:05.000000000 +0000 +++ make-dfsg-4.1/remote-cstms.c 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ Please do not send bug reports or questions about it to the Make maintainers. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -222,7 +222,7 @@ fflush (stderr); } - pid = vfork (); + pid = fork (); if (pid < 0) { /* The fork failed! */ diff -Nru make-dfsg-4.2.1/remote-stub.c make-dfsg-4.1/remote-stub.c --- make-dfsg-4.2.1/remote-stub.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/remote-stub.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Template for the remote job exportation interface to GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/rule.c make-dfsg-4.1/rule.c --- make-dfsg-4.2.1/rule.c 2016-04-11 11:50:44.000000000 +0000 +++ make-dfsg-4.1/rule.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Pattern and suffix rule internals for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -380,7 +380,6 @@ r->cmds = xmalloc (sizeof (struct commands)); r->cmds->fileinfo.filenm = 0; r->cmds->fileinfo.lineno = 0; - r->cmds->fileinfo.offset = 0; /* These will all be string literals, but we malloc space for them anyway because somebody might want to free them later. */ r->cmds->commands = xstrdup (p->commands); diff -Nru make-dfsg-4.2.1/rule.h make-dfsg-4.1/rule.h --- make-dfsg-4.2.1/rule.h 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/rule.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for using pattern rules in GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -55,4 +55,3 @@ void create_pattern_rule (const char **targets, const char **target_percents, unsigned int num, int terminal, struct dep *deps, struct commands *commands, int override); -void print_rule_data_base (void); diff -Nru make-dfsg-4.2.1/signame.c make-dfsg-4.1/signame.c --- make-dfsg-4.2.1/signame.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/signame.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Convert between signal names and numbers. -Copyright (C) 1990-2016 Free Software Foundation, Inc. +Copyright (C) 1990-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/SMakefile make-dfsg-4.1/SMakefile --- make-dfsg-4.2.1/SMakefile 2016-06-10 23:03:54.000000000 +0000 +++ make-dfsg-4.1/SMakefile 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ # NOTE: If you have no 'make' program at all to process this makefile, # run 'build.sh' instead. # -# Copyright (C) 1995-2016 Free Software Foundation, Inc. +# Copyright (C) 1995-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -24,9 +24,9 @@ # # Ultrix 2.2 make doesn't expand the value of VPATH. -VPATH = /make-4.2.1/ +VPATH = /make-4.1/ # This must repeat the value, because configure will remove 'VPATH = .'. -srcdir = /make-4.2.1/ +srcdir = /make-4.1/ CC = sc RM = delete @@ -228,7 +228,7 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h + filedef.h hash.h dep.h \ # .deps/arscan.Po arscan.o: arscan.c makeint.h config.h \ @@ -241,7 +241,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h variable.h job.h output.h \ + filedef.h hash.h dep.h \ + variable.h job.h output.h \ commands.h # .deps/default.Po @@ -249,8 +250,7 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h rule.h dep.h job.h \ - output.h \ + filedef.h hash.h variable.h rule.h dep.h job.h output.h \ commands.h # .deps/dir.Po @@ -258,8 +258,7 @@ gnumake.h \ getopt.h \ gettext.h \ - hash.h \ - filedef.h dep.h \ + hash.h filedef.h dep.h \ # .deps/expand.Po expand.o: expand.c makeint.h config.h \ @@ -283,7 +282,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h dep.h job.h output.h \ + filedef.h hash.h \ + variable.h dep.h job.h output.h \ commands.h debug.h # .deps/getloadavg.Po @@ -300,7 +300,8 @@ gnumake.h \ getopt.h \ gettext.h \ - debug.h filedef.h hash.h dep.h variable.h \ + debug.h filedef.h hash.h \ + dep.h variable.h \ gmk-default.h # .deps/hash.Po @@ -315,7 +316,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h rule.h dep.h debug.h variable.h job.h output.h \ + filedef.h hash.h rule.h \ + dep.h debug.h variable.h job.h output.h \ commands.h # .deps/job.Po @@ -325,22 +327,23 @@ gettext.h \ job.h output.h \ debug.h filedef.h hash.h \ - commands.h variable.h os.h + commands.h variable.h # .deps/load.Po load.o: load.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - debug.h \ - filedef.h hash.h variable.h + debug.h filedef.h hash.h \ + variable.h # .deps/loadapi.Po loadapi.o: loadapi.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h dep.h + filedef.h hash.h \ + variable.h dep.h # .deps/loadavg-getloadavg.Po # dummy @@ -350,8 +353,8 @@ gnumake.h \ getopt.h \ gettext.h \ - os.h \ - filedef.h hash.h dep.h variable.h job.h output.h \ + filedef.h hash.h dep.h \ + variable.h job.h output.h \ commands.h rule.h debug.h \ getopt.h @@ -360,22 +363,15 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h dep.h debug.h \ + filedef.h hash.h dep.h \ + debug.h \ # .deps/output.Po output.o: output.c makeint.h config.h \ gnumake.h \ getopt.h \ gettext.h \ - job.h \ - output.h \ - -# .deps/posixos.Po -posixos.o: posixos.c makeint.h config.h \ - gnumake.h \ - getopt.h \ - gettext.h \ - debug.h job.h output.h os.h + job.h output.h \ # .deps/read.Po read.o: read.c makeint.h config.h \ @@ -391,7 +387,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h job.h output.h \ + filedef.h hash.h job.h \ + output.h \ commands.h dep.h variable.h \ debug.h @@ -404,7 +401,8 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h job.h output.h \ + filedef.h hash.h job.h \ + output.h \ commands.h # .deps/rule.Po @@ -447,4 +445,5 @@ gnumake.h \ getopt.h \ gettext.h \ - filedef.h hash.h variable.h + filedef.h hash.h \ + variable.h diff -Nru make-dfsg-4.2.1/strcache.c make-dfsg-4.1/strcache.c --- make-dfsg-4.2.1/strcache.c 2016-02-29 06:35:02.000000000 +0000 +++ make-dfsg-4.1/strcache.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Constant string caching for GNU Make. -Copyright (C) 2006-2016 Free Software Foundation, Inc. +Copyright (C) 2006-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -42,8 +42,8 @@ #define CACHE_BUFFER_ALLOC(_s) ((_s) - (2 * sizeof (size_t))) #define CACHE_BUFFER_OFFSET (offsetof (struct strcache, buffer)) #define CACHE_BUFFER_SIZE(_s) (CACHE_BUFFER_ALLOC(_s) - CACHE_BUFFER_OFFSET) -#define BUFSIZE CACHE_BUFFER_SIZE (CACHE_BUFFER_BASE) +static sc_buflen_t bufsize = CACHE_BUFFER_SIZE (CACHE_BUFFER_BASE); static struct strcache *strcache = NULL; static struct strcache *fullcache = NULL; @@ -57,76 +57,65 @@ that this doesn't seem to be much of an issue in practice. */ static struct strcache * -new_cache (struct strcache **head, sc_buflen_t buflen) +new_cache () { - struct strcache *new = xmalloc (buflen + CACHE_BUFFER_OFFSET); + struct strcache *new; + new = xmalloc (bufsize + CACHE_BUFFER_OFFSET); new->end = 0; new->count = 0; - new->bytesfree = buflen; + new->bytesfree = bufsize; - new->next = *head; - *head = new; + new->next = strcache; + strcache = new; ++total_buffers; return new; } static const char * -copy_string (struct strcache *sp, const char *str, unsigned int len) -{ - /* Add the string to this cache. */ - char *res = &sp->buffer[sp->end]; - - memmove (res, str, len); - res[len++] = '\0'; - sp->end += len; - sp->bytesfree -= len; - ++sp->count; - - return res; -} - -static const char * add_string (const char *str, unsigned int len) { - const char *res; + char *res; struct strcache *sp; struct strcache **spp = &strcache; /* We need space for the nul char. */ unsigned int sz = len + 1; - ++total_strings; - total_size += sz; - /* If the string we want is too large to fit into a single buffer, then - no existing cache is large enough. Add it directly to the fullcache. */ - if (sz > BUFSIZE) - { - sp = new_cache (&fullcache, sz); - return copy_string (sp, str, len); - } + no existing cache is large enough. Change the maximum size. */ + if (sz > bufsize) + bufsize = CACHE_BUFFER_SIZE ((((sz + 1) / CACHE_BUFFER_BASE) + 1) + * CACHE_BUFFER_BASE); + else + /* Find the first cache with enough free space. */ + for (; *spp != NULL; spp = &(*spp)->next) + if ((*spp)->bytesfree > sz) + break; - /* Find the first cache with enough free space. */ - for (; *spp != NULL; spp = &(*spp)->next) - if ((*spp)->bytesfree > sz) - break; + /* If nothing is big enough, make a new cache. */ sp = *spp; - - /* If nothing is big enough, make a new cache at the front. */ if (sp == NULL) { - sp = new_cache (&strcache, BUFSIZE); - spp = &strcache; + sp = new_cache (); + spp = &sp; } /* Add the string to this cache. */ - res = copy_string (sp, str, len); + res = &sp->buffer[sp->end]; + memmove (res, str, len); + res[len] = '\0'; + sp->end += sz; + sp->bytesfree -= sz; + ++sp->count; /* If the amount free in this cache is less than the average string size, consider it full and move it to the full list. */ - if (total_strings > 20 && sp->bytesfree < (total_size / total_strings) + 1) + ++total_strings; + total_size += sz; + + if (sp->bytesfree < (total_size / total_strings) + 1) { - *spp = sp->next; + *spp = (*spp)->next; sp->next = fullcache; fullcache = sp; } @@ -134,26 +123,6 @@ return res; } -/* For strings too large for the strcache, we just save them in a list. */ -struct hugestring { - struct hugestring *next; /* The next string. */ - char buffer[1]; /* The string. */ -}; - -static struct hugestring *hugestrings = NULL; - -static const char * -add_hugestring (const char *str, unsigned int len) -{ - struct hugestring *new = xmalloc (sizeof (struct hugestring) + len); - memcpy (new->buffer, str, len); - new->buffer[len] = '\0'; - - new->next = hugestrings; - hugestrings = new; - - return new->buffer; -} /* Hash table of strings in the cache. */ @@ -179,19 +148,11 @@ static unsigned long total_adds = 0; static const char * -add_hash (const char *str, unsigned int len) +add_hash (const char *str, int len) { - char *const *slot; - const char *key; - - /* If it's too large for the string cache, just copy it. - We don't bother trying to match these. */ - if (len > USHRT_MAX - 1) - return add_hugestring (str, len); - /* Look up the string in the hash. If it's there, return it. */ - slot = (char *const *) hash_find_slot (&strings, str); - key = *slot; + char *const *slot = (char *const *) hash_find_slot (&strings, str); + const char *key = *slot; /* Count the total number of add operations we performed. */ ++total_adds; @@ -218,13 +179,6 @@ if (str >= sp->buffer && str < sp->buffer + sp->end) return 1; - { - struct hugestring *hp; - for (hp = hugestrings; hp != 0; hp = hp->next) - if (str == hp->buffer) - return 1; - } - return 0; } @@ -253,6 +207,14 @@ return add_hash (str, len); } +int +strcache_setbufsize (unsigned int size) +{ + if (size > bufsize) + bufsize = size; + return bufsize; +} + void strcache_init (void) { @@ -267,7 +229,7 @@ { const struct strcache *sp; unsigned long numbuffs = 0, fullbuffs = 0; - unsigned long totfree = 0, maxfree = 0, minfree = BUFSIZE; + unsigned long totfree = 0, maxfree = 0, minfree = bufsize; if (! strcache) { @@ -306,13 +268,12 @@ (total_size / total_strings)); printf (_("%s current buf: size = %hu B / used = %hu B / count = %hu / avg = %hu B\n"), - prefix, (sc_buflen_t)BUFSIZE, strcache->end, strcache->count, + prefix, bufsize, strcache->end, strcache->count, (strcache->end / strcache->count)); if (numbuffs) { - /* Show information about non-current buffers. */ - unsigned long sz = total_size - strcache->end; + unsigned long sz = total_size - bufsize; unsigned long cnt = total_strings - strcache->count; sc_buflen_t avgfree = totfree / numbuffs; diff -Nru make-dfsg-4.2.1/subproc.bat make-dfsg-4.1/subproc.bat --- make-dfsg-4.2.1/subproc.bat 2016-02-28 17:53:35.000000000 +0000 +++ make-dfsg-4.1/subproc.bat 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ @echo off -rem Copyright (C) 1996-2016 Free Software Foundation, Inc. +rem Copyright (C) 1996-2014 Free Software Foundation, Inc. rem This file is part of GNU Make. rem rem GNU Make is free software; you can redistribute it and/or modify it under @@ -20,5 +20,4 @@ set MAKEFILE=%1 if x%2 == x set MAKE=nmake %MAKE% /f %MAKEFILE% -if ERRORLEVEL 1 exit /B cd ..\.. diff -Nru make-dfsg-4.2.1/tests/ChangeLog.1 make-dfsg-4.1/tests/ChangeLog.1 --- make-dfsg-4.2.1/tests/ChangeLog.1 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/ChangeLog.1 2016-01-16 10:25:59.000000000 +0000 @@ -1413,7 +1413,7 @@ ChangeLog file for the test suite created. -Copyright (C) 1992-2016 Free Software Foundation, Inc. +Copyright (C) 1992-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/tests/config-flags.pm make-dfsg-4.1/tests/config-flags.pm --- make-dfsg-4.2.1/tests/config-flags.pm 2016-06-10 23:03:32.000000000 +0000 +++ make-dfsg-4.1/tests/config-flags.pm 2016-01-16 10:25:59.000000000 +0000 @@ -10,8 +10,8 @@ CFLAGS => '-g -O2', CPP => 'gcc -E', CPPFLAGS => '', - GUILE_CFLAGS => '-pthread -I/usr/include/guile/2.0', - GUILE_LIBS => '-lguile-2.0 -lgc', + GUILE_CFLAGS => '-pthread -I/usr/include/guile/2.0 ', + GUILE_LIBS => '-lguile-2.0 -lgc ', LDFLAGS => '', LIBS => '-ldl ' ); diff -Nru make-dfsg-4.2.1/tests/config_flags_pm.com make-dfsg-4.1/tests/config_flags_pm.com --- make-dfsg-4.2.1/tests/config_flags_pm.com 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/config_flags_pm.com 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ $! $! Just good enough to run the self tests for now. $! -$! Copyright (C) 2014-2016 Free Software Foundation, Inc. +$! Copyright (C) 2014 Free Software Foundation, Inc. $! This file is part of GNU Make. $! $! GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/tests/mkshadow make-dfsg-4.1/tests/mkshadow --- make-dfsg-4.2.1/tests/mkshadow 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/mkshadow 2016-01-16 10:25:59.000000000 +0000 @@ -3,7 +3,7 @@ # Simple script to make a "shadow" test directory, using symbolic links. # Typically you'd put the shadow in /tmp or another local disk # -# Copyright (C) 1992-2016 Free Software Foundation, Inc. +# Copyright (C) 1992-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/tests/NEWS make-dfsg-4.1/tests/NEWS --- make-dfsg-4.2.1/tests/NEWS 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/NEWS 2016-01-16 10:25:59.000000000 +0000 @@ -162,7 +162,7 @@ ------------------------------------------------------------------------------- -Copyright (C) 1992-2016 Free Software Foundation, Inc. +Copyright (C) 1992-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/tests/README make-dfsg-4.1/tests/README --- make-dfsg-4.2.1/tests/README 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/README 2016-01-16 10:25:59.000000000 +0000 @@ -7,7 +7,7 @@ distributed under the following terms: ----------------------------------------------------------------------------- - Copyright (C) 1992-2016 Free Software Foundation, Inc. + Copyright (C) 1992-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/tests/run_make_tests.com make-dfsg-4.1/tests/run_make_tests.com --- make-dfsg-4.2.1/tests/run_make_tests.com 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/run_make_tests.com 2016-01-16 10:25:59.000000000 +0000 @@ -4,7 +4,7 @@ $! $! Parameter "-help" for description on how to use described below. $! -$! Copyright (C) 2014-2016 Free Software Foundation, Inc. +$! Copyright (C) 2014 Free Software Foundation, Inc. $! This file is part of GNU Make. $! $! GNU Make is free software; you can redistribute it and/or modify it under @@ -238,18 +238,18 @@ $ if no_gnv .or. no_perl then exit 44 $! $! +$ make := $bin:make.exe $ default = f$environment("DEFAULT") -$ default_dev = f$element(0, ":", default) + ":" $ this = f$environment("PROCEDURE") $ on error then goto all_error -$ set default 'default_dev''f$parse(this,,,"DIRECTORY")' +$ set default 'f$parse(this,,,"DEVICE")''f$parse(this,,,"DIRECTORY")' $! $! Need to make sure that the config-flags.pm exists. $ if f$search("config-flags.pm") .eqs. "" $ then $ @config_flags_pm.com $ endif -$ define/user bin 'default_dev'[-],gnv$gnu:[bin] +$ define/user bin 'default',gnv$gnu:[bin] $ define/user decc$filename_unix_noversion enable $ define/user decc$filename_unix_report enable $ define/user decc$readdir_dropdotnotype enable diff -Nru make-dfsg-4.2.1/tests/run_make_tests.pl make-dfsg-4.1/tests/run_make_tests.pl --- make-dfsg-4.2.1/tests/run_make_tests.pl 2016-04-04 05:38:37.000000000 +0000 +++ make-dfsg-4.1/tests/run_make_tests.pl 2016-01-16 10:25:59.000000000 +0000 @@ -11,7 +11,7 @@ # [-make ] # (and others) -# Copyright (C) 1992-2016 Free Software Foundation, Inc. +# Copyright (C) 1992-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -140,7 +140,6 @@ sub run_make_test { local ($makestring, $options, $answer, $err_code, $timeout) = @_; - my @call = caller; # If the user specified a makefile string, create a new makefile to contain # it. If the first value is not defined, use the last one (if there is @@ -172,7 +171,7 @@ } run_make_with_options($makefile, $options, &get_logfile(0), - $err_code, $timeout, @call); + $err_code, $timeout); &compare_output($answer, &get_logfile(1)); $old_makefile = $makefile; @@ -181,8 +180,7 @@ # The old-fashioned way... sub run_make_with_options { - my ($filename,$options,$logname,$expected_code,$timeout,@call) = @_; - @call = caller unless @call; + local ($filename,$options,$logname,$expected_code,$timeout) = @_; local($code); local($command) = $make_path; @@ -233,11 +231,7 @@ $command .= " $options"; } - $command_string = ""; - if (@call) { - $command_string = "#$call[1]:$call[2]\n"; - } - $command_string .= "$command\n"; + $command_string = "$command\n"; if ($valgrind) { print VALGRIND "\n\nExecuting: $command\n"; @@ -365,12 +359,6 @@ elsif ($osname =~ m%OS/2%) { $port_type = 'OS/2'; } - - # VMS has a GNV Unix mode or a DCL mode. - # The SHELL environment variable should not be defined in VMS-DCL mode. - elsif ($osname eq 'VMS' && !defined $ENV{"SHELL"}) { - $port_type = 'VMS-DCL'; - } # Everything else, right now, is UNIX. Note that we should integrate # the VOS support into this as well and get rid of $vos; we'll do # that next time. @@ -389,7 +377,6 @@ # Find the full pathname of Make. For DOS systems this is more # complicated, so we ask make itself. if ($osname eq 'VMS') { - $port_type = 'VMS-DCL' unless defined $ENV{"SHELL"}; # On VMS pre-setup make to be found with simply 'make'. $make_path = 'make'; } else { @@ -471,8 +458,6 @@ # Set up for valgrind, if requested. - $make_command = $make_path; - if ($valgrind) { my $args = $valgrind_args; open(VALGRIND, "> valgrind.out") diff -Nru make-dfsg-4.2.1/tests/scripts/features/archives make-dfsg-4.1/tests/scripts/features/archives --- make-dfsg-4.2.1/tests/scripts/features/archives 2016-02-29 06:31:16.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/archives 2018-04-17 12:38:17.000000000 +0000 @@ -9,205 +9,89 @@ exists $FEATURES{archives} or return -1; # Create some .o files to work with -if ($osname eq 'VMS') { - use Cwd; - my $pwd = getcwd; - # VMS AR needs real object files at this time. - foreach $afile ('a1', 'a2', 'a3') { - # Use non-standard extension to prevent implicit rules from recreating - # objects when the test tampers with the timestamp. - 1 while unlink "$afile.c1"; - 1 while unlink "$afile.o"; - open (MYFILE, ">$afile.c1"); - print MYFILE "int $afile(void) {return 1;}\n"; - close MYFILE; - system("cc $afile.c1 /object=$afile.o"); - } -} else { - utouch(-60, qw(a1.o a2.o a3.o)); -} +utouch(-60, qw(a1.o a2.o a3.o)); my $ar = $CONFIG_FLAGS{AR}; -# Fallback if configure did not find AR, such as VMS -# which does not run configure. -$ar = 'ar' if $ar eq ''; - -my $redir = '2>&1'; -$redir = '' if $osname eq 'VMS'; - -my $arflags = 'rv'; -my $arvar = "AR=$ar"; - -# Newer versions of binutils can be built with --enable-deterministic-archives -# which forces all timestamps (among other things) to always be 0, defeating -# GNU make's archive support. See if ar supports the U option to disable it. -unlink('libxx.a'); -$_ = `$ar U$arflags libxx.a a1.o $redir`; -if ($? == 0) { - $arflags = 'Urv'; - $arvar = "$arvar ARFLAGS=$arflags"; -} - # Some versions of ar print different things on creation. Find out. -unlink('libxx.a'); -my $created = `$ar $arflags libxx.a a1.o $redir`; +my $created = `$ar rv libxx.a a1.o 2>&1`; # Some versions of ar print different things on add. Find out. -my $add = `$ar $arflags libxx.a a2.o $redir`; +my $add = `$ar rv libxx.a a2.o 2>&1`; $add =~ s/a2\.o/#OBJECT#/g; # Some versions of ar print different things on replacement. Find out. -my $repl = `$ar $arflags libxx.a a2.o $redir`; +my $repl = `$ar rv libxx.a a2.o 2>&1`; $repl =~ s/a2\.o/#OBJECT#/g; unlink('libxx.a'); # Very simple -my $answer = "$ar $arflags libxx.a a1.o\n$created"; -if ($port_type eq 'VMS-DCL') { - $answer = 'library /replace libxx.a a1.o'; -} -run_make_test('all: libxx.a(a1.o)', $arvar, $answer); +run_make_test('all: libxx.a(a1.o)', + '', "$ar rvU libxx.a a1.o\n$created"); # Multiple .o's. Add a new one to the existing library ($_ = $add) =~ s/#OBJECT#/a2.o/g; - -$answer = "$ar $arflags libxx.a a2.o\n$_"; -if ($port_type eq 'VMS-DCL') { - $answer = 'library /replace libxx.a a2.o'; -} -run_make_test('all: libxx.a(a1.o a2.o)', $arvar, $answer); +run_make_test('all: libxx.a(a1.o a2.o)', + '', "$ar rvU libxx.a a2.o\n$_"); # Touch one of the .o's so it's rebuilt -if ($port_type eq 'VMS-DCL') { - # utouch is not changing what VMS library compare is testing for. - # So do a real change by regenerating the file. - 1 while unlink('a1.o'); - # Later time stamp than last insertion. - sleep(2); - system('cc a1.c1 /object=a1.o'); - # Next insertion will have a later timestamp. - sleep(2); -} else { - utouch(-40, 'a1.o'); -} - +utouch(-40, 'a1.o'); ($_ = $repl) =~ s/#OBJECT#/a1.o/g; -$answer = "$ar $arflags libxx.a a1.o\n$_"; -if ($port_type eq 'VMS-DCL') { - $answer = 'library /replace libxx.a a1.o'; -} -run_make_test(undef, $arvar, $answer); +run_make_test(undef, '', "$ar rvU libxx.a a1.o\n$_"); # Use wildcards -$answer = "#MAKE#: Nothing to be done for 'all'.\n"; -run_make_test('all: libxx.a(*.o)', $arvar, $answer); +run_make_test('all: libxx.a(*.o)', + '', "#MAKE#: Nothing to be done for 'all'.\n"); # Touch one of the .o's so it's rebuilt -if ($port_type eq 'VMS-DCL') { - # utouch is not changing what VMS library compare is testing for. - # So do a real change by regenerating the file. - 1 while unlink('a1.o'); - # Make timestamp later than last insertion. - sleep(2); - system('cc a1.c1 /object=a1.o'); -} else { - utouch(-30, 'a1.o'); -} +utouch(-30, 'a1.o'); ($_ = $repl) =~ s/#OBJECT#/a1.o/g; -$answer = "$ar $arflags libxx.a a1.o\n$_"; -if ($port_type eq 'VMS-DCL') { - $answer = 'library /replace libxx.a a1.o'; -} -run_make_test(undef, $arvar, $answer); +run_make_test(undef, '', "$ar rvU libxx.a a1.o\n$_"); # Use both wildcards and simple names -if ($port_type eq 'VMS-DCL') { - # utouch is not changing what VMS library compare is testing for. - # So do a real change by regenerating the file. - 1 while unlink('a2.o'); - sleep(2); - system('cc a2.c1 /object=a2.o'); -} else { - utouch(-50, 'a2.o'); -} +utouch(-50, 'a2.o'); ($_ = $add) =~ s/#OBJECT#/a3.o/g; -$_ .= "$ar $arflags libxx.a a2.o\n"; +$_ .= "$ar rvU libxx.a a2.o\n"; ($_ .= $repl) =~ s/#OBJECT#/a2.o/g; -$answer = "$ar $arflags libxx.a a3.o\n$_"; -if ($port_type eq 'VMS-DCL') { - $answer = 'library /replace libxx.a a3.o'; -} - -run_make_test('all: libxx.a(a3.o *.o)', $arvar, $answer); +run_make_test('all: libxx.a(a3.o *.o)', '', + "$ar rvU libxx.a a3.o\n$_"); # Check whitespace handling -if ($port_type eq 'VMS-DCL') { - # utouch is not changing what VMS library compare is testing for. - # So do a real change by regenerating the file. - 1 while unlink('a2.o'); - sleep(2); - system('cc a2.c1 /object=a2.o'); -} else { - utouch(-40, 'a2.o'); -} +utouch(-40, 'a2.o'); ($_ = $repl) =~ s/#OBJECT#/a2.o/g; -$answer = "$ar $arflags libxx.a a2.o\n$_"; -if ($port_type eq 'VMS-DCL') { - $answer = 'library /replace libxx.a a2.o'; -} -run_make_test('all: libxx.a( a3.o *.o )', $arvar, $answer); +run_make_test('all: libxx.a( a3.o *.o )', '', + "$ar rvU libxx.a a2.o\n$_"); -rmfiles(qw(a1.c1 a2.c1 a3.c1 a1.o a2.o a3.o libxx.a)); +rmfiles(qw(a1.o a2.o a3.o libxx.a)); # Check non-archive targets # See Savannah bug #37878 -$mk_string = q! +run_make_test(q! all: foo(bar).baz foo(bar).baz: ; @echo '$@' -!; - -if ($port_type eq 'VMS-DCL') { - $mk_string =~ s/echo/write sys\$\$output/; - $mk_string =~ s/\'/\"/g; -} -run_make_test($mk_string, $arvar, "foo(bar).baz\n"); +!, + '', "foo(bar).baz\n"); # Check renaming of archive targets. # See Savannah bug #38442 mkdir('artest', 0777); touch('foo.vhd'); -$mk_string = q! + +run_make_test(q! DIR = artest vpath % $(DIR) default: lib(foo) (%): %.vhd ; @cd $(DIR) && touch $(*F) && $(AR) $(ARFLAGS) $@ $(*F) >/dev/null 2>&1 && rm $(*F) .PHONY: default -!; -if ($port_type eq 'VMS-DCL') { - $mk_string =~ s#= artest#= sys\$\$disk:\[.artest\]#; - $mk_string =~ s#lib\(foo\)#lib.tlb\(foo\)#; - $mk_string =~ s#; \@cd#; pipe SET DEFAULT#; - $mk_string =~ - s#touch \$\(\*F\)#touch \$\(\*F\) && library/create/text sys\$\$disk:\$\@#; - $mk_string =~ - s#library#if f\$\$search(\"\$\@\") \.eqs\. \"\" then library#; - # VMS needs special handling for null extension - $mk_string =~ s#\@ \$\(\*F\)#\@ \$\(\*F\)\.#; - $mk_string =~ s#>/dev/null 2>&1 ##; -} -run_make_test($mk_string, $arvar, ""); +!, + '', ""); -run_make_test(undef, $arvar, "#MAKE#: Nothing to be done for 'default'.\n"); +run_make_test(undef, '', "#MAKE#: Nothing to be done for 'default'.\n"); unlink('foo.vhd'); -if ($osname eq 'VMS') { - remove_directory_tree("$pwd/artest"); -} else { - remove_directory_tree('artest'); -} +remove_directory_tree('artest'); # This tells the test driver that the perl test script executed properly. 1; diff -Nru make-dfsg-4.2.1/tests/scripts/features/conditionals make-dfsg-4.1/tests/scripts/features/conditionals --- make-dfsg-4.2.1/tests/scripts/features/conditionals 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/conditionals 2016-01-16 10:25:59.000000000 +0000 @@ -141,22 +141,6 @@ '', 'success'); -# SV 47960 : ensure variable assignments in non-taken legs don't cause problems -run_make_test(' -ifneq ($(FOO),yes) -target: -else -BAR = bar -target: -endif - @echo one -', - '', "one\n"); - # This tells the test driver that the perl test script executed properly. 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/features/double_colon make-dfsg-4.1/tests/scripts/features/double_colon --- make-dfsg-4.2.1/tests/scripts/features/double_colon 2016-05-31 07:17:26.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/double_colon 2016-01-16 10:25:59.000000000 +0000 @@ -151,7 +151,8 @@ unlink('result','one','two'); -# TEST 10: SV 33399 : check for proper backslash handling +# TEST 10: check for proper backslash handling +# Savannah bug #33399 run_make_test(' a\ xb :: ; @echo one @@ -159,62 +160,5 @@ ', '', "one\ntwo\n"); -# Test 11: SV 44742 : All double-colon rules should be run in parallel build. - -run_make_test('result :: 01 - @echo update - @touch $@ -result :: 02 - @echo update - @touch $@ -result :: 03 - @echo update - @touch $@ -result :: 04 - @echo update - @touch $@ -result :: 05 - @echo update - @touch $@ -01 02 03 04 05: - @touch 01 02 03 04 05 -', - '-j10 result', "update\nupdate\nupdate\nupdate\nupdate\n"); - -unlink('result', '01', '02', '03', '04', '05'); - -# Test 12: SV 44742 : Double-colon rules with parallelism - -run_make_test(' -root: all - echo root -all:: - echo all_one -all:: 3 - echo all_two -%: - sleep $* -', - '-rs -j2 1 2 root', "all_one\nall_two\nroot\n"); - -# SV 47995 : Parallel double-colon rules with FORCE - -run_make_test(' -all:: ; @echo one - -all:: joe ; @echo four - -joe: FORCE ; touch joe-is-forced - -FORCE: -', - '-j5', "one\ntouch joe-is-forced\nfour\n"); - -unlink('joe-is-forced'); - # This tells the test driver that the perl test script executed properly. 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/features/errors make-dfsg-4.1/tests/scripts/features/errors --- make-dfsg-4.2.1/tests/scripts/features/errors 2016-04-11 11:50:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/errors 2016-01-16 10:25:59.000000000 +0000 @@ -30,7 +30,7 @@ print MAKEFILE "clean:\n" ."\t-$rm_command cleanit\n" ."\t$rm_command foo\n" - ."clean2: \n" + ."clean2: \n" ."\t$rm_command cleanit\n" ."\t$rm_command foo\n"; @@ -50,7 +50,8 @@ $answer = "$rm_command cleanit $cleanit_error -$make_name: [$makefile:2: clean] Error $delete_error_code (ignored) +$makefile:2: recipe for target 'clean' failed +$make_name: [clean] Error $delete_error_code (ignored) $rm_command foo\n"; &run_make_with_options($makefile,"",&get_logfile); @@ -77,7 +78,8 @@ $answer = "$rm_command cleanit $cleanit_error -$make_name: [$makefile:5: clean2] Error $delete_error_code (ignored) +$makefile:5: recipe for target 'clean2' failed +$make_name: [clean2] Error $delete_error_code (ignored) $rm_command foo\n"; &run_make_with_options($makefile,"clean2 -i",&get_logfile); @@ -90,18 +92,4 @@ &compare_output($answer,&get_logfile(1)); } -# Test that error line offset works - -run_make_test(q! -all: - @echo hi - @echo there - @exit 1 -!, - '', "hi\nthere\n#MAKE#: *** [#MAKEFILE#:5: all] Error 1", 512); - 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/features/include make-dfsg-4.1/tests/scripts/features/include --- make-dfsg-4.2.1/tests/scripts/features/include 2016-05-21 17:24:30.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/include 2016-01-16 10:25:59.000000000 +0000 @@ -165,70 +165,6 @@ #MAKE#: *** No rule to make target 'end', needed by 'baz'. Stop.\n", 512); -# Test include of make-able file doesn't show an error (Savannah #102) -run_make_test(q! -.PHONY: default -default:; @echo DONE - -inc1:; echo > $@ -include inc1 -include inc2 -inc2:; echo > $@ -!, - '', "echo > inc2\necho > inc1\nDONE\n"); - -rmfiles('inc1', 'inc2'); - -# Test include of non-make-able file does show an error (Savannah #102) -run_make_test(q! -.PHONY: default -default:; @echo DONE - -inc1:; echo > $@ -include inc1 -include inc2 -!, - '', "#MAKEFILE#:7: inc2: No such file or directory\n#MAKE#: *** No rule to make target 'inc2'. Stop.\n", 512); - -rmfiles('inc1'); - -# Include same file multiple times - -run_make_test(q! -default:; @echo DEFAULT -include inc1 -inc1:; echo > $@ -include inc1 -!, - '', "echo > inc1\nDEFAULT\n"); - -rmfiles('inc1'); - -# Included file has a prerequisite that fails to build - -run_make_test(q! -default:; @echo DEFAULT -include inc1 -inc1: foo; echo > $@ -foo:; exit 1 -!, - '', "exit 1\n#MAKEFILE#:3: inc1: No such file or directory\n#MAKE#: *** [#MAKEFILE#:5: foo] Error 1\n", 512); - -rmfiles('inc1'); - -# Included file has a prerequisite we don't know how to build - -run_make_test(q! -default:; @echo DEFAULT -include inc1 -inc1: foo; echo > $@ -!, - '', "#MAKEFILE#:3: inc1: No such file or directory\n#MAKE#: *** No rule to make target 'foo', needed by 'inc1'. Stop.\n", 512); - -rmfiles('inc1'); - -# include a directory - if ($all_tests) { # Test that include of a rebuild-able file doesn't show a warning # Savannah bug #102 diff -Nru make-dfsg-4.2.1/tests/scripts/features/jobserver make-dfsg-4.1/tests/scripts/features/jobserver --- make-dfsg-4.2.1/tests/scripts/features/jobserver 2016-04-09 23:07:29.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/jobserver 2016-01-16 10:25:59.000000000 +0000 @@ -12,49 +12,7 @@ return -1; } -# Shorthand -my $np = '--no-print-directory'; - -# Simple test of MAKEFLAGS settings -run_make_test(q! -SHOW = $(patsubst --jobserver-auth=%,--jobserver-auth=,$(MAKEFLAGS)) -recurse: ; @echo $@: "/$(SHOW)/"; $(MAKE) -f #MAKEFILE# all -all:;@echo $@: "/$(SHOW)/" -!, - "-j2 $np", "recurse: /-j2 --jobserver-auth= $np/\nall: /-j2 --jobserver-auth= $np/\n"); - -# Setting parallelism with the environment -# Command line should take precedence over the environment -$extraENV{MAKEFLAGS} = "-j2 $np"; -run_make_test(q! -SHOW = $(patsubst --jobserver-auth=%,--jobserver-auth=,$(MAKEFLAGS)) -recurse: ; @echo $@: "/$(SHOW)/"; $(MAKE) -f #MAKEFILE# all -all:;@echo $@: "/$(SHOW)/" -!, - '', "recurse: /-j2 --jobserver-auth= $np/\nall: /-j2 --jobserver-auth= $np/\n"); -delete $extraENV{MAKEFLAGS}; - -# Test override of -jN -$extraENV{MAKEFLAGS} = "-j9 $np"; -run_make_test(q! -SHOW = $(patsubst --jobserver-auth=%,--jobserver-auth=,$(MAKEFLAGS)) -recurse: ; @echo $@: "/$(SHOW)/"; $(MAKE) -j3 -f #MAKEFILE# recurse2 -recurse2: ; @echo $@: "/$(SHOW)/"; $(MAKE) -f #MAKEFILE# all -all:;@echo $@: "/$(SHOW)/" -!, - "-j2 $np", "recurse: /-j2 --jobserver-auth= $np/\n#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.\nrecurse2: /-j3 --jobserver-auth= $np/\nall: /-j3 --jobserver-auth= $np/\n"); -delete $extraENV{MAKEFLAGS}; - -# Test override of -jN with -j -run_make_test(q! -SHOW = $(patsubst --jobserver-auth=%,--jobserver-auth=,$(MAKEFLAGS)) -recurse: ; @echo $@: "/$(SHOW)/"; $(MAKE) -j -f #MAKEFILE# recurse2 -recurse2: ; @echo $@: "/$(SHOW)/"; $(MAKE) -f #MAKEFILE# all -all:;@echo $@: "/$(SHOW)/" -!, - "-j2 $np", "recurse: /-j2 --jobserver-auth= $np/\n#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.\nrecurse2: /-j $np/\nall: /-j $np/\n"); - -# Don't put --jobserver-auth into a re-exec'd MAKEFLAGS. +# Don't put --jobserver-fds into a re-exec'd MAKEFLAGS. # We can't test this directly because there's no way a makefile can # show the value of MAKEFLAGS we were re-exec'd with. We can intuit it # by looking for "disabling jobserver mode" warnings; we should only @@ -76,7 +34,7 @@ # @echo 'MAKEFLAGS = $(MAKEFLAGS)' @echo 'FOO = bar' > $@ !, - "$np -j2", "#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.\nall\n"); + '--no-print-directory -j2', "#MAKE#[1]: warning: -jN forced in submake: disabling jobserver mode.\nall\n"); unlink('inc.mk'); @@ -94,14 +52,10 @@ run_make_test(q! default: ; @ #MAKEPATH# -f Makefile2 !, - "-j2 $np", + '-j2 --no-print-directory', "#MAKE#[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. #MAKE#[1]: Nothing to be done for 'foo'."); rmfiles('Makefile2'); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/features/load make-dfsg-4.1/tests/scripts/features/load --- make-dfsg-4.2.1/tests/scripts/features/load 2016-03-13 06:28:39.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/load 2016-01-16 10:25:59.000000000 +0000 @@ -56,7 +56,7 @@ POST := $(.LOADED) all: ; @echo pre=$(PRE) post=$(POST) $(TESTLOAD) !, - '--warn-undefined-variables', "pre= post=testload.so implicit\n"); + '', "pre= post=testload.so implicit\n"); # TEST 2 # Load using an explicit function diff -Nru make-dfsg-4.2.1/tests/scripts/features/output-sync make-dfsg-4.1/tests/scripts/features/output-sync --- make-dfsg-4.2.1/tests/scripts/features/output-sync 2016-04-23 14:09:35.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/output-sync 2016-01-16 10:25:59.000000000 +0000 @@ -53,8 +53,6 @@ @syncfiles = qw(mksync.foo mksync.foo_start mksync.bar mksync.bar_start); -$tmout = 30; - output_sync_clean(); mkdir('foo', 0777); mkdir('bar', 0777); @@ -142,7 +140,7 @@ bar: end baz: start baz: end -#MAKE#[1]: Leaving directory '#PWD#/bar'\n", 0, $tmout); +#MAKE#[1]: Leaving directory '#PWD#/bar'\n", 0, 6); # Test per-target synchronization. # Note we have to sleep again here after starting the foo makefile before @@ -173,7 +171,7 @@ #MAKE#[1]: Entering directory '#PWD#/bar' baz: start baz: end -#MAKE#[1]: Leaving directory '#PWD#/bar'\n", 0, $tmout); +#MAKE#[1]: Leaving directory '#PWD#/bar'\n", 0, 6); # Rerun but this time suppress the directory tracking unlink(@syncfiles); @@ -185,7 +183,7 @@ foo: start foo: end baz: start -baz: end\n", 0, $tmout); +baz: end\n", 0, 6); # Test that messages from make itself are enclosed with # "Entering/Leaving directory" messages. @@ -206,9 +204,11 @@ #MAKE#[1]: Entering directory '#PWD#/foo' foo-fail: start foo-fail: end -#MAKE#[1]: *** [Makefile:23: foo-fail] Error 1 +Makefile:20: recipe for target 'foo-fail' failed +#MAKE#[1]: *** [foo-fail] Error 1 #MAKE#[1]: Leaving directory '#PWD#/foo' -#MAKE#: *** [#MAKEFILE#:4: make-foo-fail] Error 2\n", +#MAKEFILE#:4: recipe for target 'make-foo-fail' failed +#MAKE#: *** [make-foo-fail] Error 2\n", 512); # Test the per-job synchronization. @@ -238,7 +238,7 @@ #MAKE#[1]: Leaving directory '#PWD#/bar' #MAKE#[1]: Entering directory '#PWD#/foo' foo: end -#MAKE#[1]: Leaving directory '#PWD#/foo'\n", 0, $tmout); +#MAKE#[1]: Leaving directory '#PWD#/foo'\n", 0, 6); # Remove temporary directories and contents. @@ -326,7 +326,7 @@ all: t1 t1: ; -\@\$(MAKE) -f $m1 !, - "-j -Oline", "#MAKE#[1]: Entering directory '#PWD#'\nd1 stderr\nd1 stdout\n$m1:3: *** d1 failed. Stop.\n#MAKE#[1]: Leaving directory '#PWD#'\n#MAKE#: [#MAKEFILE#:3: t1] Error 2 (ignored)\n"); + "-j -Oline", "#MAKE#[1]: Entering directory '#PWD#'\nd1 stderr\nd1 stdout\n$m1:3: *** d1 failed. Stop.\n#MAKE#[1]: Leaving directory '#PWD#'\n#MAKEFILE#:3: recipe for target 't1' failed\n#MAKE#: [t1] Error 2 (ignored)\n"); rmfiles($m1); @@ -337,13 +337,5 @@ !, '-O', "#MAKEFILE#:2: *** fail. Stop.\n", 512); -# SV 47365: Make sure exec failure error messages are shown -# Is "127" not always the same everywhere? We may have to detect it? - -run_make_test(q! -all:: ; @./foo bar baz -!, - '-O', "#MAKE#: ./foo: Command not found\n#MAKE#: *** [#MAKEFILE#:2: all] Error 127\n", 512); - # This tells the test driver that the perl test script executed properly. 1; diff -Nru make-dfsg-4.2.1/tests/scripts/features/parallelism make-dfsg-4.1/tests/scripts/features/parallelism --- make-dfsg-4.2.1/tests/scripts/features/parallelism 2016-04-11 11:50:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/parallelism 2016-01-16 10:25:59.000000000 +0000 @@ -99,12 +99,15 @@ \@$sleep_command 4 \@echo Ok done", '-rR -j5', "Fail -#MAKE#: *** [#MAKEFILE#:8: fail.1] Error 1 +#MAKEFILE#:6: recipe for target 'fail.1' failed +#MAKE#: *** [fail.1] Error 1 #MAKE#: *** Waiting for unfinished jobs.... Fail -#MAKE#: *** [#MAKEFILE#:8: fail.2] Error 1 +#MAKEFILE#:6: recipe for target 'fail.2' failed +#MAKE#: *** [fail.2] Error 1 Fail -#MAKE#: *** [#MAKEFILE#:8: fail.3] Error 1 +#MAKEFILE#:6: recipe for target 'fail.3' failed +#MAKE#: *** [fail.3] Error 1 Ok done", 512); @@ -211,7 +214,3 @@ # rmfiles(qw(dependfile output)); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/features/patternrules make-dfsg-4.1/tests/scripts/features/patternrules --- make-dfsg-4.2.1/tests/scripts/features/patternrules 2016-03-20 18:23:22.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/patternrules 2016-01-16 10:25:59.000000000 +0000 @@ -110,7 +110,8 @@ ', "dir=$dir", -"#MAKE#: *** [#MAKEFILE#:6: $dir/foo.bar] Error 1", +"#MAKEFILE#:6: recipe for target '$dir/foo.bar' failed +#MAKE#: *** [$dir/foo.bar] Error 1", 512); unlink("$dir/foo.bar"); @@ -222,7 +223,3 @@ # This tells the test driver that the perl test script executed properly. 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/features/vpath3 make-dfsg-4.1/tests/scripts/features/vpath3 --- make-dfsg-4.2.1/tests/scripts/features/vpath3 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/vpath3 2016-01-16 10:25:59.000000000 +0000 @@ -17,12 +17,6 @@ "b3${pathsep}lib3.so"); &touch(@files_to_touch); -my $answer = "a1${pathsep}lib1.a a1${pathsep}libc.a " . - "a2${pathsep}lib2.a lib3.a\n"; -if ($port_type eq 'VMS-DCL') { - $answer =~ s/ /,/g; -} - run_make_test(' vpath %.h b3 vpath %.a a1 @@ -31,7 +25,7 @@ vpath % b3 all: -l1 -lc -l2 -l3; @echo $^ ', - '', $answer); + '', "a1${pathsep}lib1.a a1${pathsep}libc.a a2${pathsep}lib2.a lib3.a\n"); unlink(@files_to_touch); for my $d (@dirs_to_make) { diff -Nru make-dfsg-4.2.1/tests/scripts/features/vpathplus make-dfsg-4.1/tests/scripts/features/vpathplus --- make-dfsg-4.2.1/tests/scripts/features/vpathplus 2016-03-20 18:23:22.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/features/vpathplus 2016-01-16 10:25:59.000000000 +0000 @@ -86,7 +86,8 @@ $answer = "not creating notarget.c from notarget.d cat notarget.c > notarget.b 2>/dev/null || exit 1 -$make_name: *** [$makefile:16: notarget.b] Error 1 +$makefile:16: recipe for target 'notarget.b' failed +$make_name: *** [notarget.b] Error 1 "; &compare_output($answer,&get_logfile(1)); @@ -126,7 +127,3 @@ unlink @touchedfiles unless $keep; 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/functions/call make-dfsg-4.1/tests/scripts/functions/call --- make-dfsg-4.2.1/tests/scripts/functions/call 2016-03-21 04:44:53.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/functions/call 2016-01-16 10:25:59.000000000 +0000 @@ -4,7 +4,11 @@ $details = "Try various uses of call and ensure they all give the correct results.\n"; -run_make_test(q! +open(MAKEFILE, "> $makefile"); + +# The Contents of the MAKEFILE ... + +print MAKEFILE <<'EOMAKE'; # Simple, just reverse two things # reverse = $2 $1 @@ -44,22 +48,35 @@ echo '$(call my-foreach,a,,,)'; \ echo '$(call my-if,a,b,c)'; \ echo '$(call two,bar,baz)'; \ - echo '$(call tclose,foo)'; -!, - "", "foo bar\ndefault file file\nb d f\n\n\nb\nbar foo baz\nfoo bar baz blarp quux \n"); - -# These won't work because call expands all its arguments first, before -# passing them on, then marks them as resolved/simple, so they're not -# expanded again by the function. -# -# echo '$(call my-foreach,a,x y z,$$(a)$$(a))'; \ -# echo '$(call my-if,,$$(info don't print this),$$(info do print this))' + echo '$(call tclose,foo)' + + + +EOMAKE + +# These won't work until/unless PR/1527 is resolved. +# echo '$(call my-foreach,a,x y z,$(a)$(a))'; \ +# echo '$(call my-if,,$(warning don't print this),ok)' # -# $answer = "xx yy zz\ndo print this\n"; +# $answer = "xx yy zz\nok\n"; + +# END of Contents of MAKEFILE + +close(MAKEFILE); + +&run_make_with_options($makefile, "", &get_logfile); +$answer = "foo bar\ndefault file file\nb d f\n\n\nb\nbar foo baz\nfoo bar baz blarp quux \n"; +&compare_output($answer, &get_logfile(1)); + # TEST eclipsing of arguments when invoking sub-calls -run_make_test(q! +$makefile2 = &get_tmpfile; + +open(MAKEFILE,"> $makefile2"); + +print MAKEFILE <<'EOF'; + all = $1 $2 $3 $4 $5 $6 $7 $8 $9 level1 = $(call all,$1,$2,$3,$4,$5) @@ -71,8 +88,13 @@ @echo $(call level1,1,2,3,4,5,6,7,8) @echo $(call level2,1,2,3,4,5,6,7,8) @echo $(call level3,1,2,3,4,5,6,7,8) -!, - "", "1 2 3 4 5 6 7 8 9\n1 2 3 4 5\n1 2 3\n1 2 3\n"); +EOF + +close(MAKEFILE); + +&run_make_with_options($makefile2, "", &get_logfile); +$answer = "1 2 3 4 5 6 7 8 9\n1 2 3 4 5\n1 2 3\n1 2 3\n"; +&compare_output($answer,&get_logfile(1)); # Ensure that variables are defined in global scope even in a $(call ...) @@ -86,7 +108,3 @@ '', "\n"); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/functions/error make-dfsg-4.1/tests/scripts/functions/error --- make-dfsg-4.2.1/tests/scripts/functions/error 2016-04-11 11:50:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/functions/error 2016-01-16 10:25:59.000000000 +0000 @@ -54,7 +54,7 @@ # Test #4 &run_make_with_options($makefile, "ERROR4=definitely", &get_logfile, 512); -$answer = "Some stuff\n$makefile:17: *** error is definitely. Stop.\n"; +$answer = "Some stuff\n$makefile:16: *** error is definitely. Stop.\n"; &compare_output($answer,&get_logfile(1)); # Test #5 @@ -66,6 +66,8 @@ # This tells the test driver that the perl test script executed properly. 1; -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: + + + + + diff -Nru make-dfsg-4.2.1/tests/scripts/functions/file make-dfsg-4.1/tests/scripts/functions/file --- make-dfsg-4.2.1/tests/scripts/functions/file 2016-03-20 19:21:35.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/functions/file 2016-01-16 10:25:59.000000000 +0000 @@ -115,47 +115,4 @@ unlink('file.out'); -# Reading files -run_make_test(q! -$(file >file.out,A = foo) -X1 := $(file >file.out,B = bar) -$(eval $(file )', '', - "#MAKEFILE#:1: *** file: missing filename. Stop.\n", 512); - -run_make_test('$(file >>)', '', - "#MAKEFILE#:1: *** file: missing filename. Stop.\n", 512); - -run_make_test('$(file <)', '', - "#MAKEFILE#:1: *** file: missing filename. Stop.\n", 512); - -# Bad call - -run_make_test('$(file foo)', '', - "#MAKEFILE#:1: *** file: invalid file operation: foo. Stop.\n", 512); - 1; diff -Nru make-dfsg-4.2.1/tests/scripts/functions/foreach make-dfsg-4.1/tests/scripts/functions/foreach --- make-dfsg-4.2.1/tests/scripts/functions/foreach 2016-03-21 04:44:53.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/functions/foreach 2016-01-16 10:25:59.000000000 +0000 @@ -53,26 +53,8 @@ '', 'FOREACH'); -# Allow variable names with trailing space -run_make_test(q! -$(foreach \ - a \ -, b c d \ -, $(info $a)) -all:;@: -!, - "", "b\nc\nd\n"); -# Allow empty variable names. We still expand the body. - -run_make_test(' -x = $(foreach ,1 2 3,a) -y := $x - -all: ; @echo $y', - '', "a a a\n"); - -# Check some error conditions. +# TEST 2: Check some error conditions. run_make_test(' x = $(foreach ) @@ -84,12 +66,12 @@ 512); run_make_test(' -x = $(foreach x,y) +x = $(foreach ) y := $x all: ; @echo $y', '', - "#MAKEFILE#:2: *** insufficient number of arguments (2) to function 'foreach'. Stop.", + "#MAKEFILE#:2: *** insufficient number of arguments (1) to function 'foreach'. Stop.", 512); 1; diff -Nru make-dfsg-4.2.1/tests/scripts/functions/shell make-dfsg-4.1/tests/scripts/functions/shell --- make-dfsg-4.2.1/tests/scripts/functions/shell 2016-04-11 11:50:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/functions/shell 2016-01-16 10:25:59.000000000 +0000 @@ -4,26 +4,11 @@ $details = ''; -# Test standard shell -run_make_test('.PHONY: all -OUT := $(shell echo hi) -all: ; @echo $(OUT) - ','','hi'); # Test shells inside rules. run_make_test('.PHONY: all all: ; @echo $(shell echo hi) - ','','hi'); - -# Verify .SHELLSTATUS -run_make_test('.PHONY: all -PRE := $(.SHELLSTATUS) -$(shell exit 0) -OK := $(.SHELLSTATUS) -$(shell exit 1) -BAD := $(.SHELLSTATUS) -all: ; @echo PRE=$(PRE) OK=$(OK) BAD=$(BAD) - ','','PRE= OK=0 BAD=1'); +','','hi'); # Test unescaped comment characters in shells. Savannah bug #20513 @@ -42,19 +27,6 @@ export HI = $(shell echo hi) .PHONY: all all: ; @echo $$HI - ','','hi'); - -# Test shell errors in recipes including offset -run_make_test(' -all: - @echo hi - $(shell ./basdfdfsed there) - @echo there -', - '', "#MAKE#: ./basdfdfsed: Command not found\nhi\nthere\n"); +','','hi'); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/functions/sort make-dfsg-4.1/tests/scripts/functions/sort --- make-dfsg-4.2.1/tests/scripts/functions/sort 2016-03-21 12:39:23.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/functions/sort 2016-01-16 10:25:59.000000000 +0000 @@ -42,10 +42,6 @@ run_make_test("FOO = a b\tc\rd\fe \f \f \f \f \ff all: ; \@echo \$(words \$(sort \$(FOO)))\n", - '', "6\n"); + '', "5\n"); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/functions/warning make-dfsg-4.1/tests/scripts/functions/warning --- make-dfsg-4.2.1/tests/scripts/functions/warning 2016-04-11 11:50:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/functions/warning 2016-01-16 10:25:59.000000000 +0000 @@ -52,32 +52,14 @@ # Test #4 &run_make_with_options($makefile, "WARNING4=definitely", &get_logfile, 0); -$answer = "Some stuff\n$makefile:15: warning is definitely\nhi\nthere\n"; +$answer = "Some stuff\n$makefile:14: warning is definitely\nhi\nthere\n"; &compare_output($answer,&get_logfile(1)); -# Test linenumber offset - -run_make_test(q! -all: one two - $(warning in $@ line 3) - @true - $(warning in $@ line 5) - -one two: - $(warning in $@ line 8) - @true - $(warning in $@ line 10) -!, - '', "#MAKEFILE#:8: in one line 8 -#MAKEFILE#:10: in one line 10 -#MAKEFILE#:8: in two line 8 -#MAKEFILE#:10: in two line 10 -#MAKEFILE#:3: in all line 3 -#MAKEFILE#:5: in all line 5\n"); - # This tells the test driver that the perl test script executed properly. 1; -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: + + + + + diff -Nru make-dfsg-4.2.1/tests/scripts/misc/bs-nl make-dfsg-4.1/tests/scripts/misc/bs-nl --- make-dfsg-4.2.1/tests/scripts/misc/bs-nl 2016-03-23 05:13:43.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/misc/bs-nl 2016-01-16 10:25:59.000000000 +0000 @@ -125,103 +125,5 @@ run_make_with_options($m2, '', get_logfile()); compare_output("foo bar\n", get_logfile(1)); -# Test different types of whitespace, and bsnl inside functions - -sub xlate -{ - $_ = $_[0]; - s/\\r/\r/g; - s/\\t/\t/g; - s/\\f/\f/g; - s/\\v/\v/g; - s/\\n/\n/g; - return $_; -} - -run_make_test(xlate(q! -$(foreach\r a \t , b\t c \r ,$(info $a \r ) ) -all:;@: -!), - '', "b \r \nc \r \n"); - -run_make_test(xlate(q! -all:;@:$(foreach\r a \t , b\t c \r ,$(info $a \r ) ) -!), - '', "b \r \nc \r \n"); - -run_make_test(xlate(q! -$(foreach \ -\r a \t\ - , b\t \ - c \r ,$(info \ - $a \r ) \ - ) -all:;@: -!), - '', "b \r \nc \r \n"); - -run_make_test(xlate(q! -all:;@:$(foreach \ -\r a \t\ - , b\t \ - c \r ,$(info \ - $a \r ) \ - ) -!), - '', "b \r \nc \r \n"); - -run_make_test(xlate(q! -define FOO -$(foreach -\r a \t - , b\t - c \r ,$(info - $a \r ) - ) -endef -$(FOO) -all:;@: -!), - '', "b \r \nc \r \n"); - -run_make_test(xlate(q! -define FOO -$(foreach -\r a \t - , b\t - c \r ,$(info - $a \r ) - ) -endef -all:;@:$(FOO) -!), - '', "b \r \nc \r \n"); - -# Test variables in recipes that expand to multiple lines - -run_make_test(q! -define var - -echo foo - - -echo bar -endef -all:;$(var) -!, - '', "echo foo\nfoo\necho bar\nbar\n"); - -run_make_test(q! -define var - -echo foo - -@ - -echo bar -endef -all:;$(var) -!, - '', "echo foo\nfoo\necho bar\nbar\n"); 1; diff -Nru make-dfsg-4.2.1/tests/scripts/misc/fopen-fail make-dfsg-4.1/tests/scripts/misc/fopen-fail --- make-dfsg-4.2.1/tests/scripts/misc/fopen-fail 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/misc/fopen-fail 2018-04-17 12:38:17.000000000 +0000 @@ -7,9 +7,6 @@ # since it's hard to know what it will be, exactly. # See Savannah bug #27374. -# Use a longer-than-normal timeout: some systems have more FDs available? -# We also set ulimit -n 512 in check-regression in Makefile.am, which see. -# See Savannah bug #42390. run_make_test(q! include $(lastword $(MAKEFILE_LIST)) !, diff -Nru make-dfsg-4.2.1/tests/scripts/misc/general3 make-dfsg-4.1/tests/scripts/misc/general3 --- make-dfsg-4.2.1/tests/scripts/misc/general3 2016-03-20 18:23:22.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/misc/general3 2016-01-16 10:25:59.000000000 +0000 @@ -310,6 +310,4 @@ hi foo bar'); -run_make_test('x:;@-exit 1', '', "#MAKE#: [#MAKEFILE#:1: x] Error 1 (ignored)\n"); - 1; diff -Nru make-dfsg-4.2.1/tests/scripts/options/dash-B make-dfsg-4.1/tests/scripts/options/dash-B --- make-dfsg-4.2.1/tests/scripts/options/dash-B 2016-04-09 23:14:34.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/options/dash-B 2016-01-16 10:25:59.000000000 +0000 @@ -45,6 +45,7 @@ foo.x: ; @touch $@ ', '-B', 'MAKE_RESTARTS= +#MAKEFILE#:4: foo.x: No such file or directory MAKE_RESTARTS=1'); rmfiles('foo.x'); @@ -62,6 +63,7 @@ blah.x: ; @echo $@ ', '-B', 'MAKE_RESTARTS= +#MAKEFILE#:4: foo.x: No such file or directory MAKE_RESTARTS=1 blah.x all'); @@ -81,7 +83,3 @@ unlink(qw(x.a x.b)); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/options/dash-k make-dfsg-4.1/tests/scripts/options/dash-k --- make-dfsg-4.2.1/tests/scripts/options/dash-k 2016-03-20 18:23:22.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/options/dash-k 2016-01-16 10:25:59.000000000 +0000 @@ -42,7 +42,7 @@ "$workdir${pathsep}command.h", "$workdir${pathsep}commands.c","$workdir${pathsep}display.c", "$workdir${pathsep}buffer.h", - "$workdir${pathsep}command.c"); + "$workdir${pathsep}command.c"); &touch(@files_to_touch); @@ -92,7 +92,8 @@ &run_make_with_options($makefile2, "-k", &get_logfile, $error_code); $answer = "exit 1 -$make_name: *** [$makefile2:9: foo.o] Error 1 +$makefile2:9: recipe for target 'foo.o' failed +$make_name: *** [foo.o] Error 1 $make_name: Target 'all' not remade because of errors.\n"; &compare_output($answer, &get_logfile(1)); diff -Nru make-dfsg-4.2.1/tests/scripts/options/dash-n make-dfsg-4.1/tests/scripts/options/dash-n --- make-dfsg-4.2.1/tests/scripts/options/dash-n 2016-03-21 16:31:13.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/options/dash-n 2016-01-16 10:25:59.000000000 +0000 @@ -92,7 +92,7 @@ close(MAKEFILE); &run_make_with_options($topmake, '-n --no-print-directory', &get_logfile); -$answer = "$make_command -f \"$submake\" bar\ntouch inc\necho n --no-print-directory\n"; +$answer = "$make_path -f \"$submake\" bar\ntouch inc\necho n --no-print-directory\n"; &compare_output($answer, &get_logfile(1)); unlink('inc'); diff -Nru make-dfsg-4.2.1/tests/scripts/options/dash-W make-dfsg-4.1/tests/scripts/options/dash-W --- make-dfsg-4.2.1/tests/scripts/options/dash-W 2016-04-09 23:13:47.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/options/dash-W 2016-01-16 10:25:59.000000000 +0000 @@ -42,7 +42,8 @@ bar.x: ; echo >> $@ baz.x: bar.x ; @echo "touch $@" ', - '', 'echo >> bar.x + '', '#MAKEFILE#:3: foo.x: No such file or directory +echo >> bar.x touch foo.x restarts=1 touch baz.x'); @@ -85,7 +86,3 @@ rmdir('x-dir'); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/options/print-directory make-dfsg-4.1/tests/scripts/options/print-directory --- make-dfsg-4.2.1/tests/scripts/options/print-directory 2016-04-09 23:16:23.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/options/print-directory 2016-01-16 10:25:59.000000000 +0000 @@ -18,7 +18,7 @@ all: ;@: foo: ; touch foo !, - "", "touch foo\n"); + "", "#MAKEFILE#:2: foo: No such file or directory\ntouch foo\n"); unlink('foo'); # Test makefile rebuild with -w @@ -27,7 +27,7 @@ all: ;@: foo: ; touch foo !, - "-w", "#MAKE#: Entering directory '#PWD#'\ntouch foo\n#MAKE#: Leaving directory '#PWD#'\n"); + "-w", "#MAKE#: Entering directory '#PWD#'\n#MAKEFILE#:2: foo: No such file or directory\ntouch foo\n#MAKE#: Leaving directory '#PWD#'\n"); unlink('foo'); 1; diff -Nru make-dfsg-4.2.1/tests/scripts/targets/DELETE_ON_ERROR make-dfsg-4.1/tests/scripts/targets/DELETE_ON_ERROR --- make-dfsg-4.2.1/tests/scripts/targets/DELETE_ON_ERROR 2016-05-31 07:17:26.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/targets/DELETE_ON_ERROR 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#! -*-perl-*- - -$description = "Test the behaviour of the .DELETE_ON_ERROR target."; - -$details = ""; - -run_make_test(' -.DELETE_ON_ERROR: -all: ; exit 1 > $@ -', - '', "exit 1 > all\n#MAKE#: *** [#MAKEFILE#:3: all] Error 1\n#MAKE#: *** Deleting file 'all'", 512); - -run_make_test(' -.DELETE_ON_ERROR: -all: foo.x ; -%.x : %.q ; echo > $@ -%.q : ; exit 1 > $@ -', - '', "exit 1 > foo.q\n#MAKE#: *** [#MAKEFILE#:5: foo.q] Error 1\n#MAKE#: *** Deleting file 'foo.q'", 512); - -# This tells the test driver that the perl test script executed properly. -1; diff -Nru make-dfsg-4.2.1/tests/scripts/targets/POSIX make-dfsg-4.1/tests/scripts/targets/POSIX --- make-dfsg-4.2.1/tests/scripts/targets/POSIX 2016-03-20 18:23:22.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/targets/POSIX 2018-04-17 12:38:17.000000000 +0000 @@ -17,7 +17,8 @@ .POSIX: all: ; \@$script !, - '', "#MAKE#: *** [#MAKEFILE#:3: all] Error $err\n", 512); + '', "#MAKEFILE#:3: recipe for target 'all' failed +#MAKE#: *** [all] Error $err\n", 512); # User settings must override .POSIX $flags = '-xc'; @@ -30,7 +31,7 @@ '', $out); # Test the default value of various POSIX-specific variables -my %POSIX = (AR => 'ar', ARFLAGS => '-rv', +my %POSIX = (AR => 'ar', ARFLAGS => 'rvU', YACC => 'yacc', YFLAGS => '', LEX => 'lex', LFLAGS => '', LDFLAGS => '', diff -Nru make-dfsg-4.2.1/tests/scripts/variables/MAKEFLAGS make-dfsg-4.1/tests/scripts/variables/MAKEFLAGS --- make-dfsg-4.2.1/tests/scripts/variables/MAKEFLAGS 2016-04-04 05:38:37.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/variables/MAKEFLAGS 2016-01-16 10:25:59.000000000 +0000 @@ -39,7 +39,3 @@ print Works: MAKEFLAGS=e --no-print-directory'); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/variables/MAKE_RESTARTS make-dfsg-4.1/tests/scripts/variables/MAKE_RESTARTS --- make-dfsg-4.2.1/tests/scripts/variables/MAKE_RESTARTS 2016-04-09 23:12:48.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/variables/MAKE_RESTARTS 2016-01-16 10:25:59.000000000 +0000 @@ -11,6 +11,7 @@ foo.x: ; @touch $@ ', '', 'MAKE_RESTARTS= +#MAKEFILE#:4: foo.x: No such file or directory MAKE_RESTARTS=1'); rmfiles('foo.x'); @@ -25,7 +26,9 @@ bar.x: ; @touch $@ ', '', 'MAKE_RESTARTS= +#MAKEFILE#:4: foo.x: No such file or directory MAKE_RESTARTS=1 +foo.x:1: bar.x: No such file or directory MAKE_RESTARTS=2'); rmfiles('foo.x', 'bar.x'); @@ -44,7 +47,9 @@ bar.x: ; @touch $@ ', '', "MAKE_RESTARTS= +#MAKEFILE#:8: foo.x: No such file or directory MAKE_RESTARTS=1 +foo.x:1: bar.x: No such file or directory MAKE_RESTARTS=2 recurse MAKE_RESTARTS= #MAKE#[1]: Entering directory '#PWD#' @@ -55,7 +60,3 @@ rmfiles('foo.x', 'bar.x'); 1; - -### Local Variables: -### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) -### End: diff -Nru make-dfsg-4.2.1/tests/scripts/variables/SHELL make-dfsg-4.1/tests/scripts/variables/SHELL --- make-dfsg-4.2.1/tests/scripts/variables/SHELL 2016-03-20 18:23:22.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/variables/SHELL 2016-01-16 10:25:59.000000000 +0000 @@ -97,6 +97,7 @@ .SHELLFLAGS = $flags all: ; \@$script !, - '', "$out#MAKE#: *** [#MAKEFILE#:3: all] Error $err\n", 512); + '', "$out#MAKEFILE#:3: recipe for target 'all' failed +#MAKE#: *** [all] Error $err\n", 512); 1; diff -Nru make-dfsg-4.2.1/tests/scripts/variables/special make-dfsg-4.1/tests/scripts/variables/special --- make-dfsg-4.2.1/tests/scripts/variables/special 2016-03-20 18:23:22.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/variables/special 2016-01-16 10:25:59.000000000 +0000 @@ -14,22 +14,14 @@ BAR := bar -all: ; @echo X1 = $(X1); echo X2 = $(X2); echo LAST = $(sort $(filter FOO BAR,$(.VARIABLES))) +all: + @echo X1 = $(X1) + @echo X2 = $(X2) + @echo LAST = $(sort $(filter FOO BAR,$(.VARIABLES))) ', '', "X1 =\nX2 = FOO\nLAST = BAR FOO\n"); -# SV 45728: Test that undefining a variable is reflected properly -&run_make_test(' -FOO := foo -BAR := bar -$(info one: $(sort $(filter FOO BAR BAZ,$(.VARIABLES)))) -undefine BAR -BAZ := baz -$(info two: $(sort $(filter FOO BAR BAZ,$(.VARIABLES)))) -all:;@: -', - '', "one: BAR FOO\ntwo: BAZ FOO\n"); # $makefile2 = &get_tmpfile; # open(MAKEFILE, "> $makefile2"); @@ -39,9 +31,9 @@ # X1 := $(sort $(.TARGETS)) # all: foo -# @echo X1 = $(X1) -# @echo X2 = $(X2) -# @echo LAST = $(sort $(.TARGETS)) +# @echo X1 = $(X1) +# @echo X2 = $(X2) +# @echo LAST = $(sort $(.TARGETS)) # X2 := $(sort $(.TARGETS)) diff -Nru make-dfsg-4.2.1/tests/scripts/vms/library make-dfsg-4.1/tests/scripts/vms/library --- make-dfsg-4.2.1/tests/scripts/vms/library 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/scripts/vms/library 1970-01-01 00:00:00.000000000 +0000 @@ -1,73 +0,0 @@ -# -*-mode: perl-*- - -$description = "Test GNU make's VMS Library management features."; - -$details = "\ -This only works on VMS systems."; - -return -1 if $osname ne 'VMS'; - -# Help library -$mk_string = "help : help.hlb(file1.hlp)\n\n" . -"file1.hlp :\n" . -"\t\@pipe open/write xxx file1.hlp ; write xxx \"1 help\" ; close xxx\n"; - -my $answer = "library /replace help.hlb file1.hlp"; - -run_make_test($mk_string, - '', $answer); - -unlink('help.hlb'); -unlink('file1.hlp'); - -#Text library -$mk_string = "text : text.tlb(file1.txt)\n\n" . -"file1.txt :\n" . -"\t\@pipe open/write xxx file1.txt ; write xxx \"text file\" ; close xxx\n"; - -my $answer = "library /replace text.tlb file1.txt"; - -run_make_test($mk_string, - '', $answer); - -unlink('text.tlb'); -unlink('file1.txt'); - - -#Macro library -$mk_string = "macro : macro.mlb(file1.mar)\n\n" . -"file1.mar :\n" . -"\t\pipe open/write xxx file1.mar ; " . -"write xxx \".macro a b\" ; write xxx \".endm\" ; close xxx\n"; - -my $answer = "library /replace macro.mlb file1.mar"; - -run_make_test($mk_string, - '', $answer); - -unlink('macro.mlb'); -unlink('file1.mar'); - -$mk_string = -"all:imagelib.olb(file2.exe)\n" . -"file2.exe : file2.obj file2.opt\n" . -"\t\@link /share=\$\@ \$\*,\$\*/opt\n\n" . -"file2.opt :\n" . -"\t\@pipe open/write xxx file2.opt ; " . -"write xxx \"CASE_SENSITIVE=YES\" ; close xxx\n" . -"file2.c :\n" . -"\t\@pipe open/write xxx file2.c ; write xxx \"file2(){}\" ; close xxx\n"; - -my $answer = "library /replace imagelib.olb file2.exe"; - -run_make_test($mk_string, - '', $answer); - -unlink('imagelib.olb'); -unlink('file2.c'); -unlink('file2.obj'); -unlink('file2.exe'); -unlink('file2.opt'); - -# This tells the test driver that the perl test script executed properly. -1; diff -Nru make-dfsg-4.2.1/tests/test_driver.pl make-dfsg-4.1/tests/test_driver.pl --- make-dfsg-4.2.1/tests/test_driver.pl 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/tests/test_driver.pl 2018-04-17 12:38:17.000000000 +0000 @@ -5,7 +5,7 @@ # Written 91-12-02 through 92-01-01 by Stephen McGee. # Modified 92-02-11 through 92-02-22 by Chris Arthur to further generalize. # -# Copyright (C) 1991-2016 Free Software Foundation, Inc. +# Copyright (C) 1991-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -30,6 +30,7 @@ # $Id$ +use BSD::Resource; # The number of test categories we've run $categories_run = 0; @@ -151,6 +152,11 @@ $makeENV{LC_ALL} = 'C'; + # HACK. On Debian, ar is now compiled with determinism, which makes + # make tests fail. Pass in the U modifier to revert that behaviour change + # If ar has not been changed, this should be a no-op. + $makeENV{ARFLAGS} = 'rvU'; + # Replace the environment with the new one # %origENV = %ENV unless $^O eq 'VMS'; @@ -542,9 +548,19 @@ $tests_run = 0; $tests_passed = 0; - + ($nowsoft, $nowhard) = getrlimit(RLIMIT_NOFILE); + if ( $testname =~ m{misc/fopen-fail}msx ) { + $test_timeout = 300; + # do a best effort bit to redice the number of fds + $success = setrlimit( RLIMIT_NOFILE, 1024, 2048 ); + } # Run the test! $code = do $perl_testname; + if ( $testname =~ m{misc/fopen-fail}msx ) { + $test_timeout = $save_timeout; + # do a best effort bit to redice the number of fds + $success = setrlimit( RLIMIT_NOFILE, $nowsoft, $nowhard ); + } ++$categories_run; $total_tests_run += $tests_run; diff -Nru make-dfsg-4.2.1/variable.c make-dfsg-4.1/variable.c --- make-dfsg-4.2.1/variable.c 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/variable.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Internals of variables for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -29,9 +29,6 @@ #endif #include "hash.h" -/* Incremented every time we add or remove a global variable. */ -static unsigned long variable_changenum; - /* Chain of all pattern-specific variables. */ static struct pattern_var *pattern_vars; @@ -196,7 +193,7 @@ define_variable_in_set (const char *name, unsigned int length, const char *value, enum variable_origin origin, int recursive, struct variable_set *set, - const floc *flocp) + const gmk_floc *flocp) { struct variable *v; struct variable **var_slot; @@ -208,39 +205,11 @@ var_key.name = (char *) name; var_key.length = length; var_slot = (struct variable **) hash_find_slot (&set->table, &var_key); - v = *var_slot; - -#ifdef VMS - /* VMS does not populate envp[] with DCL symbols and logical names which - historically are mapped to environent variables. - If the variable is not yet defined, then we need to check if getenv() - can find it. Do not do this for origin == o_env to avoid infinte - recursion */ - if (HASH_VACANT (v) && (origin != o_env)) - { - struct variable * vms_variable; - char * vname = alloca (length + 1); - char * vvalue; - - strncpy (vname, name, length); - vvalue = getenv(vname); - - /* Values starting with '$' are probably foreign commands. - We want to treat them as Shell aliases and not look them up here */ - if ((vvalue != NULL) && (vvalue[0] != '$')) - { - vms_variable = lookup_variable(name, length); - /* Refresh the slot */ - var_slot = (struct variable **) hash_find_slot (&set->table, - &var_key); - v = *var_slot; - } - } -#endif if (env_overrides && origin == o_env) origin = o_env_override; + v = *var_slot; if (! HASH_VACANT (v)) { if (env_overrides && v->origin == o_env) @@ -271,9 +240,6 @@ v->name = xstrndup (name, length); v->length = length; hash_insert_at (&set->table, v, var_slot); - if (set == &global_variable_set) - ++variable_changenum; - v->value = xstrdup (value); if (flocp != 0) v->fileinfo = *flocp; @@ -356,15 +322,12 @@ before the switches were parsed, it wasn't affected by -e. */ v->origin = o_env_override; - /* Undefine only if this undefinition is from an equal or stronger - source than the variable definition. */ + /* If the definition is from a stronger source than this one, don't + undefine it. */ if ((int) origin >= (int) v->origin) { hash_delete_at (&set->table, var_slot); free_variable_name_and_value (v); - free (v); - if (set == &global_variable_set) - ++variable_changenum; } } } @@ -382,7 +345,7 @@ static struct variable * lookup_special_var (struct variable *var) { - static unsigned long last_changenum = 0; + static unsigned long last_var_count = 0; /* This one actually turns out to be very hard, due to the way the parser @@ -410,7 +373,8 @@ else */ - if (variable_changenum != last_changenum && streq (var->name, ".VARIABLES")) + if (streq (var->name, ".VARIABLES") + && global_variable_set.table.ht_fill != last_var_count) { unsigned long max = EXPANSION_INCREMENT (strlen (var->value)); unsigned long len; @@ -446,8 +410,11 @@ } *(p-1) = '\0'; - /* Remember the current variable change number. */ - last_changenum = variable_changenum; + /* Remember how many variables are in our current count. Since we never + remove variables from the list, this is a reliable way to know whether + the list is up to date or needs to be recomputed. */ + + last_var_count = global_variable_set.table.ht_fill; } return var; @@ -483,8 +450,8 @@ } #ifdef VMS - /* VMS does not populate envp[] with DCL symbols and logical names which - historically are mapped to enviroment varables and returned by getenv() */ + /* since we don't read envp[] on startup, try to get the + variable via getenv() here. */ { char *vname = alloca (length + 1); char *value; @@ -758,8 +725,6 @@ struct variable **from_var_slot = (struct variable **) from_set->table.ht_vec; struct variable **from_var_end = from_var_slot + from_set->table.ht_size; - int inc = to_set == &global_variable_set ? 1 : 0; - for ( ; from_var_slot < from_var_end; from_var_slot++) if (! HASH_VACANT (*from_var_slot)) { @@ -767,10 +732,7 @@ struct variable **to_var_slot = (struct variable **) hash_find_slot (&to_set->table, *from_var_slot); if (HASH_VACANT (*to_var_slot)) - { - hash_insert_at (&to_set->table, from_var, to_var_slot); - variable_changenum += inc; - } + hash_insert_at (&to_set->table, from_var, to_var_slot); else { /* GKM FIXME: delete in from_set->table */ @@ -822,6 +784,7 @@ void define_automatic_variables (void) { + extern const char* default_shell; struct variable *v; char buf[200]; @@ -937,7 +900,15 @@ /* Define the magic D and F variables in terms of the automatic variables they are variations of. */ -#if defined(__MSDOS__) || defined(WINDOWS32) +#ifdef VMS + define_variable_cname ("@D", "$(dir $@)", o_automatic, 1); + define_variable_cname ("%D", "$(dir $%)", o_automatic, 1); + define_variable_cname ("*D", "$(dir $*)", o_automatic, 1); + define_variable_cname ("name, "SHELL") && shell_var.value) { v = &shell_var; @@ -1068,7 +1040,7 @@ } } - makelevel_key.name = (char *)MAKELEVEL_NAME; + makelevel_key.name = xstrdup (MAKELEVEL_NAME); makelevel_key.length = MAKELEVEL_LENGTH; hash_delete (&table, &makelevel_key); @@ -1134,7 +1106,7 @@ * result. This removes only ONE newline (if any) at the end, for maximum * compatibility with the *BSD makes. If it fails, returns NULL. */ -static char * +char * shell_result (const char *p) { char *buf; @@ -1157,7 +1129,7 @@ See the try_variable_definition() function for details on the parameters. */ struct variable * -do_variable_definition (const floc *flocp, const char *varname, +do_variable_definition (const gmk_floc *flocp, const char *varname, const char *value, enum variable_origin origin, enum variable_flavor flavor, int target_var) { @@ -1430,7 +1402,7 @@ int wspace = 0; const char *e = NULL; - NEXT_TOKEN (p); + p = next_token (p); var->name = (char *)p; var->length = 0; @@ -1447,40 +1419,38 @@ /* This begins a variable expansion reference. Make sure we don't treat chars inside the reference as assignment tokens. */ char closeparen; - unsigned int count; - + int count; c = *p++; if (c == '(') closeparen = ')'; else if (c == '{') closeparen = '}'; - else if (c == '\0') - return NULL; else /* '$$' or '$X'. Either way, nothing special to do here. */ continue; /* P now points past the opening paren or brace. Count parens or braces until it is matched. */ - for (count = 1; *p != '\0'; ++p) + count = 0; + for (; *p != '\0'; ++p) { - if (*p == closeparen && --count == 0) + if (*p == c) + ++count; + else if (*p == closeparen && --count < 0) { ++p; break; } - if (*p == c) - ++count; } continue; } /* If we find whitespace skip it, and remember we found it. */ - if (ISBLANK (c)) + if (isblank ((unsigned char)c)) { wspace = 1; e = p - 1; - NEXT_TOKEN (p); + p = next_token (p); c = *p; if (c == '\0') return NULL; @@ -1592,7 +1562,7 @@ returned. */ struct variable * -try_variable_definition (const floc *flocp, const char *line, +try_variable_definition (const gmk_floc *flocp, const char *line, enum variable_origin origin, int target_var) { struct variable v; @@ -1656,7 +1626,7 @@ fputs (" private", stdout); if (v->fileinfo.filenm) printf (_(" (from '%s', line %lu)"), - v->fileinfo.filenm, v->fileinfo.lineno + v->fileinfo.offset); + v->fileinfo.filenm, v->fileinfo.lineno); putchar ('\n'); fputs (prefix, stdout); @@ -1737,7 +1707,7 @@ { struct pattern_var *p; - unsigned int rules = 0; + int rules = 0; for (p = pattern_vars; p != 0; p = p->next) { diff -Nru make-dfsg-4.2.1/variable.h make-dfsg-4.1/variable.h --- make-dfsg-4.2.1/variable.h 2016-05-21 20:22:32.000000000 +0000 +++ make-dfsg-4.1/variable.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for using variables in GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -51,7 +51,7 @@ { char *name; /* Variable name. */ char *value; /* Variable value. */ - floc fileinfo; /* Where the variable was defined. */ + gmk_floc fileinfo; /* Where the variable was defined. */ int length; /* strlen (name) */ unsigned int recursive:1; /* Gets recursively re-evaluated. */ unsigned int append:1; /* Nonzero if an appending target-specific @@ -110,7 +110,6 @@ extern char *variable_buffer; extern struct variable_set_list *current_variable_set_list; extern struct variable *default_goal_var; -extern struct variable shell_var; /* expand.c */ char *variable_buffer_output (char *ptr, const char *string, unsigned int length); @@ -135,7 +134,7 @@ const char *replace_percent); char *patsubst_expand (char *o, const char *text, char *pattern, char *replace); char *func_shell_base (char *o, char **argv, int trim_newlines); -void shell_completed (int exit_code, int exit_sig); + /* expand.c */ char *recursively_expand_for_file (struct variable *v, struct file *file); @@ -149,10 +148,11 @@ void define_automatic_variables (void); void initialize_file_variables (struct file *file, int reading); void print_file_variables (const struct file *file); +void print_file_variables (const struct file *file); void print_target_variables (const struct file *file); void merge_variable_set_lists (struct variable_set_list **to_list, struct variable_set_list *from_list); -struct variable *do_variable_definition (const floc *flocp, +struct variable *do_variable_definition (const gmk_floc *flocp, const char *name, const char *value, enum variable_origin origin, enum variable_flavor flavor, @@ -160,12 +160,12 @@ char *parse_variable_definition (const char *line, struct variable *v); struct variable *assign_variable_definition (struct variable *v, const char *line); -struct variable *try_variable_definition (const floc *flocp, const char *line, +struct variable *try_variable_definition (const gmk_floc *flocp, const char *line, enum variable_origin origin, int target_var); void init_hash_global_variable_set (void); void hash_init_function_table (void); -void define_new_function(const floc *flocp, const char *name, +void define_new_function(const gmk_floc *flocp, const char *name, unsigned int min, unsigned int max, unsigned int flags, gmk_func_ptr func); struct variable *lookup_variable (const char *name, unsigned int length); @@ -177,7 +177,7 @@ enum variable_origin origin, int recursive, struct variable_set *set, - const floc *flocp); + const gmk_floc *flocp); /* Define a variable in the current variable set. */ diff -Nru make-dfsg-4.2.1/version.c make-dfsg-4.1/version.c --- make-dfsg-4.2.1/version.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/version.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Record version and build host architecture for GNU make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/vmsdir.h make-dfsg-4.1/vmsdir.h --- make-dfsg-4.2.1/vmsdir.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/vmsdir.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* dirent.h for vms -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/vms_exit.c make-dfsg-4.1/vms_exit.c --- make-dfsg-4.2.1/vms_exit.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/vms_exit.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,95 +0,0 @@ -/* vms_exit.c - * - * Wrapper for the VMS exit() command to tranlate UNIX codes to be - * encoded for POSIX, but also have VMS severity levels. - * The posix_exit() variant only sets a severity level for status code 1. - * - * Author: John E. Malmberg - */ - -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. - -GNU Make 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. - -GNU Make 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 -this program. If not, see . */ - - -/* Per copyright assignment agreement with the Free Software Foundation - this software may be available under under other license agreements - and copyrights. */ - -#include - -#include -void -decc$exit (int status); -#ifndef C_FACILITY_NO -# define C_FACILITY_NO 0x350000 -#endif - -/* Lowest legal non-success VMS exit code is 8 */ -/* GNU make only defines codes 0, 1, 2 */ -/* So assume any exit code > 8 is a VMS exit code */ - -#ifndef MAX_EXPECTED_EXIT_CODE -# define MAX_EXPECTED_EXIT_CODE 7 -#endif - -/* Build a Posix Exit with VMS severity */ -void -vms_exit (int status) -{ - int vms_status; - /* Fake the __posix_exit with severity added */ - /* Undocumented correct way to do this. */ - vms_status = 0; - - /* The default DECC definition is not compatible with doing a POSIX_EXIT */ - /* So fix it. */ - if (status == EXIT_FAILURE) - status = MAKE_FAILURE; - - /* Trivial case exit success */ - if (status == 0) - decc$exit (STS$K_SUCCESS); - - /* Is this a VMS status then just take it */ - if (status > MAX_EXPECTED_EXIT_CODE) - { - /* Make sure that the message inhibit is set since message has */ - /* already been displayed. */ - vms_status = status | STS$M_INHIB_MSG; - decc$exit (vms_status); - } - - /* Unix status codes are limited to 1 byte, so anything larger */ - /* is a probably a VMS exit code and needs to be passed through */ - /* A lower value can be set for a macro. */ - /* Status 0 is always passed through as it is converted to SS$_NORMAL */ - /* Always set the message inhibit bit */ - vms_status = C_FACILITY_NO | 0xA000 | STS$M_INHIB_MSG; - vms_status |= (status << 3); - - /* STS$K_ERROR is for status that stops makefile that a simple */ - /* Rerun of the makefile will not fix. */ - - if (status == MAKE_FAILURE) - vms_status |= STS$K_ERROR; - else if (status == MAKE_TROUBLE) - { - /* Make trouble is for when make was told to do nothing and */ - /* found that a target was not up to date. Since a second */ - /* of make will produce the same condition, this is of */ - /* Error severity */ - vms_status |= STS$K_ERROR; - } - decc$exit (vms_status); -} diff -Nru make-dfsg-4.2.1/vms_export_symbol.c make-dfsg-4.1/vms_export_symbol.c --- make-dfsg-4.2.1/vms_export_symbol.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/vms_export_symbol.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,527 +0,0 @@ -/* File: vms_export_symbol.c - * - * Some programs need special environment variables deported as DCL - * DCL symbols. - */ - -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. - -GNU Make 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. - -GNU Make 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 -this program. If not, see . */ - - -/* Per copyright assignment agreement with the Free Software Foundation - this software may be available under under other license agreements - and copyrights. */ - - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#pragma member_alignment save -#pragma nomember_alignment longword -struct item_list_3 -{ - unsigned short len; - unsigned short code; - void * bufadr; - unsigned short * retlen; -}; - - -#pragma member_alignment - -int -LIB$GET_SYMBOL (const struct dsc$descriptor_s * symbol, - struct dsc$descriptor_s * value, - unsigned short * value_len, - const unsigned long * table); - -int -LIB$SET_SYMBOL (const struct dsc$descriptor_s * symbol, - const struct dsc$descriptor_s * value, - const unsigned long * table); - -int -LIB$DELETE_SYMBOL (const struct dsc$descriptor_s * symbol, - const unsigned long * table); - -#define MAX_DCL_SYMBOL_LEN (255) -#if __CRTL_VER >= 70302000 && !defined(__VAX) -# define MAX_DCL_SYMBOL_VALUE (8192) -#else -# define MAX_DCL_SYMBOL_VALUE (1024) -#endif - -struct dcl_symbol -{ - struct dcl_symbol * link; - struct dsc$descriptor_s name_desc; - struct dsc$descriptor_s value_desc; - char name[MAX_DCL_SYMBOL_LEN + 1]; /* + 1 byte for null terminator */ - char value[MAX_DCL_SYMBOL_VALUE +1]; /* + 1 byte for null terminator */ - char pad[3]; /* Pad structure to longword allignment */ -}; - -static struct dcl_symbol * vms_dcl_symbol_head = NULL; - -/* Restore symbol state to original condition. */ -static unsigned long -clear_dcl_symbol (struct dcl_symbol * symbol) -{ - - const unsigned long symtbl = LIB$K_CLI_LOCAL_SYM; - int status; - - if (symbol->value_desc.dsc$w_length == (unsigned short)-1) - status = LIB$DELETE_SYMBOL (&symbol->name_desc, &symtbl); - else - status = LIB$SET_SYMBOL (&symbol->name_desc, - &symbol->value_desc, &symtbl); - return status; -} - - -/* Restore all exported symbols to their original conditions */ -static void -clear_exported_symbols (void) -{ - - struct dcl_symbol * symbol; - - symbol = vms_dcl_symbol_head; - - /* Walk the list of symbols. This is done durring exit, - * so no need to free memory. - */ - while (symbol != NULL) - { - clear_dcl_symbol (symbol); - symbol = symbol->link; - } - -} - - -/* Restore the symbol back to the original value - * symbol name is either a plain name or of the form "symbol=name" where - * the name portion is ignored. - */ -void -vms_restore_symbol (const char * string) -{ - - struct dcl_symbol * symbol; - char name[MAX_DCL_SYMBOL_LEN + 1]; - int status; - char * value; - int name_len; - - symbol = vms_dcl_symbol_head; - - /* Isolate the name from the value */ - value = strchr (string, '='); - if (value != NULL) - { - /* Copy the name from the string */ - name_len = (value - string); - } - else - name_len = strlen (string); - - if (name_len > MAX_DCL_SYMBOL_LEN) - name_len = MAX_DCL_SYMBOL_LEN; - - strncpy (name, string, name_len); - name[name_len] = 0; - - /* Walk the list of symbols. The saved symbol is not freed - * symbols are likely to be overwritten multiple times, so this - * saves time in saving them each time. - */ - while (symbol != NULL) - { - int result; - result = strcmp (symbol->name, name); - if (result == 0) - { - clear_dcl_symbol (symbol); - break; - } - symbol = symbol->link; - } -} - -int -vms_export_dcl_symbol (const char * name, const char * value) -{ - - struct dcl_symbol * symbol; - struct dcl_symbol * next; - struct dcl_symbol * link; - int found; - const unsigned long symtbl = LIB$K_CLI_LOCAL_SYM; - struct dsc$descriptor_s value_desc; - int string_len; - int status; - char new_value[MAX_DCL_SYMBOL_VALUE + 1]; - char * dollarp; - - next = vms_dcl_symbol_head; - link = vms_dcl_symbol_head; - - /* Is symbol already exported? */ - found = 0; - while ((found == 0) && (link != NULL)) - { - int x; - found = !strncasecmp (link->name, name, MAX_DCL_SYMBOL_LEN); - if (found) - symbol = link; - next = link; - link = link->link; - } - - /* New symbol, set it up */ - if (found == 0) - { - symbol = malloc (sizeof (struct dcl_symbol)); - if (symbol == NULL) - return SS$_INSFMEM; - - /* Construct the symbol descriptor, used for both saving - * the old symbol and creating the new symbol. - */ - symbol->name_desc.dsc$w_length = strlen (name); - if (symbol->name_desc.dsc$w_length > MAX_DCL_SYMBOL_LEN) - symbol->name_desc.dsc$w_length = MAX_DCL_SYMBOL_LEN; - - strncpy (symbol->name, name, symbol->name_desc.dsc$w_length); - symbol->name[symbol->name_desc.dsc$w_length] = 0; - symbol->name_desc.dsc$a_pointer = symbol->name; - symbol->name_desc.dsc$b_dtype = DSC$K_DTYPE_T; - symbol->name_desc.dsc$b_class = DSC$K_CLASS_S; - - /* construct the value descriptor, used only for saving - * the old symbol. - */ - symbol->value_desc.dsc$a_pointer = symbol->value; - symbol->value_desc.dsc$w_length = MAX_DCL_SYMBOL_VALUE; - symbol->value_desc.dsc$b_dtype = DSC$K_DTYPE_T; - symbol->value_desc.dsc$b_class = DSC$K_CLASS_S; - } - - if (found == 0) - { - unsigned long old_symtbl; - unsigned short value_len; - - /* Look up the symbol */ - status = LIB$GET_SYMBOL (&symbol->name_desc, &symbol->value_desc, - &value_len, &old_symtbl); - if (!$VMS_STATUS_SUCCESS (status)) - value_len = (unsigned short)-1; - else if (old_symtbl != symtbl) - value_len = (unsigned short)-1; - - symbol->value_desc.dsc$w_length = value_len; - - /* Store it away */ - if (value_len != (unsigned short) -1) - symbol->value[value_len] = 0; - - /* Make sure atexit scheduled */ - if (vms_dcl_symbol_head == NULL) - { - vms_dcl_symbol_head = symbol; - atexit (clear_exported_symbols); - } - else - { - /* Extend the chain */ - next->link = symbol; - } - } - - /* Create or replace a symbol */ - value_desc.dsc$a_pointer = new_value; - string_len = strlen (value); - if (string_len > MAX_DCL_SYMBOL_VALUE) - string_len = MAX_DCL_SYMBOL_VALUE; - - strncpy (new_value, value, string_len); - new_value[string_len] = 0; - - /* Special handling for GNU Make. GNU Make doubles the dollar signs - * in environment variables read in from getenv(). Make exports symbols - * with the dollar signs already doubled. So all $$ must be converted - * back to $. - * If the first $ is not doubled, then do not convert at all. - */ - dollarp = strchr (new_value, '$'); - while (dollarp && dollarp[1] == '$') - { - int left; - dollarp++; - left = string_len - (dollarp - new_value - 1); - string_len--; - if (left > 0) - { - memmove (dollarp, &dollarp[1], left); - dollarp = strchr (&dollarp[1], '$'); - } - else - { - /* Ended with $$, simple case */ - dollarp[1] = 0; - break; - } - } - value_desc.dsc$w_length = string_len; - value_desc.dsc$b_dtype = DSC$K_DTYPE_T; - value_desc.dsc$b_class = DSC$K_CLASS_S; - status = LIB$SET_SYMBOL (&symbol->name_desc, &value_desc, &symtbl); - return status; -} - -/* export a DCL symbol using a string in the same syntax as putenv */ -int -vms_putenv_symbol (const char * string) -{ - - char name[MAX_DCL_SYMBOL_LEN + 1]; - int status; - char * value; - int name_len; - - /* Isolate the name from the value */ - value = strchr (string, '='); - if (value == NULL) - { - errno = EINVAL; - return -1; - } - - /* Copy the name from the string */ - name_len = (value - string); - if (name_len > MAX_DCL_SYMBOL_LEN) - name_len = MAX_DCL_SYMBOL_LEN; - - strncpy (name, string, name_len); - name[name_len] = 0; - - /* Skip past the "=" */ - value++; - - /* Export the symbol */ - status = vms_export_dcl_symbol (name, value); - - /* Convert the error to Unix format */ - if (!$VMS_STATUS_SUCCESS (status)) - { - errno = EVMSERR; - vaxc$errno = status; - return -1; - } - return 0; -} - -#if __CRTL_VER >= 70301000 -# define transpath_parm transpath -#else -static char transpath[MAX_DCL_SYMBOL_VALUE]; -#endif - -/* Helper callback routine for converting Unix paths to VMS */ -static int -to_vms_action (char * vms_spec, int flag, char * transpath_parm) -{ - strncpy (transpath, vms_spec, MAX_DCL_SYMBOL_VALUE - 1); - transpath[MAX_DCL_SYMBOL_VALUE - 1] = 0; - return 0; -} - -#ifdef __DECC -# pragma message save - /* Undocumented extra parameter use triggers a ptrmismatch warning */ -# pragma message disable ptrmismatch -#endif - -/* Create a foreign command only visible to children */ -int -create_foreign_command (const char * command, const char * image) -{ - char vms_command[MAX_DCL_SYMBOL_VALUE + 1]; - int status; - - vms_command[0] = '$'; - vms_command[1] = 0; - if (image[0] == '/') - { -#if __CRTL_VER >= 70301000 - /* Current decc$to_vms is reentrant */ - decc$to_vms (image, to_vms_action, 0, 1, &vms_command[1]); -#else - /* Older decc$to_vms is not reentrant */ - decc$to_vms (image, to_vms_action, 0, 1); - strncpy (&vms_command[1], transpath, MAX_DCL_SYMBOL_VALUE - 1); - vms_command[MAX_DCL_SYMBOL_VALUE] = 0; -#endif - } - else - { - strncpy (&vms_command[1], image, MAX_DCL_SYMBOL_VALUE - 1); - vms_command[MAX_DCL_SYMBOL_VALUE] = 0; - } - status = vms_export_dcl_symbol (command, vms_command); - - return status; -} -#ifdef __DECC -# pragma message restore -#endif - - -#ifdef DEBUG - -int -main(int argc, char ** argv, char **env) -{ - - char value[MAX_DCL_SYMBOL_VALUE +1]; - int status = 0; - int putenv_status; - int vms_status; - struct dsc$descriptor_s name_desc; - struct dsc$descriptor_s value_desc; - const unsigned long symtbl = LIB$K_CLI_LOCAL_SYM; - unsigned short value_len; - unsigned long old_symtbl; - int result; - const char * vms_command = "vms_export_symbol"; - const char * vms_image = "test_image.exe"; - const char * vms_symbol1 = "test_symbol1"; - const char * value1 = "test_value1"; - const char * vms_symbol2 = "test_symbol2"; - const char * putenv_string = "test_symbol2=value2"; - const char * value2 = "value2"; - - /* Test creating a foreign command */ - vms_status = create_foreign_command (vms_command, vms_image); - if (!$VMS_STATUS_SUCCESS (vms_status)) - { - printf("Create foreign command failed: %d\n", vms_status); - status = 1; - } - - name_desc.dsc$a_pointer = (char *)vms_command; - name_desc.dsc$w_length = strlen (vms_command); - name_desc.dsc$b_dtype = DSC$K_DTYPE_T; - name_desc.dsc$b_class = DSC$K_CLASS_S; - - value_desc.dsc$a_pointer = value; - value_desc.dsc$w_length = MAX_DCL_SYMBOL_VALUE; - value_desc.dsc$b_dtype = DSC$K_DTYPE_T; - value_desc.dsc$b_class = DSC$K_CLASS_S; - - vms_status = LIB$GET_SYMBOL (&name_desc, &value_desc, - &value_len, &old_symtbl); - if (!$VMS_STATUS_SUCCESS (vms_status)) - { - printf ("lib$get_symbol for command failed: %d\n", vms_status); - status = 1; - } - - value[value_len] = 0; - result = strncasecmp (&value[1], vms_image, value_len - 1); - if (result != 0) - { - printf ("create_foreign_command failed! expected '%s', got '%s'\n", - vms_image, &value[1]); - status = 1; - } - - /* Test exporting a symbol */ - vms_status = vms_export_dcl_symbol (vms_symbol1, value1); - if (!$VMS_STATUS_SUCCESS (vms_status)) - { - printf ("vms_export_dcl_symbol for command failed: %d\n", vms_status); - status = 1; - } - - name_desc.dsc$a_pointer = (char *)vms_symbol1; - name_desc.dsc$w_length = strlen (vms_symbol1); - vms_status = LIB$GET_SYMBOL(&name_desc, &value_desc, - &value_len, &old_symtbl); - if (!$VMS_STATUS_SUCCESS(vms_status)) - { - printf ("lib$get_symbol for command failed: %d\n", vms_status); - status = 1; - } - - value[value_len] = 0; - result = strncmp (value, value1, value_len); - if (result != 0) - { - printf ("vms_export_dcl_symbol failed! expected '%s', got '%s'\n", - value1, value); - status = 1; - } - - /* Test putenv for DCL symbols */ - putenv_status = vms_putenv_symbol (putenv_string); - if (putenv_status != 0) - { - perror ("vms_putenv_symbol"); - status = 1; - } - - name_desc.dsc$a_pointer = (char *)vms_symbol2; - name_desc.dsc$w_length = strlen(vms_symbol2); - vms_status = LIB$GET_SYMBOL (&name_desc, &value_desc, - &value_len, &old_symtbl); - if (!$VMS_STATUS_SUCCESS (vms_status)) - { - printf ("lib$get_symbol for command failed: %d\n", vms_status); - status = 1; - } - - value[value_len] = 0; - result = strncmp (value, value2, value_len); - if (result != 0) - { - printf ("vms_putenv_symbol failed! expected '%s', got '%s'\n", - value2, value); - status = 1; - } - - vms_restore_symbol (putenv_string); - vms_status = LIB$GET_SYMBOL (&name_desc, &value_desc, - &value_len, &old_symtbl); - if ($VMS_STATUS_SUCCESS (vms_status)) - { - printf ("lib$get_symbol for command succeeded, should have failed\n"); - status = 1; - } - - exit (status); -} - -#endif diff -Nru make-dfsg-4.2.1/vms_export_symbol_test.com make-dfsg-4.1/vms_export_symbol_test.com --- make-dfsg-4.2.1/vms_export_symbol_test.com 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/vms_export_symbol_test.com 1970-01-01 00:00:00.000000000 +0000 @@ -1,37 +0,0 @@ -$! VMS_EXPORT_SYMBOL_TEST.COM -$! -$! Verify the VMS_EXPORT_SYMBOL.C module -$! -$! 22-May-2014 J. Malmberg -$! -$!========================================================================= -$! -$ cc/names=(as_is)/define=(DEBUG=1,_POSIX_EXIT=1) vms_export_symbol.c -$! -$ link vms_export_symbol -$! -$ delete vms_export_symbol.obj;* -$! -$! Need a foreign command to test. -$ vms_export_symbol := $sys$disk:[]vms_export_symbol.exe -$ save_export_symbol = vms_export_symbol -$! -$ vms_export_symbol -$ if $severity .ne. 1 -$ then -$ write sys$output "Test program failed!"; -$ endif -$! -$ if vms_export_symbol .nes. save_export_symbol -$ then -$ write sys$output "Test failed to restore foreign command!" -$ endif -$ if f$type(test_export_symbol) .nes. "" -$ then -$ write sys$output "Test failed to clear exported symbol!" -$ endif -$ if f$type(test_putenv_symbol) .nes. "" -$ then -$ write sys$output "Test failed to clear putenv exported symbol!" -$ endif -$! diff -Nru make-dfsg-4.2.1/vmsfunctions.c make-dfsg-4.1/vmsfunctions.c --- make-dfsg-4.2.1/vmsfunctions.c 2016-03-09 04:40:46.000000000 +0000 +++ make-dfsg-4.1/vmsfunctions.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* VMS functions -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -118,7 +118,7 @@ struct FAB *dfab = &dir->fab; struct NAM *dnam = (struct NAM *)(dfab->fab$l_nam); if (dnam != NULL) - free (dnam->nam$l_esa); + free (dnam->nam$l_esa); free (dnam); free (dir); } diff -Nru make-dfsg-4.2.1/vmsify.c make-dfsg-4.1/vmsify.c --- make-dfsg-4.2.1/vmsify.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/vmsify.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* vmsify.c -- Module for vms <-> unix file name conversion -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/vmsjobs.c make-dfsg-4.1/vmsjobs.c --- make-dfsg-4.2.1/vmsjobs.c 2016-05-21 18:30:37.000000000 +0000 +++ make-dfsg-4.1/vmsjobs.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ /* --------------- Moved here from job.c --------------- This file must be #included in job.c, as it accesses static functions. -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -20,69 +20,13 @@ #include #include -/* TODO - VMS specific header file conditionally included in makeint.h */ - -#include -#include -void -decc$exit (int status); - -/* Lowest legal non-success VMS exit code is 8 */ -/* GNU make only defines codes 0, 1, 2 */ -/* So assume any exit code > 8 is a VMS exit code */ - -#ifndef MAX_EXPECTED_EXIT_CODE -# define MAX_EXPECTED_EXIT_CODE 7 -#endif - - -#if __CRTL_VER >= 70302000 && !defined(__VAX) -# define MAX_DCL_LINE_LENGTH 4095 -# define MAX_DCL_CMD_LINE_LENGTH 8192 -#else -# define MAX_DCL_LINE_LENGTH 255 -# define MAX_DCL_CMD_LINE_LENGTH 1024 -#endif -#define MAX_DCL_TOKEN_LENGTH 255 -#define MAX_DCL_TOKENS 127 - -enum auto_pipe { nopipe, add_pipe, dcl_pipe }; - char *vmsify (char *name, int type); static int vms_jobsefnmask = 0; -/* returns whether path is assumed to be a unix like shell. */ -int -_is_unixy_shell (const char *path) -{ - return vms_gnv_shell; -} - -#define VMS_GETMSG_MAX 256 -static char vms_strsignal_text[VMS_GETMSG_MAX + 2]; - -char * -vms_strsignal (int status) -{ - if (status <= MAX_EXPECTED_EXIT_CODE) - sprintf (vms_strsignal_text, "lib$spawn returned %x", status); - else - { - int vms_status; - unsigned short * msg_len; - unsigned char out[4]; - vms_status = SYS$GETMSG (status, &msg_len, - vms_strsignal_text, 7, *out); - } - - return vms_strsignal_text; -} - - /* Wait for nchildren children to terminate */ static void -vmsWaitForChildren (int *status) +vmsWaitForChildren(int *status) { while (1) { @@ -97,6 +41,72 @@ return; } +/* Set up IO redirection. */ + +static char * +vms_redirect (struct dsc$descriptor_s *desc, char *fname, char *ibuf) +{ + char *fptr; + char saved; + + ibuf++; + while (isspace ((unsigned char)*ibuf)) + ibuf++; + fptr = ibuf; + while (*ibuf && !isspace ((unsigned char)*ibuf)) + ibuf++; + saved = *ibuf; + *ibuf = 0; + if (strcmp (fptr, "/dev/null") != 0) + { + strcpy (fname, vmsify (fptr, 0)); + if (strchr (fname, '.') == 0) + strcat (fname, "."); + } + desc->dsc$w_length = strlen (fname); + desc->dsc$a_pointer = fname; + desc->dsc$b_dtype = DSC$K_DTYPE_T; + desc->dsc$b_class = DSC$K_CLASS_S; + + if (*fname == 0) + printf (_("Warning: Empty redirection\n")); + if (saved=='\0') + return ibuf; + *ibuf = saved; + return --ibuf; +} + + +/* found apostrophe at (p-1) + inc p until after closing apostrophe. +*/ + +static char * +vms_handle_apos (char *p) +{ + int alast; + alast = 0; + + while (*p != 0) + if (*p == '"') + if (alast) + { + alast = 0; + p++; + } + else + { + p++; + if (*p!='"') + break; + alast = 1; + } + else + p++; + + return p; +} + static int ctrlYPressed= 0; /* This is called at main or AST level. It is at AST level for DONTWAITFORCHILD and at main level otherwise. In any case it is called when a child process @@ -104,21 +114,15 @@ inner mode level AST. */ static int -vmsHandleChildTerm (struct child *child) +vmsHandleChildTerm(struct child *child) { int exit_code; register struct child *lastc, *c; int child_failed; - /* The child efn is 0 when a built-in or null command is executed - successfully with out actually creating a child. - */ - if (child->efn > 0) - { - vms_jobsefnmask &= ~(1 << (child->efn - 32)); + vms_jobsefnmask &= ~(1 << (child->efn - 32)); - lib$free_ef (&child->efn); - } + lib$free_ef (&child->efn); if (child->comname) { if (!ISDB (DB_JOBS) && !ctrlYPressed) @@ -128,40 +132,82 @@ (void) sigblock (fatal_signal_mask); - /* First check to see if this is a POSIX exit status and handle */ - if ((child->cstatus & VMS_POSIX_EXIT_MASK) == VMS_POSIX_EXIT_MASK) - { - exit_code = (child->cstatus >> 3) & 255; - if (exit_code != MAKE_SUCCESS) - child_failed = 1; - } - else - { - child_failed = !$VMS_STATUS_SUCCESS (child->cstatus); - if (child_failed) - exit_code = child->cstatus; - } + child_failed = !(child->cstatus & 1); + if (child_failed) + exit_code = child->cstatus; /* Search for a child matching the deceased one. */ lastc = 0; -#if defined(RECURSIVEJOBS) - /* I've had problems with recursive stuff and process handling */ +#if defined(RECURSIVEJOBS) /* I've had problems with recursive stuff and process handling */ for (c = children; c != 0 && c != child; lastc = c, c = c->next) ; #else c = child; #endif - if ($VMS_STATUS_SUCCESS (child->vms_launch_status)) + if (child_failed && !c->noerror && !ignore_errors_flag) { - /* Convert VMS success status to 0 for UNIX code to be happy */ - child->vms_launch_status = 0; + /* The commands failed. Write an error message, + delete non-precious targets, and abort. */ + child_error (c, c->cstatus, 0, 0, 0); + c->file->update_status = us_failed; + delete_child_targets (c); + } + else + { + if (child_failed) + { + /* The commands failed, but we don't care. */ + child_error (c, c->cstatus, 0, 0, 1); + child_failed = 0; + } + +#if defined(RECURSIVEJOBS) /* I've had problems with recursive stuff and process handling */ + /* If there are more commands to run, try to start them. */ + start_job (c); + + switch (c->file->command_state) + { + case cs_running: + /* Successfully started. */ + break; + + case cs_finished: + if (c->file->update_status != us_success) + /* We failed to start the commands. */ + delete_child_targets (c); + break; + + default: + OS (error, NILF, + _("internal error: '%s' command_state"), c->file->name); + abort (); + break; + } +#endif /* RECURSIVEJOBS */ } /* Set the state flag to say the commands have finished. */ c->file->command_state = cs_finished; notice_finished_file (c->file); +#if defined(RECURSIVEJOBS) /* I've had problems with recursive stuff and process handling */ + /* Remove the child from the chain and free it. */ + if (lastc == 0) + children = c->next; + else + lastc->next = c->next; + free_child (c); +#endif /* RECURSIVEJOBS */ + + /* There is now another slot open. */ + if (job_slots_used > 0) + --job_slots_used; + + /* If the job failed, and the -k flag was not given, die. */ + if (child_failed && !keep_going_flag) + die (exit_code); + (void) sigsetmask (sigblock (0) & ~(fatal_signal_mask)); return 1; @@ -170,6 +216,8 @@ /* VMS: Spawn a process executing the command in ARGV and return its pid. */ +#define MAXCMDLEN 200 + /* local helpers to make ctrl+c and ctrl+y working, see below */ #include #include @@ -250,584 +298,47 @@ chan = loc_chan; } -/* Check if a token is too long */ -#define INC_TOKEN_LEN_OR_RETURN(x) {token->length++; \ - if (token->length >= MAX_DCL_TOKEN_LENGTH) \ - { token->cmd_errno = ERANGE; return x; }} - -#define INC_TOKEN_LEN_OR_BREAK {token->length++; \ - if (token->length >= MAX_DCL_TOKEN_LENGTH) \ - { token->cmd_errno = ERANGE; break; }} - -#define ADD_TOKEN_LEN_OR_RETURN(add_len, x) {token->length += add_len; \ - if (token->length >= MAX_DCL_TOKEN_LENGTH) \ - { token->cmd_errno = ERANGE; return x; }} - -/* Check if we are out of space for more tokens */ -#define V_NEXT_TOKEN { if (cmd_tkn_index < MAX_DCL_TOKENS) \ - cmd_tokens[++cmd_tkn_index] = NULL; \ - else { token.cmd_errno = E2BIG; break; } \ - token.length = 0;} - - -#define UPDATE_TOKEN {cmd_tokens[cmd_tkn_index] = strdup(token.text); \ - V_NEXT_TOKEN;} - -#define EOS_ERROR(x) { if (*x == 0) { token->cmd_errno = ERANGE; break; }} - -struct token_info - { - char *text; /* Parsed text */ - int length; /* Length of parsed text */ - char *src; /* Pointer to source text */ - int cmd_errno; /* Error status of parse */ - int use_cmd_file; /* Force use of a command file */ - }; - - -/* Extract a Posix single quoted string from input line */ -static char * -posix_parse_sq (struct token_info *token) -{ - /* A Posix quoted string with no expansion unless in a string - Unix simulation means no lexical functions present. - */ - char * q; - char * p; - q = token->text; - p = token->src; - - *q++ = '"'; - p++; - INC_TOKEN_LEN_OR_RETURN (p); - - while (*p != '\'' && (token->length < MAX_DCL_TOKEN_LENGTH)) - { - EOS_ERROR (p); - if (*p == '"') - { - /* Embedded double quotes need to be doubled */ - *q++ = '"'; - INC_TOKEN_LEN_OR_BREAK; - *q = '"'; - } - else - *q = *p; - - q++; - p++; - INC_TOKEN_LEN_OR_BREAK; - } - *q++ = '"'; - p++; - INC_TOKEN_LEN_OR_RETURN (p); - *q = 0; - return p; -} - -/* Extract a Posix double quoted string from input line */ -static char * -posix_parse_dq (struct token_info *token) -{ - /* Unix mode: Any imbedded \" becomes doubled. - \t is tab, \\, \$ leading character stripped. - $ character replaced with \' unless escaped. - */ - char * q; - char * p; - q = token->text; - p = token->src; - *q++ = *p++; - INC_TOKEN_LEN_OR_RETURN (p); - while (*p != 0) - { - if (*p == '\\') - { - switch(p[1]) - { - case 't': /* Convert tabs */ - *q = '\t'; - p++; - break; - case '\\': /* Just remove leading backslash */ - case '$': - p++; - *q = *p; - break; - case '"': - p++; - *q = *p; - *q++ = '"'; - INC_TOKEN_LEN_OR_BREAK; - default: /* Pass through unchanged */ - *q++ = *p++; - INC_TOKEN_LEN_OR_BREAK; - } - INC_TOKEN_LEN_OR_BREAK; - } - else if (*p == '$' && isalpha (p[1])) - { - /* A symbol we should be able to substitute */ - *q++ = '\''; - INC_TOKEN_LEN_OR_BREAK; - *q = '\''; - INC_TOKEN_LEN_OR_BREAK; - token->use_cmd_file = 1; - } - else - { - *q = *p; - INC_TOKEN_LEN_OR_BREAK; - if (*p == '"') - { - p++; - q++; - break; - } - } - p++; - q++; - } - *q = 0; - return p; -} - -/* Extract a VMS quoted string or substitution string from input line */ -static char * -vms_parse_quotes (struct token_info *token) -{ - /* VMS mode, the \' means that a symbol substitution is starting - so while you might think you can just copy until the next - \'. Unfortunately the substitution can be a lexical function - which can contain embedded strings and lexical functions. - Messy, so both types need to be handled together. - */ - char * q; - char * p; - q = token->text; - p = token->src; - int parse_level[MAX_DCL_TOKENS + 1]; - int nest = 0; - - parse_level[0] = *p; - if (parse_level[0] == '\'') - token->use_cmd_file = 1; - - *q++ = *p++; - INC_TOKEN_LEN_OR_RETURN (p); - - - /* Copy everything until after the next single quote at nest == 0 */ - while (token->length < MAX_DCL_TOKEN_LENGTH) - { - EOS_ERROR (p); - *q = *p; - INC_TOKEN_LEN_OR_BREAK; - if ((*p == parse_level[nest]) && (p[1] != '"')) - { - if (nest == 0) - { - *q++ = *p++; - break; - } - nest--; - } - else - { - switch(*p) - { - case '\\': - /* Handle continuation on to next line */ - if (p[1] != '\n') - break; - p++; - p++; - *q = *p; - break; - case '(': - /* Parenthesis only in single quote level */ - if (parse_level[nest] == '\'') - { - nest++; - parse_level[nest] == ')'; - } - break; - case '"': - /* Double quotes only in parenthesis */ - if (parse_level[nest] == ')') - { - nest++; - parse_level[nest] == '"'; - } - break; - case '\'': - /* Symbol substitution ony in double quotes */ - if ((p[1] == '\'') && (parse_level[nest] == '"')) - { - nest++; - parse_level[nest] == '\''; - *p++ = *q++; - token->use_cmd_file = 1; - INC_TOKEN_LEN_OR_BREAK; - break; - } - *q = *p; - } - } - p++; - q++; - /* Pass through doubled double quotes */ - if ((*p == '"') && (p[1] == '"') && (parse_level[nest] == '"')) - { - *p++ = *q++; - INC_TOKEN_LEN_OR_BREAK; - *p++ = *q++; - INC_TOKEN_LEN_OR_BREAK; - } - } - *q = 0; - return p; -} - -/* Extract a $ string from the input line */ -static char * -posix_parse_dollar (struct token_info *token) -{ - /* $foo becomes 'foo' */ - char * q; - char * p; - q = token->text; - p = token->src; - token->use_cmd_file = 1; - - p++; - *q++ = '\''; - INC_TOKEN_LEN_OR_RETURN (p); - - while ((isalnum (*p)) || (*p == '_')) - { - *q++ = *p++; - INC_TOKEN_LEN_OR_BREAK; - } - *q++ = '\''; - while (1) - { - INC_TOKEN_LEN_OR_BREAK; - break; - } - *q = 0; - return p; -} - -const char *vms_filechars = "0123456789abcdefghijklmnopqrstuvwxyz" \ - "ABCDEFGHIJKLMNOPQRSTUVWXYZ[]<>:/_-.$"; - -/* Simple text copy */ -static char * -parse_text (struct token_info *token, int assignment_hack) -{ - char * q; - char * p; - int str_len; - q = token->text; - p = token->src; - - /* If assignment hack, then this text needs to be double quoted. */ - if (vms_unix_simulation && (assignment_hack == 2)) - { - *q++ = '"'; - INC_TOKEN_LEN_OR_RETURN (p); - } - - *q++ = *p++; - INC_TOKEN_LEN_OR_RETURN (p); - - while (*p != 0) - { - str_len = strspn (p, vms_filechars); - if (str_len == 0) - { - /* Pass through backslash escapes in Unix simulation - probably will not work anyway. - All any character after a ^ otherwise to support EFS. - */ - if (vms_unix_simulation && (p[0] == '\\') && (p[1] != 0)) - str_len = 2; - else if ((p[0] == '^') && (p[1] != 0)) - str_len = 2; - else if (!vms_unix_simulation && (p[0] == ';')) - str_len = 1; - - if (str_len == 0) - { - /* If assignment hack, then this needs to be double quoted. */ - if (vms_unix_simulation && (assignment_hack == 2)) - { - *q++ = '"'; - INC_TOKEN_LEN_OR_RETURN (p); - } - *q = 0; - return p; - } - } - if (str_len > 0) - { - ADD_TOKEN_LEN_OR_RETURN (str_len, p); - strncpy (q, p, str_len); - p += str_len; - q += str_len; - *q = 0; - } - } - /* If assignment hack, then this text needs to be double quoted. */ - if (vms_unix_simulation && (assignment_hack == 2)) - { - *q++ = '"'; - INC_TOKEN_LEN_OR_RETURN (p); - } - return p; -} - -/* single character copy */ -static char * -parse_char (struct token_info *token, int count) -{ - char * q; - char * p; - q = token->text; - p = token->src; - - while (count > 0) - { - *q++ = *p++; - INC_TOKEN_LEN_OR_RETURN (p); - count--; - } - *q = 0; - return p; -} - -/* Build a command string from the collected tokens - and process built-ins now -*/ -static struct dsc$descriptor_s * -build_vms_cmd (char **cmd_tokens, - enum auto_pipe use_pipe_cmd, - int append_token) +static int +nextnl(char *cmd, int l) { - struct dsc$descriptor_s *cmd_dsc; - int cmd_tkn_index; - char * cmd; - int cmd_len; - int semicolon_seen; - - cmd_tkn_index = 0; - cmd_dsc = xmalloc (sizeof (struct dsc$descriptor_s)); - - /* Empty command? */ - if (cmd_tokens[0] == NULL) - { - cmd_dsc->dsc$a_pointer = NULL; - cmd_dsc->dsc$w_length = 0; - return cmd_dsc; - } - - /* Max DCL command + 1 extra token and trailing space */ - cmd = xmalloc (MAX_DCL_CMD_LINE_LENGTH + 256); - - cmd[0] = '$'; - cmd[1] = 0; - cmd_len = 1; - - /* Handle real or auto-pipe */ - if (use_pipe_cmd == add_pipe) - { - /* We need to auto convert to a pipe command */ - strcat (cmd, "pipe "); - cmd_len += 5; - } - - semicolon_seen = 0; - while (cmd_tokens[cmd_tkn_index] != NULL) - { - - /* Check for buffer overflow */ - if (cmd_len > MAX_DCL_CMD_LINE_LENGTH) - { - errno = E2BIG; - break; - } - - /* Eliminate double ';' */ - if (semicolon_seen && (cmd_tokens[cmd_tkn_index][0] == ';')) - { - semicolon_seen = 0; - free (cmd_tokens[cmd_tkn_index++]); - if (cmd_tokens[cmd_tkn_index] == NULL) - break; - } - - /* Special handling for CD built-in */ - if (strncmp (cmd_tokens[cmd_tkn_index], "builtin_cd", 11) == 0) - { - int result; - semicolon_seen = 0; - free (cmd_tokens[cmd_tkn_index]); - cmd_tkn_index++; - if (cmd_tokens[cmd_tkn_index] == NULL) - break; - DB(DB_JOBS, (_("BUILTIN CD %s\n"), cmd_tokens[cmd_tkn_index])); - - /* TODO: chdir fails with some valid syntaxes */ - result = chdir (cmd_tokens[cmd_tkn_index]); - if (result != 0) - { - /* TODO: Handle failure better */ - free (cmd); - while (cmd_tokens[cmd_tkn_index] == NULL) - free (cmd_tokens[cmd_tkn_index++]); - cmd_dsc->dsc$w_length = -1; - cmd_dsc->dsc$a_pointer = NULL; - return cmd_dsc; - } - } - else if (strncmp (cmd_tokens[cmd_tkn_index], "exit", 5) == 0) - { - /* Copy the exit command */ - semicolon_seen = 0; - strcpy (&cmd[cmd_len], cmd_tokens[cmd_tkn_index]); - cmd_len += strlen (cmd_tokens[cmd_tkn_index]); - free (cmd_tokens[cmd_tkn_index++]); - if (cmd_len > MAX_DCL_CMD_LINE_LENGTH) - { - errno = E2BIG; - break; - } - - /* Optional whitespace */ - if (isspace (cmd_tokens[cmd_tkn_index][0])) - { - strcpy (&cmd[cmd_len], cmd_tokens[cmd_tkn_index]); - cmd_len += strlen (cmd_tokens[cmd_tkn_index]); - free (cmd_tokens[cmd_tkn_index++]); - if (cmd_len > MAX_DCL_CMD_LINE_LENGTH) - { - errno = E2BIG; - break; - } - } - - /* There should be a status, but it is optional */ - if (cmd_tokens[cmd_tkn_index][0] == ';') - continue; - - /* If Unix simulation, add '((' */ - if (vms_unix_simulation) - { - strcpy (&cmd[cmd_len], "(("); - cmd_len += 2; - if (cmd_len > MAX_DCL_CMD_LINE_LENGTH) - { - errno = E2BIG; - break; - } - } - - /* Add the parameter */ - strcpy (&cmd[cmd_len], cmd_tokens[cmd_tkn_index]); - cmd_len += strlen (cmd_tokens[cmd_tkn_index]); - free (cmd_tokens[cmd_tkn_index++]); - if (cmd_len > MAX_DCL_CMD_LINE_LENGTH) - { - errno = E2BIG; - break; - } - - /* Add " * 8) .and. %x7f8) .or. %x1035a002" */ - if (vms_unix_simulation) - { - const char *end_str = " * 8) .and. %x7f8) .or. %x1035a002"; - strcpy (&cmd[cmd_len], end_str); - cmd_len += strlen (end_str); - if (cmd_len > MAX_DCL_CMD_LINE_LENGTH) - { - errno = E2BIG; - break; - } - } - continue; - } - - /* auto pipe needs spaces before semicolon */ - if (use_pipe_cmd == add_pipe) - if (cmd_tokens[cmd_tkn_index][0] == ';') - { - cmd[cmd_len++] = ' '; - semicolon_seen = 1; - if (cmd_len > MAX_DCL_CMD_LINE_LENGTH) - { - errno = E2BIG; - break; - } - } - else - { - char ch; - ch = cmd_tokens[cmd_tkn_index][0]; - if (!(ch == ' ' || ch == '\t')) - semicolon_seen = 0; - } - - strcpy (&cmd[cmd_len], cmd_tokens[cmd_tkn_index]); - cmd_len += strlen (cmd_tokens[cmd_tkn_index]); - - free (cmd_tokens[cmd_tkn_index++]); - - /* Skip the append tokens if they exist */ - if (cmd_tkn_index == append_token) - { - free (cmd_tokens[cmd_tkn_index++]); - if (isspace (cmd_tokens[cmd_tkn_index][0])) - free (cmd_tokens[cmd_tkn_index++]); - free (cmd_tokens[cmd_tkn_index++]); - } + int instring; + instring = 0; + while (cmd[l]) + { + if (cmd[l]=='"') + instring = !instring; + else if (cmd[l]=='\n' && !instring) + return ++l; + ++l; } - - cmd[cmd_len] = 0; - cmd_dsc->dsc$w_length = cmd_len; - cmd_dsc->dsc$a_pointer = cmd; - cmd_dsc->dsc$b_dtype = DSC$K_DTYPE_T; - cmd_dsc->dsc$b_class = DSC$K_CLASS_S; - - return cmd_dsc; + return l; } - int -child_execute_job (struct child *child, char *argv) +child_execute_job (char *argv, struct child *child) { int i; - - static struct dsc$descriptor_s *cmd_dsc; + static struct dsc$descriptor_s cmddsc; static struct dsc$descriptor_s pnamedsc; + static struct dsc$descriptor_s ifiledsc; + static struct dsc$descriptor_s ofiledsc; + static struct dsc$descriptor_s efiledsc; + int have_redirection = 0; + int have_append = 0; + int have_newline = 0; + int spflags = CLI$M_NOWAIT; int status; + char *cmd = alloca (strlen (argv) + 512), *p, *q; + char ifile[256], ofile[256], efile[256]; int comnamelen; char procname[100]; - - char *p; - char *cmd_tokens[(MAX_DCL_TOKENS * 2) + 1]; /* whitespace does not count */ - char token_str[MAX_DCL_TOKEN_LENGTH + 1]; - struct token_info token; - int cmd_tkn_index; - int paren_level = 0; - enum auto_pipe use_pipe_cmd = nopipe; - int append_token = -1; - char *append_file = NULL; - int unix_echo_cmd = 0; /* Special handle Unix echo command */ - int assignment_hack = 0; /* Handle x=y command as piped command */ + int in_string; /* Parse IO redirection. */ + ifile[0] = 0; + ofile[0] = 0; + efile[0] = 0; child->comname = NULL; DB (DB_JOBS, ("child_execute_job (%s)\n", argv)); @@ -836,422 +347,313 @@ argv++; if (*argv == 0) - { - /* Only a built-in or a null command - Still need to run term AST */ - child->cstatus = VMS_POSIX_EXIT_MASK; - child->vms_launch_status = SS$_NORMAL; - /* TODO what is this "magic number" */ - child->pid = 270163; /* Special built-in */ - child->efn = 0; - vmsHandleChildTerm (child); - return 1; - } + return 0; sprintf (procname, "GMAKE_%05x", getpid () & 0xfffff); - pnamedsc.dsc$w_length = strlen (procname); + pnamedsc.dsc$w_length = strlen(procname); pnamedsc.dsc$a_pointer = procname; pnamedsc.dsc$b_dtype = DSC$K_DTYPE_T; pnamedsc.dsc$b_class = DSC$K_CLASS_S; - /* Old */ + in_string = 0; /* Handle comments and redirection. For ONESHELL, the redirection must be on the first line. Any other redirection token is handled by DCL, that is, the pipe command with redirection can be used, but it should not be used on the first line for ONESHELL. */ - - /* VMS parser notes: - 1. A token is any of DCL verbs, qualifiers, parameters, or punctuation. - 2. Only MAX_DCL_TOKENS per line in both one line or command file mode. - 3. Each token limited to MAC_DCL_TOKEN_LENGTH - 4. If the line to DCL is greater than MAX_DCL_LINE_LENGTH then a - command file must be used. - 5. Currently a command file must be used symbol substitution is to - be performed. - 6. Currently limiting command files to 2 * MAX_DCL_TOKENS. - - Build both a command file token list and command line token list - until it is determined that the command line limits are exceeded. - */ - - cmd_tkn_index = 0; - cmd_tokens[cmd_tkn_index] = NULL; - p = argv; - - token.text = token_str; - token.length = 0; - token.cmd_errno = 0; - token.use_cmd_file = 0; - - while (*p != 0) + for (p = argv, q = cmd; *p; p++, q++) { - /* We can not build this command so give up */ - if (token.cmd_errno != 0) - break; - - token.src = p; - + if (*p == '"') + in_string = !in_string; + if (in_string) + { + *q = *p; + continue; + } switch (*p) { - case '\'': - if (vms_unix_simulation || unix_echo_cmd) - { - p = posix_parse_sq (&token); - UPDATE_TOKEN; - break; - } - - /* VMS mode, the \' means that a symbol substitution is starting - so while you might think you can just copy until the next - \'. Unfortunately the substitution can be a lexical function - which can contain embedded strings and lexical functions. - Messy. - */ - p = vms_parse_quotes (&token); - UPDATE_TOKEN; - break; - case '"': - if (vms_unix_simulation) - { - p = posix_parse_dq (&token); - UPDATE_TOKEN; - break; - } - - /* VMS quoted string, can contain lexical functions with - quoted strings and nested lexical functions. - */ - p = vms_parse_quotes (&token); - UPDATE_TOKEN; - break; - - case '$': - if (vms_unix_simulation) - { - p = posix_parse_dollar (&token); - UPDATE_TOKEN; - break; - } - - /* Otherwise nothing special */ - p = parse_text (&token, 0); - UPDATE_TOKEN; + case '#': + *p-- = 0; + *q-- = 0; break; case '\\': - if (p[1] == '\n') - { - /* Line continuation, remove it */ - p += 2; - break; - } - - /* Ordinary character otherwise */ - if (assignment_hack != 0) - assignment_hack++; - if (assignment_hack > 2) - { - assignment_hack = 0; /* Reset */ - if (use_pipe_cmd == nopipe) /* force pipe use */ - use_pipe_cmd = add_pipe; - token_str[0] = ';'; /* add ; token */ - token_str[1] = 0; - UPDATE_TOKEN; - } - p = parse_text (&token, assignment_hack); - UPDATE_TOKEN; - break; - case '!': - case '#': - /* Unix '#' is VMS '!' which comments out the rest of the line. - Historically the rest of the line has been skipped. - Not quite the right thing to do, as the f$verify lexical - function works in comments. But this helps keep the line - lengths short. - */ - unix_echo_cmd = 0; - while (*p != '\n' && *p != 0) + p++; + if (*p == '\n') p++; - break; - case '(': - /* Subshell, equation, or lexical function argument start */ - p = parse_char (&token, 1); - UPDATE_TOKEN; - paren_level++; - break; - case ')': - /* Close out a paren level */ - p = parse_char (&token, 1); - UPDATE_TOKEN; - paren_level--; - /* TODO: Should we diagnose if paren_level goes negative? */ - break; - case '&': - if (isalpha (p[1]) && !vms_unix_simulation) + if (isspace ((unsigned char)*p)) { - /* VMS symbol substitution */ - p = parse_text (&token, 0); - token.use_cmd_file = 1; - UPDATE_TOKEN; - break; + do { p++; } while (isspace ((unsigned char)*p)); + p--; } - if (use_pipe_cmd == nopipe) - use_pipe_cmd = add_pipe; - if (p[1] != '&') - p = parse_char (&token, 1); - else - p = parse_char (&token, 2); - UPDATE_TOKEN; - break; - case '|': - if (use_pipe_cmd == nopipe) - use_pipe_cmd = add_pipe; - if (p[1] != '|') - p = parse_char (&token, 1); - else - p = parse_char (&token, 2); - UPDATE_TOKEN; + *q = *p; break; - case ';': - /* Separator - convert to a pipe command. */ - unix_echo_cmd = 0; case '<': - if (use_pipe_cmd == nopipe) - use_pipe_cmd = add_pipe; - p = parse_char (&token, 1); - UPDATE_TOKEN; - break; - case '>': - if (use_pipe_cmd == nopipe) - use_pipe_cmd = add_pipe; - if (p[1] == '>') + if (have_newline==0) { - /* Parsing would have been simple until support for the >> - append redirect was added. - Implementation needs: - * if not exist output file create empty - * open/append gnv$make_temp??? output_file - * define/user sys$output gnv$make_temp??? - ** And all this done before the command previously tokenized. - * command previously tokenized - * close gnv$make_temp??? - */ - p = parse_char (&token, 2); - append_token = cmd_tkn_index; - token.use_cmd_file = 1; + p = vms_redirect (&ifiledsc, ifile, p); + *q = ' '; + have_redirection = 1; } else - p = parse_char (&token, 1); - UPDATE_TOKEN; - break; - case '/': - /* Unix path or VMS option start, read until non-path symbol */ - if (assignment_hack != 0) - assignment_hack++; - if (assignment_hack > 2) - { - assignment_hack = 0; /* Reset */ - if (use_pipe_cmd == nopipe) /* force pipe use */ - use_pipe_cmd = add_pipe; - token_str[0] = ';'; /* add ; token */ - token_str[1] = 0; - UPDATE_TOKEN; - } - p = parse_text (&token, assignment_hack); - UPDATE_TOKEN; + *q = *p; break; - case ':': - if ((p[1] == 0) || isspace (p[1])) + case '>': + if (have_newline==0) { - /* Unix Null command - treat as comment until next command */ - unix_echo_cmd = 0; - p++; - while (*p != 0) + have_redirection = 1; + if (*(p-1) == '2') { - if (*p == ';') + q--; + if (strncmp (p, ">&1", 3) == 0) { - /* Remove Null command from pipeline */ - p++; - break; + p += 2; + strcpy (efile, "sys$output"); + efiledsc.dsc$w_length = strlen(efile); + efiledsc.dsc$a_pointer = efile; + efiledsc.dsc$b_dtype = DSC$K_DTYPE_T; + efiledsc.dsc$b_class = DSC$K_CLASS_S; } - p++; + else + p = vms_redirect (&efiledsc, efile, p); + } + else + { + if (*(p+1) == '>') + { + have_append = 1; + p += 1; + } + p = vms_redirect (&ofiledsc, ofile, p); } - break; + *q = ' '; } - - /* String assignment */ - /* := :== or : */ - if (p[1] != '=') - p = parse_char (&token, 1); - else if (p[2] != '=') - p = parse_char (&token, 2); - else - p = parse_char (&token, 3); - UPDATE_TOKEN; - break; - case '=': - /* = or == */ - /* If this is not an echo statement, this could be a shell - assignment. VMS requires the target to be quoted if it - is not a macro substitution */ - if (!unix_echo_cmd && vms_unix_simulation && (assignment_hack == 0)) - assignment_hack = 1; - if (p[1] != '=') - p = parse_char (&token, 1); else - p = parse_char (&token, 2); - UPDATE_TOKEN; - break; - case '+': - case '-': - case '*': - p = parse_char (&token, 1); - UPDATE_TOKEN; - break; - case '.': - /* .xxx. operation, VMS does not require the trailing . */ - p = parse_text (&token, 0); - UPDATE_TOKEN; + *q = *p; break; + case '\n': + have_newline++; default: - /* Skip repetitive whitespace */ - if (isspace (*p)) - { - p = parse_char (&token, 1); + *q = *p; + break; + } + } + *q = *p; + while (isspace ((unsigned char)*--q)) + *q = '\0'; + + +#define VMS_EMPTY_ECHO "write sys$output \"\"" + if (have_newline == 0) + { + /* multiple shells */ + if (strncmp(cmd, "builtin_", 8) == 0) + { + child->pid = 270163; + child->efn = 0; + child->cstatus = 1; - /* Force to a space or a tab */ - if ((token_str[0] != ' ') || - (token_str[0] != '\t')) - token_str[0] = ' '; - UPDATE_TOKEN; + DB(DB_JOBS, (_("BUILTIN [%s][%s]\n"), cmd, cmd + 8)); - while (isspace (*p)) + p = cmd + 8; + + if ((*(p) == 'c') && (*(p + 1) == 'd') + && ((*(p + 2) == ' ') || (*(p + 2) == '\t'))) + { + p += 3; + while ((*p == ' ') || (*p == '\t')) p++; - if (assignment_hack != 0) - assignment_hack++; - break; + DB(DB_JOBS, (_("BUILTIN CD %s\n"), p)); + if (chdir(p)) + return 0; + else + return 1; + } + else if ((*(p) == 'e') + && (*(p+1) == 'c') + && (*(p+2) == 'h') + && (*(p+3) == 'o') + && ((*(p+4) == ' ') || (*(p+4) == '\t') || (*(p+4) == '\0'))) + { + /* This is not a real builtin, it is a built in pre-processing + for the VMS/DCL echo (write sys$output) to ensure the to be echoed + string is correctly quoted (with the DCL quote character '"'). */ + char *vms_echo; + p += 4; + if (*p == '\0') + cmd = VMS_EMPTY_ECHO; + else + { + p++; + while ((*p == ' ') || (*p == '\t')) + p++; + if (*p == '\0') + cmd = VMS_EMPTY_ECHO; + else + { + vms_echo = alloca(strlen(p) + sizeof VMS_EMPTY_ECHO); + strcpy(vms_echo, VMS_EMPTY_ECHO); + vms_echo[sizeof VMS_EMPTY_ECHO - 2] = '\0'; + strcat(vms_echo, p); + strcat(vms_echo, "\""); + cmd = vms_echo; + } + } + DB (DB_JOBS, (_("BUILTIN ECHO %s->%s\n"), p, cmd)); } - - if (assignment_hack != 0) - assignment_hack++; - if (assignment_hack > 2) + else { - assignment_hack = 0; /* Reset */ - if (use_pipe_cmd == nopipe) /* force pipe use */ - use_pipe_cmd = add_pipe; - token_str[0] = ';'; /* add ; token */ - token_str[1] = 0; - UPDATE_TOKEN; + printf(_("Unknown builtin command '%s'\n"), cmd); + fflush(stdout); + return 0; } - p = parse_text (&token, assignment_hack); - if (strncasecmp (token.text, "echo", 4) == 0) - unix_echo_cmd = 1; - else if (strncasecmp (token.text, "pipe", 4) == 0) - use_pipe_cmd = dcl_pipe; - UPDATE_TOKEN; - break; } - } - - /* End up here with a list of tokens to build a command line. - Deal with errors detected during parsing. - */ - if (token.cmd_errno != 0) - { - while (cmd_tokens[cmd_tkn_index] == NULL) - free (cmd_tokens[cmd_tkn_index++]); - child->cstatus = VMS_POSIX_EXIT_MASK | (MAKE_TROUBLE << 3); - child->vms_launch_status = SS$_ABORT; - /* TODO what is this "magic number" */ - child->pid = 270163; /* Special built-in */ - child->efn = 0; - errno = token.cmd_errno; - return 0; - } - - /* Save any redirection to append file */ - if (append_token != -1) - { - int file_token; - char * lastdot; - char * lastdir; - char * raw_append_file; - file_token = append_token; - file_token++; - if (isspace (cmd_tokens[file_token][0])) - file_token++; - raw_append_file = vmsify (cmd_tokens[file_token], 0); - /* VMS DCL needs a trailing dot if null file extension */ - lastdot = strrchr(raw_append_file, '.'); - lastdir = strrchr(raw_append_file, ']'); - if (lastdir == NULL) - lastdir = strrchr(raw_append_file, '>'); - if (lastdir == NULL) - lastdir = strrchr(raw_append_file, ':'); - if ((lastdot == NULL) || (lastdot > lastdir)) - { - append_file = xmalloc (strlen (raw_append_file) + 1); - strcpy (append_file, raw_append_file); - strcat (append_file, "."); + /* expand ':' aka 'do nothing' builtin for bash and friends */ + else if (cmd[0]==':' && cmd[1]=='\0') + { + cmd = "continue"; } - else - append_file = strdup(raw_append_file); } - - cmd_dsc = build_vms_cmd (cmd_tokens, use_pipe_cmd, append_token); - if (cmd_dsc->dsc$a_pointer == NULL) + else { - if (cmd_dsc->dsc$w_length < 0) + /* todo: expand ':' aka 'do nothing' builtin for bash and friends */ + /* For 'one shell' expand all the + builtin_echo + to + write sys$output "" + where one is ......7 bytes longer. + At the same time ensure that the echo string is properly terminated. + For that, allocate a command buffer big enough for all possible expansions + (have_newline is the count), then expand, copy and terminate. */ + char *tmp_cmd; + int nloff = 0; + int vlen = 0; + int clen = 0; + int inecho; + + tmp_cmd = alloca(strlen(cmd) + (have_newline + 1) * 7 + 1); + tmp_cmd[0] = '\0'; + inecho = 0; + while (cmd[nloff]) { - free (cmd_dsc); - child->cstatus = VMS_POSIX_EXIT_MASK | (MAKE_TROUBLE << 3); - child->vms_launch_status = SS$_ABORT; - /* TODO what is this "magic number" */ - child->pid = 270163; /* Special built-in */ - child->efn = 0; - return 0; + if (inecho) + { + if (clen < nloff - 1) + { + memcpy(&tmp_cmd[vlen], &cmd[clen], nloff - clen - 1); + vlen += nloff - clen - 1; + clen = nloff; + } + inecho = 0; + tmp_cmd[vlen] = '"'; + vlen++; + tmp_cmd[vlen] = '\n'; + vlen++; + } + if (strncmp(&cmd[nloff], "builtin_", 8) == 0) + { + /* ??? */ + child->pid = 270163; + child->efn = 0; + child->cstatus = 1; + + DB (DB_JOBS, (_("BUILTIN [%s][%s]\n"), &cmd[nloff], &cmd[nloff+8])); + p = &cmd[nloff + 8]; + if ((*(p) == 'e') + && (*(p + 1) == 'c') + && (*(p + 2) == 'h') + && (*(p + 3) == 'o') + && ((*(p + 4) == ' ') || (*(p + 4) == '\t') || (*(p + 4) == '\0'))) + { + if (clen < nloff - 1) + { + memcpy(&tmp_cmd[vlen], &cmd[clen], nloff - clen - 1); + vlen += nloff - clen - 1; + clen = nloff; + if (inecho) + { + inecho = 0; + tmp_cmd[vlen] = '"'; + vlen++; + } + tmp_cmd[vlen] = '\n'; + vlen++; + } + inecho = 1; + p += 4; + while ((*p == ' ') || (*p == '\t')) + p++; + clen = p - cmd; + memcpy(&tmp_cmd[vlen], VMS_EMPTY_ECHO, + sizeof VMS_EMPTY_ECHO - 2); + vlen += sizeof VMS_EMPTY_ECHO - 2; + } + else + { + printf (_("Builtin command is unknown or unsupported in .ONESHELL: '%s'\n"), &cmd[nloff]); + fflush(stdout); + return 0; + } + } + nloff = nextnl(cmd, nloff + 1); + } + if (clen < nloff) + { + memcpy(&tmp_cmd[vlen], &cmd[clen], nloff - clen); + vlen += nloff - clen; + clen = nloff; + if (inecho) + { + inecho = 0; + tmp_cmd[vlen] = '"'; + vlen++; + } } - /* Only a built-in or a null command - Still need to run term AST */ - free (cmd_dsc); - child->cstatus = VMS_POSIX_EXIT_MASK; - child->vms_launch_status = SS$_NORMAL; - /* TODO what is this "magic number" */ - child->pid = 270163; /* Special built-in */ - child->efn = 0; - vmsHandleChildTerm (child); - return 1; - } - - if (cmd_dsc->dsc$w_length > MAX_DCL_LINE_LENGTH) - token.use_cmd_file = 1; + tmp_cmd[vlen] = '\0'; - DB(DB_JOBS, (_("DCL: %s\n"), cmd_dsc->dsc$a_pointer)); + cmd = tmp_cmd; + } - /* Enforce the creation of a command file if "vms_always_use_cmd_file" is - non-zero. +#ifdef USE_DCL_COM_FILE + /* Enforce the creation of a command file. + Then all the make environment variables are written as DCL symbol + assignments into the command file as well, so that they are visible + in the sub-process but do not affect the current process. Further, this way DCL reads the input stream and therefore does 'forced' symbol substitution, which it doesn't do for one-liners when - they are 'lib$spawn'ed. - - Otherwise the behavior is: - - Create a *.com file if either the command is too long for - lib$spawn, or if a redirect appending to a file is desired, or - symbol substitition. - */ - - if (vms_always_use_cmd_file || token.use_cmd_file) + they are 'lib$spawn'ed. */ +#else + /* Create a *.com file if either the command is too long for + lib$spawn, or the command contains a newline, or if redirection + is desired. Forcing commands with newlines into DCLs allows to + store search lists on user mode logicals. */ + if (strlen (cmd) > MAXCMDLEN + || (have_redirection != 0) + || (have_newline != 0)) +#endif { FILE *outfile; - int cmd_len; + char c; + char *sep; + int alevel = 0; /* apostrophe level */ + int tmpstrlen; + char *tmpstr; + if (strlen (cmd) == 0) + { + printf (_("Error, empty command\n")); + fflush (stdout); + return 0; + } - outfile = output_tmpfile (&child->comname, - "sys$scratch:gnv$make_cmdXXXXXX.com"); + outfile = output_tmpfile (&child->comname, "sys$scratch:CMDXXXXXX.COM"); /* 012345678901234567890 */ +#define TMP_OFFSET 12 +#define TMP_LEN 9 if (outfile == 0) pfatal_with_name (_("fopen (temporary file)")); comnamelen = strlen (child->comname); - + tmpstr = &child->comname[TMP_OFFSET]; + tmpstrlen = TMP_LEN; /* The whole DCL "script" is executed as one action, and it behaves as any DCL "script", that is errors stop it but warnings do not. Usually the command on the last line, defines the exit code. However, with @@ -1265,72 +667,158 @@ verify". However, the prolog and epilog commands are not shown. Also, if output redirection is used, the verification output is redirected into that file as well. */ - fprintf (outfile, "$ gnv$$make_verify = \"''f$verify(0)'\"\n"); - fprintf (outfile, "$ gnv$$make_pid = f$getjpi(\"\",\"pid\")\n"); - fprintf (outfile, "$ on error then $ goto gnv$$make_error\n"); - - /* Handle append redirection */ - if (append_file != NULL) + fprintf (outfile, "$ %.*s_1 = \"''f$verify(0)'\"\n", tmpstrlen, tmpstr); + if (ifile[0]) { - /* If file does not exist, create it */ - fprintf (outfile, - "$ gnv$$make_al = \"gnv$$make_append''gnv$$make_pid'\"\n"); - fprintf (outfile, - "$ if f$search(\"%s\") .eqs. \"\" then create %s\n", - append_file, append_file); - - fprintf (outfile, - "$ open/append 'gnv$$make_al' %s\n", append_file); + fprintf (outfile, "$ assign/user %s sys$input\n", ifile); + DB (DB_JOBS, (_("Redirected input from %s\n"), ifile)); + ifiledsc.dsc$w_length = 0; + } - /* define sys$output to that file */ - fprintf (outfile, - "$ define/user sys$output 'gnv$$make_al'\n"); - DB (DB_JOBS, (_("Append output to %s\n"), append_file)); - free(append_file); + if (efile[0]) + { + fprintf (outfile, "$ define sys$error %s\n", efile); + DB (DB_JOBS, (_("Redirected error to %s\n"), efile)); + efiledsc.dsc$w_length = 0; } - fprintf (outfile, "$ gnv$$make_verify = f$verify(gnv$$make_verify)\n"); + if (ofile[0]) + if (have_append) + { + fprintf (outfile, "$ define sys$output %.*s\n", comnamelen-3, child->comname); + fprintf (outfile, "$ on error then $ goto %.*s\n", tmpstrlen, tmpstr); + DB (DB_JOBS, (_("Append output to %s\n"), ofile)); + ofiledsc.dsc$w_length = 0; + } + else + { + fprintf (outfile, "$ define sys$output %s\n", ofile); + DB (DB_JOBS, (_("Redirected output to %s\n"), ofile)); + ofiledsc.dsc$w_length = 0; + } +#ifdef USE_DCL_COM_FILE + /* Export the child environment into DCL symbols */ + if (child->environment != 0) + { + char **ep = child->environment; + char *valstr; + while (*ep != 0) + { + valstr = strchr(*ep, '='); + if (valstr == NULL) + continue; + fprintf(outfile, "$ %.*s=\"%s\"\n", valstr - *ep, *ep, + valstr + 1); + ep++; + } + } +#endif + fprintf (outfile, "$ %.*s_ = f$verify(%.*s_1)\n", tmpstrlen, tmpstr, tmpstrlen, tmpstr); - /* TODO: + /* TODO: give 78 a name! Whether 78 is a good number is another question. + Trim, split and write the command lines. + Splitting of a command is done after 78 output characters at an + appropriate place (after strings, after comma or space and + before slash): appending a hyphen indicates that the DCL command + is being continued. + Trimming is to skip any whitespace around - including - a + leading $ from the command to ensure writing exactly one "$ " + at the beginning of the line of the output file. Trimming is + done when a new command is seen, indicated by a '\n' (outside + of a string). + The buffer so far is written and reset, when a new command is + seen, when a split was done and at the end of the command. Only for ONESHELL there will be several commands separated by - '\n'. But there can always be multiple continuation lines. - */ + '\n'. But there can always be multiple continuation lines. */ + p = sep = q = cmd; + for (c = '\n'; c; c = *q++) + { + switch (c) + { + case '\n': + if (q > p) + { + fwrite(p, 1, q - p, outfile); + p = q; + } + fputc('$', outfile); + fputc(' ', outfile); + while (isspace((unsigned char) *p)) + p++; + if (*p == '$') + p++; + while (isspace((unsigned char) *p)) + p++; + q = sep = p; + break; + case '"': + q = vms_handle_apos(q); + sep = q; + break; + case ',': + case ' ': + sep = q; + break; + case '/': + case '\0': + sep = q - 1; + break; + default: + break; + } + if (sep - p > 78) + { + /* Enough stuff for a line. */ + fwrite(p, 1, sep - p, outfile); + p = sep; + if (*sep) + { + /* The command continues. */ + fputc('-', outfile); + } + fputc('\n', outfile); + } + } - fprintf (outfile, "%s\n", cmd_dsc->dsc$a_pointer); - fprintf (outfile, "$ gnv$$make_status_2 = $status\n"); - fprintf (outfile, "$ goto gnv$$make_exit\n"); - - /* Exit and clean up */ - fprintf (outfile, "$ gnv$$make_error: ! 'f$verify(0)\n"); - fprintf (outfile, "$ gnv$$make_status_2 = $status\n"); + if (*p) + { + fwrite(p, 1, --q - p, outfile); + fputc('\n', outfile); + } - if (append_token != -1) + if (have_append) { + fprintf (outfile, "$ %.*s: ! 'f$verify(0)\n", tmpstrlen, tmpstr); + fprintf (outfile, "$ %.*s_2 = $status\n", tmpstrlen, tmpstr); + fprintf (outfile, "$ on error then $ exit\n"); fprintf (outfile, "$ deassign sys$output\n"); - fprintf (outfile, "$ close 'gnv$$make_al'\n"); - - DB (DB_JOBS, - (_("Append %.*s and cleanup\n"), comnamelen-3, child->comname)); + if (efile[0]) + fprintf (outfile, "$ deassign sys$error\n"); + fprintf (outfile, "$ append:=append\n"); + fprintf (outfile, "$ delete:=delete\n"); + fprintf (outfile, "$ append/new %.*s %s\n", comnamelen-3, child->comname, ofile); + fprintf (outfile, "$ delete %.*s;*\n", comnamelen-3, child->comname); + fprintf (outfile, "$ exit '%.*s_2 + (0*f$verify(%.*s_1))\n", tmpstrlen, tmpstr, tmpstrlen, tmpstr); + DB (DB_JOBS, (_("Append %.*s and cleanup\n"), comnamelen-3, child->comname)); } - fprintf (outfile, "$ gnv$$make_exit: ! 'f$verify(0)\n"); - fprintf (outfile, - "$ exit 'gnv$$make_status_2' + (0*f$verify(gnv$$make_verify))\n"); fclose (outfile); - free (cmd_dsc->dsc$a_pointer); - cmd_dsc->dsc$a_pointer = xmalloc (256 + 4); - sprintf (cmd_dsc->dsc$a_pointer, "$ @%s", child->comname); - cmd_dsc->dsc$w_length = strlen (cmd_dsc->dsc$a_pointer); + sprintf (cmd, "$ @%s", child->comname); - DB (DB_JOBS, (_("Executing %s instead\n"), child->comname)); + DB (DB_JOBS, (_("Executing %s instead\n"), cmd)); } + cmddsc.dsc$w_length = strlen(cmd); + cmddsc.dsc$a_pointer = cmd; + cmddsc.dsc$b_dtype = DSC$K_DTYPE_T; + cmddsc.dsc$b_class = DSC$K_CLASS_S; + child->efn = 0; while (child->efn < 32 || child->efn > 63) { - status = LIB$GET_EF ((unsigned long *)&child->efn); - if (!$VMS_STATUS_SUCCESS (status)) + status = lib$get_ef ((unsigned long *)&child->efn); + if (!(status & 1)) { if (child->comname) { @@ -1342,21 +830,10 @@ } } - SYS$CLREF (child->efn); + sys$clref (child->efn); vms_jobsefnmask |= (1 << (child->efn - 32)); - /* Export the child environment into DCL symbols */ - if (child->environment != 0) - { - char **ep = child->environment; - while (*ep != 0) - { - vms_putenv_symbol (*ep); - *ep++; - } - } - /* LIB$SPAWN [command-string] [,input-file] @@ -1409,43 +886,37 @@ if (!setupYAstTried) tryToSetupYAst(); - child->vms_launch_status = lib$spawn (cmd_dsc, /* cmd-string */ - NULL, /* input-file */ - NULL, /* output-file */ - &spflags, /* flags */ - &pnamedsc, /* proc name */ - &child->pid, &child->cstatus, &child->efn, - 0, 0, - 0, 0, 0); - - status = child->vms_launch_status; - if ($VMS_STATUS_SUCCESS (status)) + status = lib$spawn (&cmddsc, /* cmd-string */ + (ifiledsc.dsc$w_length == 0)?0:&ifiledsc, /* input-file */ + (ofiledsc.dsc$w_length == 0)?0:&ofiledsc, /* output-file */ + &spflags, /* flags */ + &pnamedsc, /* proc name */ + &child->pid, &child->cstatus, &child->efn, + 0, 0, + 0, 0, 0); + if (status & 1) { - status = sys$waitfr (child->efn); - vmsHandleChildTerm (child); + status= sys$waitfr (child->efn); + vmsHandleChildTerm(child); } #else - child->vms_launch_status = lib$spawn (cmd_dsc, - NULL, - NULL, + status = lib$spawn (&cmddsc, + (ifiledsc.dsc$w_length == 0)?0:&ifiledsc, + (ofiledsc.dsc$w_length == 0)?0:&ofiledsc, &spflags, &pnamedsc, &child->pid, &child->cstatus, &child->efn, vmsHandleChildTerm, child, 0, 0, 0); - status = child->vms_launch_status; #endif - /* Free the pointer if not a command file */ - if (!vms_always_use_cmd_file && !token.use_cmd_file) - free (cmd_dsc->dsc$a_pointer); - free (cmd_dsc); - - if (!$VMS_STATUS_SUCCESS (status)) + if (!(status & 1)) { + printf (_("Error spawning, %d\n") ,status); + fflush (stdout); switch (status) { - case SS$_EXQUOTA: + case 0x1c: errno = EPROCLIM; break; default: @@ -1453,16 +924,5 @@ } } - /* Restore the VMS symbols that were changed */ - if (child->environment != 0) - { - char **ep = child->environment; - while (*ep != 0) - { - vms_restore_symbol (*ep); - *ep++; - } - } - return (status & 1); } diff -Nru make-dfsg-4.2.1/vms_progname.c make-dfsg-4.1/vms_progname.c --- make-dfsg-4.2.1/vms_progname.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/vms_progname.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,463 +0,0 @@ -/* File: vms_progname.c - * - * This module provides a fixup of the program name. - * - * This module is designed to be a plug in replacement for the - * progname module used by many GNU utilities with a few enhancements - * needed for GNU Make. - * - * It does not support the HAVE_DECL_PROGRAM_INVOCATION_* macros at this - * time. - * - * Make sure that the program_name string is set as close as possible to - * what the original command was given. - * - * When run from DCL, The argv[0] element is initialized with an absolute - * path name. The decc$ feature logical names can control the format - * of this pathname. In some cases it causes the UNIX format name to be - * formatted incorrectly. - * - * This DCL provided name is usually incompatible with what is expected to - * be provided by Unix programs and needs to be replaced. - * - * When run from an exec() call, the argv[0] element is initialized by the - * program. This name is compatible with what is expected to be provided - * by Unix programs and should be passed through unchanged. - * - * The DCL provided name can be detected because it always contains the - * device name. - * - * DCL examples: - * devname:[dir]program.exe;1 Normal VMS - remove path and .EXE;n - * devname:[dir]facility$program.exe;1 Facility also needs removal. - * /devname/dir/program.exe - * /DISK$VOLUME/dir/program.exe.1 Bug version should not be there. - * /DISK$VOLUME/dir/program. Bug Period should not be there. - * - */ - -/* Copyright (C) 2014-2016 Free Software Foundation, Inc. - -GNU Make 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. - -GNU Make 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 -this program. If not, see . */ - - -/* Per copyright assignment agreement with the Free Software Foundation - this software may be available under under other license agreements - and copyrights. */ - - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#ifdef USE_PROGNAME_H -# include "progname.h" -#endif - -#pragma member_alignment save -#pragma nomember_alignment longword -struct item_list_3 -{ - unsigned short len; - unsigned short code; - void * bufadr; - unsigned short * retlen; -}; - -struct filescan_itmlst_2 -{ - unsigned short length; - unsigned short itmcode; - char * component; -}; - -#pragma member_alignment - -int -SYS$GETDVIW (unsigned long efn, - unsigned short chan, - const struct dsc$descriptor_s * devnam, - const struct item_list_3 * itmlst, - void * iosb, - void (* astadr)(unsigned long), - unsigned long astprm, - void * nullarg); - -int -SYS$FILESCAN (const struct dsc$descriptor_s * srcstr, - struct filescan_itmlst_2 * valuelist, - unsigned long * fldflags, - struct dsc$descriptor_s *auxout, - unsigned short * retlen); - -/* String containing name the program is called with. - To be initialized by main(). */ - -const char *program_name = NULL; - -static int internal_need_vms_symbol = 0; - -static char vms_new_nam[256]; - -int -need_vms_symbol (void) -{ - return internal_need_vms_symbol; -} - - -void -set_program_name (const char *argv0) -{ - int status; - int result; - -#ifdef DEBUG - printf ("original argv0 = %s\n", argv0); -#endif - - /* Posix requires non-NULL argv[0] */ - if (argv0 == NULL) - { - fputs ("A NULL argv[0] was passed through an exec system call.\n", - stderr); - abort (); - } - - program_name = argv0; - result = 0; - internal_need_vms_symbol = 0; - - /* If the path name starts with a /, then it is an absolute path */ - /* that may have been generated by the CRTL instead of the command name */ - /* If it is the device name between the slashes, then this was likely */ - /* from the run command and needs to be fixed up. */ - /* If the DECC$POSIX_COMPLIANT_PATHNAMES is set to 2, then it is the */ - /* DISK$VOLUME that will be present, and it will still need to be fixed. */ - if (argv0[0] == '/') - { - char * nextslash; - int length; - struct item_list_3 itemlist[3]; - unsigned short dvi_iosb[4]; - char alldevnam[64]; - unsigned short alldevnam_len; - struct dsc$descriptor_s devname_dsc; - char diskvolnam[256]; - unsigned short diskvolnam_len; - - internal_need_vms_symbol = 1; - - /* Get some information about the disk */ - /*--------------------------------------*/ - itemlist[0].len = (sizeof alldevnam) - 1; - itemlist[0].code = DVI$_ALLDEVNAM; - itemlist[0].bufadr = alldevnam; - itemlist[0].retlen = &alldevnam_len; - itemlist[1].len = (sizeof diskvolnam) - 1 - 5; - itemlist[1].code = DVI$_VOLNAM; - itemlist[1].bufadr = &diskvolnam[5]; - itemlist[1].retlen = &diskvolnam_len; - itemlist[2].len = 0; - itemlist[2].code = 0; - - /* Add the prefix for the volume name. */ - /* SYS$GETDVI will append the volume name to this */ - strcpy (diskvolnam, "DISK$"); - - nextslash = strchr (&argv0[1], '/'); - if (nextslash != NULL) - { - length = nextslash - argv0 - 1; - - /* Cast needed for HP C compiler diagnostic */ - devname_dsc.dsc$a_pointer = (char *)&argv0[1]; - devname_dsc.dsc$w_length = length; - devname_dsc.dsc$b_dtype = DSC$K_DTYPE_T; - devname_dsc.dsc$b_class = DSC$K_CLASS_S; - - status = SYS$GETDVIW (EFN$C_ENF, 0, &devname_dsc, itemlist, - dvi_iosb, NULL, 0, 0); - if (!$VMS_STATUS_SUCCESS (status)) - { - /* If the sys$getdviw fails, then this path was passed by */ - /* An exec() program and not from DCL, so do nothing */ - /* An example is "/tmp/program" where tmp: does not exist */ -#ifdef DEBUG - printf ("sys$getdviw failed with status %d\n", status); -#endif - result = 0; - } - else if (!$VMS_STATUS_SUCCESS (dvi_iosb[0])) - { -#ifdef DEBUG - printf ("sys$getdviw failed with iosb %d\n", dvi_iosb[0]); -#endif - result = 0; - } - else - { - char * devnam; - int devnam_len; - char argv_dev[64]; - - /* Null terminate the returned alldevnam */ - alldevnam[alldevnam_len] = 0; - devnam = alldevnam; - devnam_len = alldevnam_len; - - /* Need to skip past any leading underscore */ - if (devnam[0] == '_') - { - devnam++; - devnam_len--; - } - - /* And remove the trailing colon */ - if (devnam[devnam_len - 1] == ':') - { - devnam_len--; - devnam[devnam_len] = 0; - } - - /* Null terminate the returned volnam */ - diskvolnam_len += 5; - diskvolnam[diskvolnam_len] = 0; - - /* Check first for normal CRTL behavior */ - if (devnam_len == length) - { - strncpy (vms_new_nam, &argv0[1], length); - vms_new_nam[length] = 0; - result = (strcasecmp (devnam, vms_new_nam) == 0); - } - - /* If we have not got a match, check for POSIX Compliant */ - /* behavior. To be more accurate, we could also check */ - /* to see if that feature is active. */ - if ((result == 0) && (diskvolnam_len == length)) - { - strncpy (vms_new_nam, &argv0[1], length); - vms_new_nam[length] = 0; - result = (strcasecmp (diskvolnam, vms_new_nam) == 0); - } - } - } - } - else - { - /* The path did not start with a slash, so it could be VMS format */ - /* If it is vms format, it has a volume/device in it as it must */ - /* be an absolute path */ - struct dsc$descriptor_s path_desc; - int status; - unsigned long field_flags; - struct filescan_itmlst_2 item_list[5]; - char * volume; - char * name; - int name_len; - char * ext; - - path_desc.dsc$a_pointer = (char *)argv0; /* cast ok */ - path_desc.dsc$w_length = strlen (argv0); - path_desc.dsc$b_dtype = DSC$K_DTYPE_T; - path_desc.dsc$b_class = DSC$K_CLASS_S; - - /* Don't actually need to initialize anything buf itmcode */ - /* I just do not like uninitialized input values */ - - /* Sanity check, this must be the same length as input */ - item_list[0].itmcode = FSCN$_FILESPEC; - item_list[0].length = 0; - item_list[0].component = NULL; - - /* If the device is present, then it if a VMS spec */ - item_list[1].itmcode = FSCN$_DEVICE; - item_list[1].length = 0; - item_list[1].component = NULL; - - /* we need the program name and type */ - item_list[2].itmcode = FSCN$_NAME; - item_list[2].length = 0; - item_list[2].component = NULL; - - item_list[3].itmcode = FSCN$_TYPE; - item_list[3].length = 0; - item_list[3].component = NULL; - - /* End the list */ - item_list[4].itmcode = 0; - item_list[4].length = 0; - item_list[4].component = NULL; - - status = SYS$FILESCAN ((const struct dsc$descriptor_s *)&path_desc, - item_list, &field_flags, NULL, NULL); - - - if ($VMS_STATUS_SUCCESS (status) && - (item_list[0].length == path_desc.dsc$w_length) && - (item_list[1].length != 0)) - { - - char * dollar; - int keep_ext; - int i; - - /* We need the filescan to be successful, */ - /* same length as input, and a volume to be present */ - internal_need_vms_symbol = 1; - - /* We will assume that we only get to this path on a version */ - /* of VMS that does not support the EFS character set */ - - /* There may be a xxx$ prefix on the image name. Linux */ - /* programs do not handle that well, so strip the prefix */ - name = item_list[2].component; - name_len = item_list[2].length; - dollar = strrchr (name, '$'); - if (dollar != NULL) - { - dollar++; - name_len = name_len - (dollar - name); - name = dollar; - } - - strncpy (vms_new_nam, name, name_len); - vms_new_nam[name_len] = 0; - - /* Commit to using the new name */ - program_name = vms_new_nam; - - /* We only keep the extension if it is not ".exe" */ - keep_ext = 0; - ext = item_list[3].component; - - if (item_list[3].length != 1) - { - keep_ext = 1; - if (item_list[3].length == 4) - { - if ((ext[1] == 'e' || ext[1] == 'E') && - (ext[2] == 'x' || ext[2] == 'X') && - (ext[3] == 'e' || ext[3] == 'E')) - keep_ext = 0; - } - } - - if (keep_ext == 1) - strncpy (&vms_new_nam[name_len], ext, item_list[3].length); - } - } - - if (result) - { - char * lastslash; - char * dollar; - char * dotexe; - char * lastdot; - char * extension; - - /* This means it is probably the name from a DCL command */ - /* Find the last slash which separates the file from the */ - /* path. */ - lastslash = strrchr (argv0, '/'); - - if (lastslash != NULL) { - int i; - - lastslash++; - - /* There may be a xxx$ prefix on the image name. Linux */ - /* programs do not handle that well, so strip the prefix */ - dollar = strrchr (lastslash, '$'); - - if (dollar != NULL) { - dollar++; - lastslash = dollar; - } - - strcpy (vms_new_nam, lastslash); - - /* In UNIX mode + EFS character set, there should not be a */ - /* version present, as it is not possible when parsing to */ - /* tell if it is a version or part of the UNIX filename as */ - /* UNIX programs use numeric extensions for many reasons. */ - - lastdot = strrchr (vms_new_nam, '.'); - if (lastdot != NULL) { - int i; - - i = 1; - while (isdigit (lastdot[i])) { - i++; - } - if (lastdot[i] == 0) { - *lastdot = 0; - } - } - - /* Find the .exe on the name (case insenstive) and toss it */ - dotexe = strrchr (vms_new_nam, '.'); - if (dotexe != NULL) { - if ((dotexe[1] == 'e' || dotexe[1] == 'E') && - (dotexe[2] == 'x' || dotexe[2] == 'X') && - (dotexe[3] == 'e' || dotexe[3] == 'E') && - (dotexe[4] == 0)) { - - *dotexe = 0; - } else { - /* Also need to handle a null extension because of a */ - /* CRTL bug. */ - if (dotexe[1] == 0) { - *dotexe = 0; - } - } - } - - /* Commit to new name */ - program_name = vms_new_nam; - - } else { - /* There is no way that the code should ever get here */ - /* As we already verified that the '/' was present */ - fprintf (stderr, "Sanity failure somewhere we lost a '/'\n"); - } - } -} - -#ifdef DEBUG - -int -main (int argc, char ** argv, char **env) -{ - - char command[1024]; - - set_program_name (argv[0]); - - printf ("modified argv[0] = %s\n", program_name); - - return 0; -} -#endif diff -Nru make-dfsg-4.2.1/vpath.c make-dfsg-4.1/vpath.c --- make-dfsg-4.2.1/vpath.c 2016-05-21 20:21:52.000000000 +0000 +++ make-dfsg-4.1/vpath.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Implementation of pattern-matching file search paths for GNU Make. -Copyright (C) 1988-2016 Free Software Foundation, Inc. +Copyright (C) 1988-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -52,7 +52,7 @@ variable. */ void -build_vpath_lists (void) +build_vpath_lists () { register struct vpath *new = 0; register struct vpath *old, *nexto; @@ -208,7 +208,7 @@ #endif /* Skip over any initial separators and blanks. */ - while (STOP_SET (*dirpath, MAP_BLANK|MAP_PATHSEP)) + while (*dirpath == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*dirpath)) ++dirpath; /* Figure out the maximum number of VPATH entries and put it in @@ -218,7 +218,7 @@ maxelem = 2; p = dirpath; while (*p != '\0') - if (STOP_SET (*p++, MAP_BLANK|MAP_PATHSEP)) + if (*p++ == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p)) ++maxelem; vpath = xmalloc (maxelem * sizeof (const char *)); @@ -244,7 +244,7 @@ #else && *p != PATH_SEPARATOR_CHAR #endif - && !ISBLANK (*p)) + && !isblank ((unsigned char)*p)) ++p; len = p - v; @@ -266,7 +266,7 @@ } /* Skip over separators and blanks between entries. */ - while (STOP_SET (*p, MAP_BLANK|MAP_PATHSEP)) + while (*p == PATH_SEPARATOR_CHAR || isblank ((unsigned char)*p)) ++p; } @@ -387,10 +387,6 @@ { #ifndef VMS *p++ = '/'; -#else - /* VMS: if this is not in VMS format, treat as Unix format */ - if ((*p != ':') && (*p != ']') && (*p != '>')) - *p++ = '/'; #endif memcpy (p, file, name_dplen); p += name_dplen; @@ -409,15 +405,6 @@ memcpy (p + 1, filename, flen + 1); } else -#else - /* VMS use a slash if no directory terminator present */ - if (p != name && p[-1] != '/' && p[-1] != ':' && - p[-1] != '>' && p[-1] != ']') - { - *p = '/'; - memcpy (p + 1, filename, flen + 1); - } - else #endif memcpy (p, filename, flen + 1); @@ -462,20 +449,17 @@ See if it actually exists. */ #ifdef VMS - /* For VMS syntax just use the original vpath */ - if (*p != '/') - exists_in_cache = exists = dir_file_exists_p (vpath[i], filename); - else + exists_in_cache = exists = dir_file_exists_p (vpath[i], filename); +#else + /* Clobber a null into the name at the last slash. + Now NAME is the name of the directory to look in. */ + *p = '\0'; + + /* We know the directory is in the hash table now because either + construct_vpath_list or the code just above put it there. + Does the file we seek exist in it? */ + exists_in_cache = exists = dir_file_exists_p (name, filename); #endif - { - /* Clobber a null into the name at the last slash. - Now NAME is the name of the directory to look in. */ - *p = '\0'; - /* We know the directory is in the hash table now because either - construct_vpath_list or the code just above put it there. - Does the file we seek exist in it? */ - exists_in_cache = exists = dir_file_exists_p (name, filename); - } } if (exists) @@ -491,10 +475,6 @@ #ifndef VMS /* Put the slash back in NAME. */ *p = '/'; -#else - /* If the slash was removed, put it back */ - if (*p == 0) - *p = '/'; #endif if (exists_in_cache) /* Makefile-mentioned file need not exist. */ diff -Nru make-dfsg-4.2.1/w32/compat/dirent.c make-dfsg-4.1/w32/compat/dirent.c --- make-dfsg-4.2.1/w32/compat/dirent.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/compat/dirent.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Directory entry code for Window platforms. -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/compat/posixfcn.c make-dfsg-4.1/w32/compat/posixfcn.c --- make-dfsg-4.2.1/w32/compat/posixfcn.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/compat/posixfcn.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,6 +1,6 @@ /* Replacements for Posix functions and Posix functionality for MS-Windows. -Copyright (C) 2013-2016 Free Software Foundation, Inc. +Copyright (C) 2013-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/include/dirent.h make-dfsg-4.1/w32/include/dirent.h --- make-dfsg-4.2.1/w32/include/dirent.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/include/dirent.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Windows version of dirent.h -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/include/dlfcn.h make-dfsg-4.1/w32/include/dlfcn.h --- make-dfsg-4.2.1/w32/include/dlfcn.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/include/dlfcn.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* dlfcn.h replacement for MS-Windows build. -Copyright (C) 2013-2016 Free Software Foundation, Inc. +Copyright (C) 2013-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/include/pathstuff.h make-dfsg-4.1/w32/include/pathstuff.h --- make-dfsg-4.2.1/w32/include/pathstuff.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/include/pathstuff.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for Windows path manipulation. -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/include/sub_proc.h make-dfsg-4.1/w32/include/sub_proc.h --- make-dfsg-4.2.1/w32/include/sub_proc.h 2016-03-09 04:39:55.000000000 +0000 +++ make-dfsg-4.1/w32/include/sub_proc.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for Windows process invocation. -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -32,11 +32,11 @@ EXTERN_DECL(HANDLE process_init, (VOID_DECL)); EXTERN_DECL(HANDLE process_init_fd, (HANDLE stdinh, HANDLE stdouth, - HANDLE stderrh)); + HANDLE stderrh)); EXTERN_DECL(long process_begin, (HANDLE proc, char **argv, char **envp, - char *exec_path, char *as_user)); + char *exec_path, char *as_user)); EXTERN_DECL(long process_pipe_io, (HANDLE proc, char *stdin_data, - int stdin_data_len)); + int stdin_data_len)); EXTERN_DECL(long process_file_io, (HANDLE proc)); EXTERN_DECL(void process_cleanup, (HANDLE proc)); EXTERN_DECL(HANDLE process_wait_for_any, (int block, DWORD* pdwWaitStatus)); @@ -45,7 +45,6 @@ int outfd, int errfd)); EXTERN_DECL(BOOL process_kill, (HANDLE proc, int signal)); EXTERN_DECL(int process_used_slots, (VOID_DECL)); -EXTERN_DECL(DWORD process_set_handles, (HANDLE *handles)); /* support routines */ EXTERN_DECL(long process_errno, (HANDLE proc)); @@ -59,4 +58,14 @@ EXTERN_DECL(void process_pipes, (HANDLE proc, int pipes[3])); EXTERN_DECL(void process_noinherit, (int fildes)); +/* jobserver routines */ +EXTERN_DECL(int open_jobserver_semaphore, (const char* name)); +EXTERN_DECL(int create_jobserver_semaphore, (int tokens)); +EXTERN_DECL(void free_jobserver_semaphore, (VOID_DECL)); +EXTERN_DECL(int acquire_jobserver_semaphore, (VOID_DECL)); +EXTERN_DECL(int release_jobserver_semaphore, (VOID_DECL)); +EXTERN_DECL(int has_jobserver_semaphore, (VOID_DECL)); +EXTERN_DECL(char* get_jobserver_semaphore_name, (VOID_DECL)); +EXTERN_DECL(int wait_for_semaphore_or_child_process, (VOID_DECL)); + #endif diff -Nru make-dfsg-4.2.1/w32/include/w32err.h make-dfsg-4.1/w32/include/w32err.h --- make-dfsg-4.2.1/w32/include/w32err.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/include/w32err.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for Windows error handling. -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/Makefile.am make-dfsg-4.1/w32/Makefile.am --- make-dfsg-4.2.1/w32/Makefile.am 2016-05-31 07:17:26.000000000 +0000 +++ make-dfsg-4.1/w32/Makefile.am 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ # Makefile.am to create libw32.a for mingw32 host. -# Copyright (C) 1997-2016 Free Software Foundation, Inc. +# Copyright (C) 1997-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under @@ -20,7 +20,6 @@ noinst_LIBRARIES = libw32.a libw32_a_SOURCES = subproc/misc.c subproc/sub_proc.c subproc/w32err.c \ - compat/posixfcn.c pathstuff.c w32os.c + compat/posixfcn.c pathstuff.c -libw32_a_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/subproc -I$(top_srcdir) \ - -I$(top_srcdir)/glob +libw32_a_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/subproc -I$(top_srcdir) diff -Nru make-dfsg-4.2.1/w32/pathstuff.c make-dfsg-4.1/w32/pathstuff.c --- make-dfsg-4.2.1/w32/pathstuff.c 2016-05-31 07:17:26.000000000 +0000 +++ make-dfsg-4.1/w32/pathstuff.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Path conversion for Windows pathnames. -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -32,7 +32,7 @@ * contain blanks get trounced here. Use 8.3 format as a workaround. */ for (etok = Path; etok && *etok; etok++) - if (ISBLANK ((unsigned char) *etok)) + if (isblank ((unsigned char) *etok)) *etok = to_delim; return (convert_Path_to_windows32(Path, to_delim)); diff -Nru make-dfsg-4.2.1/w32/subproc/build.bat make-dfsg-4.1/w32/subproc/build.bat --- make-dfsg-4.2.1/w32/subproc/build.bat 1970-01-01 00:00:00.000000000 +0000 +++ make-dfsg-4.1/w32/subproc/build.bat 2016-01-16 10:25:59.000000000 +0000 @@ -0,0 +1,34 @@ +@if "%COMPILER%" == "gcc" GoTo GCCBuild +if not exist .\WinDebug\nul mkdir .\WinDebug +cl.exe /nologo /MT /W4 /GX /Z7 /YX /Od /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c misc.c +cl.exe /nologo /MT /W4 /GX /Z7 /YX /Od /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c sub_proc.c +cl.exe /nologo /MT /W4 /GX /Z7 /YX /Od /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c w32err.c +lib.exe /NOLOGO /OUT:.\WinDebug\subproc.lib .\WinDebug/misc.obj .\WinDebug/sub_proc.obj .\WinDebug/w32err.obj +if not exist .\WinRel\nul mkdir .\WinRel +cl.exe /nologo /MT /W4 /GX /YX /O2 /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c misc.c +cl.exe /nologo /MT /W4 /GX /YX /O2 /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c sub_proc.c +cl.exe /nologo /MT /W4 /GX /YX /O2 /I .. /I . /I ../include /I ../.. /D WIN32 /D WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c w32err.c +lib.exe /NOLOGO /OUT:.\WinRel\subproc.lib .\WinRel/misc.obj .\WinRel/sub_proc.obj .\WinRel/w32err.obj +GoTo BuildEnd +:GCCBuild +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I.. -I. -I../include -I../.. -DWINDOWS32 -c misc.c -o ../../w32_misc.o +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I.. -I. -I../include -I../.. -DWINDOWS32 -c sub_proc.c -o ../../sub_proc.o +gcc -mthreads -Wall -gdwarf-2 -g3 %OPT% -I.. -I. -I../include -I../.. -DWINDOWS32 -c w32err.c -o ../../w32err.o +:BuildEnd + +@echo off +rem Copyright (C) 1996-2014 Free Software Foundation, Inc. +rem This file is part of GNU Make. +rem +rem GNU Make is free software; you can redistribute it and/or modify it under +rem the terms of the GNU General Public License as published by the Free +rem Software Foundation; either version 3 of the License, or (at your option) +rem any later version. +rem +rem GNU Make is distributed in the hope that it will be useful, but WITHOUT +rem ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +rem FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for. +rem more details. +rem +rem You should have received a copy of the GNU General Public License along +rem with this program. If not, see . diff -Nru make-dfsg-4.2.1/w32/subproc/misc.c make-dfsg-4.1/w32/subproc/misc.c --- make-dfsg-4.2.1/w32/subproc/misc.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/subproc/misc.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Process handling for Windows -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/subproc/NMakefile make-dfsg-4.1/w32/subproc/NMakefile --- make-dfsg-4.2.1/w32/subproc/NMakefile 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/subproc/NMakefile 2016-01-16 10:25:59.000000000 +0000 @@ -1,7 +1,7 @@ # NOTE: If you have no 'make' program at all to process this makefile, run # 'build.bat' instead. # -# Copyright (C) 1996-2016 Free Software Foundation, Inc. +# Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is part of GNU Make. # # GNU Make is free software; you can redistribute it and/or modify it under diff -Nru make-dfsg-4.2.1/w32/subproc/proc.h make-dfsg-4.1/w32/subproc/proc.h --- make-dfsg-4.2.1/w32/subproc/proc.h 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/subproc/proc.h 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Definitions for Windows -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/subproc/sub_proc.c make-dfsg-4.1/w32/subproc/sub_proc.c --- make-dfsg-4.2.1/w32/subproc/sub_proc.c 2016-05-21 20:20:57.000000000 +0000 +++ make-dfsg-4.1/w32/subproc/sub_proc.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Process handling for Windows. -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the @@ -61,26 +61,124 @@ static int proc_index = 0; static int fake_exits_pending = 0; +/* Windows jobserver implementation variables */ +static char jobserver_semaphore_name[MAX_PATH + 1]; +static HANDLE jobserver_semaphore = NULL; -/* - * Fill a HANDLE list with handles to wait for. +/* Open existing jobserver semaphore */ +int open_jobserver_semaphore(const char* name) +{ + jobserver_semaphore = OpenSemaphore( + SEMAPHORE_ALL_ACCESS, // Semaphore access setting + FALSE, // Child processes DON'T inherit + name); // Semaphore name + + if (jobserver_semaphore == NULL) + return 0; + + return 1; +} + +/* Create new jobserver semaphore */ +int create_jobserver_semaphore(int tokens) +{ + sprintf(jobserver_semaphore_name, "gmake_semaphore_%d", _getpid()); + + jobserver_semaphore = CreateSemaphore( + NULL, // Use default security descriptor + tokens, // Initial count + tokens, // Maximum count + jobserver_semaphore_name); // Semaphore name + + if (jobserver_semaphore == NULL) + return 0; + + return 1; +} + +/* Close jobserver semaphore */ +void free_jobserver_semaphore() +{ + if (jobserver_semaphore != NULL) + { + CloseHandle(jobserver_semaphore); + jobserver_semaphore = NULL; + } +} + +/* Decrement semaphore count */ +int acquire_jobserver_semaphore() +{ + DWORD dwEvent = WaitForSingleObject( + jobserver_semaphore, // Handle to semaphore + 0); // DON'T wait on semaphore + + return (dwEvent == WAIT_OBJECT_0); +} + +/* Increment semaphore count */ +int release_jobserver_semaphore() +{ + BOOL bResult = ReleaseSemaphore( + jobserver_semaphore, // handle to semaphore + 1, // increase count by one + NULL); // not interested in previous count + + return (bResult); +} + +int has_jobserver_semaphore() +{ + return (jobserver_semaphore != NULL); +} + +char* get_jobserver_semaphore_name() +{ + return (jobserver_semaphore_name); +} + +/* Wait for either the jobserver semaphore to become signalled or one of our + * child processes to terminate. */ -DWORD -process_set_handles(HANDLE *handles) +int wait_for_semaphore_or_child_process() { - DWORD count = 0; + HANDLE handles[MAXIMUM_WAIT_OBJECTS]; + DWORD dwHandleCount = 1; + DWORD dwEvent; int i; + /* Add jobserver semaphore to first slot. */ + handles[0] = jobserver_semaphore; + /* Build array of handles to wait for */ - for (i = 0; i < proc_index; i++) { + for (i = 0; i < proc_index; i++) + { /* Don't wait on child processes that have already finished */ if (fake_exits_pending && proc_array[i]->exit_code) continue; - handles[count++] = (HANDLE) proc_array[i]->pid; + handles[dwHandleCount++] = (HANDLE) proc_array[i]->pid; } - return count; + dwEvent = WaitForMultipleObjects( + dwHandleCount, // number of objects in array + handles, // array of objects + FALSE, // wait for any object + INFINITE); // wait until object is signalled + + switch(dwEvent) + { + case WAIT_FAILED: + return -1; + + case WAIT_OBJECT_0: + /* Indicate that the semaphore was signalled */ + return 1; + + default: + /* Assume that one or more of the child processes terminated. */ + return 0; + } } /* @@ -623,26 +721,9 @@ if (!shell_name && batch_file_with_spaces(exec_fname) && _stricmp(exec_path, argv[0]) == 0) { - char *new_argv, *p; - char **argvi; - int arglen, i; pass_null_exec_path = 1; - /* Rewrite argv[] replacing argv[0] with exec_fname. */ - for (argvi = argv + 1, arglen = strlen(exec_fname) + 1; - *argvi; - argvi++) { - arglen += strlen(*argvi) + 1; - } - new_argv = xmalloc(arglen); - p = strcpy(new_argv, exec_fname) + strlen(exec_fname) + 1; - for (argvi = argv + 1, i = 1; *argvi; argvi++, i++) { - strcpy(p, *argvi); - argv[i] = p; - p += strlen(*argvi) + 1; - } - argv[i] = NULL; free (argv[0]); - argv[0] = new_argv; + argv[0] = xstrdup(exec_fname); } command_line = make_command_line( shell_name, exec_fname, argv); } @@ -655,15 +736,14 @@ if (envp) { if (arr2envblk(envp, &envblk, &envsize_needed) == FALSE) { + pproc->last_err = 0; pproc->lerrno = E_NO_MEM; free( command_line ); - if ((pproc->last_err == ERROR_INVALID_PARAMETER - || pproc->last_err == ERROR_MORE_DATA) + if (pproc->last_err == ERROR_INVALID_PARAMETER && envsize_needed > 32*1024) { fprintf (stderr, "CreateProcess failed, probably because environment is too large (%d bytes).\n", envsize_needed); } - pproc->last_err = 0; return(-1); } } @@ -677,7 +757,6 @@ /* * Set up inherited stdin, stdout, stderr for child */ - memset(&startInfo, '\0', sizeof(startInfo)); GetStartupInfo(&startInfo); startInfo.dwFlags = STARTF_USESTDHANDLES; startInfo.lpReserved = 0; diff -Nru make-dfsg-4.2.1/w32/subproc/w32err.c make-dfsg-4.1/w32/subproc/w32err.c --- make-dfsg-4.2.1/w32/subproc/w32err.c 2016-02-28 17:48:44.000000000 +0000 +++ make-dfsg-4.1/w32/subproc/w32err.c 2016-01-16 10:25:59.000000000 +0000 @@ -1,5 +1,5 @@ /* Error handling for Windows -Copyright (C) 1996-2016 Free Software Foundation, Inc. +Copyright (C) 1996-2014 Free Software Foundation, Inc. This file is part of GNU Make. GNU Make is free software; you can redistribute it and/or modify it under the diff -Nru make-dfsg-4.2.1/w32/w32os.c make-dfsg-4.1/w32/w32os.c --- make-dfsg-4.2.1/w32/w32os.c 2016-04-04 05:38:37.000000000 +0000 +++ make-dfsg-4.1/w32/w32os.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,198 +0,0 @@ -/* Windows32-based operating system interface for GNU Make. -Copyright (C) 2016 Free Software Foundation, Inc. -This file is part of GNU Make. - -GNU Make 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. - -GNU Make 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 -this program. If not, see . */ - -#include "makeint.h" - -#include -#include - -#include -#include -#include -#include "pathstuff.h" -#include "sub_proc.h" -#include "w32err.h" -#include "os.h" -#include "debug.h" - -/* This section provides OS-specific functions to support the jobserver. */ - -static char jobserver_semaphore_name[MAX_PATH + 1]; -static HANDLE jobserver_semaphore = NULL; - -unsigned int -jobserver_setup (int slots) -{ - /* sub_proc.c cannot wait for more than MAXIMUM_WAIT_OBJECTS objects - * and one of them is the job-server semaphore object. Limit the - * number of available job slots to (MAXIMUM_WAIT_OBJECTS - 1). */ - - if (slots >= MAXIMUM_WAIT_OBJECTS) - { - slots = MAXIMUM_WAIT_OBJECTS - 1; - DB (DB_JOBS, (_("Jobserver slots limited to %d\n"), slots)); - } - - sprintf (jobserver_semaphore_name, "gmake_semaphore_%d", _getpid ()); - - jobserver_semaphore = CreateSemaphore ( - NULL, /* Use default security descriptor */ - slots, /* Initial count */ - slots, /* Maximum count */ - jobserver_semaphore_name); /* Semaphore name */ - - if (jobserver_semaphore == NULL) - { - DWORD err = GetLastError (); - const char *estr = map_windows32_error_to_string (err); - ONS (fatal, NILF, - _("creating jobserver semaphore: (Error %ld: %s)"), err, estr); - } - - return 1; -} - -unsigned int -jobserver_parse_auth (const char *auth) -{ - jobserver_semaphore = OpenSemaphore ( - SEMAPHORE_ALL_ACCESS, /* Semaphore access setting */ - FALSE, /* Child processes DON'T inherit */ - auth); /* Semaphore name */ - - if (jobserver_semaphore == NULL) - { - DWORD err = GetLastError (); - const char *estr = map_windows32_error_to_string (err); - fatal (NILF, strlen (auth) + INTSTR_LENGTH + strlen (estr), - _("internal error: unable to open jobserver semaphore '%s': (Error %ld: %s)"), - auth, err, estr); - } - DB (DB_JOBS, (_("Jobserver client (semaphore %s)\n"), auth)); - - return 1; -} - -char * -jobserver_get_auth () -{ - return xstrdup (jobserver_semaphore_name); -} - -unsigned int -jobserver_enabled () -{ - return jobserver_semaphore != NULL; -} - -/* Close jobserver semaphore */ -void -jobserver_clear () -{ - if (jobserver_semaphore != NULL) - { - CloseHandle (jobserver_semaphore); - jobserver_semaphore = NULL; - } -} - -void -jobserver_release (int is_fatal) -{ - if (! ReleaseSemaphore ( - jobserver_semaphore, /* handle to semaphore */ - 1, /* increase count by one */ - NULL)) /* not interested in previous count */ - { - if (is_fatal) - { - DWORD err = GetLastError (); - const char *estr = map_windows32_error_to_string (err); - ONS (fatal, NILF, - _("release jobserver semaphore: (Error %ld: %s)"), err, estr); - } - perror_with_name ("release_jobserver_semaphore", ""); - } -} - -unsigned int -jobserver_acquire_all () -{ - unsigned int tokens = 0; - while (1) - { - DWORD dwEvent = WaitForSingleObject ( - jobserver_semaphore, /* Handle to semaphore */ - 0); /* DON'T wait on semaphore */ - - if (dwEvent != WAIT_OBJECT_0) - return tokens; - - ++tokens; - } -} - -void -jobserver_signal () -{ -} - -void jobserver_pre_child (int recursive) -{ -} - -void jobserver_post_child (int recursive) -{ -} - -void -jobserver_pre_acquire () -{ -} - -/* Returns 1 if we got a token, or 0 if a child has completed. - The Windows implementation doesn't support load detection. */ -unsigned int -jobserver_acquire (int timeout) -{ - HANDLE handles[MAXIMUM_WAIT_OBJECTS]; - DWORD dwHandleCount; - DWORD dwEvent; - - /* Add jobserver semaphore to first slot. */ - handles[0] = jobserver_semaphore; - - /* Build array of handles to wait for. */ - dwHandleCount = 1 + process_set_handles (&handles[1]); - - dwEvent = WaitForMultipleObjects ( - dwHandleCount, /* number of objects in array */ - handles, /* array of objects */ - FALSE, /* wait for any object */ - INFINITE); /* wait until object is signalled */ - - if (dwEvent == WAIT_FAILED) - { - DWORD err = GetLastError (); - const char *estr = map_windows32_error_to_string (err); - ONS (fatal, NILF, - _("semaphore or child process wait: (Error %ld: %s)"), - err, estr); - } - - /* WAIT_OBJECT_0 indicates that the semaphore was signalled. */ - return dwEvent == WAIT_OBJECT_0; -}